5.2i XST——如何使用XSM样式属性进行XST?

描述

关键词:VHDL,Verilog,块,RAM,ROM,指令

紧迫性:标准

一般描述:
RoMyStar属性似乎不起作用。如何在XST中使用此属性?

注:
有关推断块ROM的信息,请参见(赛灵思解答15639).
-关于推断块ROM的已知问题的信息,请参见(赛灵思解答16026).

解决方案

属性被放置在表示推断ROM中的组合逻辑的信号上。

VHDL语言

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

实体顶部
端口(CLK,EN):在STDYLogic中;
ADDR:在StdLogLogic向量中(7下降到0);
DUT:OUT STDYLogLogic向量(3下降到0);
结束;

顶层建筑RTL

类型ROM是StdLogLogic向量(3下降到0)的数组(0到255);
常数ROM1: ROM=
“0000”、“0001”、“0010”、“0011”、“0100”、“0101”、“0110”、“0111”、
“1000”、“1001”、“1010”、“1011”、“1100”、“1101”、“1110”、“1111”、




信号TwitsDATA:STDyLogic向量(3下降到0);

属性RoMySype:字符串;
Turbo数据的属性RoMyType:信号是“分布式”的;

开始

TimeStaseDATA & lt;=ROM1(对流整数(ADDR));

过程(CLK)
开始
如果(上升沿(CLK))
如果(EN=‘1’)然后
丹特数据;
如果结束;
如果结束;
结束过程;

结束RTL;

这个问题固定在最新的5.2i服务包中,可在:
HTTP://Spop.xILIX.COM/XLNX/XILL SWIOUPDATESHOME.JSP
包含修复的第一服务包是5.2i服务包1。

属性被放置在表示推断ROM中的组合逻辑的信号上。

Verilog

模块顶部(CLK,EN,ADDR,DOUT);

输入CLK,EN;
输入[3:0] ADDR;
输出[4:0] dUT;

Reg [4:0] TimeMeta数据,DOUT;

总是@(POSEDGE CLK)
如果(EN)DUT&LT=TwitthDATA;

总是@(ADDR)
开始

案例(ADDR)
4'BMON: TimeDATA=5'B000;
4'B001: TimePosiDATA=5'B00 00 1;
4'B010: TimeStaseDe==5'B0010;
4'B011:TimeDATA=5'B000 011;
4'B0100:TwitsDATA=5'B00 100;
4'B0101:TwitsDATA=5'B00 101;
4'B0110:TwitsDATA=5’B00 110;
4'B0111:TwitsDATA=5’B00 111;
4'B1000:TwiteDATA=5'B01000;
4'B1001:TwitsDATA=5'B01001;
4'B1010:TwitsDATA=5'B01010;
4'B1011:TwitsDATA=5'B01011;
4'B1100:TwitsDATA=5'B01100;
4'B11: TwitsDATA=5'B0101;
4'B1110:TwitsDATA=5'B01110;
4'B1111:TwitsDATA=5'B01111;
端部病例

结束
/TimeDATA数据的综合属性RoMyType是“分布式”的

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

提问于 2018-07-30 14:51:10 +0800

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

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