7 SypReTime- Synplify不保存实例化的FDRE、FDR、FDSE或FDS基元。-Xilinx-AMD社区-FPGA CPLD-ChipDebug

7 SypReTime- Synplify不保存实例化的FDRE、FDR、FDSE或FDS基元。

描述

关键词: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));

请登录后发表评论

    没有回复内容