I'm new to hobby electronics/robotics and am trying to understand the use case for VHDL. The syntax is easy enough to understand, but I'm not seeing the "forest through the trees" on a few items.
For one, I'm trying to ascertain exactly what components of a digital system can be represented in VHDL. Can it be used for describing the behavior of CPUs? MCUs? PCBs? System-on-a-chip-type components?
Second, does VHDL compile to anything? Since it's describing hardware behavior, I'd imagine the answer would be no, but then my next question is: so then what happens to VHDL? Is there some kind of magic machine that takes VHDL as input and spits out chips & circuitry that accurately reflects the hardware modeled by the VHDL?
Answer
VHDL is used in ASIC and FPGA development, as is Verilog. Pretty much all commercial chip design is done in one of those two.
There's not so much a magic machine as a pipeline of large expensive pieces of software. The flow looks like this:
- humans write VHDL, then simulate in a program such as Modelsim to validate design.
- this is converted to a gate level netlist, which is usually also in Verilog but replaces all logic expressions by instantiations of logic gates (AND/OR/NOT/D-type flipflop). This is vaguely similar to a software compiler outputting machine code.
- another round of software does place and route, assigning those gates to locations on a chip. At this point it becomes possible to calculate timing and power consumption.
- additional bits of hardware are substituted in for things that aren't made out of logic gates (memories, analog subcomponents)
- For ASIC, finally the gates are converted into a sort of vector graphics format called GDSII, which is sent to the factory.
No comments:
Post a Comment