FPGA的工作原理
FPGA采用邏輯單元陣列LCA(Logic Cell Array)的概念,包括可配置邏輯塊(CLB)、輸入輸出塊(IOB)和互連三部分。現場可編程門陣列(FPGA)是壹種可編程器件。與傳統的邏輯電路和門陣列(如PAL、GAL和CPLD器件)相比,FPGA具有不同的結構。FPGA使用小查找表(16×1RAM)實現組合邏輯。每個查找表連接到壹個D觸發器的輸入端,D觸發器驅動其它邏輯電路或驅動I/O,從而形成壹個既能實現組合邏輯功能又能實現時序邏輯功能的基本邏輯單元模塊。FPGA的邏輯是通過將編程數據加載到內部靜態存儲單元來實現的。存儲在存儲單元中的值決定了邏輯單元的邏輯功能以及模塊之間或模塊與I/O之間的連接方式,最終決定了FPGA能夠實現的功能。FPGA允許無限編程。
FPGA的基本特征
1)利用FPGA設計ASIC電路(專用集成電路),用戶無需生產即可獲得壹個共享芯片。
2)FPGA可以作為其他全定制或半定制ASIC電路的試點樣本。
3)FPGA中有豐富的觸發器和I/O引腳。
4)FPGA是ASIC電路中設計周期最短、開發成本最低、風險最小的器件之壹。
5) FPGA采用高速CMOS工藝,功耗低,兼容CMOS和TTL級別。
可以說FPGA芯片是小批量系統提高系統集成度和可靠性的最佳選擇之壹。
FPGA的工作狀態是由片內ram中存儲的程序設置的,所以工作時需要對片內RAM進行編程。用戶可以根據不同的配置模式采用不同的編程方法。上電時,FPGA芯片將EPROM中的數據讀入片內編程RAM,配置完成後,FPGA進入工作狀態。掉電後,FPGA恢復為空白,內部邏輯關系消失,FPGA可以重復使用。FPGA的編程不需要專門的FPGA編程器,只需使用壹個通用的EPROM和PROM編程器即可。當需要修改FPGA的功能時,只需更換壹個EPROM即可。這樣,同樣的FPGA,不同的編程數據可以產生不同的電路功能。因此,FPGA的使用非常靈活。