今天做了几个Xilinx大学计划里的Spartan-3E Starter 的例子,在Lab4中有个很有趣的Synthesize Report:
Minimum period (Verilog): ~12 ns (Maximum Frequency: ~83 MHz)
Minimum period (VHDL): ~10.5 ns (Maximum Frequency: ~95 MHz)
Slices
|
167 (Verilog)/ 163 (VHDL)
|
Slice Flip Flops
|
148 (Verilog)/ 147 (VHDL)
|
4 input LUTs
|
303 (Verilog)/ 298 (VHDL)
|
IOBs
|
21 (Verilog and VHDL)
|
BRAMs
|
1 (Verilog and VHDL)
|
Global Clocks
|
2 (Verilog and VHDL)
|
DCMs
|
1 (Verilog and VHDL)
|
同样的功能,同样的逻辑,同样的参数,却得到不同的资源占用情况。
很明显,VHDL做的例子耗费的LCB资源要比Verilog来的少,可能也是因为通过的门电路少了,VHDL做的就比Verilog做的延时要小,因而频率也能更大一些。
看来Xilinx在他的综合器里更倾向于对VHDL的优化。