## Implementation of a selector in VHDL

Multiplexers are very common in hardware design and generally FPGA configurable logic blocks have the hardware to support multiplexers natively. To take advantage of the dedicated hardware for the multiplexer…

Continue Reading Implementation of a selector in VHDL

## Begin Learning VHDL Projects

So you’re ready to start learning VHDL but you don’t know where to start. Just getting files to compile for the first time is a good step. After that, writing code that compiles and performs as expected is a good check to ensure you can change code meaning you development environment is setup correctly. (more…)

Continue Reading Begin Learning VHDL Projects

## HDL Design Process

The HDL design process is imperative to have when designing a complex system. When you are first starting out a HDL design process may seem to be too cumbersome when trying to get a counter to work. But when you are moving data from an ADC clock domain to a faster signal processing clock domain, performing signal processing techniques, and switching clock domains again to send the data off to its destination a HDL design process is imperative to ensure proper operation of the system. It’s good practice to follow the HDL design process laid out here to ensure your ability to handle large and complex systems. (more…)

Continue Reading HDL Design Process and Folder Structure

The Euclidean Distance between two points, $$(x_1,y_1)$$ and $$(x_2,y_2)$$, is $$\sqrt{(x_1-x_2)^2 + (y_1-y_2)^2}$$. This classic equation extends to 3-dimensions as well, $$\sqrt{(x_1-x_2)^2 + (y_1-y_2)^2+(z_1-z_2)^2}$$. There are many applications for the Euclidean distance equation. Anything from collision detection in video games to space travel, to even machine learning algorithms (see blog post K-Means Clustering Post). (more…)