描述
关键词:综合性、负性、时钟、边缘、公羊、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属性同步:信号是真的;
没有回复内容