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
Author Archives: webmaster
VHDL Procedures
Procedures can be useful for more than just simulation.
Posted in Uncategorized
Comments Off on VHDL Procedures
Exporting Hierarchy from Vivado
Xilinx recently released a webpack for Vivado. This is an excellent way to start learning how to get the most out of the new features.
Posted in FPGA
Comments Off on Exporting Hierarchy from Vivado
VHDL and Division vs Shifting
This is a short post. Tools like XST do support division by powers of two for numeric types in VHDL. However, VHDL defines division in a mathematically consistent way, which is not the same as C.
Posted in VHDL
Comments Off on VHDL and Division vs Shifting
Inferring Multiple BRAMs
The width-changing buffer is a very common type of design. It can be generated from coregen, but coregen only generates NGC files for the simple RAMs. This becomes an issue if you want something to be configurable. It also means … Continue reading
Posted in FPGA
Comments Off on Inferring Multiple BRAMs
SSH Host-Key Setup
SSH host-keys can be a convenience, or can (potentially) increase security. Assuming it never becomes easy to directly defeat the encryption used by SSH, someone would need to know your username/password. With host-keys, they would also (likely) need to have … Continue reading
Posted in Embedded
Comments Off on SSH Host-Key Setup
Numeric_Std vs Std_Logic_Unsigned
One of VHDL’s annoyances is the excessive typing. It’s one of the things VHDL got wrong. As a result, two competing solutions were developed. Sadly, neither is perfect.
Posted in Fundamentals, VHDL
Comments Off on Numeric_Std vs Std_Logic_Unsigned
Creative Uses of Addition
I’ve never been a fan of VHDL’s numeric_std. It makes a distinction between unsigned, signed, and std_logic_vector for the addition operation. The operation is (or should be) the same in all cases. My main issue is that over half of … Continue reading
Posted in Fundamentals
Comments Off on Creative Uses of Addition
Sandbox, Bit Counting
Bit-counting is a rare operation. This makes it a good candidate for sandboxing — it isn’t clear what the best way to express the problem will be. This article looks at four different ways to express the bit-couting operation with … Continue reading
Using GIT to Manage Builds
One issue with large FPGA projects is the long build time. With methods like SmartXplorer, Xilinx’s “build baby build” tool for trying multiple placement options, build can often take hours to complete. During a build, there is a lot an … Continue reading
Posted in FPGA
Comments Off on Using GIT to Manage Builds
Mixing LFSRs
This was a topic of minor importance that came up recently with a college. LFSR’s have been discussed here in the past. One of the interesting aspects of LFSR’s is that the XOR of any two (or more) bits within … Continue reading
Posted in Math
Comments Off on Mixing LFSRs