融合為電子技術(shù)的行業(yè)應(yīng)用帶來了更適合的方式,而FPGA與生俱來的屬性更使得這些方式呈現(xiàn)出多樣性。
周立功最近出了本名為《新編計算機基礎(chǔ)教程》的書,觀后認(rèn)為,書中講授電子技術(shù)知識的方式,蘊含計算機與半導(dǎo)體的淵源,使人仿佛再次看到那個年代親手搭建第一臺單板機的樣子……他們不斷追隨,沒過多久,單板機上的多個分離器件就被半導(dǎo)體工藝的進步給融合為集成電路。不可否認(rèn),這種融合為電子技術(shù)的行業(yè)應(yīng)用帶來了更適合的發(fā)展方式,而FPGA與生俱來的屬性更使得這些方式呈現(xiàn)出多樣性。
FPGA器件擴展ASSP功能
當(dāng)不同電壓的器件在一塊PCB上集合時,面臨兼容各種電平標(biāo)準(zhǔn)的問題,有了FPGA,情況大為改觀。
在電子產(chǎn)品設(shè)計中,曾使用FPGA器件彌補ASSP器件功能上的不足。通用的MCU器件也許在智能家居主控單元中或者電表集抄器上無法提供足夠的UART外設(shè)端口,F(xiàn)PGA的邏輯單元以及雙口RAM資源的運用,能夠以最少的硬件電路消耗完成多路UART接口的擴展,而且是輕松實現(xiàn),因為各個FPGA廠家提供了經(jīng)過充分驗證的IP核。
同時,我們曾經(jīng)也使用FPGA器件來增強或擴展ASSP器件已具備的功能。當(dāng)不同電壓標(biāo)準(zhǔn)的器件在一塊PCB上集合時,設(shè)計者面臨兼容各種電平標(biāo)準(zhǔn)的問題,或許MCU僅能夠提供1.8V LVTTL,但有了FPGA的引入,情況將大為改觀。FPGA的多電平標(biāo)準(zhǔn)Bank I/O能夠完成1.8V LVTTL到3.3V LVCMOS、2.5V LVTTL等電平的完美橋接并不降低速度。
另外,我們還一直看重FPGA器件的高速的并行執(zhí)行能力。數(shù)字0與1的翻轉(zhuǎn)時間在FPGA器件中能夠輕易小于零點幾納秒,這賦予了它無與倫比的集成電路速度。我們在大型的通信設(shè)備中能夠看到他的性能,一些高速端口在處理數(shù)十條信道中的復(fù)雜的通信協(xié)議編碼與解碼,同時另一些I/O在并行處理多達10路的高速ADC送來的數(shù)據(jù)。
扮演控制核心角色
足夠大的可編程邏輯門陣列將可以實現(xiàn)任何數(shù)字電路。內(nèi)嵌式MCU與FPGA的融合是正在上演的重頭戲。
后來,SoC的概念被提出,F(xiàn)PGA器件開始以控制核心的角色登臺。如果所有的數(shù)字電路都是邏輯開關(guān),那么足夠大的可編程邏輯門陣列將可以實現(xiàn)任何數(shù)字電路。無疑,內(nèi)嵌式MCU與FPGA的融合是正在上演的重頭戲。
Altera半導(dǎo)體推出的NiosII軟核處理器是標(biāo)志性的SoC。NiosII處理器在FPGA邏輯中完整的運行軟件編譯代碼并且不輸性能,最重要的是能夠與FPGA Fabric無縫連接,融合為一體。Altera半導(dǎo)體提供通過驗證的一系列IP Core能夠使得設(shè)計者輕易完成自定義的SoC系統(tǒng)搭建。我們看到大學(xué)中的愛好者在廠家的技術(shù)資料參考下能夠順利完成基于DDS技術(shù)的任意波形發(fā)生器設(shè)計,并帶有LCD顯示屏和觸摸屏的人機交互GUI菜單,然后通過文件系統(tǒng)的支持將波形數(shù)據(jù)存入SD卡。
Microsemi公司的FPGA產(chǎn)品,早期在ProASIC3系列器件中實現(xiàn)嵌入ARM公司授權(quán)的標(biāo)準(zhǔn)MP7以及Cortex-M1內(nèi)核,方式與Altera半導(dǎo)體的NiosII類似,但是這類方式有同一個短板——需要在FPGA器件外面增加額外的MCU所需內(nèi)存器件,這使設(shè)計者又想起了傳統(tǒng)的單板機式系統(tǒng)思路。不過很快,Microsemi半導(dǎo)體Fusion(融合)器件系列的誕生第一次使SoC的概念變得清晰。Fusion系列器件內(nèi)嵌了多達512KB的用戶可用FlashMemory,設(shè)計者可以在需要嵌入Cortex-M1或者8051S處理器內(nèi)核的時候,將程序運行的C Code存儲在器件內(nèi)部的FlashMemory中,當(dāng)然也可以用來存儲字庫、數(shù)組等用戶數(shù)據(jù)。Fusion的另一個創(chuàng)新在于將多達30個通道并包含比較器等調(diào)理電路的ADC集成于單芯片內(nèi),實現(xiàn)模擬電路與數(shù)字電路的融合……現(xiàn)在,我們以上曾經(jīng)做過的FPGA設(shè)計一定程度上可以統(tǒng)一到Fusion器件的單芯片SoC平臺了。
利用Fusion的FPGA+Analog+“MCU”架構(gòu),我們曾成功協(xié)助設(shè)計者定制其專屬的多核SoC系統(tǒng)。該產(chǎn)品的PCB面積有限,而傳統(tǒng)的行業(yè)方案或許需要2-3顆MCU來并行處理才能夠得以完成?;谠O(shè)計者已有的軟件算法,我們推薦一顆Fusion器件并順利協(xié)助設(shè)計者嵌入2顆MCU軟核完成設(shè)計,他同時將原來的PCB縮減50%。而實現(xiàn)的這些功能包括數(shù)據(jù)的多通道配置、數(shù)據(jù)格式的算法、系統(tǒng)的多路模擬量監(jiān)控(ADC模擬模塊)、GPRS的遠(yuǎn)程通信協(xié)議和加密算法。在以后的相當(dāng)長的一段時間里,公司多次對設(shè)計者推薦這一項真正單芯片的軟核SoC解決方案并不斷獲得認(rèn)可,“融合”這個詞的意義初顯。
內(nèi)嵌硬核處理器拉開序幕
硬核將晶圓面積變得更小而性能更高,也省去設(shè)計者調(diào)用軟核處理器之外全總線掛接的調(diào)試步驟。
有了軟核對于SoC技術(shù)的拓荒,半導(dǎo)體廠家開始考慮比較軟核的邏輯單元門數(shù)與硬核的晶圓面積之間的平衡,于是,由FPGA半導(dǎo)體廠家主導(dǎo)的內(nèi)嵌硬核處理器拉開序幕。Xilinx半導(dǎo)體與PowerPC的結(jié)合、Altera半導(dǎo)體與Cortex-A的結(jié)合、Microsemi半導(dǎo)體SmartFusion器件內(nèi)部帶有Cortex-M3硬核和通用外設(shè)部件……硬核利用半導(dǎo)體工藝的優(yōu)勢將晶圓面積變得更小而性能更高,同時也省去了設(shè)計者調(diào)用軟核處理器之外全總線掛接的調(diào)試步驟,減少設(shè)計者自設(shè)計軟核系統(tǒng)的不穩(wěn)定因素。
通過長時間與Microsemi半導(dǎo)體的接觸,發(fā)現(xiàn)設(shè)計者對SmartFusion系列器件在原有Fusion的結(jié)構(gòu)基礎(chǔ)上形成真正的硬件FPGA+Analog+MCU的結(jié)構(gòu)有著更加快速的認(rèn)可,并在設(shè)計推廣中收獲一些代表性的方案應(yīng)用。在工業(yè)場合,SmartFusion器件采用的已被廣泛應(yīng)用的Cortex-M3標(biāo)準(zhǔn)ARM內(nèi)核,使得設(shè)計者很容易將原來的同樣內(nèi)核MCU的設(shè)計無縫移植過來,同時,官方及周立功公司等提供完善的技術(shù)支持,設(shè)計者可以在SmartFusion器件的硬核和以太網(wǎng)MAC中運行實時操作系統(tǒng)支持TCP/IP協(xié)議,而官方也提供了廣泛應(yīng)用與工業(yè)的實時以太網(wǎng)IP解決方案。這樣,設(shè)計者將多路ADC采集的模擬量數(shù)據(jù)整合上傳,同時Cortex-M3接收主機端的控制指令通過AHB內(nèi)部總線驅(qū)動FPGA邏輯部分的多路SVPWM實施MOSFET橋電路的精確控制。這樣的應(yīng)用在電機控制及高壓變頻器中是比較普遍的,而讓人高興的是,SmartFusion器件可以通過啟動IAP方式使用內(nèi)核來更新FPGA邏輯的程序,使器件遠(yuǎn)程更新變?yōu)楝F(xiàn)實,也提供了在這類較為危險的場合下為保障調(diào)試人員安全的一種解決方案。
前不久,幫助一位FPGA設(shè)計者分析幾段HDL的設(shè)計,其中不同的編碼方式使得同樣功能的兩個模塊在時序上的布局布線竟產(chǎn)生了截然不同的差異,輸出難以解釋的混亂數(shù)據(jù),期間百思不得其解。“或許他們(模塊)想要平等的待遇”——僅僅打趣的一句話而已,沒想到在更改為同樣的編碼位后問題得以解決!再次感慨現(xiàn)在的設(shè)計也需要融合哲學(xué)的思想!從電阻電容到集成電路,從開關(guān)管到可編程邏輯陣列,從8086的CPU雛形到盛行于世的ARM與SoC……當(dāng)電火花遭遇半導(dǎo)體,人類的智慧使得它變得有序和富有靈魂!原來這是一場融合的大革命,持續(xù)百年并且仍在延續(xù)。