找回密码
 注册
关于网站域名变更的通知
查看: 140|回复: 2
打印 上一主题 下一主题

FPGA LUT如何构成组合逻辑

[复制链接]
  • TA的每日心情

    2024-8-26 15:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-7-1 20:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
       一、概述1 M8 `4 W1 m0 ~
          LUT中文名字叫查找表。以7系列的FPGA为例,每一个Slice里面有四个LUT。FPGA就是通过LUT实现大量的组合逻辑,以及SLICEM里面的LUT还可以构成RAM,Shift Register,以及Multiplexers。这篇文章我们一起来学习LUT如何构成组合逻辑。5 ]& x/ t4 }  ~6 ^4 `6 B
    二、LUT实现原理, Q  C# D5 Y- L2 s
         LUT,中文名字叫做查找表,其原理其实也就是一个一个查找表,根据输入去找到相应位置的信号,然后做输出。说白了就好像一个小容量的ROM,把输入当作地址信号,对LUT里面预存的内容进行寻址。$ y0 X! z, z/ C: n5 v, u2 f2 j' D
         7系列的FPGA的LUT有6个输入端口(A1-6),然后有两个输出端口(O5,O6)。下图是SLICEL里面的LUT。5 q' `4 J0 C* E8 Q. _9 x2 ^

    ) b) k* ^7 A( [9 e- N7 m6 E( [: l其可以实现6输入的布尔组合逻辑函数,输入信号为A1,A2,A3,A4,A5,A6,输出端口为O6。如下' V  f9 x& M# l. Z. T: i' v
    O6=f(A1,A2,A3,A4,A5,A6)
    1 P$ Y# o7 u7 N/ r: r     其实现方式就是将输入(A1,A2...A6)对应的输出在LUT里面预存好(这一步在我们用bit文件配置FPGA时实现),然后把输入信号当作地址信号去把对应的输出信号调出来。
    - h9 y9 D) \1 y- \     同样其还可以构成两个5输入的布尔组合逻辑函数,其中这两个函数共用5个输入信号(A1,A2,A3,A4,A5),A6被拉高,O5,O6分别是两个布尔逻辑的输出。6 F$ h( W: @6 G, i) Q: E' m& s
    O5=f(A1,A2,A3,A4,A5)
    ( i  a; R8 d! v: j1 ^9 o& KO6=f(A1,A2,A3,A4,A5)
    : l5 h; o* A2 m) v( K' [' Z3 S     故这也相当于实现的是一个5输入2输出的逻辑函数。: J, e/ g5 [2 V2 {7 h3 s; S) T
    [O5,O6]=f(A1,A2,A3,A4,A5)
    9 s+ N$ [- F; x- A三、总结与提升
    ) {+ P' S! Y0 M% E0 `2 c8 c( ^总结一下,就好比单个LUT里面可以预存 2^6=64个结果。那么单个LUT可以实现3 u) Y/ ^) _' Y. t5 ?
        (1)输入信号最多为6bit,输出信号为1bit的的布尔逻辑函数;
      s" W0 v: I. J  w- d    (2)输入信号最多为5bit,输出信号为2bit的逻辑。
    2 l7 O( H. v& q# B& v" l: s. c      一个SLICE里面有四个LUT故最多可以预存的输出信号个数为 2^6*4=2^8。
    : F$ V- v7 f& z9 w( o( i7 L      因此在一个SLICE里面,借助选择器将多个LUT进行互连,可以实现输入数,输出数最多为如下所示的逻辑。+ V  C, s6 @; F9 g# l3 b; G# ]; u* z
          (1)2个LUT通过互连可以构成7bit输入,单bit输出的逻辑。实现方式为两个LUT的输入信号A1,A2,A3,A4,A5,A6接到一起,输出信号经过选择器选择输出,选择器的选择信号也是逻辑函数的一个输入信号。9 a* P: j# k4 I9 b' b* J$ i
           将逻辑函数的输出送到Storage Element便可以形成同步时序逻辑。
    6 A9 P9 Z( V% l% @
    $ V% \+ q) c7 Q( Q5 }& ~(2)4个LUT通过互连可以构成8bit输入,单bit输出的逻辑。实现方式大家可以根据上面的实现方式自行推理。" y* k/ u, t, A# e: y
          (3)2个LUT通过互连可以构成6bit输入,2bit输出的逻辑。实现方式自行推理。
    6 Z$ f$ W, O: ]8 |  I$ P' s) w. M5 O      (4)4个LUT通过互连可以构成7bit输入,2bit输出的逻辑。实现方式自行推理。
    4 P/ s+ G6 J8 ], E      超过8输入的布尔逻辑就需要多个SLICE来实现。
    / e  o. |* M& O3 u3 _

    该用户从未签到

    2#
    发表于 2020-7-2 10:44 | 只看该作者
    谢谢分享                                               

    该用户从未签到

    3#
    发表于 2020-7-2 15:58 | 只看该作者
    FPGA LUT如何构成组合逻辑
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-21 13:30 , Processed in 0.109375 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表