如何避免使用LyTeCeP2/M、LaTigExp2使用SypLIFIt进行读写前(RBW)内存推断?

单端口和真双端口存储器可被解释为LaTeCeCp2/m和LaTigExp2器件的正常和写通模式。在这些设备中不支持的另一种模式是写前读(RBW)。

有关这些模式的详细信息,请参阅设备特定内存使用技术说明。

当推断内存时,编码风格决定了Sypple如何将它解释为正常的、通过写的。如果存储器以这样一种方式编码,即在即将写入的地址位置上的最后数据被推出,SyPrimEt可以为诸如LtGeCeP2/M和LaTigExp2之类的设备启用RBW模式。这种模式,虽然由SypLyType支持,但在这些设备中不支持。如果您有使用此模式的需求,请使用支持此模式的LATECIECP3系列。

VHDL中的进程声明的以下代码将以RBW模式生成内存。在该代码中,输出QA在写使能WRA变高之前读取现有值。该编码风格将通过合成工具被解释为读写前RAM。

测试:进程(CROCKA,RESETA)开始
如果ReSeta=“1”,那么
αqa & lt=(其它=& gt;‘0’);
然后,ELSIFF CROKAK'事件和CROCKA=“1”
如果是(CcOxeNe=‘1’),那么
如果是(WRA==1),那么
γω(凸整数(无符号(AddiSRSA)));
αI.端IF;
Qua-整数(无符号(AddiSRSA));
若结束;
如果结束;
结束过程;

RBW RAM将在ISPLIVER中产生警告。为了避免这种模式的推敲,应注意文体风格。下面的编码风格是修改上面代码的一个很好的例子,以确保所支持的RAM模式是合成的。

开始
写入:进程(CKKIIN)
开始
如果(Ckkyin事件和CkkIn=‘1’)
如果是(我们=‘1’),那么
α,α,α,β,β;
如果是;
若结束;
结束进程写入;
读取:进程(CKKYOUT)
开始
如果是(CKKYOUT事件和CKKYOUT=‘1’),那么
Y.A.Y.S.O.DATAXOUT & lt;= MEM(VuniGoin(ADDRIXOUT));
若结束;
结束过程读取;

结束RTL;

这将有助于确保SypPiple合成正确的支持模式并避免警告消息。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-27 12:23:51 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它