電子產品設計師正面臨著比以往更艱巨的挑戰;如何更快地去設計更多的功能、更小的體積、性價比更高的產品。從根本上講,時間就是市場,是推動電子產品進步的最潛在因素。當電子產品生產周期變得比ASIC設計周期還短的時候,設計師不得不傾向于選用FPGA芯片和其它同樣能進行快速設計和現場可編程的芯片,比如專用標準器件ASSP,它們正逐漸成為電子產品的核心。
隨著電子產品功能的增多,其實現將慢慢變得非常困難并呈現不穩定性。這樣,在設計的初期如何保證產品結構的正確性就成為關鍵的關鍵。對體系結構的探測就成為解決這方面問題的最有效手段。從產品的總體設計開始,選定合適的硬件平臺,CPU、內存、總線等各種器件及相應的參數,并在這個級別上完成軟件模型的構建和軟硬件共同設計。
驗證過程是電子產品開發中的瓶頸之一。這困難來自軟件內容的增加,特別是在嵌入式系統中,在硬件原型平臺上調試軟件本身就是一項費時費力的工作。為此設計人員轉向軟硬件系統協同仿真,以此在硬件原型獲得之前進行基于接口的驗證。但當軟件代碼增加到一定程度,軟硬件系統協同仿真就難以進行下去。最好的解決方案是軟硬件工程師必須在設計的開始階段就進行協作。而這只有通過軟件/硬件共同設計來完成,從最早的體系構造到具體設計,驗證從始至終貫穿各個階段。 隨著設計的深入,高速信號的危害日益突出,它們的體現形式有很多種:失真的信號波形、時序問題、非預期的串擾、接地反射、超強電磁輻射和電磁噪音。高速問題也是電子產品的另一個難題。
在工程項目組這個級別上,需要不同工種和學科的工程師從分散的工作方式集中到一起進行共同設計,包括軟件、硬件、機械、電子以及芯片、板級設計隊伍。很多公司有位于不同區域的專門工程的設計隊伍,例如,軟件開發在印度、內存設計在韓國,FPGA設計在美國,PCB設計在中國臺灣省等。這種新的開發隊伍結構需要強有力的開發工具支持,以達到數據的共享和項目組的溝通。
上述所有問題在設計中轉化為兩方面:第一,無法預期的設計復雜度超出了人力設計所能控制的領域,這使設計師不得不站在高一層次上來觀察問題。第二,設計各環節存在著巨大的"間隙",正是這種"間隙"給電子產品的設計帶來了相當大的不確定性和各種技術問題。比如,系統級設計自動化SLDA、電子設計自動化EDA、嵌入式軟件工具EST和機械計算機輔助設計MCAD是產品設計的各個環節,它們之間的協調以及對應學科工程師的交流(如軟硬件工程師、機械工程師、芯片或板設計工程師)在現階段設計工具配合下都存在著"間隙"。
如何解決這些問題?電子產品設計自動化(ePDA)是非常合適的方案。它是一個全新概念,導引不同范疇的工具,如EDA、EST、MCAD和SLDA等協同工作。而這種新的解決方案滿足的是整個產品設計及驗證過程的自動化,而不是僅僅面向一個或兩個單獨的流程,這是站在一個更高層次的角度來觀察問題。ePDA流程完整地再現了設計的全過程,它覆蓋了設計各環節或各階段和各工程學科之間的"間隙"。設計問題解決后,所缺的就是單點工具和它們的集成了。一般來說,系統設計重點應于體系探測,并使用行為級"C"語言來驗證。