forked from libre-chip/fayalite
		
	add missing copyright headers
This commit is contained in:
		
							parent
							
								
									053391b010
								
							
						
					
					
						commit
						10ae95fac1
					
				
					 31 changed files with 67 additions and 1 deletions
				
			
		|  | @ -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
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1,2 +1,4 @@ | ||||||
|  | # SPDX-License-Identifier: LGPL-3.0-or-later | ||||||
|  | # See Notices.txt for copyright information | ||||||
| /target | /target | ||||||
| .vscode | .vscode | ||||||
|  | @ -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/). | ||||||
|  |  | ||||||
|  | @ -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, | ||||||
|  |  | ||||||
|  | @ -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, | ||||||
|  |  | ||||||
|  | @ -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}; | ||||||
|  |  | ||||||
|  | @ -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::*}; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -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")] | ||||||
| 
 | 
 | ||||||
| //!
 | //!
 | ||||||
|  |  | ||||||
|  | @ -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
 | ||||||
|  |  | ||||||
|  | @ -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.
 | ||||||
| //!
 | //!
 | ||||||
|  |  | ||||||
|  | @ -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
 | ||||||
|  |  | ||||||
|  | @ -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:
 | ||||||
|  |  | ||||||
|  | @ -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
 | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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.
 | ||||||
|  |  | ||||||
|  | @ -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,
 | ||||||
|  |  | ||||||
|  | @ -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.
 | ||||||
|  |  | ||||||
|  | @ -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
 | ||||||
|  |  | ||||||
|  | @ -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,
 | ||||||
|  |  | ||||||
|  | @ -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:
 | ||||||
|  |  | ||||||
|  | @ -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
 | ||||||
|  |  | ||||||
|  | @ -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].
 | ||||||
|  |  | ||||||
|  | @ -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`]
 | ||||||
|  |  | ||||||
|  | @ -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.
 | ||||||
|  |  | ||||||
|  | @ -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!
 | ||||||
|  |  | ||||||
|  | @ -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, | ||||||
|  |  | ||||||
|  | @ -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}, | ||||||
|  |  | ||||||
|  | @ -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}, | ||||||
|  |  | ||||||
|  | @ -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] | ||||||
|  |  | ||||||
|  | @ -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}; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -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": { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue