芯片硬件設計包括:
1.功能設計階段。
設計人員產品的應用場合,設定一些諸如功能、操作速度、接口規格、環境溫度及消耗功率等規格,以做為將來電路設計時的依據。更可進一步規劃軟件模塊及硬件模塊該如何劃分,哪些功能該整合于SOC 內,哪些功能可以設計在電路板上。
2.設計描述和行為級驗證供能設計完成后,可以依據功能將SOC 劃分為若干功能模塊,并決定實現這些功能將要使用的IP 核。此階段將接影響了SOC 內部的架構及各模塊間互動的訊號,及未來產品的可靠性。決定模塊之后,可以用VHDL 或Verilog 等硬件描述語言實現各模塊的設計。接著,利用VHDL 或Verilog 的電路仿真器,對設計進行功能驗證(functionsimulation,或行為驗證 behavioral simulation)。注意,這種功能仿真沒有考慮電路實際的延遲,但無法獲得精確的結果。
3.邏輯綜合確定設計描述正確后,可以使用邏輯綜合工具(synthesizer)進行綜合。綜合過程中,需要選擇適當的邏輯器件庫(logIC cell library),作為合成邏輯電路時的參考依據。硬件語言設計描述文件的編寫風格是決定綜合工具執行效率的一個重要因素。事實上,綜合工具支持的HDL 語法均是有限的,一些過于抽象的語法只適于作為系統評估時的仿真模型,而不能被綜合工具接受邏輯綜合得到門級網表。
4.門級驗證(Gate-Level Netlist Verification)
門級功能驗證是寄存器傳輸級驗證。主要的工作是要確認經綜合后的電路是否符合功能需求,該工作一般利用門電路級驗證工具完成。注意,此階段仿真需要考慮門電路的延遲。
5.布局和布線布局指將設計好的功能模塊合理地安排在芯片上,規劃好它們的位置。布線則指完成各模塊之間互連的連線。注意,各模塊之間的連線通常比較長,因此,產生的延遲會嚴重影響SOC的性能,尤其在0.25 微米制程以上,這種現象更為顯著。