问题描述
为什么设计中的LUT在PrimeTime中显示为黑框,为什么它们不通过时序?
解决/修复方法
在Verilog网表中,使用Verilog“defparam”结构使用“INIT”字符串指定LUT元件的功能。由于PrimeTime只接受可综合的Verilog,因此必须在Verilog网表中注释掉所有仿真结构(包括“defparam”)。因此,LUT元件显示为PrimeTime的黑盒子。
但是,PrimeTime必须能够理解LUT元件的功能,例如案例分析,逻辑错误路径的识别以及错误路径的证明。每个LUT功能都可以用反映原始LUT元件功能的配置MUX功能替换。有3个MUX元件可用于替换可能出现在Verilog网表中的3种类型的LUT元件。这3个MUX元件可以添加到PrimeTime SIMPRIMS库中:
– X_LUT2MUX4 – 替换2输入LUT元件
– X_LUT3MUX8 – 替换3输入LUT元件
– X_LUT4MUX16 – 替换4输入LUT元件
当使用ISE 4.2i和更新版本时,MAP主要使用4输入LUT元件在设计中实现组合功能;因此,仿真网表主要包含4输入LUT元件,这些元件将被PrimeTime网表中的X_LUT4MUX16替换。 xilinx2primetime程序专门为PrimeTime读取Verilog仿真网表和相应的SDF文件,并生成包含X_LUT4MUX16元件的PrimeTime兼容Verilog和SDF文件。这使PrimeTime能够识别网表中LUT元件的功能。
注意:X_LUT4MUX16元件在硅片中不存在,因为它代表PrimeTime的LUT功能。
为了启用案例分析,xilin2primetime用配置的X_LUT4MUX16元件替换PrimeTime网表中的4-1 LUT单元,以将LUT元件的功能传递给PrimeTime。在当前版本的PrimeTime中,对于由配置的X_LUT4MUX16元件描述的2-1 MUX功能,案例分析可能无法正常工作。当选择“A”侧或“B”侧时,PrimeTime可以将2-1 MUX的两个数据引脚传播到其输出。
您可以使用名为xp_check的Tcl函数来解决此问题,该函数与Synopsys进行了开发,并嵌入在Xilinx提供的“.synopsys_pt.setup”文件中。 xp_check函数扫描PrimeTime中的网表,识别配置为表示2-1 MUX的所有X_LUT4MUX16元件,并调整它们以便在案例分析期间将MUX输入正确传播到输出。在set_case_analysis命令之后和PrimeTime中发出report_timing之前,从PrimeTime的主脚本调用此函数。
这是一个短期解决方案。长期解决方案是PrimeTime支持网表中的“defparam”构造。
没有回复内容