FPGA internal tri-state buses

For me, and for many other designers, the first time we saw the internal memory blocks in an FPGA came as a little shock. Some of us were used to RAM devices used in Board Design. These devices use bidirectional data buses. Even the fastest memories, DDRn DRAMs, use bidirectional data buses ('n' has changed … Continue reading FPGA internal tri-state buses

FPGA Design Flow Summary

Are you going to make an FPGA design? Are you asking yourself where to start, how to continue, and finish? These are the basic steps of an FPGA design flow: Design Requirements: A High Level Description of the desired functionality. Architecture Specification: In response to the Requirements, a High Level Design is produced. Normally this … Continue reading FPGA Design Flow Summary

Component vs. Entity

An Entity defines the interface of a design unit. The elements of an entity are: Name of the entity Generic parameters Ports (connections of the entity) Most popular ports are of type in, out, and inout. The architecture specifies the behavior of an entity. An entity can be bonded to several architectures. Each architecture sees all the elements … Continue reading Component vs. Entity

Signed, unsigned and std_logic_vector

VHDL is a strong typed language. It is also a language which has quite a long history. These two facts together make handling of signed and unsigned numbers quite confusing. Even today I see lots of code examples with incorrect treatment of signed and unsigned arithmetic. Part of the history of the VHDL language is … Continue reading Signed, unsigned and std_logic_vector

Keeping your design files organized

Men marry women wishing they will never change, but they do. Women marry men wishing they will be able to change them, but they don't. When I was young, even during my University studies, I was a real disaster in anything related to order. My room was always a mess. Whenever my mother or any … Continue reading Keeping your design files organized