具有保密功能的MCU+FPGA片上系統
ATEML新近推出了AT94S系列安全FPSLIC(Field Programmable System Level Integration Circuits)的MCU+FPGA系統芯片,具有獨特的代碼保密功能,可使設計師在基于SRAM的系統上實(shí)現對自已所有IP的保護。與配置的EEPROM 合并在一個(gè)封裝中成為“安全FPSLIC”,程序和數據在內部流動(dòng),外界不能復讀,因此成為可提供安全防護及簡(jiǎn)化PCB布局、布線(xiàn)的單一芯片。
FPSLIC適用于消費類(lèi)電子、工業(yè)儀表、商用機器、辦公自動(dòng)化、醫療設備、電信和汽車(chē)電子等領(lǐng)域。FPSLIC集MCU和FPGA/SRAM的優(yōu)點(diǎn)于一身,既適應設計人員對系統部件集成的需要,又能實(shí)現可定制需求的靈活性,為設計師提供了一個(gè)靈活的架構,可降低應用成本。
FPSLIC
FPSLIC是在基于SRAM的SoC中嵌入AVR MCU內核和FPGA門(mén)陣列邏輯,這是一個(gè)全新架構的產(chǎn)品。一個(gè)FPSLIC里有一個(gè)一萬(wàn)到四萬(wàn)門(mén)的FPGA、一個(gè)8bit AVR單片機、一個(gè)36KByte SRAM存儲器、多種外圍設備和現成的接口。FPSLIC的結構如圖1所示。
嵌入在FPSLIC里的AVR單片機,是一個(gè)8bit的單片機,可以執行的單時(shí)鐘指令多達120個(gè)以上, 速度可達25-30MIPS(每秒百萬(wàn)條指令)。AVR 已有一些外圍設備,它包含一個(gè)快速8X8的乘法處理器、兩個(gè)通用異步收發(fā)器(UART)、一個(gè)看門(mén)狗、三個(gè)定時(shí)器/計數器、一個(gè)2線(xiàn)功能接口、四個(gè)外部中斷和多達16個(gè)I/O口。如需別的外圍設備,還可以在FPGA里形成,AVR可以在FPGA上實(shí)現部分或全部重新配置。8位RISC AVR單片機具有高效的代碼密度,其性能跟一般8bit的單片機相比較更顯優(yōu)越,單周期的指令執行時(shí)間,可以在較低的時(shí)鐘頻率下獲得更高的系統吞吐量,因而進(jìn)一步降低了功耗。當把它嵌入在以SRAM 為主的FPSLIC時(shí),更可表現其三大特點(diǎn) :提高速度;降低功耗;程序存儲量降低。
嵌入的FPGA可達4萬(wàn)個(gè)邏輯門(mén),均分布在SRAM的基架上,FPGA在SRAM上的總線(xiàn)網(wǎng)絡(luò )如圖2所示。FPSLIC器件都有10Kx16的程序和4Kx8的數據庫,此外還有三個(gè)可由設計者分配的SRAM,可讓程序擴充到16Kx16 或可用于擴充數據到16Kx8,可由設計者自己根據程序和數據的大小來(lái)調整硬件和軟件的部分分配,數據部分可以由FPGA和AVR同時(shí)進(jìn)行讀寫(xiě)。FPGA還具有高速緩存邏輯功能,如同一般高速緩存,它把一些正在用的邏輯放在FPGA運行,把一些不在運行的邏輯放在存儲器里,當需要時(shí)再把它重新配置在FPGA里。FPSLIC的此功能不僅可以幫助設計師解決一些急需外圍配置的問(wèn)題,更可解決硬件上的重新配置,DSP過(guò)濾數據的重新配置,需再配置的交點(diǎn)開(kāi)關(guān),或任何有此需要的硬件設備。
安全FPSLIC
AT94S系列器件具有專(zhuān)利的安全性能,它可以保護FPGA配置與單片機程序不能從內部配置EEPROM中讀出。器件上有一個(gè)安全位可以通過(guò)編程加以設置,它阻止存儲器在靜態(tài)或器件進(jìn)行內部配置過(guò)程中被讀出。一旦安全位被設置,外部訪(fǎng)問(wèn)配置EEPROM的唯一方法是首先要擦除它。這種功能既提供設計的保密性,又不妨礙在系統可編程性。
AT94S系列之所以具有獨特的代碼保密功能,在于FPSLIC與配置EEPROM(1024Kbyte)合并在一個(gè)封裝中,二個(gè)芯片相疊,如圖3所示,芯片封裝的平面面積沒(méi)有增加,只是略厚一些。設計的程序上電時(shí)在FPSLIC的FPGA與SRAM間流動(dòng),掉電時(shí)存放在同一封裝內的EEPROM中,確保安全保密??墒乖O計師在此系統上實(shí)現對自已所有IP的保護。
AT94S FPSLIC系列器件在可編程SoC中具有非常低的功耗特點(diǎn),它在待機方式下額定電流最大值僅為0.05mA,工作時(shí)耗電為2~3mA/MHz,它的加電復位峰值電流小于50mA。而有些基于SRAM的FPGA和可編程SoC在加電復位時(shí)電流達2A,因此不適合在電池供電中應用。
硬件和軟件的協(xié)同設計
SoC的挑戰在于如何進(jìn)行硬件和軟件的協(xié)同設計,FPSLIC將FPGA邏輯門(mén)和單片機同放在一個(gè)芯片里,可以進(jìn)行協(xié)同驗證(co-verification)。
一般常見(jiàn)的慣例是先把硬件設計到FPGA或ASIC里,然后再把結果交給軟件設計師來(lái)做單片機部分的工作。此傳統設計方法往往有一些限制,在這種情況下,因為軟件部分是靠已做好的硬件部分來(lái)設計的,所以往往硬件無(wú)法再做調試。如果硬件要做調試,軟件開(kāi)發(fā)就會(huì )被停止。這種結果會(huì )讓設計時(shí)間明顯增加。
為了縮短設計時(shí)間,同時(shí)完成硬件和軟件的設計,設計者本身不僅需要對硬件和軟件了解,更要有能力去判斷對設計全面的影響,FPSLIC的System Designer軟件包含了同步仿真的軟件基架,可有效地連接FPGA硬件和單片機的指令仿真。同步仿真有效地解決了用到ICE的必要,這使得設計者可以立即更改在同步仿真里發(fā)現的所有問(wèn)題,所有上述工作都可以在計算機里執行。
應用思考
工業(yè)自動(dòng)化生產(chǎn)中最常見(jiàn)的是物料的配料系統,如飼料配料、洗滌劑配料、高爐配料、混凝土配料等等,它們都擁有很多種不同的物料,很多不同的控制步驟,如粗加料、精加料、補料、卸料、攪拌、成型、計量、灌包……這些都涉及到電腦與各個(gè)閥門(mén)間的邏輯控制。用FPSLIC來(lái)設計物料的配料系統將十分方便和容易,所有的控制節點(diǎn)均可由FPGA來(lái)實(shí)現,整個(gè)控制儀表可以做得很小、很經(jīng)濟。設計好的程序,可在實(shí)驗室中檢視,如將每一個(gè)電磁閥、每一個(gè)需要控制的動(dòng)作簡(jiǎn)化為一個(gè)LED的光點(diǎn),將新設計好的程控,放在仿真板上驗證就很容易,控制動(dòng)作的正確性十分明顯。
對超市中的POS收款機,商場(chǎng)中的稅控收款機,用于工控機的PC104都是用電腦或單片機和邏輯門(mén)將程序和需要控制點(diǎn)有目的的聯(lián)系起來(lái),FPSLIC在一個(gè)芯片上既有單片機又有邏輯門(mén),剛好滿(mǎn)足需要,因此FPSLIC將能充分發(fā)揮作用?!?/P>
評論