基于IP核的FPGA設計方法

發(fā)布時(shí)間:2010-8-3 16:01    發(fā)布者:conniede
關(guān)鍵詞: FPGA , IP核
前 言
  
幾年前設計專(zhuān)用集成電路(ASIC) 還是少數集成電路設計工程師的事, 隨著(zhù)硅的集成度不斷提高,百萬(wàn)門(mén)的ASIC 已不難實(shí)現, 系統制造公司的設計人員正越來(lái)越多地采用ASIC 技術(shù)集成系統級功能(System L evel In tegrete - SL I) , 或稱(chēng)片上系統(System on a ch ip ) , 但ASIC 設計能力跟不上制造能力的矛盾也日益突出,F在設計人員已不必全部用邏輯門(mén)去設計ASIC, 類(lèi)似于用集成電路( IC) 芯片在印制板上的設計,ASIC 設計人員可以應用等效于印制板上IC 芯片的功能模塊, 稱(chēng)為核(core)、或知識產(chǎn)權( IP) 宏單元進(jìn)行系統設計, 這就是基于核的設計方法。CPU、存儲器、總線(xiàn)控制器、接口電路、DSP 等都可成為核。但是ASIC 設計與印制板(PCB) 設計有很大區別,ASIC 必須用EDA 工具進(jìn)行硬件設計, 主要問(wèn)題都是通過(guò)計算機仿真解決, 而不能象印制板設計那樣通過(guò)實(shí)驗調試解決, 另外ASIC 的制造還需要數量可觀(guān)(一般數萬(wàn)美元) 的不可重復工程費用(NRE)。80年代后期出現的現場(chǎng)可編程門(mén)陣列(FPGA ) 和復雜可編程邏輯器件(CPLD) 是ASIC 的一種, 其優(yōu)點(diǎn)是在制造廠(chǎng)家提供的FPGA 或CPLD 芯片上, 可由設計工程師對其進(jìn)行現場(chǎng)編程完成ASIC 的最后設計, 而不需昂貴的NRE 費,F在FPGA 的規模已達到百萬(wàn)門(mén), 如XILINX 公司的V irtex 系列, 完全可以實(shí)現片上系統,其設計方法將逐步轉向核基設計。

1 核的分類(lèi)和特點(diǎn)
  
核是一種預定義的并經(jīng)過(guò)驗證的復雜功能模塊, 它可以集成到系統設計中。核基設計主要特點(diǎn)是可重復使用已有設計模塊, 縮短設計時(shí)間, 減少設計風(fēng)險, 通過(guò)高層的集成可望提高整個(gè)系統的性能。在FPGA 設計中的核分為三種, 如表1所示:
  
表1 核的分類(lèi)和特點(diǎn)

硬核(hard core)
  
預定義的已布局布線(xiàn)的模塊 不能修改設計, 必須采指定實(shí)現技術(shù) 時(shí)序性能有保證

固核(firm core)

HDL 源碼,與實(shí)現技術(shù)有關(guān)的網(wǎng)表 部分功能可以修改, 采用指定的實(shí)現技術(shù) 關(guān)鍵路徑時(shí)序可控制

軟件(soft core)
  
行為級或RTL 級HDL源碼 可修改設計,與具體實(shí)現技術(shù)無(wú)關(guān) 時(shí)序性能無(wú)保證, 由使用者確定
  
硬核是針對特定的實(shí)現技術(shù)優(yōu)化的, 它具有不能修改的結構和布局布線(xiàn), 可作為庫元件使用, 且時(shí)序性能穩定, 但硬核不能按設計需要修改和調整時(shí)序。固核由HDL 源碼和與實(shí)現技術(shù)有關(guān)的網(wǎng)表組成, 使用者可按規定增減部分功能。固核的關(guān)鍵路徑時(shí)序是固定的, 但其實(shí)現技術(shù)不能更改, 即不同廠(chǎng)家FPGA 的固核不能互換使用。軟核是可綜合的硬件描述語(yǔ)言(HDL ) 源碼, 它與實(shí)現技術(shù)無(wú)關(guān), 可按使用者需要修改, 具有最大的使用靈活性, 但軟核的關(guān)鍵路徑時(shí)序性能無(wú)保證, 最終性能主要決定于使用者采用的綜合、布局布線(xiàn)和實(shí)現技術(shù)。
  
在FPGA 設計中, 由于不同廠(chǎng)家的具體實(shí)現技術(shù)差別較大, 完全與硬件實(shí)現技術(shù)無(wú)關(guān)的軟核性能受到很大限制, 而硬核缺少使用的靈活性, 因此作為軟、硬核折中的固核使用較多。以上是具有代表性的核的分類(lèi), 在實(shí)際使用中, 某種功能的核往往以各種形式出現, 由使用者按需要選用, 軟核也不僅只有HDL 源碼, 還包括用于功能測試的行為模型和測試向量, 用于指導綜合的約束文件。

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


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


圖2 核由設計實(shí)現和設計驗證組成
  
很多核提供者都提供核的評價(jià)環(huán)境和演示、開(kāi)發(fā)板,便于用戶(hù)了解核的功能和使用。
  
核基FPGA 設計流程如圖3所示。設計輸入部分包括:
1) 用戶(hù)設計邏輯、軟核、固核或硬核仿真模型的輸入,
2) 功能仿真,
3) 邏輯綜合。其中仿真模型是一個(gè)行為級模型, 只用作功能仿真, 不進(jìn)行綜合。

圖3 核基FPGA 設計流程

設計的輸入一般是采用HDL 語(yǔ)言, 如VHDL、V erilog 等, 輸入完設計和仿真模型后就可進(jìn)行功能仿真, 當功能仿真完成后, 就可進(jìn)行邏輯電路的綜合。

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

3 軟核的設計及使用
  
由于FPGA 的硬件技術(shù)迅速發(fā)展, 硬件資源越來(lái)越豐富, 速度越來(lái)越快, 使軟核資源利用率不高、工作速度較低等不足得到很大的彌補, 軟核在核基設計中作用越來(lái)越大。其主要優(yōu)點(diǎn)是功能與實(shí)現技術(shù)無(wú)關(guān), 使用靈活。這樣我們可以很方便地在不同的實(shí)現技術(shù)下使用軟核。如用X IL INX FPGA 實(shí)現的軟核, 不需改動(dòng)設計, 重新綜合后就可以用ACTEL FPGA 實(shí)現, 設計實(shí)現的靈活性大為提高。但軟核的性能受實(shí)現技術(shù)影響還是很大, 怎樣保證軟核達到預想的性能是目前需要解決的難題。國外近年提出了與實(shí)現技術(shù)無(wú)關(guān)的可綜合軟核的思想, 希望通過(guò)對編制軟核的HDL 源碼的某種限制, 并結合綜合工具的時(shí)序約束功能, 達到部分控制軟核性能的目的。如限制軟核只能采用嚴格的同步邏輯設計, 沒(méi)有反饋環(huán)路、多時(shí)鐘路徑、三態(tài)邏輯、鎖存器和異步置位復位觸發(fā)器, 只使用D 觸發(fā)器和邏輯門(mén)。這樣借助于綜合工具, 可有效地控制軟核關(guān)鍵路徑的延時(shí),并預測具體實(shí)現技術(shù)中軟核的性能。當然這是以犧牲一定的FPGA 邏輯資源為代價(jià)的, 但隨著(zhù)硅技術(shù)的發(fā)展, 硬件資源十分豐富, 用一定的硬件資源浪費去換取設計靈活性提高是值得的, 正如在PC 機軟件設計中, 現在已很少有人過(guò)多考慮程序占用的存儲空間一樣。
  
本文作者按照上述軟核設計思想, 采用全同步邏輯設計, 只使用D 觸發(fā)器和邏輯門(mén), 實(shí)現了與PIC16C57兼容的8位微控制器的設計。頂層結構如圖4, 采用哈佛結構, 取指和指令執行并行工作, 除少數幾條程序跳轉指令外, 全部為單時(shí)鐘周期指令。程序存儲器ROM 一般放在FPGA 外, 若ROM 中指令較少, 也可放在FPGA 內。數據總線(xiàn)采用多路選擇器形式, 以適應不同的實(shí)現技術(shù)。指令寄存器和特殊功能寄存器, 包括IO 端口寄存器、狀態(tài)寄存器、程序計數器等, 都由D 觸發(fā)器構成, 通用寄存器采用了FPGA 的RAM 模塊, 指令譯碼和算數邏輯單元由組合邏輯門(mén)構成。


圖4 8位微控制器頂層結構圖
實(shí)現的主要功能:
  
(1) 指令與P IC16C57兼容。
  
(2) 三個(gè)8位雙向IO 口。
  
(3) 程序存儲器2K X 12 B IT。
  
(4) 內部RAM 共32個(gè), 7個(gè)為特殊寄存器。
  
(5) 二級子程序堆棧。
  
(6) 未實(shí)現指令: POT ION、SLEEP、CLRWDT。
  
(7) 單相時(shí)鐘。
  
該軟核用VHDL 語(yǔ)言完成設計的輸入, 用EXPRESS 綜合工具進(jìn)行綜合, 采用Xilinx 4000系列FPGA 實(shí)現, 不包括ROM 約需2500邏輯門(mén), 時(shí)鐘頻率5MHz, 即運行一條指令200ns。
  
上述軟核在綜合、布局布線(xiàn)時(shí), 只給予了簡(jiǎn)單的時(shí)序約束, 當需要改用其它FPGA 實(shí)現時(shí), 可用綜合工具重新綜合、布局布線(xiàn), 一般不需改變時(shí)序約束文件就能達到上述性能, 因此當時(shí)鐘頻率不太高時(shí),軟核的使用還是較為方便的。但當時(shí)鐘頻率較高時(shí),雖然采用了與實(shí)現技術(shù)無(wú)關(guān)的可綜合軟核的思想,軟核的性能還是與使用者及其采用的實(shí)現技術(shù)緊密相關(guān), 要真正做到與實(shí)現技術(shù)無(wú)關(guān)是很困難的。此時(shí)軟核的使用者必須清楚其使用的復雜性, 最好能得到軟核提供者的技術(shù)支持, 許多軟核提供者都提供這方面的服務(wù)。

4 總結
  
隨著(zhù)硅技術(shù)的發(fā)展, 集成電路芯片的硬件生產(chǎn)能力迅速提高, 幾年前FPGA、CPLD 的規模還在萬(wàn)門(mén)左右, 現在A(yíng)LTERA 公司已宣布將推出250萬(wàn)門(mén)的CPLD。如此快的發(fā)展速度, 使集成電路設計能力嚴重不足, 只靠增加設計人員, 不從設計方法上改進(jìn), 提高設計的效率, 是不可能解決問(wèn)題的。因此基于核的設計、設計重利用等技術(shù), 近年來(lái)在國外發(fā)展很快, 并成立了相應的標準化組織, 如VSIA (Virtual Socket Interface Alliance) , 專(zhuān)門(mén)從事核或稱(chēng)IP模塊的互連標準研究, 以使核的使用就象在印制板上使用集成電路塊一樣方便。一個(gè)片上系統的時(shí)代即將到來(lái), 電子工程師應跟上這個(gè)時(shí)代發(fā)展的潮流,正如以前電子管系統向晶體管系統, 分離元件系統向集成電路系統發(fā)展一樣。
本文地址:http://selenalain.com/thread-18968-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页