FPGA深層解析
觸發(fā)器是二進(jìn)制移位寄存器,用于同步邏輯以及保存時(shí)鐘(脈沖)周期內(nèi)的邏輯狀態(tài)。在每個(gè)時(shí)間(脈沖)邊沿,觸發(fā)器在輸入時(shí)鎖定1(真)或0(假)值并且保存此值直到下次時(shí)鐘(脈沖)邊沿。在正常情況下,LabVIEW FPGA在每次操作之間都設(shè)置一個(gè)觸發(fā)器,以保證有足夠的時(shí)間來(lái)執(zhí)行每步操作。對(duì)此律的例外只發(fā)生在SCTL結(jié)構(gòu)中寫(xiě)代碼的情況。在這個(gè)特殊的環(huán)路結(jié)構(gòu)中,觸發(fā)器只放置在閉環(huán)迭代的始末段,并且由編程者考慮定時(shí)因素來(lái)決定如何放置。對(duì)SCTL內(nèi)代碼如何同步的更多內(nèi)容將在以后章節(jié)中討論。圖5表示的是圖3的上端分支,觸發(fā)器由紅色高亮表示。
圖5.繪制由紅色高亮表示出觸發(fā)器的電路圖
查找表
圖6.雙四輸入查找表
圖6所示示意圖中的其他邏輯電路通過(guò)使用少量查找表形式的隨機(jī)存取存儲(chǔ)器實(shí)現(xiàn)。我們可以簡(jiǎn)單地假定FPGA中系統(tǒng)門(mén)的數(shù)量可參考與非門(mén)(NAND)以及或非門(mén)(NOR)的數(shù)量,但實(shí)際上,所有的組合邏輯(與門(mén)、或門(mén)、與非門(mén)、異或門(mén)等)都是通過(guò)查找表存儲(chǔ)器中的真值表來(lái)實(shí)現(xiàn)。真值表是輸出對(duì)應(yīng)于每個(gè)輸入值組合的預(yù)定義表(現(xiàn)在卡諾圖的重要性在你的頭腦中可能會(huì)慢慢淡化)。以下是對(duì)數(shù)字邏輯電路課程的快速回顧:比如,圖7是布爾邏輯與門(mén)操作過(guò)程。
這是對(duì)數(shù)字邏輯課程的快速回顧:
例如,圖7中顯示了布爾型AND操作。
圖7.布爾型AND操作
表2.布爾與門(mén)操作的真值表
你可以認(rèn)為輸入值是所有輸出值的數(shù)字索引,如表3所示。
表3.布爾與門(mén)擦操作的真值查找表實(shí)現(xiàn)
Virtex-II和Spartan-3系列FPGA芯片有著4輸入查找表來(lái)實(shí)現(xiàn)真正的4輸入信號(hào)的16種組合。圖8就是一個(gè)四輸入電路實(shí)現(xiàn)的例子。
圖8.輸入布爾邏輯的四信號(hào)電路
表4所示為使用雙四輸入查找表實(shí)現(xiàn)的相應(yīng)的真值表。
表4.圖8中所示相應(yīng)真值表
Virtex-5系列的FPGA使用雙六輸入查找表,可以通過(guò)6個(gè)不同輸入信號(hào)的64種組合來(lái)實(shí)現(xiàn)真值表。因?yàn)橛|發(fā)器之間的組合邏輯十分復(fù)雜,所以在LabVIEW FPGA中使用SCTL也越來(lái)越重要。下一節(jié)將講述SCTL如何優(yōu)化利用LabVIEW中的FPGA源。
評(píng)論