FPGA中實現邏輯功能的基本原理
發布時間:2013/10/21 20:03:59 訪問次數:4638
FPGA中實現邏輯功能的基本原理
現場可編程門陣列是20世紀80年代中期發展起來的另一種類型的可編程器件。HA17902G它不像CPLD那樣采用可編程的“與一或”陣列來實現邏輯函數,而是采用查找表(LUT)實現邏輯函數。這種不同于CPLD結構的特點,使得FPGA中可以包含數量眾多的LUT和觸發器,從而能夠實現更大規模,更復雜的邏輯電路,避免了“與一或”陣列結構上的限制和觸發器及I/()端口數量的限制。
近年來,生產工藝上的進步大大降低了FPGA的成本,其功能及性能上的優越性更為突出。因此,FPGA已成為目前設計數字電路或系統的首選器件之一。
在FPGA中,實現組合邏輯功能的基本電路是LUT和數據選擇器,而觸發器仍然是實現時序邏輯功能的基本電路。LUT本質上就是一個SRAM。目前FPGA中多使用4個輸入、一個輸出的LUT,所以每一個LUT可以看成是一個有4棍地址線的16×1位的SRAM。例如,要實現邏輯函數F= ABJ- CD,則可列出F的真值表,如表10.2.3所示,可將F的值寫入SRAM中,如圖10.2.12所示。這樣,每輸入一組ABCD信號進行邏輯運算,就相當于輸人一個地址進行查表,找出地址對應的內容輸出,在F端便得到改組輸入信號邏輯運算的結果。
表10.2.3 8421碼轉換成余3碼的真值表
圖10.2.12 4輸入查找表
當用戶通過原理圖或HDL語言描述了一個邏輯電路以后,FPGA開發軟件會自動計算邏輯電路的所有可能的結果(真值表),并把結果寫入SRAM,這一過程就是所謂的編程。此后,SRAM中的內容始終保持不變,LUT就具有了確定的邏輯功能。由于SRAM具有數據易失性,即一旦斷電,其原有的邏輯功能將消失。所以FPGA -般需要一個外部的PROM保存編程數據。上電后,FPGA首先從PROM中讀入編程數據進行初始化,然后才開始正常工作。
FPGA中實現邏輯功能的基本原理
現場可編程門陣列是20世紀80年代中期發展起來的另一種類型的可編程器件。HA17902G它不像CPLD那樣采用可編程的“與一或”陣列來實現邏輯函數,而是采用查找表(LUT)實現邏輯函數。這種不同于CPLD結構的特點,使得FPGA中可以包含數量眾多的LUT和觸發器,從而能夠實現更大規模,更復雜的邏輯電路,避免了“與一或”陣列結構上的限制和觸發器及I/()端口數量的限制。
近年來,生產工藝上的進步大大降低了FPGA的成本,其功能及性能上的優越性更為突出。因此,FPGA已成為目前設計數字電路或系統的首選器件之一。
在FPGA中,實現組合邏輯功能的基本電路是LUT和數據選擇器,而觸發器仍然是實現時序邏輯功能的基本電路。LUT本質上就是一個SRAM。目前FPGA中多使用4個輸入、一個輸出的LUT,所以每一個LUT可以看成是一個有4棍地址線的16×1位的SRAM。例如,要實現邏輯函數F= ABJ- CD,則可列出F的真值表,如表10.2.3所示,可將F的值寫入SRAM中,如圖10.2.12所示。這樣,每輸入一組ABCD信號進行邏輯運算,就相當于輸人一個地址進行查表,找出地址對應的內容輸出,在F端便得到改組輸入信號邏輯運算的結果。
表10.2.3 8421碼轉換成余3碼的真值表
圖10.2.12 4輸入查找表
當用戶通過原理圖或HDL語言描述了一個邏輯電路以后,FPGA開發軟件會自動計算邏輯電路的所有可能的結果(真值表),并把結果寫入SRAM,這一過程就是所謂的編程。此后,SRAM中的內容始終保持不變,LUT就具有了確定的邏輯功能。由于SRAM具有數據易失性,即一旦斷電,其原有的邏輯功能將消失。所以FPGA -般需要一個外部的PROM保存編程數據。上電后,FPGA首先從PROM中讀入編程數據進行初始化,然后才開始正常工作。
上一篇:可編程陣列邏輯(PAL)
上一篇:可編程數據選擇器MUX