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`-suffixed literals
//!
//! You can have integer literals with an arbitrary number of bits like so:
//!
//! `_hdl`-suffixed literals have type [`Expr<UInt<N>>`] or [`Expr<SInt<N>>`].
//!
//! ```
//! # #[fayalite::hdl_module]
//! # fn module() {
//! let a = 0x1234_hdl_u14; // a UInt<14> with value 0x1234
//! let b = 0x7_hdl_i3; // a SInt<3> with value 0x7
//! let lf = b'\n'_hdl; // a UInt<8> with value b'\n' -- aka. 0x0A
//! let large_a = b'A'_hdl; // a UInt<8> with value b'A' -- aka. 0x41
//! let n5 = -5_hdl_i4; // a SInt<4> with value -5
//! let n1 = -1_hdl_i200; // a SInt<200> with value -1
//! let v = 0xfedcba9876543210_fedcba9876543210_fedcba9876543210_hdl_u192; // a UInt<192>
//! let empty = 0_hdl_u0; // a UInt<0>
//! # }
//! ```

#[allow(unused)]
use crate::{
    expr::Expr,
    int::{SInt, UInt},
};