使用PrecisionRTL综合优化你的设计中船重工722研究所李朝阳[摘要]综合(Synthesis)的主要功能是在FPGA设计过程中对设计输入进行分析和优化。随着FPGA技术的进步,综合技术也在不断发展,不断使用新技术的综合工具软件得到重视和使用,PrecisionRTL综合就是其中之一。现今数字信号处理(DSP)已经成为FPGA应用的一个重要领域。其中数字滤波器是DSP的一种主要手段,它广泛应用于通信、语音处理、图像处理等领域。本文通过一个有限脉冲响应(FIR)数字滤波器的FPGA实现充分说明先进的逻辑综合技术对于设计的优化实现起着决定性的作用。[关键词]FPGA综合仿真一、前言FPGA设计正在发生着重要的转变,设计者可以开发具有千万门以上、频率超过300MHz以及嵌入式处理器的电路,能够集成完整的系统。现在FPGA供应商通过开发包含嵌入式微处理器和存储器,以及硬或软宏单元的可重新配置的、系统级的FPGA。这些功能对设计者有很大的好处,比如减少系统开发时间,改进功耗,增加容量,扩大电路板的空间,以及可随时改变设计,增加了灵活性。这些重大技术突破确实增加了对自身设计和验证的挑战,需要新的方法解决这些问题。要充分利用任何新的技术和功能,必须具备必要的软件工具来处理设计者可能面临的任何新问题。在FPGA综合工具方面MentorGraphics公司的PrecisionRTL综合是面向先进FPGA架构和工艺发展的新一代RTL综合器,具有非常直观的界面、准确的时序分析和先进的优化算法,能同时满足昀佳设计结果和昀短上市时间的要求,是解决这些新问题的一个有效途径。二、FPGA开发流程简介FPGA开发基本流程包括:设计输入、设计仿真、设计综合、布局布线,它们的连接关系如图1所示。图1FPGA开发流程图设计综合是整个FPGA设计流程中一个重要的步骤,它将HDL代码生成用于布局布线的网表和相应的约束。而且随着新一代FPGA芯片频率和密度的增长,时序收敛问题越来越严重,综合已经成为整个设计成败的关键。通常芯片供应商的FPGA软件中都包含综合功能,但它相对简单,不能适应新一代FPGA芯片的发展,需要更加专业的综合工具来优化设计,PrecisionRTL综合就是其中之一。三、在FPGA设计中使用PrecisionRTL综合实例数字滤波器通常分成有限脉冲响应(finiteimpulseresponse,也就是FIR)和无限脉冲响应(infiniteimpulseresponse,也就是IIR)两大类。FIR滤波器相对于IIR滤波器而言,优点是相位线性和性能稳定,应用范围广,缺点是需要长的冲击响应(即高阶数)才能得到理想的结果,实现难度较大。因此在FPGA上实现高性能FIR滤波器是很具有挑战性的。下面我们用几种不同的方法来完成FIR滤波器设计,并进行比较。FIR滤波器的系数为{11,-69,-51,61,85,-72,-198,-37,234,72,-631,-922,594,4185,8139,9871,8139,4185,594,-922,-631,72,234,-37,-198,-72,85,61,-51,-69,11}。两路输入,输入信号位宽为7,输出信号位宽为23。设计输入为VHDL语言,输入输出信号声明如下:entityreceive_low_pass_filterisport(chip_input_i:insigned(6downto0);设计输入设计仿真设计综合布局布线chip_input_q:insigned(6downto0);clk:instd_logic;reset:instd_logic;data_i_channel_output:outsigned(22downto0);data_q_channel_output:outsigned(22downto0));endreceive_low_pass_filter;第一种方法:使用Altera公司的QuartusII3.0单独完成整个设计过程,在Quartus中新建一个项目(project),然后将VHDL文件添加进去,我们选择APEX系列20K1000EBC652芯片,执行StartCompilation,得到时序分析报告,发现昀大频率为72.19MHz。第二种方法:使用PrecisionRTL综合在不使用任何约束条件下对VHDL文件进行综合,如图2所示。图2PrecisionRTL综合界面用综合得到的网表文件(EDIF文件)代替Quartus项目中的VHDL文件,执行StartCompilation,得到时序分析报告,发现昀大频率为95.2MHz。第三种方法:仍然使用PrecisionRTL综合对VHDL文件进行综合,但在综合前将设计频率设为100M(如图3所示)。图3PrecisionRTL设置窗口用综合得到的网表文件(EDIF文件)代替Quartus项目中的VHDL文件,执行StartCompilation,得到时序分析报告,发现昀大频率为105.53MHz。比较以上三种方法得出的昀大频率,可以看到使用PrecisionRTL综合后这个FIR数字滤波器的昀大频率提高了31.9%,将设计频率约束为100M后昀大频率又提高了10.9%。不难发现,PrecisionRTL综合对提高设计性能有很大帮助。我们再来看看使用PrecisionRTL综合后仿真结果如何。在第二种方法的基础上进行仿真。时钟频率为90MHz,I路输入为{0,1,2...},Q路输入为{1,2,3...}。仿真结果如图4所示,图4A是功能(Functional)仿真,图4B是时序(Timing)仿真。通过比较及验算,可以发现功能仿真和时序仿真的结果都是正确的。A功能仿真B时序仿真图4仿真结果以上实例充分验证了PrecisionRTL综合在FPGA设计中的重要作用,它对我们设计水平的提高有很大帮助。四、PrecisionRTL综合的优势结合Mentor公司提供的资料以及我们自身的设计实践来看,PrecisionRTL综合采用了独特的ASE优化算法、自动实现状态机、跨层次和多余组合逻辑的优化;交互式精确时序分析和约束分析保证完美的结果,集成的原理图清晰地展示综合流程的特殊资源的利用并查询关键路径。对于开发人员来说,PrecisionRTL综合是一个界面直观、操作简便的EDA工具。你可以在完全不理会底层综合算法的同时,昀大程度的优化你的设计,得到理想的设计结果。而且你可以通过查看各种分析结果和原理图,来了解设计是否达到时序要求及资源占用情况。将PrecisionRTL综合与Mentor提供的其他FPGA软件甚至是PCB设计环境结合起来使用更能达到整机系统层次的性能优化以及质量可靠性。五、综述实际项目的开发经验让我们深刻体会到高性能逻辑综合技术对于新一代电子产品的设计和研发起着越来越关键的作用,PrecisionRTL综合可以为我们的FPGA设计提供重要帮助并且为我们带来性能和可靠性上的保障,因而越来越受到FPGA开发人员的青睐,为新一代的FPGA开发提供动力。