add missing copyright headers

This commit is contained in:
Jacob Lifshay 2024-09-22 15:30:05 -07:00
parent 053391b010
commit 10ae95fac1
Signed by: programmerjake
SSH key fingerprint: SHA256:B1iRVvUJkvd7upMIiMqn6OyxvD2SgJkAH3ZnUOj6z+c
31 changed files with 67 additions and 1 deletions

View file

@ -1,3 +1,5 @@
# SPDX-License-Identifier: LGPL-3.0-or-later
# See Notices.txt for copyright information
on: [push, pull_request] on: [push, pull_request]
jobs: jobs:

2
.gitignore vendored
View file

@ -1,2 +1,4 @@
# SPDX-License-Identifier: LGPL-3.0-or-later
# See Notices.txt for copyright information
/target /target
.vscode .vscode

View file

@ -1,3 +1,7 @@
<!--
SPDX-License-Identifier: LGPL-3.0-or-later
See Notices.txt for copyright information
-->
# Fayalite # Fayalite
Fayalite is a library for designing digital hardware -- a hardware description language (HDL) embedded in the Rust programming language. Fayalite's semantics are based on [FIRRTL] as interpreted by [LLVM CIRCT](https://circt.llvm.org/docs/Dialects/FIRRTL/FIRRTLAnnotations/). Fayalite is a library for designing digital hardware -- a hardware description language (HDL) embedded in the Rust programming language. Fayalite's semantics are based on [FIRRTL] as interpreted by [LLVM CIRCT](https://circt.llvm.org/docs/Dialects/FIRRTL/FIRRTLAnnotations/).

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
use crate::{ use crate::{
hdl_type_common::{ hdl_type_common::{
common_derives, get_target, ItemOptions, MakeHdlTypeExpr, MaybeParsed, ParsedField, common_derives, get_target, ItemOptions, MakeHdlTypeExpr, MaybeParsed, ParsedField,

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
use crate::{ use crate::{
hdl_type_common::{ hdl_type_common::{
common_derives, get_target, ItemOptions, MakeHdlTypeExpr, MaybeParsed, ParsedGenerics, common_derives, get_target, ItemOptions, MakeHdlTypeExpr, MaybeParsed, ParsedGenerics,

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
use crate::{fold::impl_fold, kw, Errors, HdlAttr, PairsIterExt}; use crate::{fold::impl_fold, kw, Errors, HdlAttr, PairsIterExt};
use proc_macro2::{Span, TokenStream}; use proc_macro2::{Span, TokenStream};
use quote::{format_ident, quote_spanned, ToTokens}; use quote::{format_ident, quote_spanned, ToTokens};

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
use clap::Parser; use clap::Parser;
use fayalite::{cli, prelude::*}; use fayalite::{cli, prelude::*};

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
#![doc = include_str!("../README.md")] #![doc = include_str!("../README.md")]
//! //!

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! # Fayalite Modules //! # Fayalite Modules
//! //!
//! The [`#[hdl_module]`][`crate::hdl_module`] attribute is applied to a Rust //! The [`#[hdl_module]`][`crate::hdl_module`] attribute is applied to a Rust

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! These are for when you want to use modules written in //! These are for when you want to use modules written in
//! some other language, such as Verilog. //! some other language, such as Verilog.
//! //!

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! # Module Function Bodies //! # Module Function Bodies
//! //!
//! The `#[hdl_module]` attribute lets you have statements/expressions with `#[hdl]` annotations //! The `#[hdl_module]` attribute lets you have statements/expressions with `#[hdl]` annotations

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! # `#[hdl]` Array Expressions //! # `#[hdl]` Array Expressions
//! //!
//! `#[hdl]` can be used on Array Expressions to construct an [`Array<[T; N]>`][type@Array] expression: //! `#[hdl]` can be used on Array Expressions to construct an [`Array<[T; N]>`][type@Array] expression:

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! # `#[hdl] if` Statements //! # `#[hdl] if` Statements
//! //!
//! `#[hdl] if` statements behave similarly to Rust `if` statements, except they end up as muxes //! `#[hdl] if` statements behave similarly to Rust `if` statements, except they end up as muxes

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! ## `#[hdl] let` statements //! ## `#[hdl] let` statements
pub mod inputs_outputs; pub mod inputs_outputs;

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! ### Inputs/Outputs //! ### Inputs/Outputs
//! //!
//! Inputs/Outputs create a Rust variable with type [`Expr<T>`] where `T` is the type of the input/output. //! Inputs/Outputs create a Rust variable with type [`Expr<T>`] where `T` is the type of the input/output.

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! ### Module Instances //! ### Module Instances
//! //!
//! module instances are kinda like the hardware equivalent of calling a function, //! module instances are kinda like the hardware equivalent of calling a function,

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! # Memories //! # Memories
//! //!
//! Memories are optimized for storing large amounts of data. //! Memories are optimized for storing large amounts of data.

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! ### Registers //! ### Registers
//! //!
//! Registers are memory devices that will change their state only on a clock //! Registers are memory devices that will change their state only on a clock

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! ### Wires //! ### Wires
//! //!
//! Wires are kinda like variables, but unlike registers, //! Wires are kinda like variables, but unlike registers,

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! # `_hdl`-suffixed literals //! # `_hdl`-suffixed literals
//! //!
//! You can have integer literals with an arbitrary number of bits like so: //! You can have integer literals with an arbitrary number of bits like so:

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! # `#[hdl] match` Statements //! # `#[hdl] match` Statements
//! //!
//! `#[hdl] match` statements behave similarly to Rust `match` statements, except they end up as muxes //! `#[hdl] match` statements behave similarly to Rust `match` statements, except they end up as muxes

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! # `#[hdl]` Struct/Variant Expressions //! # `#[hdl]` Struct/Variant Expressions
//! //!
//! Note: Structs are also known as [Bundles] when used in Fayalite, the Bundle name comes from [FIRRTL]. //! Note: Structs are also known as [Bundles] when used in Fayalite, the Bundle name comes from [FIRRTL].

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! # Normal Modules //! # Normal Modules
//! //!
//! See also: [Extern Modules][`super::extern_module`] //! See also: [Extern Modules][`super::extern_module`]

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! # Fayalite Semantics //! # Fayalite Semantics
//! //!
//! Fayalite's semantics are based on [FIRRTL]. Due to their significance, some of the semantics are also documented here. //! Fayalite's semantics are based on [FIRRTL]. Due to their significance, some of the semantics are also documented here.

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! # Connection Semantics //! # Connection Semantics
//! //!
//! Fayalite's connection semantics are unlike assignments in software, so be careful! //! Fayalite's connection semantics are unlike assignments in software, so be careful!

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
use crate::{ use crate::{
bundle::{Bundle, BundleType}, bundle::{Bundle, BundleType},
firrtl, firrtl,

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
use crate::{ use crate::{
array::Array, array::Array,
bundle::{Bundle, BundleField}, bundle::{Bundle, BundleField},

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
pub use crate::{ pub use crate::{
annotations::Annotation, annotations::Annotation,
array::{Array, ArrayType}, array::{Array, ArrayType},

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
use crate::prelude::*; use crate::prelude::*;
#[hdl] #[hdl]

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
mod safety_boundary { mod safety_boundary {
use std::{cell::Cell, ptr::NonNull}; use std::{cell::Cell, ptr::NonNull};

View file

@ -1,4 +1,8 @@
{ {
"license_header": [
"SPDX-License-Identifier: LGPL-3.0-or-later",
"See Notices.txt for copyright information"
],
"types": { "types": {
"Module": { "Module": {
"data": { "data": {