如何在VHDL中实例化HDL中的LUT原语?

描述

一般描述:

如何使用SypLITY的SypLIPIDEN在VHDL中为HDTEL实例化LUT原语?

解决方案

您可以通过使用SypLIFIX提供的Xilinx族库来实例化LUT*单元格。请看(Xilinx解决方案244)详细描述Xilinx特定细胞的细节。

LUT1、LUT2、LUT3和LUT4分别是具有通用输出(O)的1、2、3、4位查找表(LUTS)。

一个强制性的init属性,具有适当数量的十六进制数字的输入数量,必须附加到LUT以指定其功能。

LUT1提供缓冲器或反相器的查找表版本。

注:用SypLID5.5.4测试

Verilog

“包含”& lt;SypLIFythSuth≫/LIb/Xilinx/uniSim.v

模块LutyEX(LUT1XOUT,LUT1IIN,LUT2IOUT,LUT2IIN);

输入[1:0] Lut1in in,Lut2in in;

输出[1:0] LUT1OU-OUT,LUT2OIOUT;

//LUT1用作逆变器

FuPARAM-U0.IIT=2'B01;

LUT1 U0(.O(Lut1OxOU[ 0)],I0(Lut1In in [ 0 ]);

//LUT1用作缓冲器

FabPARM U1.IIT=2'B10;

LUT1 U1(O(Lut1OxOU[ 1)],I0(Lut1In in [ 1 ]);

//LUT2用作2输入与门

FuPARAM U2.IIT=4'B1000;

LUT2 U2(O(Lut2Ox OUT〔0〕),I1(LUT2In〔1〕),I0(LUT2In〔0〕);

//LUT2作为2输入与非门

FuPARAM-U3.IIT=4'B0111;

LUT2 U3(O(Lut2Ox OUT〔1〕),I1(LUT2In〔1〕),I0(LUT2In〔0〕);

终端模块

VHDL语言

库IEEE;

使用IEEE.STDYLogiCy1164.ALL;

库UNISIM;

使用UNISIM.VCISOTALS;

Lutyx实体

端口(

Lut1yin,Lut2In:在STdLogLogic载体(1下降到0);

LUT1XOUT,LUT2OIOUT:OUT STDLogLogic向量(1下降到0);

结束实体LutyEX;

Lutyx建筑Xilinx

组件LUT1

泛型(init:比特向量(1下降到0):=“10”);

端口(O:输出STDYLogic);

I0:在STDYLogic中;

端部元件;

组件LUT2

泛型(init:比特向量(3下降到0):=“0000”);

端口(O:输出STDYLogic);

I0,I1:在STDYLogic中;

端部元件;

开始

--LUT1用作逆变器

U0:LUT1通用映射(init=& gt;01)

端口映射(o=& gt;lut1xOUT(0),i0= & gt;lut1in in(0));

--LUT1用作缓冲器

U1:LUT1通用映射(init=& gt;“10”)

端口映射(o=& gt;lut1xOUT(1),i0= & gt;lut1in in(1));

--LUT2用作2输入与门

U2:LUT2通用映射(init=& gt;1000)

端口映射(O= & Gt;Lut2OxOUT(0),I1= & Gt;Lut2in in(1),I0= & Gt;Lut2in in(0));

--LUT2作为2输入与非门

U3:LUT2通用映射(init=& gt;“0111”)

端口映射(O= & Gt;Lut2OxOUT(1),I1= & Gt;Lut2in in(1),I0= & Gt;Lut2in in(0));

末端Xilinx;

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

提问于 2018-07-29 14:19:29 +0800

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

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