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