數字邏輯實踐3->EDA技術與Verilog設計

climerecho發表於2021-11-23

本文屬於EDA技術概述類文章。對EDA技術現狀進行介紹。

1 EDA技術及其發展

概念

EDA(Electronic Design Automation),指的是以計算機為工作平臺,以EDA軟體工具為開發環境,以PLD期間或者ASIC專用積體電路為目標期間設計實現電路系統的一種技術。

  1. 電子CAD(Computer Aided Design)

    狹義的CAD 偏重於“製圖”和“建模”(幾何模型),廣義CAD即覆蓋了所有利用計算機進行輔助設計的過程,在這個意義上,CAE和EDA 也可以理解為是CAD的一種;

  2. 電子CAE(Computer Aided Engineering)

    CAE的核心在於建模--解方程

    CAE 的關注點和出發點在於解決實際工程問題,無論是電磁模擬分析還是流體受力分析等實際問題在工程中都最終被抽象為了一個個數學方程,而得出模擬結果的過程就是求解數學問題的過程。

    在CAE領域應用比較多的有有限元分析、有限差分法、加權餘量法等求解方程的經典方法,所以CAE的核心在於解方程,這一過程也凝聚了工程師的智慧輸出,所以說CAE和工程結合最為緊密,同時門檻極高

  3. EDA(Electronic Design Automation)

    在CAD繪圖技術基礎上融合了應用電子技術、計算機技術、資訊處理技術等實現電子產品的自動設計

部分參考:三者的區別CAD軟體與常用EDA軟體的區別

EDA技術的應用範疇

EDA技術的新發展

  1. 在FPGA上實現DSP應用

  2. 嵌入式處理器軟核的成熟

  3. 自主智慧財產權

  4. 電子技術領域全方位融入EDA技術

  5. 電子領域各學科的界限更加模糊、互為包容

  6. 更大規模的FPGA和CPLD器件不斷推出

  7. IP核的廣泛應用

  8. SoC高效低成本設計技術的成熟

現代EDA技術的特徵

  1. 硬體描述語言設計輸入

  2. 自頂向下設計方法(即 Top-down設計)

  3. 開放性和標準化

  4. 高層綜合與優化

2 Top-down設計與IP核設計

Top-down設計

Top-down的設計須經過“設計—驗證—修改設計—再驗證”的過程,不斷反覆。

直到結果能夠實現所要求的功能,並在速度、功耗、價格和可靠性方面實現較為合理的平衡。

上圖就是自頂向下設計;

與之相對的是自底向上的設計(Bottom-up設計)?

由設計者呼叫設計庫中的元件(如各種閘電路、加法器、計數器等) ,設計組合出滿足自己需要的系統 缺點:效率低、易出錯

好傢伙,這不是Altuim Designer的設計風格嗎?

IP核設計

一些詞

  • IP(Intellectual Property):

    原來的含義是指智慧財產權、著作權,在IC設計領域指實現某種功能的設計。

  • IP核(IP模組):

    指功能完整,效能指標可靠,已驗證的、可重用的電路功能模組。

  • IP複用(IP reuse)

  • 簡稱調包

IP核與SOC設計

軟IP--用VHDL等硬體描述語言描述的功能塊,但是並不涉及用什麼具體電路元件實現這些功能。

固IP--完成了綜合的功能塊。

硬IP--供設計的最終階段產品:掩膜。

SoC是什麼?

SYSTEM ON a CHIP

3 EDA設計的流程

設計輸入(Design Entry)

  • 分為兩種:

    • 原理圖輸入(Schematic diagrams )

    • 硬體描述語言(HDL文字 輸入)

      • VHDL

      • Verilog HDL

  • 硬體描述語言與軟體程式語言(C、PASCAL等)有本質的區別

綜合(Synthesis)

將較高層次的設計描述自動轉化為較低層次描述的過程。

  • 行為綜合:從演算法表示、行為描述->暫存器傳輸級(RTL)

  • 邏輯綜合:RTL級描述->邏輯閘級(包括觸發器)

  • 版圖綜合或結構綜合:從邏輯閘表示->版圖表示,或->PLD器件的配置網表表示

綜合器是能夠自動實現上述轉換的軟體工具,是能將原理圖或HDL語言描述的電路功能轉化為具體電路結構網表的工具

綜合 這個概念在硬體裡相當於軟體的編譯。

軟體編譯器和硬體綜合器有所差別:

軟體編譯(Compiler)->CPU指令/資料程式碼(01碼)

硬體綜合(synthesizer)->為ASIC設計提供電路網表檔案

適配

介面卡也稱為結構綜合器。

它的功能是將由綜合器產生的網表檔案配置於指定的目標器件中,併產生最終的可下載檔案。

對CPLD器件而言,產生熔絲圖檔案,即JEDEC檔案;

對FPGA器件則產生Bitstream位流資料檔案。

模擬

模擬是對所設計電路的功能的驗證。

  • 功能模擬(Function Simulation)

  • 時序模擬(Timing Simulation)

程式設計(下載/配置)

把適配後生成的程式設計檔案裝入到PLD器件(可程式設計邏輯器件)中的過程, 或稱為下載

通常將對基於EEPROM工藝的非易失結構PLD器件的下載稱為程式設計(Program);

將基於SRAM工藝結構的PLD器件的下載稱為配置(Configure)。

4 常用的EDA軟體工具

  1. 整合的CPLD/FPGA開發工具

  2. 邏輯綜合工具

  3. 模擬工具

  4. 其他設計工具

5 EDA技術的發展趨勢

  • 超大規模積體電路的整合度和工藝水平不斷提高。

  • 市場對系統的整合度不斷提出更高的要求。

  • 高效能的EDA工具,其自動化和智慧化程度不斷提高,為嵌入式系統設計提供了功能強大的開發環境。

  • 計算機硬體平臺效能大幅度提高,為複雜的SoC設計提供了物理基礎。

相關文章