Advanced VHDL Concepts
Distinguish elaboration, simulation and synthesis, then cover CDC, latency and advanced genericity.
Why This Chapter
At this point, the goal is not to stack more syntax. The important point is understanding when a construct acts:
- during design elaboration;
- during simulation;
- or in the synthesized hardware.
The next chapters detail IEEE functions, generate, fixed_pkg, packages and attributes. Here, we keep an overview to avoid confusion.
Elaboration, Simulation, Synthesis
| Phase | Role | Example |
|---|---|---|
| Elaboration | Build hierarchy before simulation/synthesis | generic, generate |
| Simulation | Execute the model in the simulator | wait for, assert, files |
| Synthesis | Turn RTL into registers, LUTs, DSPs, BRAMs | process, signals, operators |
A for ... generate does not loop at runtime. It creates hardware blocks during elaboration.
g_regs :