L3 Introduction To Hardware Description Languages HDLs
L3 Introduction To Hardware Description Languages HDLs
Schematic
SystemVerilog
VHDL
Synthesizable:
Can infer digital
hardware
i.e. can generate
hardware
Non-synthesizable:
Cannot infer digital
hardware
i.e. suitable for
testbenches
Structural Code
• Describes the connections between modules, think of computer
motherboard as the connection for a number of integrated circuits –
the integrated circuits are the modules and the motherboard is the
structural code to connect the modules together. In this case,
structural code is synthesizable.
• The “top_level” in RTL code should be structural code, for moderately
complex designs or complex designs.
• Lower level modules in RTL code can also use structural code to
instantiate lower level modules, for hierarchical design.
• Testbenches feature structural code when the Unit Under Test (UUT)
or Device Under Test (DUT) is instantiated within the testbench.
Less
abstract
Behavioral code vs RTL code vs Structural code
Behavioral Code
RTL Code
Beginners should do
frequent synthesis checks
Picture: https://www.intel.cn/content/dam/altera-www/global/zh_CN/pdfs/literature/hb/max-10/m10_handbook.pdf
Introduction to Hardware Description Languages (HDLs)
FPGA Design Flow (for experienced designers)