FPGA是非常有用的器件,通常與ADI公司的ADC或功率IC等一起設(shè)計(jì)到客戶的設(shè)計(jì)中。FPGA 可以實(shí)現(xiàn)微控制器和所需的任何膠水邏輯。在這篇博客中,我將討論一些與功能安全和FPGA相關(guān)的問(wèn)題。
首先,什么是FPGA?FPGA(現(xiàn)場(chǎng)可編程門陣列)是一種集成電路,但它不是專用的片上邏輯,它由可重新配置的邏輯和通常包括 uC 的硬宏組成,例如 ARM Cortex 或 A9 系列(某些 uC 也提供 HDL/軟格式)??芍貥?gòu)邏輯通常采用邏輯塊數(shù)組的形式。FPGA制造商包括Xilinx,Altera(現(xiàn)為英特爾的一部分),萊迪思半導(dǎo)體和Microsemi??芍匦屡渲靡馕吨褂肍PGA可以為您的硬件提供靈活性,這通常只能在軟件解決方案中找到,包括能夠快速更改“硬件”,如果使用分立IC將需要數(shù)周或更長(zhǎng)時(shí)間,如果使用ASIC則需要幾個(gè)月的時(shí)間。但是,從安全的角度來(lái)看,這意味著您也會(huì)遇到一些令人頭疼的軟件問(wèn)題。
對(duì)于某些FPGA,F(xiàn)PGA的配置存儲(chǔ)在片上閃存或EEPROM中,但對(duì)于較大的FPGA,則存儲(chǔ)在片外閃存中,并在啟動(dòng)時(shí)加載到FPGA上的RAM中。FPGA上的可重構(gòu)邏輯通常使用HDL(硬件描述語(yǔ)言)完成,例如Verilog或VHDL,它看起來(lái)非常像軟件(我必須將“Verilog軟件嗎?”添加到我即將發(fā)布的博客列表中)。
IEC 61508-2:2010的附錄F為在設(shè)計(jì)數(shù)字ASIC(表F.1)和FPGA(表F.2)時(shí)避免系統(tǒng)錯(cuò)誤提供了指導(dǎo)。實(shí)際上,表 F.1 與設(shè)計(jì) FGPA 芯片的人員相關(guān),例如 Xilinx 或 Micro-semi 的工程師,表 F.2 與設(shè)計(jì)將在 FPGA 中實(shí)現(xiàn)的內(nèi)容的客戶相關(guān)。
圖 1 - IEC 61508-2:2010 表 F.2 的摘錄
這兩個(gè)表都給出了類似的度量列表,根據(jù) SIL 排名為 HR 或 R。HR 標(biāo)準(zhǔn)為強(qiáng)烈推薦,R 為推薦。R或HR的含義似乎被不同的人有不同的解釋,但對(duì)我來(lái)說(shuō),這意味著如果一個(gè)問(wèn)題被標(biāo)記為“R”,你應(yīng)該提供一個(gè)簡(jiǎn)短的理由來(lái)不實(shí)施該措施,對(duì)于標(biāo)記為“HR”的東西,理由需要更詳細(xì)地解釋為什么你的智慧比編寫標(biāo)準(zhǔn)的專家更清楚。有些項(xiàng)目實(shí)際上被標(biāo)記為“HR*”,這可以解釋為沒(méi)有借口只是這樣做(我們將忽略這樣一個(gè)事實(shí),即這是一個(gè)信息豐富的附件,不應(yīng)該包含任何“應(yīng)”聲明)?!癛”、“HR”等下的參考文獻(xiàn)。旨在表示實(shí)施此技術(shù)的工作量,但該標(biāo)準(zhǔn)沒(méi)有明確的指導(dǎo),說(shuō)明在這方面應(yīng)該意味著什么。
FPGA 實(shí)現(xiàn)的設(shè)計(jì)流程包括如下步驟。
在HDL中創(chuàng)建所需電路的描述(也可以基于模型的輸入)
選擇具有足夠可重配置邏輯的目標(biāo) FPGA 來(lái)處理您的 HDL
使用軟件工具將行為代碼合成到 FPGA 中可用的可重新配置資源上
使用軟件工具生成上述配置的比特流表示,該表示可以加載到FPGA中
現(xiàn)在我想談?wù)勎艺J(rèn)為在安全應(yīng)用中使用FPGA的最大問(wèn)題,即“軟錯(cuò)誤”。
軟錯(cuò)誤已在之前的“安全問(wèn)題”博客中介紹過(guò)。這些是由包裝材料中存在的α粒子或來(lái)自太空的中子粒子引起的誤差,導(dǎo)致RAM單元和FF中存儲(chǔ)的值改變狀態(tài)。雖然ASIC和FPGA都可能包含RAM,軟錯(cuò)誤問(wèn)題相似,但FPGA的問(wèn)題是,當(dāng)可編程邏輯的配置存儲(chǔ)在RAM單元中時(shí),單個(gè)位的擾動(dòng)會(huì)有效地改變硬件。對(duì)于硬連線ASIC,邏輯功能是凍結(jié)的,不受α和中子粒子的影響,但對(duì)于FPGA來(lái)說(shuō),這是一個(gè)真正的問(wèn)題。如果軟錯(cuò)誤率為 1000 FIT/兆位(參見 IEC 61508-7:2010),則具有 1 萬(wàn)配置位的 FPGA 的軟 FIT 將為 1000。
我注意到IEC 62380:2004允許計(jì)算FPGA的硬FIT,甚至在那里λ1每個(gè)晶體管的 20e-5/h 值高于 uC 和 DSP 的 3.4e-6。
FPGA在安全應(yīng)用中的其他問(wèn)題包括:
過(guò)時(shí) – FPGA 通常設(shè)計(jì)在技術(shù)的最前沿,可能會(huì)過(guò)時(shí) - 為了實(shí)現(xiàn) 65nm 上 ASIC 的性能,您可能需要在 20nm 上設(shè)計(jì) FPGA,因?yàn)榭芍匦屡渲眠壿嫀?lái)的開銷
如何實(shí)現(xiàn)片上硬件容錯(cuò)(參見IEC 13-61508:2中的注釋2010)
實(shí)現(xiàn)高數(shù)字故障覆蓋率。表F.1要求數(shù)字ASIC>98.5%,但FPGA一旦編程,就沒(méi)有最低要求
IEC TS 61508-3-1:2016的相關(guān)性
與實(shí)現(xiàn)類似功能的ASIC相比,F(xiàn)PGA很可能很昂貴
FPGA用戶在HDL編碼可能不是公司核心競(jìng)爭(zhēng)力的情況下實(shí)現(xiàn)HDL代碼的額外責(zé)任
與專用工業(yè)或汽車IC相比,溫度范圍有限
相對(duì)較高的功率(如果沒(méi)有別的,可能會(huì)導(dǎo)致更差的可靠性數(shù)字)
與串行接口上的邏輯可編程性相關(guān)的網(wǎng)絡(luò)安全問(wèn)題
“宇宙的基本規(guī)則之一是沒(méi)有什么是完美的。完美根本不存在...沒(méi)有不完美,你和我都不會(huì)存在。
~斯蒂芬·霍金
盡管存在這些擔(dān)憂,但FPGA的靈活性,特別是對(duì)于快速原型設(shè)計(jì)和快速上市時(shí)間,一個(gè)硬件解決方案可以針對(duì)多個(gè)終端應(yīng)用進(jìn)行定制而無(wú)需重新設(shè)計(jì)PCB的事實(shí),以及幾乎可以連接到任何東西的能力,這使得它們非常有用。對(duì)于小批量和概念驗(yàn)證設(shè)計(jì)尤其如此。例如,嘗試找到一個(gè)帶有MIPI接口的漂亮工業(yè)處理器,這并不容易,但對(duì)于FPGA,您只需在HDL中實(shí)現(xiàn)膠水邏輯即可。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7596瀏覽量
151747 -
FPGA
+關(guān)注
關(guān)注
1630文章
21777瀏覽量
604709 -
adc
+關(guān)注
關(guān)注
98文章
6525瀏覽量
545228
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論