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
//! # `#[hdl]` Array Expressions
//!
//! `#[hdl]` can be used on Array Expressions to construct an [`Array<[T; N]>`][type@Array] expression:
//!
//! ```
//! # use fayalite::prelude::*;
//! # #[hdl_module]
//! # fn module() {
//! #[hdl]
//! let v: UInt<8> = m.input();
//! #[hdl]
//! let w: Array<UInt<8>, 4> = wire();
//! connect(
//!     w,
//!     #[hdl]
//!     [4_hdl_u8, v, 3_hdl_u8, (v + 7_hdl_u8).cast_to_static()] // you can make an array like this
//! );
//! connect(
//!     w,
//!     #[hdl]
//!     [(v + 1_hdl_u8).cast_to_static(); 4] // or you can make an array repeat like this
//! );
//! # }
//! ```
//!
//! `#[hdl] [...]` expressions have type [`Expr<Array<[T; N]>>`][Expr]

#[allow(unused)]
use crate::{array::Array, expr::Expr};