智能且長期的解決方案 在良好的設計實踐和公司業務之間保持平衡以保護公司未來的發展,是一個充滿挑戰的過程。以前,電子設計人員通過洞察本行業將要發生轉變的時機并在成為開發人員和系統架構師之前首先成為精明的生意人來保持其競爭優勢。然而技術創新一直不斷地推動著設計工藝的發展,在其成為主流技術之前仍然必須被行業廣為接受才行。 發生變化的是所有這些創新所帶來的復雜程度。電子產品設計更為成熟,產品技術市場化的動力增加了。壓力不僅僅來自于應對這種日益增加的復雜性,而且還來自于尋找到更為智能且長期的解決方案,以保持這種競爭優勢并保護這種增長性。 改變設計方法 由于微處理器的出現,許多改進使得產品具有更小的體積、更快的速度,而設計的復雜程度也隨之增加。由此帶來的結果是設計電子產品不再是一件容易的事情——現已成為一個如何創新地管理不斷增長的設計復雜程度的問題。不幸的是,電子設計和開發工具并未經歷如此空前快速的變化。昔日的解決方案已不能滿足我們的需要,而今天的設計方法即將達到收益遞減點。 我們面臨的危險情況是:對復雜性的管理已經轉移了我們進行創新設計的注意力。這種影響是多重的,因為當前可用的器件技術和市場需求一并將我們轉移到現有的設計方法和工具可擴展性之外。尋遍現有選項,我們僅有幾種選擇,其中的大多數并不依賴于對未來增長或增長潛力的任何形式保護。提高現有工具的特性集只會使集成過程更為復雜和困難,而雇傭具有適當技能的工程師費錢又耗時。 著手電子開發重新評估為時過晚。也許,最大的障礙是在我們的心里,還有就是我們如何感知硬件和軟件之間的差異。 一切歸結:軟件問題 解決方案的復雜開發問題在于通過隱藏設計器的復雜程度,提高板級工程師們進行設計工作的抽象級別。于是,可以全新的方法來處理較大的系統,并且不會延長相同集成電路的開發時間,如:在板級和簡化軟件工程師們開發工作的高級編程語言級別上降低復雜性所帶來的那樣。其中的創新也就是將集中于硬件上的注意力轉到軟件上來,而開發時間并未因此而延長。 圖1 PCB到FPGA流程圖 由于硬件同軟件之間的界線日益一體化,從而使得設計不再是單獨地基于硬件。通過使作為物理硬件的組成部分被一次性集成至器件中的東西,成為現在的可編程部分,低成本、高容量的 FPGA 便具有了改變我們設計方法的潛力。這種“軟設計”將注意力集中在電子產品開發上,因此符合邏輯,其將器件智能分離于被編程的物理硬件,并且避免了許多長久以來同依賴硬件的解決方案有關的電子陷阱,例如,無法輕易在開發末期作任何改變。 于是,同硬件結合的軟件就成為新型統一設計范例的一個固有部分。諸多可重新配置硬件平臺正推動對電子開發范例進行重新定義,并說明了“軟設計”潛力日益增長的重要性。 電子產品的進化見證了分立器件使微處理器直至FPGA成為可能。最近可編程硬件的大發展具有將更為一體化的概念擴展到更廣泛的電子產品應用的潛力。 以一種新視角看待硬件 此類方法可以讓我們探索許多現有技術以外的技術,而所需要的就是一個合適的設計環境。到目前為止,對于電子設計的觀點并未統一,并且都將注意力集中于器件,因此開發工具發展也是遵循這一模式。一般的印刷電路板設計觀點均是基于選擇配置在其上面的處理器或 FPGA。例如,使用傳統的硬件方法和工具,并且不用經過重寫低級代碼或帶入高效運算法則這一不可避免和令人痛苦的過程時,嘗試提升系統的性能。這樣做既費時又費錢。但是到目前為止,硬件平臺(即合并所有預構建電路,包括微處理器和邏輯芯片)的設計已成為一個獨立于實際器件智能創建的過程。 采用“軟”方式帶來了一些主要優點,例如,更全面的設計同步、設計復用和一個統一的方法。由于設計人員可以在不必構建硬件來支持設計功能性并且不必對其做太多考慮的情況下,混用其硬件及軟件方法,因此更高一層次的抽象和設計自動控制可以得到較為高效的運用。在軟件開發工作開始之前,不再需要“固定”硬件平臺設計,也不再需要在一個緊促的開發周期內費時費力地做一些微小的改動。取而代之的是一個互動的設計方法,在不增加設計時間情況下容許進行多次試驗及開發的種種“如果”假定。注意力、努力及資源可以轉移到更高一層次的設計實踐中,而這才是其價值所在。實現這一研發過程所須的只是合適的設計環境。 盡可能通用的解決方案 在可選用的解決方案中,大多數都是一些針對具體廠商的點工具,如果這些工具的部署是作為公司中一個統一、集成設計流程的組成部分,其潛能幾乎都沒有完全發揮出來。電子設計的確可以受益于新思維,例如,將互利技術集成到一個單一設計環境中,而非數個單獨的設計環境中。通過容許在一個單一系統中對電子產品開發的所有方面進行設計和管理,極大地促進了主流開發工作,從而加速設計到產品的轉化。使用傳統的點工具不能實現新型創新設計,同時,應考慮運用更多的全新設計流程。 一個更為統一的方法容許設計人員將注意力集中于更高層次的應用,并在不犧牲創新或增加設計次數的情況下重復使用其已有工作以及第三方技術。為了實現這個概念,必須具有支持其設計的系統和基礎架構,并需要重新定義我們對設計流程的看法。 |