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