任何企業都會面臨這樣一個需要思考的問題,那就是到底應該在人力資源和設備方面投入多少來實現贏利目標才是好的,尤其是在當前的經濟危機下,這個問題變得更加突出。投資過度會抹殺利潤的潛在增長,而投資不足則又會讓企業缺乏抓住市場機遇的資源,甚至深陷無法實現其目標的危險之中。 一切的關鍵就是找到投資與收益之間的最佳平衡,做出明智選擇并采用更靈巧的方式,來滿足自己的需求。大大小小的企業在大部分事情上都能夠漂亮地實現上述平衡。因此,他們能夠集中精力在公司運營上,讓長期績效與企業目標相吻合。 然而在電子產品設計行業,隨著 FPGA 等可編程器件的興起,一向舉止明智的企業開始有點失常。他們竟不對成本與效果、長期影響與工作流程效率進行綜合而全面的考慮,僅著眼于短期效益,便對 FPGA 開發硬件與工具匆匆做出選擇。 這一“便利”而沖動的選擇可能是一塊價值幾十美元并且還配套提供免費開發工具的基礎 FPGA 開發板。 “便利”的代價 不可否人,幾十美元的 FPGA 開發板確實極富吸引力,但從專業產品設計經濟學角度來考慮,這何嘗不是一種有風險的選擇。 舉例來說,某種新產品開發成本不低于100萬美元,潛在收入會超過 1000 萬美元,而參與項目的工程師平均工資為 10 萬美元,這種情況在當今的行業中很常見。那么,想想看,如果把這數百萬美元開發項目的命脈交到區區幾十 美元的系統投資手中,這些數字看起來該有多么失衡和錯亂。 盡管通常的審查與權衡工作好像在這里已經失敗,但很可能這并不是事實。因為工程師(可能就是您)根本沒有進行審查和權衡,而是貿然認定只要擁有合適的 FPGA 器件、可用的外設和一系列外部連接器,這種幾十美元的開發板就可行。配套設計工具套件可以免費下載,一旦做出決定,您可馬上開始嵌入式硬件開發,而且嵌入式軟件設計人員也向實際硬件的測試工作邁進了一步。 從表面上看這似乎是解決燃眉之急的合理方案,但對涉及數千、甚至數百萬美元的專業設計項目而言,未經審核的匆忙決定往往讓您欲速則不達。這種價格低廉的開發硬件,除了存在質量限制外,系統的內在約束大大縮小了可選的設計選擇范圍,而這些限制很可能造成代價高昂的設計讓步與延誤。 約束之一是 FPGA 器件固定在電路板上,這樣會限制設計人員只能選擇特定廠商的某一器件系列。如果最初決定選擇具有超額容量的器件,意味著您不會用完所有門或 I/O,但對于所有其他功能與特性而言,在正式開始設計之前必須準確預測。 如果您做出了錯誤的選擇——最終發現器件運行速度太慢,占用太多功率,需要硬編碼處理器或DSP,或者需要更換——此時除了尋找替代器件和新開發板之外別無選擇。新開發板可能只需再花幾十美元,但在新器件繼續現有設計工作幾乎不太可能,這會進而導致必須重新進行設計,而使項目開發延誤,代價高昂。 上述情況的前提是能夠從同一家廠商獲得合適的替代器件,但如果只能從其他廠商獲得可行的替代器件的話,情況會變得更糟。此情況下,一旦新器件架構與現有器件架構不兼容,整個設計只能從頭再來,從而造成更長時間的延誤及更高成本。與此同時,嵌入式軟件工程師還要繼續等待您完成嵌入式硬件。 另一個潛在約束是 FPGA 廠商提供的免費專有工具鏈。雖然這些工具是用于支持廠商的相關產品和促進銷售的,但是它們往往很自然無法支持競爭對手的產品。因此,如果您為了解決設計問題而更換 FPGA 器件廠商,還需要學習適應新的工具和方法。 綜合上述因素來看,倉促選擇開發硬件會嚴重影響對特定項目設計選項的探索。而獲得最佳設計解決方案的可能性也會非常小,變更器件類型會迫使大量重新設計的,而更換廠商意味著需要學習新的工具與方法。最重要的是,涉及數百萬美元的設計項目最終會陷入危險之中。 粘性問題 實踐過程中潛伏的真相是幾十美元的低成本方案還會迫使您為避免額外的工作和延誤而不得不繼續選用特定廠商和器件系列。您在后續設計中使用該廠商的器件與 IP 越多,則整體設計資源就越傾向于鎖定到該廠商。 這意味著既定項目會缺乏設計選擇,而且所帶來的損害會蔓延到未來的設計。在后續項目中再利用以該廠商為中心的設計從一開始就會減少設計可能性,因此您可能會為了適應廠商的 FPGA 而調整設計,而不是選擇最適合相關設計的 FPGA,這樣您會牢牢地受制于單一而死板的設計思路。 為了便于入手,您還很有可能從器件廠商商采購IP內核。這種IP僅適用于該廠商提供的特定范圍的FP GA 器件,因此會緊緊地依賴于狹窄的芯片范圍。這種‘粘性 IP’會讓本來的設計選擇受限問題雪上加霜,因為在探索設計選項時無法選擇其他廠商的器件。 其缺陷是,倉促決定采用低成本開發板方案看似確定了設備選擇標準,但事實上制造出了一種受限的‘依附于廠商的’FPGA 設計環境。這種環境甚至從您開始設計之前就自然地約束您的設計選擇,迫使您走上死板的預定設計思路,同時降低設計 IP 對未來項目的價值。 那么,為什么那些理智而又聰明的設計工程師經常居然采用限制他們設計能力、甚至讓關鍵項目陷入危險的方法? 這種認為這是正;蚩梢宰屓私邮艿墓ぷ鞣绞降南敕〞屓讼肫餏PGA的早期實施階段——當時大家把 FPGA 看成一個容納眾多支持膠合邏輯的簡便而又高效的受體。此情況下,采用 FPGA 的決定可能是在設計周期的后期做出,而相關邏輯的功能價值較低,而且其再利用需求也很低。 隨著 FPGA 設計逐漸發展到 SoC 方法,器件和嵌入式硬件設計成為了基本的關鍵要素。SoC 方法在 FPGA 中部署了處理器、存儲器以及數據處理等更多關鍵功能元件。選擇使用哪種器件的決定變得至關重要而且需要在設計早期決定,它容納的設計IP代表著巨大、寶貴的設計投資。設計選擇與重用成為嵌入式硬件的關鍵。 如今,FPGA已經發展成設計的核心或中心平臺。這是超越 SoC 方法的進一步發展,在其中,除了擁有高級功能,FPGA 還可用作設計中軟硬元素的連接結構。處理器、存儲器或 DSP 可以作為軟核心、物理硬件或者同時作為二者加以實現,而 FPGA 容納的可重編程層可以把它們全部融合在一起。 現在產品設計的關鍵差異化要素同時在軟件和可編程硬件中被定義。所有這一切與 FPGA 功能及其容納的 IP 息息相關,因此,事后才添加基于 FPGA 的簡單膠合邏輯的方法雖然在過去可行,但是現在已經不再管用。自由選擇是實現出色設計方案的關鍵,缺乏自由選擇會產生巨大的潛在成本。 問題是,面對成千上萬的巨大投資,您是否愿意冒險采用低成本 FPGA 開發板并能夠承受它帶來的影響? 為獲得設計自由而投資 我們需要的是不會造成上述限制和設計約束的 FPGA 開發系統。理想情況下需要具備一種能夠通過插入式FPGA子板系統容納任何器件的可重構開發板。各種子板可按需添加,從而在設計進行過程中逐步提高可用器件選擇范圍。 隨后,嵌入式開發的物理硬件選擇可以擺脫對 FPGA 類型及其廠商的依賴。硬件外設板選擇也是如此,開發板可為通用外設級提供插入式系統,如:LCD 屏幕、I/O 接口或音視頻信號調節,其中還可包含配套 IP,從而可以輕松快速從一個外設轉移到另一個外設,或在最終設計中添加相關硬件。 如果這種系統還可以提供一系列良好的擴展連接器,并具備與其重要性相符的質量水平,而非追求低價格,那么相關硬件就能夠帶來自由的設計方法。 下一步是通過消除 FPGA 設計工具的相同約束而獲得器件自由。采用能夠讓嵌入式硬件設計本身與容納它的器件脫離的目標驅動器和‘約束’文件系統可以實現上述目的。這樣,在修改 FPGA 器件時只需加載新的約束文件,而設計來源仍有效,只需進行很少,甚至無需任何重新設計。 最終可以獲得能夠打開器件與IP可能性廣闊天地大門的FPGA開發系統。在最少重新設計的情況下更改器件的能力意味著能夠在完全了解真正需求的設計后期進行最終器件選擇。雖然仍然受制于特定器件,但是粘性 IP 將不再約束您當前或未來的設計思路。 最重要的是,FPGA 開發系統的質量、靈活性與使用壽命能夠反映大規模產品開發過程的重要性與投資情況。受限的設計選擇帶來的財務風險已經蕩然無存,而嵌入式開發人員能夠自由為項目開發的關鍵部分探索并選擇最佳的設計選項。 |