描述
关键词:XST、VHDL、Verilog、RAM、块、分布式、推断
紧迫性:标准
一般描述:
当我将RAMYORKS XST指令设置为“分布式”时,块RAM仍然被推断出来。
解决方案
一
由于XST的问题,如果RAM的地址行被注册,XST将推断块RAM,不管综合指令。
若要解决此问题,请使用中间地址信号:
Verilog:
模块推理RAM(DOA,DOB,DI,ADDRA,ADDRB,CLKA,CLKB,写入);
输出[31:0] DOA,DOB;
输入[31:0] di;
输入[3:0] ADDRA,ADDRB;
输入CKA,CLKB,写入;
//综合属性RAM的RAMYORD样式是分布式的
Reg [31:0] RAM[0:15];
Reg [3:0]
总是@(Press Celk)
AdDr.Reg;
总是@(PASEDGE CLKB)开始
如果(写)
RAM[ADDRB] & l=;
结束
分配DOB=RAM [ADDRB];
指定DOA=RAM[ADDRAYRG ];
终端模块
工作:
模块推理RAM(DOA,DOB,DI,ADDRA,ADDRB,CLKA,CLKB,写入);
输出[31:0] DOA;
输出[31:0] DOB;
输入[31:0] di;
输入[3:0] ADDRA,ADDRB;
输入CKA,CLKB,写入;
//综合属性RAM的RAMYORD样式是分布式的
Reg [31:0] RAM[0:15];
Reg [3:0]
线[3:0] ADDROWTAMP;/ /添加临时地址信号
总是@(Press Celk)
AdDr.Reg;
总是@(PASEDGE CLKB)开始
如果(写)
RAM[ADDRB] & l=;
结束
分配DOB=RAM [ADDRB];
分配DOA=RAM(ADDRAWTIMP);/ /使用RAM的临时地址信号
赋值ADDRADTEMP= ADDRAYRG;
/ /将注册地址信号分配给临时地址信号
终端模块
二
由于XST的问题,如果RAM的地址行被注册,XST将推断块RAM,不管综合指令。
若要解决此问题,请使用中间地址信号:
VHDL:
库IEEE;
使用IEEE.STDYLogiCy1164.ALL;
使用IEEE.STDLogLogic UNSIGNED;
实体推理RAM
端口(DOA,DOB:OUT STDLogLogic向量(31下降到0);
DI:在STdLogLogic向量(31下降到0);
ADDRA,ADDRB:在STDYLogLogic向量(3下降到0);
CLKA,CLKB,写入:在STDYLogic中;
结束实体;
推理系统的结构推理
RAMY-Type类型是STdLogLogic向量(31下降到0)的数组(0到15);
信号RAM:RAMOX型;
信号ADDRAYRG:STdLogLogic向量(3下降到0);
开始
过程(CLKA)开始
如果CLKA’事件和CLKA=“1”,那么
AdDr.Reg;
如果结束;
结束过程;
进程(CLKB)开始
如果CLKB’事件和CLKB=“1”,那么
如果(写=‘1’)然后
RAM(对流整数(ADDRB))& lt;=di;
如果结束;
如果结束;
结束过程;
DoB & lt;=RAM(Vube整数(ADDRB));
DOA & lt;=RAM(对流整数(ADDRAYRG));
架构结束;
工作:
库IEEE;
使用IEEE.STDYLogiCy1164.ALL;
使用IEEE.STDLogLogic UNSIGNED;
实体推理RAM
端口(DOA,DOB:OUT STDLogLogic向量(31下降到0);
DI:在STdLogLogic向量(31下降到0);
ADDRA,ADDRB:在STDYLogLogic向量(3下降到0);
CLKA,CLKB,写入:在STDYLogic中;
结束实体;
推理系统的结构推理
RAMY-Type类型是STdLogLogic向量(31下降到0)的数组(0到15);
信号RAM:RAMOX型;
信号ADDRAYRG:STdLogLogic向量(3下降到0);
信号ADDRADETEMP:STDYLogic矢量(3下降到0);
开始
过程(CLKA)开始
如果CLKA’事件和CLKA=“1”,那么
AdDr.Reg;
如果结束;
结束过程;
进程(CLKB)开始
如果CLKB’事件和CLKB=“1”,那么
如果(写=‘1’)然后
RAM(对流整数(ADDRB))& lt;=di;
如果结束;
如果结束;
结束过程;
DoB & lt;=RAM(Vube整数(ADDRB));
DOA & lt;=RAM(Vuang-Type(ADDRAY TEMP));使用RAM的临时地址信号
AdDracl Timp & lt;
–将注册地址信号分配给临时地址信号
架构结束;
没有回复内容