描述
一般描述:
在VHDL中实例化LUT时,如何使用init属性来设置LUT方程?
解决方案
下面的文件给出了如何使用init属性初始化实例化LUT中的方程的示例。为了引用Synplify中的器件特定组件,必须包含特定的器件库。在这种情况下,使用了ViTeX库;但是,如果包含适当的库,示例将适用于SpartanII和ViTEX II架构。
使用init属性的测试用例:
– 4输入比较器与芯片选择示例。
-给定信号DATAZIN(3下降到0),LUT方程如下:
~(3)** DATAYIN(2)* DATAYIN(1)* DATAYIN(0)
库IEEE;
使用IEEE.STDYLogiCy1164.ALL;
库UNISIM;
使用UNISIM.VCISOTALS;
实体MUXTEST是端口(
DATAIIN:在STdLogLogic向量(3下降到0);
CS:在STDYLogic中;
CLK:在STDYLogic中;
DATAXOUT:输出STDYLogic;
结束测试;
MUXTEST的体系结构
组件LUT4
泛型(init:比特向量(15下降到0):=B“0000000000000000”);
端口(
I0:在STDYLogic中;
I1:在STDYLogic中;
I2:在STDYLogic中;
I3:在STDYLogic中;
输出逻辑
;
端部元件;
组件MUXF5
端口(
I0:在STDYLogic中;
I1:在STDYLogic中;
在STDYLogic中;
输出逻辑
;
端部元件;
组件GND
端口(
G:走出困境;
端部元件;
信号LutyOUT: STDYLogic;
信号MUXIOUT:STDYLogic;
信号GNDIIN:STDYLogic;
开始
MLUT1:LUT4
通用映射
init=& b;
)
端口映射(端口映射)
I0= & GT;DATAZIN(0);
I1= & GT;DATAZIN(1);
I2= & GT;DATAZIN(2);
I3= & GT;DATAZIN(3);
Ol= & lutsOUT
;
MYMUXF5:MUXF5端口映射(MUXF5)
I0= & GlutyOUT,
I1= & GndIin,
S=& gt;
Ox=和MuxOUT
;
MGND: GND端口映射(G= GT;GNDIIN);
过程(CLK)
开始
如果(CLK=‘1’和CLK’事件)
数据输出;
如果结束;
结束过程;
端部结构;
下面的文件给出了如何使用init属性初始化实例化LUT中的方程的示例。为了引用Synplify中的器件特定组件,必须包含特定的器件库。在这种情况下,使用ViTeX库:但是,如果包含适当的库,示例将适用于SpartanII和ViTEX II架构。
使用init属性的测试用例:
– 4输入比较器与芯片选择示例。
-给定信号DATAZIN(3下降到0),LUT方程如下:
[DATAIIN [ 3 ] *DATAIIN [ 2 ] * DATAYin [ 1 ] * DATAYin [ 0 ]
“包含”c:\SypLyth\SypRein\\Lb\xilinx\uniSim.v
模块MUXTEST(DATAZIN,CS,CLK,DATAOUT);
输入[3:0]数据;
输入CS,CLK;
输出数据输出;
电线拉图松,MUXYOUT,GNDIIN;
数据处理;
//下面的α(16’H8)将通过“8”的十六进制值。
//在LUT4定义中的第一个参数语句
//在ViTr.v文件中找到。
LUT4α(16’H8)MyLut1(.I0(DATAYIN〔0〕),I1(DATAYIN〔1〕),I2(DATAYIN〔2〕),I3(DATAYIN〔3〕),O(LutsiOUT);
MUXF5 MyMuxF5(.I0(LutsiOUT),I1(GndIIN),S(CS),O(MuxOUT));
GND mygnd(G(GndIin));
总是@(POSSEDGE CLK)DATAXOUT & lt;= MuxOUT;
终端模块
没有回复内容