描述
关键词:ViTEX,ViTEX II,系统生成器,FDR,FDS,保存,原语
紧迫:热
一般描述:
我的ViTeX设计包含实例化的同步设置/重置触发器(FDR、FDRE、FDS、FDSE)原语。然而,在映射阶段之后,SypRice通过FDs替换了实例化的原语。
这个问题是由于Synplify中的一个bug和SyPrimePro 7影响了FDR、FDRE、FDSE或FDS原语的实例化。当这些触发器的控制信号(时钟使能和复位/复位线)连接到常量时,这个错误就会发生。
这个问题在7.0.1版本中是固定的。最新版本可在SypPrimy网站下载:
HTTP://www. SyPrimyYou.com
为了解决这个问题,将端口连接到信号/电线,然后在信号/电线上放置“SythIORE”属性:
解决方案
一
VHDL示例:
FDSE:FDSE
端口映射(C= & Gt;CLK,
D=&
q=gt;
Ce=& gt;‘1’,
S=& gt;‘0’);
将“1”设置和“0”设置为允许它表现为普通的FD组件。SypPrimes看到这一点,并将其更改为FD。这改变了寄存器从“1”到“0”的上电值。因为FDSE是实例化的,Synplify不应该改变它。
一种解决问题的方法,不需要修补程序,就是将组件实例化为:
信号零点:STDYLogic;
信号一:STDYLogic;
属性同步保持:布尔;
属性的同步保持为零:信号为真;
属性同步保持:信号为真;
FDSE:FDSE
端口映射(C= & Gt;CLK,
D=&
q=gt;
Ce=1;
S=& 0;
这个问题固定在SypRime7.0.1中。
二
Verilog示例:
FDSE U1(D(D),C(CLK),Q(Q),Ce(1’B1),S(1’B0));
将“1”设置和“0”设置为允许它表现为普通的FD组件。SypPrimes看到这一点,并将其更改为FD。这改变了寄存器从“1”到“0”的上电值。因为FDSE是实例化的,Synplify不应该改变它。
一种解决这个问题的方法,不需要修补程序,就是将组件实例化为:
线零/ *综合同步保持=1 */;
线一/ *综合同步保持=1 */;
FDSE U1(d(d),c(CLK),q(q),Ce(1),s(0));
没有回复内容