60.0同步化-时钟使能或复位未正确推断;SythIdTrimtUnEnabl需要。-Xilinx-AMD社区-FPGA CPLD-ChipDebug

60.0同步化-时钟使能或复位未正确推断;SythIdTrimtUnEnabl需要。

描述

关键词:翻转、触发器、触发器、CE、寄存器、同步性

紧迫性:标准

一般描述:
在某些情况下,SypRIST不推断时钟启用或重置正确。例如,
下面的构造可以被综合为FDR/FDE,而不是FDRE:

总是@(POSEDGE CLK)
如果(复位)
=“1010”
否则(启用)
q=D;

这是一个已知的问题。SypLIST正在寻找识别更多的启用或复位
6.2版本中的信号,但一些特殊情况可能会触发这个问题。

Sypulistic已经提交了bug 14321。

解决方案

一项工作是在启用信号上设置以下属性:

Verilog

线使能/ *综合SyoStId==1 SythOnTrimToFielt=1 */

VHDL语言

属性同步保持:布尔;
属性SyrIdToTurnFiel:BooLein;
属性的同步保持:信号为真;
使能:信号为真;

SDC

定义属性{n:Enab} SynIdTrpIn使能{ 1 }

注意:“启用”是时钟使能网络。

这种解决方案可能对Spartan器件不起作用。已经提交了一个bug
计划固定在SypPrime6.1版本中,该计划将发布
八月/ 2001年9月。

同时,考虑这些工作:

1。实例化FDCE手动访问CE引脚。
2。生成一个LogiBoLX计数器并在HDL文件中实例化它。

注意:CAREGEN计数器不适用于Spartan器件。

如果“SythOnTurtInabl”属性不能解决问题,请检查
启用信号并确保在信号声明期间不分配逻辑。

例如:

变化

线Enabl 1=We 1·We 2;

线可/ 1/*综合SyiStIn=1 SythIdTrimToField= 1×//;
指定Enable 1=WE1WE2;

请登录后发表评论

    没有回复内容