Xilinx中原语LUT的介绍及使用

Xilinx中原语LUT的介绍及使用

    • LUT与always
    • LUT的用法

LUT与always

lut与always@(*)的作用是没有区别的,只是在写法上有些区别,如下电路图所示分别为lut(u_lut)与always(u_tirgger)综合后的电路。
在这里插入图片描述

LUT的用法

在原语中有LUT1~LUT6的选择,用法都是一样的,这里选择LUT3实现三输入的异或程序进行详解。
如果使用always语句,我们只需要知道在verilog中的异或符号为^即可

always @( * )
begin
    tir1 <= a^b^c  ;
end  

在Xilinx官方手册中是这样描述LUT3结构和使用的:
结构图
在这里插入图片描述

在这里插入图片描述
知道输入输出方向后要使用LUT实现三输入异或程序时,首先要知道真值结果,如下所示:
在这里插入图片描述
在vivado2018.3中点击Language Templates后选择LUT3
在这里插入图片描述
将该原语复制到自己的代码中去

以LUT3为例的原语使用
在.INIT(8’h00)的位置输入真值表的结果,如上图真值表中Output一列结果为01101001,写在原语中需要依次调换顺序即为[10010110],再更改为十六进制表达为:8’h96即可实现所需要的运算结果啦
在这里插入图片描述
以上仅为个人学习理解所得,若有不对的地方还请各位大佬轻点喷。

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值