嵌入式開發者應考慮使用FPGA

為希科技

嵌入式開發者應考慮使用FPGA

嵌入式開發者應考慮使用FPGA

刊登日期 : 2008-08-07



當新技術變得成熟且價格合理,將引發產品設計方式的改革,並帶來新的設計技術。如大量使用經濟型微處理器,為電子產品設計開啟了革命性的軟體設計方法。今天,在電子產品的功能以及行為定義上,嵌入式軟體開發商成為主要的推動者,並最終賦予硬體生命。推動此方法成功的因素之一,是硬體複雜度減少,同時也是將設計控制單元轉移為可編程方式形成的無限靈活性所帶來的成果。

 

今天,高容量、低成本的可編程元件大量問世,透過用軟體方法定義系統硬體的方法在電子產品設計上展現了極大商機。許多元件,如高容量FPGA,均適合這種需求,並已普遍應用在系統的大部份週邊邏輯模組設計中,包括匯流排介面,I/O模組甚至記憶體。將大量邏輯轉移到FPGA中,這種方法對於如何開發硬體產生深遠的影響,並開啟了‘軟’設計新時代大門,這種方法具有空前的靈活性,同時具備大幅減少板級空間和複雜性的潛在能力。

 

雖然其具有革新電子產品開發方式的潛力,但大部份嵌入式軟體發展者仍然傾向於採用傳統方式工作:在設計初期,選擇一顆獨立硬體處理器,設計實體平台接著編寫執行於該平台的軟體。在嵌入式系統開發中,這種缺乏‘軟’硬體的設計很大程度上要歸結於缺少讓C程式設計師將其技術應用到可編程硬體層次的工具。實際上,目前大部份FPGA設計流程大部份來自於晶片設計領域,且需要很專業的技能。

 

提升軟體設計層次

 

嵌入式開發者正面對迷人的未來,FPGA的可編程性正被用來提供所謂本質上位於處理器上層的抽象層次──該抽象層次不僅採用軟體形式,同時使用硬體形式。考慮在一個系統中,處理器透過一顆可配置硬體擷取處理器介面,連接到記憶體以及週邊。透過簡單對FPGA再編程來改變硬體功能,系統設計者可取代原有處理器,甚至在軟核心和硬核心處理器間進行替換,而不必改變其他系統硬體。從系統角度看,所有處理器看來都一樣,從而簡化了硬體設計步驟。當然,將此推及到應用軟體將同樣需要編譯器在不同處理器間提供C等級的相容性。

 

這種系統的優點是處理器選擇不必在一開始就決定。系統可以使用一顆處理器進行開發,但是開發過程中,如果需要獲得更好的性能可以轉移到更快的元件。多虧了封裝層,處理器能夠是軟核心,硬核心形式甚至是FPGA中的固定核心處理器,而不影響到週邊硬體。傳輸層簡單的設計標準介面來連接週邊。實際上連接週邊本身可以使用相同方式來擷取。

 

使用這種方案,FPGA有效地變成系統內連結構,為嵌入式系統所有部份提供通用連接。也可以說,其有效地成為一個標準介面的‘支柱’,使得硬體和軟體都能和處理器以及週邊在同一環境中溝通無間。

 

最終,在處理器上,透明外覆層(wrapper layer)的導入創造了基於FPGA的開發環境,提供真正的獨立處理器特性。軟體和硬體開發都獲得加速,處理器選擇可以在設計後期進行,為有效的軟硬體協同設計帶來可能。

 

在軟硬體間切換

 

這種在可配置硬體上開發處理器和週邊功能方法的另一種延伸,是自動產生專用系統硬體,使軟體演算法能以硬體形式出現,這是一種依自己需求,設計自有硬體協處理器的方式。

 

雖然直接從C程式碼產生硬體功能的想法並不算新鮮,今天,業界已試圖使用類C語言設計整個系統硬體。基本上這與使用HDL,如VHDL或Verilog設計FPGA並無多少差異,而且需要軟體發展者學習和使用新的設計方法。要真正對嵌入式開發者有幫助,這種方法必須改變。設計工具必須使用標準ANSI C程式碼輸入,並能將程式設計師使用的任何函式轉換為硬體。不僅如此,系統還必須產生所有需要在該硬體上執行的程式碼。透過這種方式,嵌入式程式師能夠將執行於處理器的專門演算法轉變為硬體形式,無需學習任何設計硬體的細節。

 

利用FPGA的所有潛能

 

為了利用可編程元件如FPGA提供的所有功能,設計者需要一套系統,將開發步驟的抽象等級提高到特定點,使設計中的核心單元可利用熟悉的設計技術和流程方便地轉換。Altium Designer已整合整個電子產品開發流程,並融合軟硬體和可編程硬體。這種合併的整合開發環境以及大量FPGA的問世,為嵌入式開發者提供了使用和拓展可編程元件潛能的機會。採用正確的開發環境,現在FPGA提供的大規模可配置設計空間將為嵌入式設計帶來新方法,同時允許設計者改變電子產品開發方式,如同幾十年前導入微處理器時所帶來的電子產業革命。

 

作者:Rob Irwin

產品行銷經理

Altium公司

全文摘錄自:電子工程專輯http://www.eettaiwan.com/ART_8800538069_480102_TA_1916278c.HTM

This website uses cookies to ensure you get the best experience on our website.

Learn More Got It