當前位置:法律諮詢服務網 - 知識產權保護 - 急求FPGA內IP核的具體解釋及分析,多謝!!!

急求FPGA內IP核的具體解釋及分析,多謝!!!

幾年前設計專用集成電路(ASIC) 還是少數集成電路設計工程師的事, 隨著矽的集成度不斷提高,百萬門的ASIC 已不難實現, 系統制造公司的設計人員正越來越多地采用ASIC 技術集成系統級功能(System L evel In tegrete - SL I) , 或稱片上系統(System on a ch ip ) , 但ASIC 設計能力跟不上制造能力的矛盾也日益突出。現在設計人員已不必全部用邏輯門去設計ASIC, 類似於用集成電路( IC) 芯片在印制板上的設計,ASIC 設計人員可以應用等效於印制板上IC 芯片的功能模塊, 稱為核(core)、或知識產權( IP) 宏單元進行系統設計, 這就是基於核的設計方法。CPU、存儲器、總線控制器、接口電路、DSP 等都可成為核。但是ASIC 設計與印制板(PCB) 設計有很大區別,ASIC 必須用EDA 工具進行硬件設計, 主要問題都是通過計算機仿真解決, 而不能象印制板設計那樣通過實驗調試解決, 另外ASIC 的制造還需要數量可觀(壹般數萬美元) 的不可重復工程費用(NRE)。80年代後期出現的現場可編程門陣列(FP

GA ) 和復雜可編程邏輯器件(CPLD) 是ASIC 的壹種, 其優點是在制造廠家提供的FPGA 或CPLD 芯片上, 可由設計工程師對其進行現場編程完成ASIC 的最後設計, 而不需昂貴的NRE 費。現在FPGA 的規模已達到百萬門, 如XILINX-p.htm" target="_blank" title="XILINX貨源和PDF資料">XILINX 公司的V irtex 系列, 完全可以實現片上系統,其設計方法將逐步轉向核基設計。

1 核的分類和特點

核是壹種預定義的並經過驗證的復雜功能模塊, 它可以集成到系統設計中。核基設計主要特點是可重復使用已有設計模塊, 縮短設計時間, 減少設計風險, 通過高層的集成可望提高整個系統的性能。在FPGA 設計中的核分為三種, 如表1所示:

表1 核的分類和特點

硬核

(hard core)

預定義的已布局布線的模塊 不能修改設計, 必須采指定實現技術 時序性能有保證

固核

(firm core) HDL 源碼,與實現技術有關的網表 部分功能可以修改, 采用指定的實現技術 關鍵路徑時序可控制

軟件

(soft core)

行為級或RTL 級HDL源碼 可修改設計,與具體實現技術無關 時序性能無保證, 由使用者確定

硬核是針對特定的實現技術優化的, 它具有不能修改的結構和布局布線, 可作為庫元件使用, 且時序性能穩定, 但硬核不能按設計需要修改和調整時序。固核由HDL 源碼和與實現技術有關的網表組成, 使用者可按規定增減部分功能。固核的關鍵路徑時序是固定的, 但其實現技術不能更改, 即不同廠家FPGA 的固核不能互換使用。軟核是可綜合的硬件描述語言(HDL ) 源碼, 它與實現技術無關, 可按使用者需要修改, 具有最大的使用靈活性, 但軟核的關鍵路徑時序性能無保證, 最終性能主要決定於使用者采用的綜合、布局布線和實現技術。

在FPGA 設計中, 由於不同廠家的具體實現技術差別較大, 完全與硬件實現技術無關的軟核性能受到很大限制, 而硬核缺少使用的靈活性, 因此作為軟、硬核折中的固核使用較多。以上是具有代表性的核的分類, 在實際使用中, 某種功能的核往往以各種形式出現, 由使用者按需要選用, 軟核也不僅只有HDL 源碼, 還包括用於功能測試的行為模型和測試向量, 用於指導綜合的約束文件。

2 核基FPGA 設計方法簡介

在核基設計中, 壹個完整的設計主要由兩部分組成, 壹部分是核, 如圖1中的MCU、RAM , 另壹部分是用戶自己定義的邏輯電路。按系統設計的要求將這些功能模塊連接在壹起就完成了芯片的設計,各個核或功能塊的連接目前還沒有統壹的標準, 因不同的設計而定, 壹般應滿足壹定的時序要求。作為核基設計的第壹步是選擇合適的核, 這主要從核的功能、性能可靠性和實現技術幾方面來選擇。

圖1 核基設計芯片示意圖

壹個核首先要有核的功能描述文件, 用於說明該核的功能、時序要求等, 如圖2所示, 其次還要包括設計實現和設計驗證兩個方面的文件, 即不但要有實現核功能的寄存器傳輸級(RTL ) 源碼或網表, 還要有用於核實現後驗證邏輯功能正確性的仿真模型和測試向量。硬核的實現較簡單, 類似於PCB 設計中IC 芯片的使用, 軟核的使用情況較為復雜, 實現後的性能與使用者的具體實現方式有關, 為保證軟核的性能, 軟核提供者壹般還提供綜合描述文件, 用於指導軟核的綜合, 固核的使用介於上述二者之間。

圖2 核由設計實現和設計驗證組成 很多核提供者都提供核的評價環境和演示、開發板,便於用戶了解核的功能和使用。

核基FPGA 設計流程如圖3所示。設計輸入部分包括:

1) 用戶設計邏輯、軟核、固核或硬核仿真模型的輸入,

2) 功能仿真,

3) 邏輯綜合。其中仿真模型是壹個行為級模型, 只用作功能仿真, 不進行綜合。

圖3 核基FPGA 設計流程

設計的輸入壹般是采用HDL 語言, 如VHDL、V erilog 等, 輸入完設計和仿真模型後就可進行功能仿真, 當功能仿真完成後, 就可進行邏輯電路的綜合。

用戶邏輯和軟核的綜合應加合理的時序約束, 以滿足設計的要求, 約束條件可由綜合文件(Synthesis Script ) 給出。完成設計輸入後進入設計實現階段,在此階段固核的網表和設計約束文件, 用戶綜合出的網表和設計約束文件壹起輸入給FPGA 布局布線工具, 完成FPGA 的最後實現, 並產生時序文件用於時序仿真和功能驗證。最後進入設計驗證階段,用靜態時序分析判定設計是否達到性能要求, 對比功能仿真結果和時序仿真結果, 驗證設計的時序和功能是否正確。若設計的性能不能達到要求, 需找出影響性能的關鍵路徑, 並返回延時信息, 修改約束文件, 對設計進行重新綜合和布局布線, 如此重復多次直到滿足設計要求 為止。若重復多次還不能達到設計要求, 則需修改設計或采用其它實現技術。

3 軟核的設計及使用

由於FPGA 的硬件技術迅速發展, 硬件資源越來越豐富, 速度越來越快, 使軟核資源利用率不高、工作速度較低等不足得到很大的彌補, 軟核在核基設計中作用越來越大。其主要優點是功能與實現技術無關, 使用靈活。這樣我們可以很方便地在不同的實現技術下使用軟核。如用X IL INX FPGA 實現的軟核, 不需改動設計, 重新綜合後就可以用ACTEL FPGA 實現, 設計實現的靈活性大為提高。但軟核的性能受實現技術影響還是很大, 怎樣保證軟核達到預想的性能是目前需要解決的難題。國外近年提出了與實現技術無關的可綜合軟核的思想, 希望通過對編制軟核的HDL 源碼的某種限制, 並結合綜合工具的時序約束功能, 達到部分控制軟核性能的目的。如限制軟核只能采用嚴格的同步邏輯設計, 沒有反饋環路、多時鐘路徑、三態邏輯、鎖存器和異步置位復位觸發器, 只使用D 觸發器和邏輯門。這樣借助於綜合工具, 可有效地控制軟核關鍵路徑的延時,並預測具體實現技術中軟核的性能。當然這是以犧牲壹定的FPGA 邏輯資源為代價的, 但隨著矽技術的發展, 硬件資源十分豐富, 用壹定的硬件資源浪費去換取設計靈活性提高是值得的, 正如在PC 機軟件設計中, 現在已很少有人過多考慮程序占用的存儲空間壹樣。

本文作者按照上述軟核設計思想, 采用全同步邏輯設計, 只使用D 觸發器和邏輯門, 實現了與PIC16C57兼容的8位微控制器的設計。頂層結構如圖4, 采用哈佛結構, 取指和指令執行並行工作, 除少數幾條程序跳轉指令外, 全部為單時鐘周期指令。程序存儲器ROM 壹般放在FPGA 外, 若ROM 中指令較少, 也可放在FPGA 內。數據總線采用多路選擇器形式, 以適應不同的實現技術。指令寄存器和特殊功能寄存器, 包括IO 端口寄存器、狀態寄存器、程序計數器等, 都由D 觸發器構成, 通用寄存器采用了FPGA 的RAM 模塊, 指令譯碼和算數邏輯單元由組合邏輯門構成。

  • 上一篇:黑小白註冊商標了嗎?還有哪些類別可以註冊?
  • 下一篇:金屬元素分析的舉例說明
  • copyright 2024法律諮詢服務網