Xilinx FPGA開(kāi)發(fā)實(shí)用教程
定 價(jià):54.5 元
- 作者:徐文波 ,田耘 著
- 出版時(shí)間:2012/7/1
- ISBN:9787302286431
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP331.2
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:2
- 開(kāi)本:16開(kāi)
《Xilinx FPGA開(kāi)發(fā)實(shí)用教程(第2版)(配光盤)(EDA工程技術(shù)叢書)》系統(tǒng)地論述了Xilinx FPGA開(kāi)發(fā)方法、開(kāi)發(fā)工具、實(shí)際案例及開(kāi)發(fā)技巧,內(nèi)容涵蓋Xilinx器件概述、Verilog HDL開(kāi)發(fā)基礎(chǔ)與進(jìn)階、Xilinx FPGA電路原理與系統(tǒng)設(shè)計(jì)、基于ISE Foundation的邏輯設(shè)計(jì)、時(shí)序分析、邏輯開(kāi)發(fā)專題、基于EDK的嵌入式系統(tǒng)設(shè)計(jì)、基于System Generator的DSP系統(tǒng)設(shè)計(jì)、數(shù)字信號(hào)處理專題以及SERDES技術(shù)專題共10章。各章均以實(shí)戰(zhàn)開(kāi)發(fā)為目的,結(jié)合最新版本的軟硬件特征,覆蓋了FPGA的各主要應(yīng)用領(lǐng)域。配套光盤中包含了書中所有的實(shí)例代碼,便于讀者快速動(dòng)手實(shí)踐。書中融匯了作者多年的工程開(kāi)發(fā)經(jīng)驗(yàn),希望能夠極力幫助讀者提高工程開(kāi)發(fā)能力。
《Xilinx FPGA開(kāi)發(fā)實(shí)用教程(第2版)(配光盤)(EDA工程技術(shù)叢書)》適合作為電子信息工程、通信工程、自動(dòng)化、計(jì)算機(jī)科學(xué)與技術(shù)等相關(guān)專業(yè)的高年級(jí)本科生及研究生的教學(xué)用書,也可以作為從事FPGA設(shè)計(jì)工作的工程師的參考圖書。
賽靈思(Xilinx)公司作為可編程器件(PLD)的領(lǐng)導(dǎo)廠商,占有超過(guò)50%的市場(chǎng)份額,為客戶提供可編程邏輯芯片(CPLD、FPGA和PROM)、軟件設(shè)計(jì)工具、不同等級(jí)的知識(shí)產(chǎn)權(quán)核(IP Core)以及系統(tǒng)級(jí)的完整解決方案。
隨著工藝和設(shè)計(jì)水平的不斷提高,F(xiàn)PGA在數(shù)字系統(tǒng)中所扮演的角色也從邏輯膠合者提升到處理核心。從2006年起,賽靈思公司的FPGA就涵蓋了邏輯應(yīng)用、數(shù)字信號(hào)處理以及嵌入式三大應(yīng)用領(lǐng)域。到目前為止,賽靈思已成為完整的解決方案提供者。例如,量產(chǎn)的Spartan 6系列FPGA采用45nm工藝,廣泛應(yīng)用在中低規(guī)模系統(tǒng)中,如機(jī)器視覺(jué)、機(jī)頂盒以及廣泛的多媒體處理等; 量產(chǎn)的Virtex5/6系列FPGA分別采用65nm、40nm工藝,主要面向高端應(yīng)用,如高速互聯(lián)網(wǎng)絡(luò)、無(wú)線通信、寬帶接入以及汽車工業(yè)等。28nm的7系列FPGA(Artix、Kintex和Virtex三個(gè)低、中、高系列)也已逐漸量產(chǎn),進(jìn)一步提升FPGA系統(tǒng)設(shè)計(jì)能力。此外,Zynq7000可擴(kuò)展處理平臺(tái)(EPP)將ARM CortexA9 雙核處理器系統(tǒng)與可編程邏輯緊密集成在一起,為業(yè)界帶來(lái)革命性的創(chuàng)新解決方案。
基于賽靈思公司的領(lǐng)先技術(shù),更多的工程師和研究人員已加入到賽靈思FPGA的開(kāi)發(fā)隊(duì)伍中。在過(guò)去四年中,賽靈思公司通過(guò)大學(xué)和開(kāi)源社區(qū)OpenHard,開(kāi)展了三屆開(kāi)源硬件創(chuàng)新大賽以及多個(gè)網(wǎng)絡(luò)研討會(huì),但切入點(diǎn)都比較零散,不能形成系統(tǒng)化知識(shí)體系。 《Xilinx FPGA開(kāi)發(fā)實(shí)用教程》第一版于2008年出版,彌補(bǔ)了上述不足,幫助廣大技術(shù)人員、在校的研究生和高年級(jí)本科生盡快掌握Xilinx FPGA的開(kāi)發(fā)流程,連續(xù)印刷4次,深受讀者歡迎。由于FPGA技術(shù)發(fā)展迅速,因此作者更新了原書內(nèi)容,并以最新的ISE13.x版本和量產(chǎn)的6系列器件為例進(jìn)行介紹,更加符合FPGA發(fā)展趨勢(shì)。
整體而言,本書具有以下三項(xiàng)特色: 首先,從邏輯設(shè)計(jì)、數(shù)字信號(hào)處理、嵌入式系統(tǒng)設(shè)計(jì)和高速連接四個(gè)方面系統(tǒng)地介紹了Xilinx FPGA的開(kāi)發(fā)與應(yīng)用,條理清晰、思路明確,符合FPGA目前和未來(lái)的發(fā)展趨勢(shì); 其次,較為詳細(xì)地介紹了Xilinx FPGA的開(kāi)發(fā)技巧,融入了作者的工程開(kāi)發(fā)經(jīng)驗(yàn),對(duì)于初學(xué)者和工程開(kāi)發(fā)人員來(lái)講都具有較強(qiáng)的可讀性; 最后,極為全面地介紹了賽靈思公司的ISE、System Generator以及EDK開(kāi)發(fā)軟件,非常系統(tǒng)和完整。
因此,對(duì)于在校研究生、高年級(jí)本科生及從事FPGA開(kāi)發(fā)的工程師來(lái)說(shuō),本書是一本較為理想的EDA教材和工程工具書,我鄭重地將其推薦給大家!希望通過(guò)本書的出版,使更多的讀者掌握賽靈思FPGA的開(kāi)發(fā)技能,更好地促進(jìn)FPGA開(kāi)發(fā)技術(shù)的普及和推廣。
賽靈思(Xilinx)公司中國(guó)區(qū)大學(xué)計(jì)劃經(jīng)理謝凱年博士2012年6月
2008年10月,作者有幸聆聽(tīng)了Xilinx公司全球CTO Ivo Bolsens先生在清華大學(xué)所作的題為“FPGA:The future platform for transforming, transporting and computing”的演講,感觸頗深。Ivo Bolsens先生指出了FPGA的三大應(yīng)用領(lǐng)域:數(shù)字處理中的信號(hào)變換、高速交換中的數(shù)據(jù)收發(fā)以及求解中的復(fù)雜計(jì)算。作者帶著感慨基于當(dāng)時(shí)的ISE 9.1軟件版本,編寫了《Xilinx FPGA開(kāi)發(fā)實(shí)用教程》一書,受到讀者青睞,多次重印。經(jīng)過(guò)3年多的發(fā)展,Xilinx公司的軟、硬件均有大幅升級(jí),ISE軟件已升級(jí)到13.x版本,F(xiàn)PGA已經(jīng)發(fā)展到28nm的“7”系列芯片。因此作者在第1版的基礎(chǔ)上,結(jié)合ISE軟件和FPGA特征,重新整理了原稿,刪除了部分冗余、陳舊的內(nèi)容,形成了此次的修訂版版本。
同第1版一樣,修訂版版本中的全部?jī)?nèi)容都是作者實(shí)際項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)和Xilinx公司各類文檔、書籍的結(jié)合體,全部信息幾乎都可以從Xilinx網(wǎng)站以及Google上找到淵源,不過(guò)我們?nèi)匀幌蚰扑]本書,因?yàn)榫W(wǎng)絡(luò)的信息是分散的、雜亂的,且正確性不是100%的,本書各章內(nèi)容的安排是從大量的實(shí)踐中總結(jié)出來(lái)的,循序漸進(jìn),條理清楚,且都經(jīng)過(guò)作者驗(yàn)證,我們的目的就是從Ivo Bolsens先生的觀點(diǎn)出發(fā),結(jié)合項(xiàng)目開(kāi)發(fā),將網(wǎng)絡(luò)上盡可能多的相關(guān)信息以相對(duì)較高的質(zhì)量組合起來(lái)。
本書適合電子、通信以及計(jì)算機(jī)等相關(guān)專業(yè)的研究生和高年級(jí)本科生使用,同時(shí)也適合于從事Xilinx系列FPGA設(shè)計(jì)和開(kāi)發(fā)的工程師。毫無(wú)疑問(wèn),市場(chǎng)上已經(jīng)有很多關(guān)于FPGA設(shè)計(jì)的書籍,我們也不認(rèn)為本書是其中最重要的一本,但我們意識(shí)到FPGA開(kāi)發(fā)一定要結(jié)合芯片特點(diǎn)以及提供商的諸多建議和協(xié)議,只有這樣才能真正掌握其開(kāi)發(fā)之道。
在第1版中,由于未配備光盤,缺少實(shí)際的工程和電子版本代碼,不利于快速學(xué)習(xí),廣大讀者多次給作者指出這一不足。因此,在修訂版本中,我們將全書所有內(nèi)容都移植在小巧的S6 CARD板卡(基于Spartan 6 LX9的開(kāi)發(fā)板,和身份證大小一樣,通過(guò)USB供電和調(diào)試,無(wú)須下載線纜)上,并將所有的工程文件附在光盤上,為讀者提供通用的驗(yàn)證平臺(tái)。S6 CARD板卡的詳細(xì)信息可參考與非網(wǎng)相關(guān)介紹(http://www.openhw.org/shop/index.php?action=productandid=248)。
全書各章由徐文波、田耘共同完成編寫。此外,在成文過(guò)程中參考了較多的書籍、論文和網(wǎng)絡(luò)文獻(xiàn),在此向廣大作者表示深深謝意。
FPGA技術(shù)博大精深且發(fā)展迅猛,不可能通過(guò)一本書進(jìn)行全方位的詳細(xì)介紹,更多還需要讀者自己動(dòng)手實(shí)踐。由于作者水平有限,F(xiàn)PGA技術(shù)發(fā)展迅速,書中難免存在不妥之處,敬請(qǐng)廣大讀者指正。
作者
2012年5月
1.2.3軟核、硬核及固核
1.2.4Xilinx主流FPGA
1.3Xilinx軟件工具
1.3.1ISE Foundation軟件
1.3.2EDK開(kāi)發(fā)工具
1.3.3System Generator DSP工具
1.3.4ChipScope Pro
1.3.5PlanAhead
1.4本書案例驗(yàn)證平臺(tái)--S6 CARD開(kāi)發(fā)板
1.4.1S6 CARD開(kāi)發(fā)板的組成與功能
1.4.2S6 CARD板卡引腳約束說(shuō)明
本章小結(jié)
第2章Verilog HDL開(kāi)發(fā)基礎(chǔ)與進(jìn)階
2.1Verilog HDL語(yǔ)言
2.1.1Verilog HDL語(yǔ)言的歷史
2.1.2Verilog HDL的主要功能
2.1.3Verilog HDL和VHDL的區(qū)別
2.1.4Verilog HDL設(shè)計(jì)方法
2.2Verilog HDL基本程序結(jié)構(gòu)
2.3Verilog HDL語(yǔ)言的數(shù)據(jù)類型和運(yùn)算符
2.3.1標(biāo)志符
2.3.2數(shù)據(jù)類型
2.3.3模塊端口
2.3.4常量集合
2.3.5運(yùn)算符和表達(dá)式
2.4Verilog HDL語(yǔ)言的描述語(yǔ)句
2.4.1結(jié)構(gòu)描述形式
2.4.2數(shù)據(jù)流描述形式
2.4.3行為描述形式
2.4.4混合設(shè)計(jì)模式
2.5Verilog HDL建模與調(diào)試技巧
2.5.1雙向端口的使用和仿真
2.5.2阻塞賦值與非阻塞賦值
2.5.3輸入值不確定的組合邏輯電路
2.5.4數(shù)學(xué)運(yùn)算中的擴(kuò)位與截位操作
2.5.5利用塊RAM來(lái)實(shí)現(xiàn)數(shù)據(jù)延遲
2.5.6測(cè)試向量的生成
2.6Verilog HDL常用程序示例
2.6.1數(shù)字電路中基本單元的FPGA實(shí)現(xiàn)
2.6.2基本時(shí)序處理模塊
2.7Xilinx器件原語(yǔ)的使用
本章小結(jié)
第3章Xilinx FPGA電路原理與系統(tǒng)設(shè)計(jì)
3.1FPGA配置電路
3.1.1Xilinx FPGA配置電路
3.1.2Xilinx FPGA常用的配置引腳
3.1.3Xilinx FPGA配置電路分類
3.2JTAG電路的原理與設(shè)計(jì)
3.2.1JTAG電路的工作原理
3.2.2Xilinx JTAG下載線
3.3FPGA的常用配置電路
3.3.1主串模式--最常用的FPGA配置模式
3.3.2SPI串行Flash配置模式
3.3.3從串配置模式
3.3.4主字節(jié)寬度并行配置模式
3.3.5JTAG配置模式
3.3.6System ACE配置方案
3.4iMPACT軟件使用
3.4.1iMPACT軟件
3.4.2iMPACT中的JTAG配置操作
3.4.3iMPACT中的Xilinx PROM配置操作
3.4.4iMPACT中的SPI Flash配置操作
3.4.5FPGA配置失敗的常見(jiàn)問(wèn)題
3.5從配置PROM中讀取用戶數(shù)據(jù)
3.5.1從PROM中引導(dǎo)數(shù)據(jù)
3.5.2硬件電路設(shè)計(jì)方法
3.5.3軟件操作流程
本章小結(jié)
第4章基于ISE Foundation的邏輯設(shè)計(jì)
4.1ISE套件
4.1.1ISE的特點(diǎn)
4.1.2ISE的功能
4.1.3ISE的安裝
4.1.4ISE的用戶界面
4.2基于ISE的設(shè)計(jì)輸入
4.2.1新建工程
4.2.2代碼輸入
4.2.3代碼模板的使用
4.2.4Xilinx IP Core的原理與應(yīng)用
4.3ISE基本操作
4.3.1基于Xilinx XST的綜合
4.3.2基于ISim的仿真
4.3.3基于ISE的實(shí)現(xiàn)
4.3.4基于目標(biāo)和策略的設(shè)計(jì)方法
4.3.5基于SmartGuide的設(shè)計(jì)方法
4.3.6比特文件的生成
4.3.7基于IMPACT的芯片配置
4.3.8功耗分析以及XPower的使用
4.4約束
4.4.1約束文件
4.4.2UCF文件的語(yǔ)法說(shuō)明
4.4.3引腳和區(qū)域約束語(yǔ)法
4.4.4時(shí)序約束語(yǔ)法
4.5調(diào)試?yán)?-ChipScope Pro
4.5.1ChipScope Pro工作原理
4.5.2ChipScope Pro操作流程
4.5.3ChipScope Pro開(kāi)發(fā)實(shí)例
4.6ISE與第三方EDA軟件
4.6.1ModelSim軟件的使用
4.6.2ModelSim和ISE的聯(lián)合開(kāi)發(fā)流程
4.6.3MATLAB軟件的使用
4.6.4ISE與MATLAB的聯(lián)合使用
4.6.5MATLAB、ModelSim和ISE聯(lián)合開(kāi)發(fā)實(shí)例
本章小結(jié)
第5章時(shí)序分析
5.1時(shí)序分析的作用和原理
5.1.1時(shí)序分析的作用
5.1.2靜態(tài)時(shí)序分析原理
5.1.3時(shí)序分析的基礎(chǔ)知識(shí)
5.2Xilinx FPGA中的時(shí)鐘資源
5.2.1全局時(shí)鐘資源
5.2.2第二全局時(shí)鐘資源
5.3ISE時(shí)序分析器
5.3.1時(shí)序分析器的特點(diǎn)
5.3.2時(shí)序分析器的文件類型
5.3.3時(shí)序分析器的調(diào)用與用戶界面
5.3.4提高時(shí)序性能的手段
本章小結(jié)
第6章邏輯開(kāi)發(fā)專題
6.1Verilog HDL設(shè)計(jì)進(jìn)階
6.1.1面向硬件的程序設(shè)計(jì)思維
6.1.2“面積”和“速度”的轉(zhuǎn)換原則
6.1.3同步電路的設(shè)計(jì)原則
6.2Xilinx FPGA芯片底層單元的使用
6.2.1Xilinx全局時(shí)鐘網(wǎng)絡(luò)的使用
6.2.2CMT時(shí)鐘管理模塊的使用
6.2.3Xilinx內(nèi)嵌塊存儲(chǔ)器的使用
6.2.4硬核乘加器的使用
6.3代碼風(fēng)格
6.3.1代碼風(fēng)格的含義
6.3.2代碼書寫風(fēng)格
6.3.3通用設(shè)計(jì)代碼風(fēng)格
6.3.4Xilinx專用設(shè)計(jì)代碼風(fēng)格
6.4UART接口開(kāi)發(fā)實(shí)例
6.4.1串口接口與RS?232協(xié)議
6.4.2串口通信控制器的Verilog HDL實(shí)現(xiàn)
6.4.3RS?232設(shè)計(jì)板級(jí)調(diào)試
本章小結(jié)
第7章基于EDK的嵌入式系統(tǒng)設(shè)計(jì)
7.1可配置嵌入式系統(tǒng)(EDK)
7.1.1基于FPGA的可編程嵌入式開(kāi)發(fā)系統(tǒng)
7.1.2Xilinx公司的解決方案
7.2Xilinx嵌入式開(kāi)發(fā)系統(tǒng)組成
7.2.1片內(nèi)微處理器軟核MicroBlaze
7.2.2PLB總線系統(tǒng)結(jié)構(gòu)
7.2.3IP核以及設(shè)備驅(qū)動(dòng)
7.3EDK軟件
7.3.1EDK設(shè)計(jì)的實(shí)現(xiàn)流程
7.3.2EDK的文件管理架構(gòu)
7.4XPS軟件典型操作
7.4.1XPS的啟動(dòng)
7.4.2利用BSB創(chuàng)建新工程
7.4.3XPS的用戶界面
7.4.4XPS的目錄結(jié)構(gòu)與硬件平臺(tái)
7.4.5在XPS加入IP Core
7.4.6XPS工程的綜合與實(shí)現(xiàn)
7.5SDK軟件典型操作
7.5.1SDK的用戶界面
7.5.2SDK的典型操作
7.5.3IP外設(shè)的API函數(shù)查閱和使用方法
7.5.4GPIO外設(shè)開(kāi)發(fā)實(shí)例
7.5.5其他外設(shè)開(kāi)發(fā)實(shí)例
本章小結(jié)
第8章基于System Generator的DSP系統(tǒng)設(shè)計(jì)
8.1System Generator的特點(diǎn)與安裝
8.1.1System Generator的主要特點(diǎn)
8.1.2System Generator的安裝和配置
8.2System Generator的使用基礎(chǔ)
8.2.1System Generator開(kāi)發(fā)流程
8.2.2Simulink的應(yīng)用
8.3基于System Generator的DSP系統(tǒng)設(shè)計(jì)
8.3.1System Generator的應(yīng)用
8.3.2System Generator中的信號(hào)類型
8.3.3自動(dòng)代碼生成
8.3.4編譯MATLAB設(shè)計(jì)生成FPGA代碼
8.3.5子系統(tǒng)的建立與ISE調(diào)用
8.4基于System Generator的硬件協(xié)仿真
8.4.1硬件協(xié)仿真平臺(tái)的特點(diǎn)與平臺(tái)安裝
8.4.2硬件協(xié)仿真的基本操作
8.4.3共享存儲(chǔ)器的操作
8.5System Generator的高級(jí)應(yīng)用
8.5.1導(dǎo)入外部的HDL程序模塊
8.5.2設(shè)計(jì)在線調(diào)試
8.5.3系統(tǒng)中的多時(shí)鐘設(shè)計(jì)
8.5.4FPGA設(shè)計(jì)的高級(jí)技巧
本章小結(jié)
第9章數(shù)字信號(hào)處理專題
9.1數(shù)字信號(hào)
9.1.1數(shù)字信號(hào)的產(chǎn)生
9.1.2采樣定理
9.1.3數(shù)字系統(tǒng)的主要性能指標(biāo)
9.1.4A/D轉(zhuǎn)換的字長(zhǎng)效應(yīng)
9.2常用DSP IP Core及其應(yīng)用
9.2.1DDS模塊IP Core的應(yīng)用
9.2.2FFT算法IP Core的應(yīng)用
9.2.3Cordic算法IP Core的應(yīng)用
9.2.4FIR濾波器IP Core的應(yīng)用
9.3多速率濾波器的FPGA實(shí)現(xiàn)
9.3.1多速率信號(hào)處理的意義
9.3.2多速率信號(hào)濾波器的基本操作
9.3.3CIC濾波器的FPGA實(shí)現(xiàn)
9.3.4HB濾波器的FPGA實(shí)現(xiàn)
本章小結(jié)
第10章SERDES技術(shù)專題
10.1高速數(shù)據(jù)連接功能
10.1.1高速數(shù)據(jù)傳輸
10.1.2Xilinx公司高速連接功能的解決方案
10.2實(shí)現(xiàn)吉比特高速串行I/O的相關(guān)技術(shù)
10.2.1吉比特高速串行I/O的特點(diǎn)和應(yīng)用
10.2.2吉比特串行I/O系統(tǒng)的組成
10.2.3吉比特串行I/O的設(shè)計(jì)要點(diǎn)
10.3Rocket I/O收發(fā)器原理與開(kāi)發(fā)
10.3.1Rocket I/O硬核組成與工作原理
10.3.2GTP硬核組成與工作原理
10.3.3GTP Wizard開(kāi)發(fā)實(shí)例
10.4PCI?Express G1端點(diǎn)接口設(shè)計(jì)
10.4.1PCI Express G1技術(shù)
10.4.2Xilinx PCI Express G1端點(diǎn)模塊
10.4.3PCI Express G1端點(diǎn)接口實(shí)例解讀
本章小結(jié)
參考文獻(xiàn)
7.內(nèi)嵌專用硬核
內(nèi)嵌專用硬核是相對(duì)底層嵌入的軟核而言的,指FPGA處理能力強(qiáng)大的硬核(Hard Core),等效于ASIC電路。為了提高FPGA性能,芯片生產(chǎn)商在芯片內(nèi)部集成了一些專用的硬核。例如,為了提高FPGA的乘法速度,主流的FPGA中都集成了專用乘法器;為了適用通信總線與接口標(biāo)準(zhǔn),很多高端的FPGA內(nèi)部都集成了串并收發(fā)器(SERDES),可以達(dá)到數(shù)十吉比特/秒的收發(fā)速度。
例如,Xilinx公司的高端產(chǎn)品不僅集成了Power PC或者ARM A9系列高性能CPU,還內(nèi)嵌了DSP Core模塊,其相應(yīng)的系統(tǒng)級(jí)設(shè)計(jì)工具是EDK和Platform Studio,并以此提出了片上系統(tǒng)SoC的概念。通過(guò)Power PC、Miroblaze、Pieoblaze等處理器平臺(tái),能夠開(kāi)發(fā)標(biāo)準(zhǔn)的DSP處理器及其相關(guān)應(yīng)用,達(dá)到SoC的開(kāi)發(fā)目的。
1.2.3軟核、硬核及固核
IP(Intelligent Property)核是具有知識(shí)產(chǎn)權(quán)核的集成電路芯核總稱,是經(jīng)過(guò)反復(fù)驗(yàn)證過(guò)的、具有特定功能的宏模塊,與芯片制造工藝無(wú)關(guān),可以移植到不同的半導(dǎo)體工藝中。到了SoC階段,IP核設(shè)計(jì)已成為ASIC電路設(shè)計(jì)公司和FPGA提供商的重要任務(wù),也是其實(shí)力體現(xiàn)。對(duì)于FPGA開(kāi)發(fā)軟件,其提供的IP核越豐富,用戶的設(shè)計(jì)就越方便,其市場(chǎng)占有率就越高。目前,IP核已經(jīng)變成系統(tǒng)設(shè)計(jì)的基本單元,并作為獨(dú)立設(shè)計(jì)成果被交換、轉(zhuǎn)讓和銷售。
從IP核的提供方式上,通常將其分為軟核、硬核和固核三類。從完成IP核所花費(fèi)的成本來(lái)講,硬核代價(jià)最大;從使用靈活性來(lái)講,軟核的可復(fù)用性最高。在FPGA領(lǐng)域中,最常用的是軟核和硬核這兩類IP。
1.軟核
軟核在EDA設(shè)計(jì)領(lǐng)域指的是綜合之前的寄存器傳輸級(jí)(RTL)模型;具體在FPGA設(shè)計(jì)中指的是對(duì)電路的硬件語(yǔ)言描述,包括邏輯描述、網(wǎng)表和幫助文檔等。軟核只經(jīng)過(guò)功能仿真,需要經(jīng)過(guò)綜合以及布局布線才能使用。其優(yōu)點(diǎn)是靈活性高、可移植性強(qiáng),允許用戶自配置;缺點(diǎn)是對(duì)模塊的預(yù)測(cè)性較低,在后續(xù)設(shè)計(jì)中存在發(fā)生錯(cuò)誤的可能性,有一定的設(shè)計(jì)風(fēng)險(xiǎn)。軟核是IP核應(yīng)用最廣泛的形式。
Xilinx公司一直以來(lái)提供的軟核IP資源比其他廠家都更為豐富,全部集成在開(kāi)發(fā)組件Core Generator中,本書將在4.2.4節(jié)對(duì)其進(jìn)行詳細(xì)說(shuō)明。
2.固核
固核在EDA設(shè)計(jì)領(lǐng)域指的是帶有平面規(guī)劃信息的網(wǎng)表;具體在FPGA設(shè)計(jì)中可以看做帶有布局規(guī)劃的軟核,通常以RTL代碼和對(duì)應(yīng)具體工藝網(wǎng)表的混合形式提供。將RTL描述結(jié)合具體標(biāo)準(zhǔn)單元庫(kù)進(jìn)行綜合優(yōu)化設(shè)計(jì),形成門級(jí)網(wǎng)表,再通過(guò)布局布線工具即可使用。和軟核相比,固核的設(shè)計(jì)靈活性稍差,但在可靠性上有較大提高。目前,固核也是IP核的主流形式之一。
……