FPGA基础之LUT详解
查找表(LUT)
對于一個有n輸入的邏輯運算,則最終有2n個不同的組合方式。為了便于理解,下面給出一個例子:
上面是一個2輸入的例子,該例子對應的組合邏輯電路如下:
該組合邏輯的真值表:
如果使用傳統的數字電路的方法,則要實現該組合邏輯電路,需要經過下面幾個過程:
眾所周知,在設計時序電路時,時序電路的工作性能極為重要。然而,采用傳統邏輯門電路實現邏輯關系的方法存在一些嚴重的缺點:
LUT
為了解決傳統邏輯電路的的問題,在FPGA中,使用LUT來實現組合邏輯電路的功能。
LUT 本質上是一個SRAM,里面存儲的數據類似于真值表,它將上例中的邏輯與門和或門分別使用兩張類似于真值表的東西代替,LUT中保存著輸入變量和經過邏輯門后輸出變量的所有結果。在實現上,它將輸入數據作為SRAM的地址,然后通過該地址找到對應的值,將該值作為結果輸出。比如上例中的與門,在該與門對應的LUT中,地址為0、0的存儲單元中保存著0,地址為0、1的存儲單元中保存著0,地址為1、0的存儲單元中保存著0,地址為1、1的存儲單元中保存著1;當輸入變量為0、1時,就會直接將LUT中地址為0、1的存儲單元中的0輸出。
上例中查找表構成的電路:
其中x_OBUF_inst_i_1和y_OBUF_inst_i_1分別為與門和或門對應的LUT,I0和I1表示輸入變量,O表示輸出的值,IBUF表示輸入緩沖區,OBUF表示輸出緩沖區。
使用LUT代替傳統的邏輯門實現組合邏輯的優點:
總結
以上是生活随笔為你收集整理的FPGA基础之LUT详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nonblocking I/O 与 A
- 下一篇: SharePoint 2013 Nint