查找表(Look-Up-Table)簡稱為LUT,,其本質(zhì)就是一個RAM。目前FPGA中多使用4輸入的LUT,,所以每一個LUT可以看成一個有4位地址線的16×1的RAM,。當用戶通過原理圖或HDL語言描述了一個邏輯電路以后,PLD/FPGA開發(fā)軟件會自動計算邏輯電路的所有可能的結果,,并把結果事先寫入RAM。這樣,,每輸入一個信號進行邏輯運算就相當于輸入一個地址進行查表,,找出地址對應的內(nèi)容,然后將其輸出即可,。 我們知道,,一個n輸入的邏輯運算,不管是與或非運算還是異或運算,,最多只可能存在2 n 種結果,,如表1-1的4輸入與門共有16種輸出結果。這樣就將實際邏輯電路轉換成了LUT結構,。 表1-1 4輸入與門的真值表 A,B,C,,D由FPGA芯片的引腳輸入后進入可編程連線,,然后作為地址線連到LUT。LUT中已經(jīng)事先寫入了所有可能的邏輯結果,,通過地址查找到相應的數(shù)據(jù),,然后將其輸出,這樣就實現(xiàn)了組合邏輯,。該電路中 D 觸發(fā)器是直接利用 LUT 后面的 D觸發(fā)器來實現(xiàn)的,。時鐘信號CLK由I/O腳輸入后進入芯片內(nèi)部的時鐘專用通道,直接連接到觸發(fā)器的時鐘端,。觸發(fā)器的輸出端與 I/O 腳相連,,把結果輸出到芯片引腳,這樣PLD就完成了圖1-7所示電路的功能(以上步驟都是由軟件自動完成的,,不需要人為干預),。 圖1-7 4輸入與門的邏輯實現(xiàn) 這個電路是一個很簡單的例子,,只需要一個LUT加一個觸發(fā)器就可以完成,。對于一個LUT無法完成的電路,需要通過進位邏輯將多個單元相連,,這樣就可以用FPGA實現(xiàn)復雜的邏輯,。 由于LUT主要適于SRAM工藝生產(chǎn),所以目前大部分FPGA都是基于SRAM工藝的,,而SRAM工藝的芯片在掉電后就會信息丟失,,因此一定需要外加一片專用配置芯片,在上電的時候,,由這個專用配置芯片把數(shù)據(jù)加載到FPGA中,,然后FPGA就可以正常工作,由于配置時間很短,,這不會影響系統(tǒng)正常工作,。也有少數(shù)FPGA采用反熔絲或Flash工藝,這種FPGA就不需要外加專用的配置芯片,。 由于需要反復燒寫,,F(xiàn)PGA實現(xiàn)組合邏輯的基本結構不可能像ASIC那樣通過固定的與非門來完成,而只能采用一種易于反復配置的結構,。查找表可以很好地滿足這一要求,,目前主流FPGA都采用了基于SRAM工藝或基于FLASH工藝的查找表結構,通過每次燒寫改變查找表內(nèi)容的方法實現(xiàn)對FPGA的重復配置,。 |
|
來自: thchen0103 > 《軟件●硬件》