fayalite 0.2.0

Hardware Description Language embedded in Rust, using FIRRTL's semantics
Documentation
// SPDX-License-Identifier: LGPL-3.0-or-later
// See Notices.txt for copyright information
//! # Fayalite Modules
//!
//! The [`#[hdl_module]`][`crate::hdl_module`] attribute is applied to a Rust
//! function so that that function creates a [`Module`][`crate::module::Module`] when called.
//! In the function body it will implicitly create a
//! variable [`m: ModuleBuilder`][`crate::module::ModuleBuilder`].
//! # Module Kinds
//!
//! There are two different kinds of modules:
//!
//! * [Normal modules][`normal_module`]. These are used for general Fayalite-based code.
//! * [Extern modules][`extern_module`]. These are for when you want to use modules written in
//!   some other language, such as Verilog.
//!
//! See also: [Module Bodies][`module_bodies`]

pub mod extern_module;
pub mod module_bodies;
pub mod normal_module;