SypR化6.1 – SypReTi蛋白6.1错误地推断了XC4K族的RAM16X1DY1和RAM16X1SY1基元。-Xilinx-AMD社区-FPGA CPLD-ChipDebug

SypR化6.1 – SypReTi蛋白6.1错误地推断了XC4K族的RAM16X1DY1和RAM16X1SY1基元。

描述

关键词:综合性、负性、时钟、边缘、公羊、Spartan、SpartanXL

紧迫:热

一般描述:
下面是出现在SypReimes 6.1中的RAM已知的问题。(同样的问题没有发生在Sypulistic 6):

SypRISGE 6.1是针对XC4K族推断RAM16X1DY1和RAM16X1SY1基元,但是这些基元不支持XC4K族。

注意:这个问题固定在SypPrimes的7版本中。

解决方案

下面的示例说明可能导致不正确的RAM16X1DY1推断的编码:

模块测试(DIN,WADDR,RADDR,我们,CLK,DOUT);
输入[3:0] DIN;
输入[3:0] WADDR,RADDR;
输入CLK,我们;
输出[3:0] dUT;

Reg [3:0] MEM[0:15];
钢丝绳;
指定CLKYNN=CLK;
总是@ @(PaseLeCK)
如果(我们)
MEM[WADDR] & = DIN;

指定DOU= MEM[RADDR ];
终端模块

这个例子推断出RAM16X1DY1原语,它不支持XC4K和SpTAN/XL族。

周围的工作是把一个同步保持在倒置时钟网络上,使逆变器不被吸收到RAM16X1D:

线CKKYN/*综合SythCube=1 */;

下面的示例说明可能导致不正确的RAM16X1DY1推断的编码:

库IEEE;
使用IEEE.STDYLogiCy1164.ALL;
使用IEEE.STDLogLogic UNSIGNED;

实体测试
端口(DIN:在STdLogLogic向量中(3下降到0);
WADDR:在StdLogLogic向量中(3下降到0);
RADDR:在StdLogLogic向量(3下降到0);
CLK:在STDYLogic中;
我们:在STDYLogic中;
DUT:OUT STDYLogLogic向量(3下降到0);
结束实体;

测试的体系结构

类型MyMyType是STdLogLogic向量的数组(15下降到0)(3下降到0);
信号MEM:MeMyType;
信号CKLYN:STDYLogic;

开始

Clknn& lt;=不(CLK);

过程(CLK)
开始
如果CKKYN’事件和CKKYN=“1”,那么
如果(=‘1’)
MEM(凸整数(WADDR))& lt;= din;
如果结束;
如果结束;
结束过程;

过程(RADDR)
开始
=MEM(凸整数(RADDR));
结束过程;

终末弓形;

这个例子推断出RAM16X1DY1原语,它不支持XC4K和SpTAN/XL族。

周围的工作是把一个同步保持在倒置时钟网络上,使逆变器不被吸收到RAM16X1D:

库同步化;
使用SypIFIF.AtvestTo.ALL;


CKKYN属性同步:信号是真的;

请登录后发表评论

    没有回复内容