出版時間:2012-7 出版社:清華大學出版社 作者:徐文波,田耘 編著 頁數(shù):499 字數(shù):762000
前言
賽靈思(Xilinx)公司作為可編程器件(PLD)的領導廠商,占有超過50%的市場份額,為客戶提供可編程邏輯芯片(CPLD、FPGA和PROM)、軟件設計工具、不同等級的知識產(chǎn)權核(IP Core)以及系統(tǒng)級的完整解決方案?! ‰S著工藝和設計水平的不斷提高,F(xiàn)PGA在數(shù)字系統(tǒng)中所扮演的角色也從邏輯膠合者提升到處理核心。從2006年起,賽靈思公司的FPGA就涵蓋了邏輯應用、數(shù)字信號處理以及嵌入式三大應用領域。到目前為止,賽靈思已成為完整的解決方案提供者。例如,量產(chǎn)的Spartan 6系列FPGA采用45nm工藝,廣泛應用在中低規(guī)模系統(tǒng)中,如機器視覺、機頂盒以及廣泛的多媒體處理等; 量產(chǎn)的Virtex?5/6系列FPGA分別采用65nm、40nm工藝,主要面向高端應用,如高速互聯(lián)網(wǎng)絡、無線通信、寬帶接入以及汽車工業(yè)等。28nm的7系列FPGA(Artix、Kintex和Virtex三個低、中、高系列)也已逐漸量產(chǎn),進一步提升FPGA系統(tǒng)設計能力。此外,Zynq?7000可擴展處理平臺(EPP)將ARM Cortex?A9 雙核處理器系統(tǒng)與可編程邏輯緊密集成在一起,為業(yè)界帶來革命性的創(chuàng)新解決方案?! 』谫愳`思公司的領先技術,更多的工程師和研究人員已加入到賽靈思FPGA的開發(fā)隊伍中。在過去四年中,賽靈思公司通過大學和開源社區(qū)OpenHard,開展了三屆開源硬件創(chuàng)新大賽以及多個網(wǎng)絡研討會,但切入點都比較零散,不能形成系統(tǒng)化知識體系?!禭ilinx FPGA開發(fā)實用教程》第一版于2008年出版,彌補了上述不足,幫助廣大技術人員、在校的研究生和高年級本科生盡快掌握Xilinx FPGA的開發(fā)流程,連續(xù)印刷4次,深受讀者歡迎。由于FPGA技術發(fā)展迅速,因此作者更新了原書內容,并以最新的ISE13.x版本和量產(chǎn)的6系列器件為例進行介紹,更加符合FPGA發(fā)展趨勢?! ≌w而言,本書具有以下三項特色: 首先,從邏輯設計、數(shù)字信號處理、嵌入式系統(tǒng)設計和高速連接四個方面系統(tǒng)地介紹了Xilinx FPGA的開發(fā)與應用,條理清晰、思路明確,符合FPGA目前和未來的發(fā)展趨勢; 其次,較為詳細地介紹了Xilinx FPGA的開發(fā)技巧,融入了作者的工程開發(fā)經(jīng)驗,對于初學者和工程開發(fā)人員來講都具有較強的可讀性; 最后,極為全面地介紹了賽靈思公司的ISE、System Generator以及EDK開發(fā)軟件,非常系統(tǒng)和完整?! ∫虼?,對于在校研究生、高年級本科生及從事FPGA開發(fā)的工程師來說,本書是一本較為理想的EDA教材和工程工具書,我鄭重地將其推薦給大家!希望通過本書的出版,使更多的讀者掌握賽靈思FPGA的開發(fā)技能,更好地促進FPGA開發(fā)技術的普及和推廣?! ≠愳`思(Xilinx)公司中國區(qū)大學計劃經(jīng)理謝凱年博士2012年6月
內容概要
本書系統(tǒng)地論述了Xilinx FPGA開發(fā)方法、開發(fā)工具、實際案例及開發(fā)技巧,內容涵蓋Xilinx器件概述、Verilog
HDL開發(fā)基礎與進階、Xilinx FPGA電路原理與系統(tǒng)設計、基于ISE
Foundation的邏輯設計、時序分析、邏輯開發(fā)專題、基于EDK的嵌入式系統(tǒng)設計、基于System
Generator的DSP系統(tǒng)設計、數(shù)字信號處理專題以及SERDES技術專題共10章。各章均以實戰(zhàn)開發(fā)為目的,結合最新版本的軟硬件特征,覆蓋了FPGA的各主要應用領域。配套光盤中包含了書中所有的實例代碼,便于讀者快速動手實踐。書中融匯了作者多年的工程開發(fā)經(jīng)驗,希望能夠極力幫助讀者提高工程開發(fā)能力。
本書適合作為電子信息工程、通信工程、自動化、計算機科學與技術等相關專業(yè)的高年級本科生及研究生的教學用書,也可以作為從事FPGA設計工作的工程師的參考圖書。
作者簡介
徐文波,獲得信息工程專業(yè)學士學位(北京郵電大學,2005年)、信號與信息處理專業(yè)博士學位(北京郵電大學,2010年),現(xiàn)執(zhí)教于北京郵電大學信息與通信工程學院,長期從事信號處理理論及實際開發(fā)的教學與研究工作,發(fā)表多篇相關學術論文。 田耘,獲得電子信息工程專業(yè)學士學位(北京郵電大學,2006年)、信號與信息處理專業(yè)碩士學位(北京郵電大學,2009年),一直從事信號處理領域中的FPGA技術開發(fā),著有多部FPGA相關技術圖書。
書籍目錄
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本書案例驗證平臺--S6 CARD開發(fā)板
1.4.1S6 CARD開發(fā)板的組成與功能
1.4.2S6 CARD板卡引腳約束說明
本章小結
第2章Verilog HDL開發(fā)基礎與進階
2.1Verilog HDL語言
2.1.1Verilog HDL語言的歷史
2.1.2Verilog HDL的主要功能
2.1.3Verilog HDL和VHDL的區(qū)別
2.1.4Verilog HDL設計方法
2.2Verilog HDL基本程序結構
2.3Verilog HDL語言的數(shù)據(jù)類型和運算符
2.3.1標志符
2.3.2數(shù)據(jù)類型
2.3.3模塊端口
2.3.4常量集合
2.3.5運算符和表達式
2.4Verilog HDL語言的描述語句
2.4.1結構描述形式
2.4.2數(shù)據(jù)流描述形式
2.4.3行為描述形式
2.4.4混合設計模式
2.5Verilog HDL建模與調試技巧
2.5.1雙向端口的使用和仿真
2.5.2阻塞賦值與非阻塞賦值
2.5.3輸入值不確定的組合邏輯電路
2.5.4數(shù)學運算中的擴位與截位操作
2.5.5利用塊RAM來實現(xiàn)數(shù)據(jù)延遲
2.5.6測試向量的生成
2.6Verilog HDL常用程序示例
2.6.1數(shù)字電路中基本單元的FPGA實現(xiàn)
2.6.2基本時序處理模塊
2.7Xilinx器件原語的使用
本章小結
第3章Xilinx FPGA電路原理與系統(tǒng)設計
3.1FPGA配置電路
3.1.1Xilinx FPGA配置電路
3.1.2Xilinx FPGA常用的配置引腳
3.1.3Xilinx FPGA配置電路分類
3.2JTAG電路的原理與設計
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中引導數(shù)據(jù)
3.5.2硬件電路設計方法
3.5.3軟件操作流程
本章小結
第4章基于ISE Foundation的邏輯設計
4.1ISE套件
4.1.1ISE的特點
4.1.2ISE的功能
4.1.3ISE的安裝
4.1.4ISE的用戶界面
4.2基于ISE的設計輸入
4.2.1新建工程
4.2.2代碼輸入
4.2.3代碼模板的使用
4.2.4Xilinx IP Core的原理與應用
4.3ISE基本操作
4.3.1基于Xilinx XST的綜合
4.3.2基于ISim的仿真
4.3.3基于ISE的實現(xiàn)
4.3.4基于目標和策略的設計方法
4.3.5基于SmartGuide的設計方法
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時序約束語法
4.5調試利器--ChipScope Pro
4.5.1ChipScope Pro工作原理
4.5.2ChipScope Pro操作流程
4.5.3ChipScope Pro開發(fā)實例
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ā)實例
本章小結
第5章時序分析
5.1時序分析的作用和原理
5.1.1時序分析的作用
5.1.2靜態(tài)時序分析原理
5.1.3時序分析的基礎知識
5.2Xilinx FPGA中的時鐘資源
5.2.1全局時鐘資源
5.2.2第二全局時鐘資源
5.3ISE時序分析器
5.3.1時序分析器的特點
5.3.2時序分析器的文件類型
5.3.3時序分析器的調用與用戶界面
5.3.4提高時序性能的手段
本章小結
第6章邏輯開發(fā)專題
6.1Verilog HDL設計進階
6.1.1面向硬件的程序設計思維
6.1.2“面積”和“速度”的轉換原則
6.1.3同步電路的設計原則
6.2Xilinx FPGA芯片底層單元的使用
6.2.1Xilinx全局時鐘網(wǎng)絡的使用
6.2.2CMT時鐘管理模塊的使用
6.2.3Xilinx內嵌塊存儲器的使用
6.2.4硬核乘加器的使用
6.3代碼風格
6.3.1代碼風格的含義
6.3.2代碼書寫風格
6.3.3通用設計代碼風格
6.3.4Xilinx專用設計代碼風格
6.4UART接口開發(fā)實例
6.4.1串口接口與RS?232協(xié)議
6.4.2串口通信控制器的Verilog HDL實現(xiàn)
6.4.3RS?232設計板級調試
本章小結
第7章基于EDK的嵌入式系統(tǒng)設計
7.1可配置嵌入式系統(tǒng)(EDK)
7.1.1基于FPGA的可編程嵌入式開發(fā)系統(tǒng)
7.1.2Xilinx公司的解決方案
7.2Xilinx嵌入式開發(fā)系統(tǒng)組成
7.2.1片內微處理器軟核MicroBlaze
7.2.2PLB總線系統(tǒng)結構
7.2.3IP核以及設備驅動
7.3EDK軟件
7.3.1EDK設計的實現(xiàn)流程
7.3.2EDK的文件管理架構
7.4XPS軟件典型操作
7.4.1XPS的啟動
7.4.2利用BSB創(chuàng)建新工程
7.4.3XPS的用戶界面
7.4.4XPS的目錄結構與硬件平臺
7.4.5在XPS加入IP Core
7.4.6XPS工程的綜合與實現(xiàn)
7.5SDK軟件典型操作
7.5.1SDK的用戶界面
7.5.2SDK的典型操作
7.5.3IP外設的API函數(shù)查閱和使用方法
7.5.4GPIO外設開發(fā)實例
7.5.5其他外設開發(fā)實例
本章小結
第8章基于System Generator的DSP系統(tǒng)設計
8.1System Generator的特點與安裝
8.1.1System Generator的主要特點
8.1.2System Generator的安裝和配置
8.2System Generator的使用基礎
8.2.1System Generator開發(fā)流程
8.2.2Simulink的應用
8.3基于System Generator的DSP系統(tǒng)設計
8.3.1System Generator的應用
8.3.2System Generator中的信號類型
8.3.3自動代碼生成
8.3.4編譯MATLAB設計生成FPGA代碼
8.3.5子系統(tǒng)的建立與ISE調用
8.4基于System Generator的硬件協(xié)仿真
8.4.1硬件協(xié)仿真平臺的特點與平臺安裝
8.4.2硬件協(xié)仿真的基本操作
8.4.3共享存儲器的操作
8.5System Generator的高級應用
8.5.1導入外部的HDL程序模塊
8.5.2設計在線調試
8.5.3系統(tǒng)中的多時鐘設計
8.5.4FPGA設計的高級技巧
本章小結
第9章數(shù)字信號處理專題
9.1數(shù)字信號
9.1.1數(shù)字信號的產(chǎn)生
9.1.2采樣定理
9.1.3數(shù)字系統(tǒng)的主要性能指標
9.1.4A/D轉換的字長效應
9.2常用DSP IP Core及其應用
9.2.1DDS模塊IP Core的應用
9.2.2FFT算法IP Core的應用
9.2.3Cordic算法IP Core的應用
9.2.4FIR濾波器IP Core的應用
9.3多速率濾波器的FPGA實現(xiàn)
9.3.1多速率信號處理的意義
9.3.2多速率信號濾波器的基本操作
9.3.3CIC濾波器的FPGA實現(xiàn)
9.3.4HB濾波器的FPGA實現(xiàn)
本章小結
第10章SERDES技術專題
10.1高速數(shù)據(jù)連接功能
10.1.1高速數(shù)據(jù)傳輸
10.1.2Xilinx公司高速連接功能的解決方案
10.2實現(xiàn)吉比特高速串行I/O的相關技術
10.2.1吉比特高速串行I/O的特點和應用
10.2.2吉比特串行I/O系統(tǒng)的組成
10.2.3吉比特串行I/O的設計要點
10.3Rocket I/O收發(fā)器原理與開發(fā)
10.3.1Rocket I/O硬核組成與工作原理
10.3.2GTP硬核組成與工作原理
10.3.3GTP Wizard開發(fā)實例
10.4PCI?Express G1端點接口設計
10.4.1PCI Express G1技術
10.4.2Xilinx PCI Express G1端點模塊
10.4.3PCI Express G1端點接口實例解讀
本章小結
參考文獻
章節(jié)摘錄
版權頁: 插圖: 7.內嵌專用硬核 內嵌專用硬核是相對底層嵌入的軟核而言的,指FPGA處理能力強大的硬核(Hard Core),等效于ASIC電路。為了提高FPGA性能,芯片生產(chǎn)商在芯片內部集成了一些專用的硬核。例如,為了提高FPGA的乘法速度,主流的FPGA中都集成了專用乘法器;為了適用通信總線與接口標準,很多高端的FPGA內部都集成了串并收發(fā)器(SERDES),可以達到數(shù)十吉比特/秒的收發(fā)速度。 例如,Xilinx公司的高端產(chǎn)品不僅集成了Power PC或者ARM A9系列高性能CPU,還內嵌了DSP Core模塊,其相應的系統(tǒng)級設計工具是EDK和Platform Studio,并以此提出了片上系統(tǒng)SoC的概念。通過Power PC、Miroblaze、Pieoblaze等處理器平臺,能夠開發(fā)標準的DSP處理器及其相關應用,達到SoC的開發(fā)目的。 1.2.3軟核、硬核及固核 IP(Intelligent Property)核是具有知識產(chǎn)權核的集成電路芯核總稱,是經(jīng)過反復驗證過的、具有特定功能的宏模塊,與芯片制造工藝無關,可以移植到不同的半導體工藝中。到了SoC階段,IP核設計已成為ASIC電路設計公司和FPGA提供商的重要任務,也是其實力體現(xiàn)。對于FPGA開發(fā)軟件,其提供的IP核越豐富,用戶的設計就越方便,其市場占有率就越高。目前,IP核已經(jīng)變成系統(tǒng)設計的基本單元,并作為獨立設計成果被交換、轉讓和銷售。 從IP核的提供方式上,通常將其分為軟核、硬核和固核三類。從完成IP核所花費的成本來講,硬核代價最大;從使用靈活性來講,軟核的可復用性最高。在FPGA領域中,最常用的是軟核和硬核這兩類IP。 1.軟核 軟核在EDA設計領域指的是綜合之前的寄存器傳輸級(RTL)模型;具體在FPGA設計中指的是對電路的硬件語言描述,包括邏輯描述、網(wǎng)表和幫助文檔等。軟核只經(jīng)過功能仿真,需要經(jīng)過綜合以及布局布線才能使用。其優(yōu)點是靈活性高、可移植性強,允許用戶自配置;缺點是對模塊的預測性較低,在后續(xù)設計中存在發(fā)生錯誤的可能性,有一定的設計風險。軟核是IP核應用最廣泛的形式。 Xilinx公司一直以來提供的軟核IP資源比其他廠家都更為豐富,全部集成在開發(fā)組件Core Generator中,本書將在4.2.4節(jié)對其進行詳細說明。 2.固核 固核在EDA設計領域指的是帶有平面規(guī)劃信息的網(wǎng)表;具體在FPGA設計中可以看做帶有布局規(guī)劃的軟核,通常以RTL代碼和對應具體工藝網(wǎng)表的混合形式提供。將RTL描述結合具體標準單元庫進行綜合優(yōu)化設計,形成門級網(wǎng)表,再通過布局布線工具即可使用。和軟核相比,固核的設計靈活性稍差,但在可靠性上有較大提高。目前,固核也是IP核的主流形式之一。
編輯推薦
《Xilinx FPGA開發(fā)實用教程(第2版)》適合作為電子信息工程、通信工程、自動化、計算機科學與技術等相關專業(yè)的高年級本科生及研究生的教學用書,也可以作為從事FPGA設計工作的工程師的參考圖書。
圖書封面
評論、評分、閱讀與下載