rust-hdl 0.46.0

Write firmware for FPGAs in Rust
Documentation
 
  The [Bits](core::bits::Bits) type is a `Copy` enabled type that you can construct from integers,
  from the `Default` trait, or from other `Bits`.    Mostly, it is meant to stay out of your way
  and behave like a `u32`.
 
  ```
  # use rust_hdl::prelude::*;
  let x: Bits<50> = Default::default();
  ```
  This will construct a length 50 bit vector that is initialized to all `0`.
 
  You can also convert from literals into bit vectors using the [From] and [Into] traits,
  provided the literals are of the `u64` type.
 
  ```
  # use rust_hdl::prelude::*;
  let x: Bits<50> = 0xBEEF.into();
  ```
 
  In some cases, Rust complains about literals, and you may need to provide a suffix:
  ```
  # use rust_hdl::prelude::*;
  let x: Bits<50> = 0xDEAD_BEEF_u64.into();
  ```
  However, in most cases, you can leave literals suffix-free, and Rust will automatically
  determine the type from the context.
 
  You can construct a larger constant using the [bits] function.  If you have a literal of up to
  128 bits, it provides a functional form
  ```
  # use rust_hdl::prelude::*;
  let x: Bits<200> = bits(0xDEAD_BEEE);   // Works for up to 128 bit constants.
  ```
 
  There is also the [ToBits] trait, which is implemented on the basic unsigned integer types.
  This trait allows you to handily convert from different integer values
 
  ```
  # use rust_hdl::prelude::*;
  let x: Bits<10> = 32_u8.to_bits();
  ```