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: Math
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
Affine Feedback Shift Register
Several previous articles have focused on linear feedback shift registers. These are very simple circuits which are very often used for generating “maximal” length sequences, which are sequences of all non-zero values of N bits. “Maximal” does not include the … Continue reading
Posted in Math
Comments Off on Affine Feedback Shift Register
Linear Regression
Previously, I had written an article about how to use non-orthogonal basis vectors for the modeling of sampled data. Here I show the same idea, but reformulated as a linear regression problem.
Posted in Math
Comments Off on Linear Regression
Non-Orthogonal Basis Vectors
Transforms and projections are often very useful in gaining useful information about a signal. The Fourier transform is a very common transform that give some information about the frequency content of a signal. it is not the only possible transform … Continue reading
Posted in Math
Comments Off on Non-Orthogonal Basis Vectors
Deceptive DDS Tables, Part 2
Generating DDS tables was the topic of a previous post. I decided to go a bit further with my analysis. I decided to compare the two quarter-table generating methods to see which one had better properties in terms of robustness … Continue reading
Posted in Math
Comments Off on Deceptive DDS Tables, Part 2
Deceptive DDS Tables
The direct digital synthesizer has become a fundamental block in many FPGA based designs. It is an interesting project to work on, but realistically there isn’t much need to re-write a DDS if you have access to IP from an … Continue reading
Better Pipelined Accumulator
As mentioned in a previous article, there is a better was to perform a pipelined addition or accumulation. This method works on the ability of an addition to be efficiently broken up across multiple cycles.
Pipelined Accumulators
In digital design, the ultimate bandwidth is determined by a feedback path. There are a few tricks that can be used to help the situation, but it quickly becomes a losing battle. This article shows one way to allow pipelining … Continue reading
Variable Length Reed-Solomon
Recently, someone had mentioned to me that the thing they liked most about convolutional codes was the ability to just send data in any amount. With convolutional codes, an internal state determines what encoded bits to send. This gives close … Continue reading
Updated Reed-Solomon Encoder
When I originally wrote my Reed-Solomon encoder, I used the basic polynomial long division method directly. This made a lot of sense at the time. It turns out that there is actually a slightly better method.
Posted in FPGA, Math
Tagged code provided, reed solomon
Comments Off on Updated Reed-Solomon Encoder