出版時(shí)間:2012-7 出版社:清華大學(xué)出版社 作者:徐文波,田耘 編著 頁數(shù):499 字?jǐn)?shù):762000
前言
賽靈思(Xilinx)公司作為可編程器件(PLD)的領(lǐng)導(dǎo)廠商,占有超過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ī)器視覺、機(jī)頂盒以及廣泛的多媒體處理等; 量產(chǎn)的Virtex?5/6系列FPGA分別采用65nm、40nm工藝,主要面向高端應(yīng)用,如高速互聯(lián)網(wǎng)絡(luò)、無線通信、寬帶接入以及汽車工業(yè)等。28nm的7系列FPGA(Artix、Kintex和Virtex三個(gè)低、中、高系列)也已逐漸量產(chǎn),進(jìn)一步提升FPGA系統(tǒng)設(shè)計(jì)能力。此外,Zynq?7000可擴(kuò)展處理平臺(tái)(EPP)將ARM Cortex?A9 雙核處理器系統(tǒng)與可編程邏輯緊密集成在一起,為業(yè)界帶來革命性的創(chuàng)新解決方案?! 』谫愳`思公司的領(lǐng)先技術(shù),更多的工程師和研究人員已加入到賽靈思FPGA的開發(fā)隊(duì)伍中。在過去四年中,賽靈思公司通過大學(xué)和開源社區(qū)OpenHard,開展了三屆開源硬件創(chuàng)新大賽以及多個(gè)網(wǎng)絡(luò)研討會(huì),但切入點(diǎn)都比較零散,不能形成系統(tǒng)化知識(shí)體系?!禭ilinx FPGA開發(fā)實(shí)用教程》第一版于2008年出版,彌補(bǔ)了上述不足,幫助廣大技術(shù)人員、在校的研究生和高年級(jí)本科生盡快掌握Xilinx FPGA的開發(fā)流程,連續(xù)印刷4次,深受讀者歡迎。由于FPGA技術(shù)發(fā)展迅速,因此作者更新了原書內(nèi)容,并以最新的ISE13.x版本和量產(chǎn)的6系列器件為例進(jìn)行介紹,更加符合FPGA發(fā)展趨勢(shì)?! ≌w而言,本書具有以下三項(xiàng)特色: 首先,從邏輯設(shè)計(jì)、數(shù)字信號(hào)處理、嵌入式系統(tǒng)設(shè)計(jì)和高速連接四個(gè)方面系統(tǒng)地介紹了Xilinx FPGA的開發(fā)與應(yīng)用,條理清晰、思路明確,符合FPGA目前和未來的發(fā)展趨勢(shì); 其次,較為詳細(xì)地介紹了Xilinx FPGA的開發(fā)技巧,融入了作者的工程開發(fā)經(jīng)驗(yàn),對(duì)于初學(xué)者和工程開發(fā)人員來講都具有較強(qiáng)的可讀性; 最后,極為全面地介紹了賽靈思公司的ISE、System Generator以及EDK開發(fā)軟件,非常系統(tǒng)和完整?! ∫虼耍瑢?duì)于在校研究生、高年級(jí)本科生及從事FPGA開發(fā)的工程師來說,本書是一本較為理想的EDA教材和工程工具書,我鄭重地將其推薦給大家!希望通過本書的出版,使更多的讀者掌握賽靈思FPGA的開發(fā)技能,更好地促進(jìn)FPGA開發(fā)技術(shù)的普及和推廣?! ≠愳`思(Xilinx)公司中國(guó)區(qū)大學(xué)計(jì)劃經(jīng)理謝凱年博士2012年6月
內(nèi)容概要
本書系統(tǒng)地論述了Xilinx FPGA開發(fā)方法、開發(fā)工具、實(shí)際案例及開發(fā)技巧,內(nèi)容涵蓋Xilinx器件概述、Verilog
HDL開發(fā)基礎(chǔ)與進(jìn)階、Xilinx FPGA電路原理與系統(tǒng)設(shè)計(jì)、基于ISE
Foundation的邏輯設(shè)計(jì)、時(shí)序分析、邏輯開發(fā)專題、基于EDK的嵌入式系統(tǒng)設(shè)計(jì)、基于System
Generator的DSP系統(tǒng)設(shè)計(jì)、數(shù)字信號(hào)處理專題以及SERDES技術(shù)專題共10章。各章均以實(shí)戰(zhàn)開發(fā)為目的,結(jié)合最新版本的軟硬件特征,覆蓋了FPGA的各主要應(yīng)用領(lǐng)域。配套光盤中包含了書中所有的實(shí)例代碼,便于讀者快速動(dòng)手實(shí)踐。書中融匯了作者多年的工程開發(fā)經(jīng)驗(yàn),希望能夠極力幫助讀者提高工程開發(fā)能力。
本書適合作為電子信息工程、通信工程、自動(dòng)化、計(jì)算機(jī)科學(xué)與技術(shù)等相關(guān)專業(yè)的高年級(jí)本科生及研究生的教學(xué)用書,也可以作為從事FPGA設(shè)計(jì)工作的工程師的參考圖書。
作者簡(jiǎn)介
徐文波,獲得信息工程專業(yè)學(xué)士學(xué)位(北京郵電大學(xué),2005年)、信號(hào)與信息處理專業(yè)博士學(xué)位(北京郵電大學(xué),2010年),現(xiàn)執(zhí)教于北京郵電大學(xué)信息與通信工程學(xué)院,長(zhǎng)期從事信號(hào)處理理論及實(shí)際開發(fā)的教學(xué)與研究工作,發(fā)表多篇相關(guān)學(xué)術(shù)論文。 田耘,獲得電子信息工程專業(yè)學(xué)士學(xué)位(北京郵電大學(xué),2006年)、信號(hào)與信息處理專業(yè)碩士學(xué)位(北京郵電大學(xué),2009年),一直從事信號(hào)處理領(lǐng)域中的FPGA技術(shù)開發(fā),著有多部FPGA相關(guān)技術(shù)圖書。
書籍目錄
1.2.3軟核、硬核及固核
1.2.4Xilinx主流FPGA
1.3Xilinx軟件工具
1.3.1ISE Foundation軟件
1.3.2EDK開發(fā)工具
1.3.3System Generator DSP工具
1.3.4ChipScope Pro
1.3.5PlanAhead
1.4本書案例驗(yàn)證平臺(tái)--S6 CARD開發(fā)板
1.4.1S6 CARD開發(fā)板的組成與功能
1.4.2S6 CARD板卡引腳約束說明
本章小結(jié)
第2章Verilog HDL開發(fā)基礎(chǔ)與進(jìn)階
2.1Verilog HDL語言
2.1.1Verilog HDL語言的歷史
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語言的數(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語言的描述語句
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來實(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器件原語的使用
本章小結(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配置失敗的常見問題
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文件的語法說明
4.4.3引腳和區(qū)域約束語法
4.4.4時(shí)序約束語法
4.5調(diào)試?yán)?-ChipScope Pro
4.5.1ChipScope Pro工作原理
4.5.2ChipScope Pro操作流程
4.5.3ChipScope Pro開發(fā)實(shí)例
4.6ISE與第三方EDA軟件
4.6.1ModelSim軟件的使用
4.6.2ModelSim和ISE的聯(lián)合開發(fā)流程
4.6.3MATLAB軟件的使用
4.6.4ISE與MATLAB的聯(lián)合使用
4.6.5MATLAB、ModelSim和ISE聯(lián)合開發(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章邏輯開發(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接口開發(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的可編程嵌入式開發(fā)系統(tǒng)
7.1.2Xilinx公司的解決方案
7.2Xilinx嵌入式開發(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è)開發(fā)實(shí)例
7.5.5其他外設(shè)開發(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開發(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ā)器原理與開發(fā)
10.3.1Rocket I/O硬核組成與工作原理
10.3.2GTP硬核組成與工作原理
10.3.3GTP Wizard開發(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)
章節(jié)摘錄
版權(quá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的概念。通過Power PC、Miroblaze、Pieoblaze等處理器平臺(tái),能夠開發(fā)標(biāo)準(zhǔn)的DSP處理器及其相關(guān)應(yīng)用,達(dá)到SoC的開發(fā)目的。 1.2.3軟核、硬核及固核 IP(Intelligent Property)核是具有知識(shí)產(chǎn)權(quán)核的集成電路芯核總稱,是經(jīng)過反復(fù)驗(yàn)證過的、具有特定功能的宏模塊,與芯片制造工藝無關(guān),可以移植到不同的半導(dǎo)體工藝中。到了SoC階段,IP核設(shè)計(jì)已成為ASIC電路設(shè)計(jì)公司和FPGA提供商的重要任務(wù),也是其實(shí)力體現(xiàn)。對(duì)于FPGA開發(fā)軟件,其提供的IP核越豐富,用戶的設(shè)計(jì)就越方便,其市場(chǎng)占有率就越高。目前,IP核已經(jīng)變成系統(tǒng)設(shè)計(jì)的基本單元,并作為獨(dú)立設(shè)計(jì)成果被交換、轉(zhuǎn)讓和銷售。 從IP核的提供方式上,通常將其分為軟核、硬核和固核三類。從完成IP核所花費(fèi)的成本來講,硬核代價(jià)最大;從使用靈活性來講,軟核的可復(fù)用性最高。在FPGA領(lǐng)域中,最常用的是軟核和硬核這兩類IP。 1.軟核 軟核在EDA設(shè)計(jì)領(lǐng)域指的是綜合之前的寄存器傳輸級(jí)(RTL)模型;具體在FPGA設(shè)計(jì)中指的是對(duì)電路的硬件語言描述,包括邏輯描述、網(wǎng)表和幫助文檔等。軟核只經(jīng)過功能仿真,需要經(jīng)過綜合以及布局布線才能使用。其優(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公司一直以來提供的軟核IP資源比其他廠家都更為豐富,全部集成在開發(fā)組件Core Generator中,本書將在4.2.4節(jié)對(duì)其進(jìn)行詳細(xì)說明。 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)表,再通過布局布線工具即可使用。和軟核相比,固核的設(shè)計(jì)靈活性稍差,但在可靠性上有較大提高。目前,固核也是IP核的主流形式之一。
編輯推薦
《Xilinx FPGA開發(fā)實(shí)用教程(第2版)》適合作為電子信息工程、通信工程、自動(dòng)化、計(jì)算機(jī)科學(xué)與技術(shù)等相關(guān)專業(yè)的高年級(jí)本科生及研究生的教學(xué)用書,也可以作為從事FPGA設(shè)計(jì)工作的工程師的參考圖書。
圖書封面
評(píng)論、評(píng)分、閱讀與下載
Xilinx FPGA開發(fā)實(shí)用教程 PDF格式下載