4.1i内核生成器-运行Verilog行为仿真可能需要很长时间,因为核心CYRGEFDFDV30.0采用了低效的编码方式。

描述

关键词:核心生成器,CaleGEN,C.ReGuffFD3V0.0.V,MODESIM,FDReg,仿真,长时间

紧迫性:标准

一般描述:
对核心生成器内核进行Verilog行为仿真可以花费大量的时间。这可能是由于Verilog中CyReGuffFDV30.0V模型的低效编码风格造成的。C.ReGiffFD3V0核心被许多其他核心使用,例如乘法器和块存储器核。

在当前的CY-ReGiFdV3V0.0V模型中,在每个时钟边缘上执行具有多个呼叫功能的大的for循环。这可能导致运行时扩展。

解决方案

这个问题已经被固定在基础BLX V6Y0中,它将在4.1IIP更新2中交付。

同时,如果您希望加快仿真运行时间,可以通过在示例2中替换代码中的代码来修改CyReGierFDYv3.v(它位于/Xilinx/Verilog /Src/XilinxCeriLB目录)中。在示例2中,没有循环,如示例1中所示。

例1:

永远@
互联网或
占有)
开始
DATAMP=数据;

对于(i=0;i & lt;c1宽度;i=i+1)
开始
如果(InACLR==1’B1)
DATAMP[i]=1’B0;
否则,(InACLR==1’B0&InaseT==1’B1)
DATAMP[i]=1’B1;
否则(如果保持==1’b1)
DATAMP[I]=AIV〔I〕;
否则,(InACLR==1’BX和放大器;=1’b0’
DATAMP[I]=1’BX;
否则!= LAST公司;
最后!Inase&&&;
LASTITACLR==1’B1和AMP;
LaSTiTaseT==1'B1&&
ITCLR==1’b0 & & &;
InaseT==1'B0)
DATAMP[I]=1’BX;
其他的
开始



例2:

永远@
互联网或
占有)
开始
DATAMP=数据;
如果(InACLR==1’B1)
DATAMP==B0;//0扩展到所有比特
否则,(InACLR==1’B0&InaseT==1’B1)
DATAMP={Cult{{1} B1}};/ /显式上浆
否则(如果保持==1’b1)
DATAMP= AIV;
否则,(InACLR==1’BX和放大器;=1’b0’
DATAMP= =“BX;//X”扩展到所有位
否则!= LAST公司;
最后!Inase&&&;
LASTITACLR==1’B1和AMP;
LaSTiTaseT==1'B1&&
ITCLR==1’b0 & & &;
InaseT==1'B0)
DATAMP= =“BX;//X”扩展到所有位
其他的
开始
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-30 08:03:51 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它