SRAM-based Devices
大多數fpga都是基于SRAM配置單元的使用,這意味著它們可以被一次又一次地配置。這種編程技術的主要優點是可以快速實現和測試新的設計思想。而不斷發展的標準和協議可以相對容易地適應。此外,當系統第一次通電時,FPGA可以首先被編程來執行一個功能,如自測或板/系統測試,然后它可以被重新編程來執行其主要任務。
基于SRAM-based的FPGA還有另一個巨大優勢,那就是SRAM技術是當前比較前沿的。由于當今很多從事內存開發的技術,內存技術突飛猛進,FPGA開發商正好可以利用這一點。同時,SRAM單元與FPGA中其他的單元一樣是基于CMOS技術,能更好的簡化FPGA的本身的設計。
但不幸的是,天下沒有免費的午餐。基于sram的FPGA的一個缺點是,每次系統啟動時都必須重新配置。所以就需要一個特殊的外部存儲器,來使得FPGA能夠引導啟動配置,這就增加了物料成本以及布局空間。另外一個更重要的問題就是,基于這樣的啟動方式,它并不能很好的保護FPGA的設計產權。而且,可以明確地說,全世界有很多專門從事逆向存儲器設計IP的公司。世界上并不存在不能破解的存儲器,只是看資金是否足夠。
好在就是,許多基于SRAM-based的FPGA開始支持比特流加密,在這種情況下,最終的配置數據在存儲到外部存儲設備之前被加密。加密密鑰本身通過JTAG端口加載到FPGA中特殊的基于sram的寄存器中。這個密鑰與一些相關的邏輯一起,允許傳入的加密配置位流在被加載到設備時被解密。加載加密比特流的命令以及過程中會自動禁用FPGA的讀回能力。這意味著通常在開發期間使用未加密的配置數據,然后在進入生產階段時開始使用加密的數據。
加密比特流方案的主要缺點是,當系統斷電時,電路板上需要電池備份來維護FPGA中加密密鑰寄存器的內容。這種電池將有幾年或幾十年的使用壽命,因為它只需要在FPGA中維護一個寄存器,但它確實增加了電路板的尺寸、重量、復雜性和成本。
以Xilinx A7系列的FPGA來說,就是基于SRAM-based技術的FPGA。下圖為它的配置電路框圖:
需要配置一個SPI Flash,來實現FPGA的比特流配置。所以這篇文章就解釋了不同廠商的FPGA由于其架構,同時導致外圍配置電路不同的原因。
下一篇就介紹基于Antifuse-based 為架構的FPGA。