RTL级设计既寄存器传输级设计,如何才能进行高效的RLT级设计呢?需要做到以下几个方面:
1.熟悉HDL语言。目前用的比较多的为verilog 和VHDL。至少熟练掌握其中一种语言。
2.熟悉综合工具。一般altera用Quartus ii , xilinx 用xilinx ise。也有用synplify的。这些工具都会提供很多优化的选项。在综合中,可以根据具体情况进行选择。
3.熟悉所使用FPGA芯片的性能,结构。只有这样,才能设计出最适合所使用FPGA的RTL代码。
4.分层次进行设计。给每个功能做成独立的模块,写好各自的设计文档,进行仿真验证和性能评估,然后进行整合。对整合后的完整设计进行仿真验证,写好整合后的设计文档。这样方便阅读,调试和以后的代码重用。
5.尽量使用FPGA厂家推荐的HDL代码形式。如在altera的Quartus II下Edit---Insert Template里有很多参考的模板。如下图所示:
6.确定设计的目标---速度,功耗还是面积。根据实际情况进行选择速度优先,面积优先还是两者的权衡。
7.分析综合报告中的每个warning,根据waring的提示,去消除waring。
8.最后要做时序分析,做到没有时序违规。时序设计是伴随着整个设计的。 |