0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

初识FPGA CLB之LUT实现逻辑函数

FPGA之家 来源:FPGA之家 作者:FPGA之家 2023-03-13 10:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、概述

LUT中文名字叫查找表。以7系列的FPGA为例,每一个Slice里面有四个LUT。FPGA就是通过LUT实现大量的组合逻辑,以及SLICEM里面的LUT还可以构成RAM,Shift Register,以及Multiplexers。这篇文章我们一起来学习LUT如何构成组合逻辑。

二、LUT实现原理

LUT,中文名字叫做查找表,其原理其实也就是一个一个查找表,根据输入去找到相应位置的信号,然后做输出。说白了就好像一个小容量的ROM,把输入当作地址信号,对LUT里面预存的内容进行寻址。

7系列的FPGA的LUT有6个输入端口(A1-6),然后有两个输出端口(O5,O6)。下图是SLICEL里面的LUT。

9f14c1ba-bf62-11ed-bfe3-dac502259ad0.png

其可以实现6输入的布尔组合逻辑函数,输入信号为A1,A2,A3,A4,A5,A6,输出端口为O6。如下

O6=f(A1,A2,A3,A4,A5,A6)

其实现方式就是将输入(A1,A2...A6)对应的输出在LUT里面预存好(这一步在我们用bit文件配置FPGA时实现),然后把输入信号当作地址信号去把对应的输出信号调出来。

同样其还可以构成两个5输入的布尔组合逻辑函数,其中这两个函数共用5个输入信号(A1,A2,A3,A4,A5),A6被拉高,O5,O6分别是两个布尔逻辑的输出。

O5=f(A1,A2,A3,A4,A5)

O6=f(A1,A2,A3,A4,A5)

故这也相当于实现的是一个5输入2输出的逻辑函数。

[O5,O6]=f(A1,A2,A3,A4,A5)

三、总结与提升

总结一下,就好比单个LUT里面可以预存 2^6=64个结果。那么单个LUT可以实现

(1)输入信号最多为6bit,输出信号为1bit的的布尔逻辑函数;

(2)输入信号最多为5bit,输出信号为2bit的逻辑。

一个SLICE里面有四个LUT故最多可以预存的输出信号个数为 2^6*4=2^8。

因此在一个SLICE里面,借助选择器将多个LUT进行互连,可以实现输入数,输出数最多为如下所示的逻辑。

(1)2个LUT通过互连可以构成7bit输入,单bit输出的逻辑。实现方式为两个LUT的输入信号A1,A2,A3,A4,A5,A6接到一起,输出信号经过选择器选择输出,选择器的选择信号也是逻辑函数的一个输入信号。

将逻辑函数的输出送到Storage Element便可以形成同步时序逻辑。

9f2782aa-bf62-11ed-bfe3-dac502259ad0.png

(2)4个LUT通过互连可以构成8bit输入,单bit输出的逻辑。实现方式大家可以根据上面的实现方式自行推理。

(3)2个LUT通过互连可以构成6bit输入,2bit输出的逻辑。实现方式自行推理。

(4)4个LUT通过互连可以构成7bit输入,2bit输出的逻辑。实现方式自行推理。

超过8输入的布尔逻辑就需要多个SLICE来实现。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1664

    文章

    22503

    浏览量

    639264
  • 逻辑函数
    +关注

    关注

    1

    文章

    23

    浏览量

    9749
  • 组合逻辑
    +关注

    关注

    0

    文章

    48

    浏览量

    10400
  • LUT
    LUT
    +关注

    关注

    0

    文章

    52

    浏览量

    13204
  • CLB
    CLB
    +关注

    关注

    0

    文章

    30

    浏览量

    6388

原文标题:初识FPGA CLB之LUT实现逻辑函数

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Microchip重新定义可编程逻辑实现更简便且更智能的全集成设计

    ,凭借直观的拖拽式图形界面加速逻辑开发。集成式CLB合成器将逻辑设计与前置时序分析、仿真及硬件调试能力相结合,开发人员无
    的头像 发表于 04-24 13:46 99次阅读
    Microchip重新定义可编程<b class='flag-5'>逻辑</b>,<b class='flag-5'>实现</b>更简便且更智能的全集成设计

    SN54LS181、SN54S181、SN74LS181、SN74S181算术逻辑单元/函数发生器详解

    SN54LS181、SN54S181、SN74LS181、SN74S181算术逻辑单元/函数发生器详解 在电子设计领域,算术逻辑单元(ALU)是实现各种算术和
    的头像 发表于 04-23 15:15 147次阅读

    SN54AS181B与SN74AS181A算术逻辑单元/函数发生器:特性、应用与设计考量

    SN54AS181B与SN74AS181A算术逻辑单元/函数发生器:特性、应用与设计考量 在电子设计领域,算术逻辑单元(ALU)和函数发生器是实现
    的头像 发表于 04-23 09:40 317次阅读

    探索 SN54LS181、SN54S181、SN74LS181 和 SN74S181 算术逻辑单元/函数生成器

    探索 SN54LS181、SN54S181、SN74LS181 和 SN74S181 算术逻辑单元/函数生成器 在电子工程师的日常设计工作中,选择合适的芯片是实现高效、可靠电路的关键。今天,我们就来
    的头像 发表于 04-22 16:40 181次阅读

    工程师高培解读XilinxVivadoFPGA设计进阶与AI自动编程

    编程的总结,以下围绕八个核心模块展开技术要点,供FPGA开发者参考。 一、理解FPGA底层结构 用好Vivado,需要对FPGA内部结构有清晰认识。LUT(查找表)
    的头像 发表于 04-22 16:29 166次阅读
    工程师高培解读XilinxVivado<b class='flag-5'>FPGA</b>设计进阶与AI自动编程

    京微齐力HME-P2飞马系列FPGA产品概述

    HME-P2 系列 FPGA 利用 22nm 工艺平台的特点,追求芯片极致的 PPA (性能-功耗-成本)配比,不仅实现了灵活的配置方式,还拥有 50K LUT4 的逻辑资源、196个
    的头像 发表于 04-22 15:36 95次阅读
    京微齐力HME-P2飞马系列<b class='flag-5'>FPGA</b>产品概述

    赛灵思FPGA电源解决方案全解析

    个复杂且关键的环节。本文将深入探讨赛灵思(Xilinx)FPGA的电源解决方案,为电子工程师们提供全面的参考。 文件下载: MAX17017DEVKIT+.pdf FPGA概述 FPGA是一种可编程设备,由通过可编程互连连接的可
    的头像 发表于 04-02 15:45 215次阅读

    【黑金云课堂笔记】第一~二期知识点总结

    和确定性的时延表现。 FPGA 基本结构 : FPGACLB 逻辑单元(包含 LUT 查找表与触发器)、可编程互连布线
    的头像 发表于 04-01 16:10 226次阅读

    核芯互联正式发布国产高性能时钟缓冲器芯片CLB7043

    近日,核芯互联正式发布了面向高端通信与数据转换系统的国产高性能时钟缓冲器芯片——CLB7043。作为一款集成了时钟分发、相位管理、确定性同步等复杂功能的高性能模拟芯片,CLB7043在核心的相位噪声
    的头像 发表于 02-25 17:36 1373次阅读
    核芯互联正式发布国产高性能时钟缓冲器芯片<b class='flag-5'>CLB</b>7043

    FPGA 入门必看:Verilog 与 VHDL 编程基础解析!

    的基础概念和实践方法。一、FPGA与MCU/MPU的区别MCU/MPU:顺序执行程序,CPU负责所有逻辑FPGA:可编程逻辑阵列,逻辑电路可
    的头像 发表于 01-19 09:05 716次阅读
    <b class='flag-5'>FPGA</b> 入门必看:Verilog 与 VHDL 编程基础解析!

    复杂的软件算法硬件IP核的实现

    函数功能的简短的描述。 HASM 语言包含了两种结构,一种是功能域一种是结构域。 功能域负责一些基本的运算操作,例如算术运算、逻辑运算还有数据传送操作,通常由组合逻辑实现,并且与
    发表于 10-30 07:02

    PIC16F13145微控制器技术解析:CLB架构与低功耗设计

    PIC16F13145微控制器采用可配置逻辑块(CLB),其中包含32个独立逻辑单元,并带有可自定义的查找表(LUT),用于基于硬件的自定义逻辑
    的头像 发表于 10-09 16:05 915次阅读
    PIC16F13145微控制器技术解析:<b class='flag-5'>CLB</b>架构与低功耗设计

    FPGA利用DMA IP核实现ADC数据采集

    DMA IP核来实现高效数据传输的步骤,包括创建项目、配置ADC接口、添加和连接DMA IP核、设计控制逻辑、生成比特流、软件开发及系统集成。文章还强调了系统实现中不可或缺的ip_repo文件的重要性和作用。
    的头像 发表于 07-29 14:12 5327次阅读

    基于FPGA实现FOC算法PWM模块设计

    哈喽,大家好,从今天开始正式带领大家从零到一,在FPGA平台上实现FOC算法,整个算法的框架如下图所示,如果大家对算法的原理不是特别清楚的话,可以先去百度上学习一下,本教程着重介绍实现过程,弱化原理的介绍。那么本文将从PWM模块
    的头像 发表于 07-17 15:21 3710次阅读
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>FOC算法<b class='flag-5'>之</b>PWM模块设计

    FPGA从0到1学习资料集锦

    种类更多,而不仅仅是原来的简单逻辑单元(LE)。早期的 FPGA 相对比较简单, 所有的功能单元仅仅由管脚、内部 buffer、LE、RAM 构建而成,LE 由 LUT(查找表)和 D 触发器构成
    发表于 05-13 15:41