Welcome
Welcome to cdstahl.orgCategories
-
Recent Posts
- VHDL Procedures
- Exporting Hierarchy from Vivado
- VHDL and Division vs Shifting
- Inferring Multiple BRAMs
- SSH Host-Key Setup
- Numeric_Std vs Std_Logic_Unsigned
- Creative Uses of Addition
- Sandbox, Bit Counting
- Using GIT to Manage Builds
- Mixing LFSRs
- Affine Feedback Shift Register
- Verilog’s Casex Issue
- Linear Regression
- Non-Orthogonal Basis Vectors
- Viterbi Decoder, Traceback
Archives
Meta
Category Archives: VHDL
Synthesizable Procedures
VHDL offers a procedure language construct. Like most tools, it has a handful of advantages and disadvantages. Procedures have long been used in simulations to allow complex logic sequences to be represented as a single statement. This allows the sim … Continue reading
Posted in VHDL
Comments Off on Synthesizable Procedures
Unconstrained Vectors
VHDL makes heavy use of types, and has a concept of an unconstrained vector. This is a vector whose dimension isn’t specified in the declaration of a construct, but is determined by the instantiation or use of the construct.
VHDL Generics
VHDL has fairly good support for generics. VHDL-2008 will actually provide several improvements as well. Generics are a good alternative to code generation, and work well for the vast majority of designs. Generics aren’t a complete replacement for code generation … Continue reading
Posted in VHDL
Comments Off on VHDL Generics
Functions Vs Scripts
I recently decided to re-write the logic portion of my Reed-Solomon encoder to use VHDL functions instead of script-generated logic. I defined a “permute” function to perform the logic manipulation:
Variables in VHDL
In a previous article, misuses of variables in processes was discussed. This article describes useful uses of variables in VHDL.
Posted in VHDL
Comments Off on Variables in VHDL
Non-Blocking Nuances
Nonblocking assignments are very common in VHDL. They have some pitfalls to look out for. VHDL is different from Verilog in that it forces the use of nonblocking assignments for signals. This means a design will use nonblocking assignments somewhere.
Posted in VHDL
Comments Off on Non-Blocking Nuances
Variables are not Signals
Annoying and Dangerous when misused. Continue reading
Posted in VHDL
Comments Off on Variables are not Signals