正在加载图片...
4.逻辑综合 目前可用的FPGA综合工具有 Mentor Graphics的 Leonardospectrum, Synplicity的 Synplify和 Synopsys的 FPGA Compiler/ FPGA Express, Leonardospectrum由于性能和速度 最好,成为我们首选的综合器, FPGA CompilerlI/FPGA Express由于可以和 Design Compiler 代码兼容也可用。见参考[9] 4.1逻辑综合的一些原则 HDL代码综合后电路质量的好坏主要取决于三个方面:RTL实现是否合理、对厂家器 件特点的理解和对综合器掌握的程度。参考[10中有比较全面的讨论。 4.1.1关于 Leonardospectrum LeonardoSpectrum对综合的控制能力比较强,但使用也略为复杂,故需要在使用前尽量 熟悉其功能,才能取得较好的综合结果。 当出现综合结果不能满足约束条件时,不要急于修改设计源文件,应当通过综合器提供 的时序和面积分析命令找出关键所在,然后更改综合控制或修改代码。 在 Leonardospectrum20001b以前的版本输出的v网表都不能用于仿真 4.1.1大规模设计的综合 分块综合 当设计规模很大时,综合也会耗费很多时间。如果设计只更改某个模块时,可以分块综 合。如有设计topv包含av和bv两个模块,当只修改av的话,可以先单独综合bv,输 出其网表bedf,编写一个b模块的黑盒子接口bsnv,每次修改av后只综合topw、av bsn.v,将综合后的网表和bedf送去布线,可以节约综合b模块的时间。 采用脚本命令 当设计规模比较大时,综合控制也许会比较复杂,可以考虑采用脚本控制文件的方式进 行综合控制, modelsim、 LeonardoSpectrum和 Quartus都支持TCL( Tool Command Language) 语言,采用脚本控制可以提供比图形界面更灵活和更方便的控制手段。 4.1.3必须重视工具产生的警告信息 综合工具对设计进行处理可能会产生各种警告信息,有些是可以忽略的,但设计者应该 尽量去除,不去除必须确认每条警告的含义,避免因此使设计的实现产生隐患 这个原则对仿真和布局布线同样适用 42调用模块的黑盒子( Black box)方法 使用黑盒子方法的原因主要有两点: 一是HDL代码中调用了一些FPGA厂家提供的模块(如 Altera的LPM模块)或第三 方提供的IP,这些模块不需要综合,而且有些综合器也不能综合(如 FPGA CompilerlI/FPGA Express I可以综合包含LPM的代码而 Leonardospectrum不能)。因此须提供一个黑盒子接口 给综合器,所调用的模块到布局布线时才进行连接。8 4. 逻辑综合 目前可用的 FPGA 综合工具有 Mentor Graphics 的 LeonardoSpectrum,Synplicity 的 Synplify 和 Synopsys 的 FPGA CompilerII/FPGA Express,LeonardoSpectrum 由于性能和速度 最好,成为我们首选的综合器,FPGA CompilerII/FPGA Express 由于可以和 Design Compiler 代码兼容也可用。见参考[9] 4.1 逻辑综合的一些原则 HDL 代码综合后电路质量的好坏主要取决于三个方面:RTL 实现是否合理、对厂家器 件特点的理解和对综合器掌握的程度。参考[10]中有比较全面的讨论。 4.1.1 关于 LeonardoSpectrum LeonardoSpectrum 对综合的控制能力比较强,但使用也略为复杂,故需要在使用前尽量 熟悉其功能,才能取得较好的综合结果。 当出现综合结果不能满足约束条件时,不要急于修改设计源文件,应当通过综合器提供 的时序和面积分析命令找出关键所在,然后更改综合控制或修改代码。 在 LeonardoSpectrum 2000.1b 以前的版本输出的 .v 网表都不能用于仿真。 4.1.1 大规模设计的综合 ⚫ 分块综合 当设计规模很大时,综合也会耗费很多时间。如果设计只更改某个模块时,可以分块综 合。如有设计 top.v 包含 a.v 和 b.v 两个模块,当只修改 a.v 的话,可以先单独综合 b.v,输 出其网表 b.edf,编写一个 b 模块的黑盒子接口 b_syn.v,每次修改 a.v 后只综合 top.v、a.v、 b_syn.v,将综合后的网表和 b.edf 送去布线,可以节约综合 b 模块的时间。 ⚫ 采用脚本命令 当设计规模比较大时,综合控制也许会比较复杂,可以考虑采用脚本控制文件的方式进 行综合控制,modelsim、LeonardoSpectrum 和 Quartus 都支持 TCL(Tool Command Language) 语言,采用脚本控制可以提供比图形界面更灵活和更方便的控制手段。 4.1.3 必须重视工具产生的警告信息 综合工具对设计进行处理可能会产生各种警告信息,有些是可以忽略的,但设计者应该 尽量去除,不去除必须确认每条警告的含义,避免因此使设计的实现产生隐患。 这个原则对仿真和布局布线同样适用。 4.2 调用模块的黑盒子(Black box)方法 使用黑盒子方法的原因主要有两点: 一是 HDL 代码中调用了一些 FPGA 厂家提供的模块(如 Altera 的 LPM 模块)或第三 方提供的 IP,这些模块不需要综合,而且有些综合器也不能综合(如 FPGA CompilerII/FPGA Express 可以综合包含 LPM 的代码而 LeonardoSpectrum 不能)。因此须提供一个黑盒子接口 给综合器,所调用的模块到布局布线时才进行连接
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有