描述
关键词:翻转、触发器、触发器、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;
没有回复内容