出版時間:2008-11 出版社:清華大學出版社 作者:田耘,徐文波 編著 頁數:609
Tag標簽:無
前言
2007年10月份,作者有幸聆聽了Xilinx公司全球CTO Ivo Bolsens先生在清華大學題為“FPGA: The future platform for transforming, transporting and computing”的演講,感觸頗深。Ivo先生指出了FPGA的三大應用領域: 數字處理中的信號變換、高速交換中的數據收發(fā)以及求解中的復雜計算。作者本人雖然已有多年的FPGA開發(fā)經驗,但還是第一次聽到如此精辟的總結,隨即想到深入了解并推廣這種實用且精辟的FPGA開發(fā)理念??疾炝嗽S久,我們發(fā)現市場上沒有此類相關書籍,且已有書籍比較偏重于單一軟件的操作或HDL語言的講解,因此就萌生了編寫一本書,從系統(tǒng)開發(fā)的角度,以軟、硬件結合的方式來闡述先進的FPGA開發(fā)理念。于是經過半年的思索、查閱資料、和相關專家大量討論以及反復修改,便有了這本書的誕生,以期起到拋磚引玉的作用。Xilinx公司是最早也是最大的FPGA生產商,其芯片設計技術、開發(fā)軟件和相關解決方案在業(yè)界屬于頂級水平,擁有廣泛的客戶群。本書主要講述了Xilinx FPGA的開發(fā)知識,包括FPGA開發(fā)簡介、Verilog HDL語言基礎、基于Xilinx芯片的HDL語言高級進階、ISE開發(fā)環(huán)境使用指南、FPGA配置電路及軟件操作、在線邏輯分析儀ChipScope的使用、基于FPGA的數字信號處理技術、基于System Generator的DSP系統(tǒng)開發(fā)技術、基于FPGA的可編程嵌入式開發(fā)技術、基于FPGA的高速數據連接技術和時序分析原理以及時序分析器的使用共11章內容,各章均以實例為基礎,涵蓋了FPGA開發(fā)的主要方面。由于篇幅所限,我們沒有在本書中給出一個完整的工程實例。為了彌補這一缺陷,我們Xilinx FPGA開源社區(qū)Openhard網站中附帶了本書所有的實例,期望本書能夠幫助提高讀者的工程開發(fā)能力?! ∪珪髡掠商镌?、徐文波完成,孫霏菲參與了第7章的編寫工作。此外,在成文過程中,我們參考了較多的書籍、論文和網絡文獻,向其作者表示深深的謝意。Xilinx公司中國區(qū)大學計劃經理謝凱年博士在百忙之中為本書作序,并提供了硬件實驗環(huán)境; Xilinx公司亞太區(qū)公共關系經理張俊偉女士一直關心、鼓勵作者,并最終促成本書成稿。與非網科技的賀瀟荃先生、陶丹博士等在成書過程中給予了我們諸多良好的建議和幫助; 清華大學出版社的王一玲編輯為本書的修改付出了許多勞動,并給出許多中肯的修改意見,感謝他們?yōu)楸緯龅呢暙I?! ”緯m合從事Xilinx系列FPGA設計和開發(fā)的工程師,以及相關專業(yè)的研究生和高年級本科生使用。毫無疑問,市場上已經有很多關于FPGA設計的書籍,我們也不認為本書是其中最重要的一本,但我們意識到,FPGA開發(fā)一定要結合芯片特點以及提供商的諸多建議和協(xié)議,只有這樣才能真正掌握其開發(fā)之道。 書中的全部內容都是實際項目硬件和Xilinx公司各類文檔、書籍的結合體,全部信息幾乎都可以從Xilinx網站以及Google上找到淵源,不過我們仍然向您推薦本書,因為網絡的信息是分散的、雜亂的,且正確性不是100%的,本書各章內容的安排是從大量的實踐中總結出來的,循序漸進,條理清楚,且都經過作者驗證。我們的目的就是從Ivo Bolsens先生的觀點出發(fā),結合項目開發(fā),將網絡上盡可能多的相關信息以相對較高的質量組合起來。
內容概要
本書系統(tǒng)講述了Xilinx FPGA的開發(fā)知識,包括FPGA開發(fā)簡介、Verilog HDL語言基礎、基于Xilinx芯片的HDL語言高級進階、ISE開發(fā)環(huán)境使用指南、FPGA配置電路及軟件操作、在線邏輯分析儀ChipScope的使用、基于FPGA的數字信號處理技術、基于System Generator的DSP系統(tǒng)開發(fā)技術、基于FPGA的可編程嵌入式開發(fā)技術、基于FPGA的高速數據連接技術和時序分析原理以及時序分析器的使用11章內容,各章均以實例為基礎,涵蓋了FPGA開發(fā)的主要方面。 本書適合從事Xilinx系列FPGA設計與開發(fā)的工程師,以及相關專業(yè)的研究生和高年級本科生使用。
書籍目錄
第1章 FPGA開發(fā)簡介 1.1 可編程邏輯器件基礎 1.1.1 可編程邏輯器件概述 1.1.2 可編程邏輯器件的發(fā)展歷史 1.1.3 PLD開發(fā)工具 1.2 FPGA芯片結構 1.2.1 FPGA工作原理與簡介 1.2.2 FPGA芯片結構 1.2.3 軟核、硬核以及固核的概念 1.3 基于FPGA的開發(fā)流程 1.3.1 FPGA設計方法概論 1.3.2 典型FPGA開發(fā)流程 1.3.3 基于FPGA的SOC設計方法 1.4 Xilinx公司主流可編程邏輯器件簡介 1.4.1 Xilinx FPGA芯片介紹 1.4.2 Xilinx PROM芯片介紹 1.5 本章小結第2章 Verilog HDL語言基礎 2.1 Verilog HDL語言簡介 2.1.1 Verilog HDL語言的歷史 2.1.2 Verilog HDL的主要能力 2.1.3 Verilog HDL和VHDL的區(qū)別 2.1.4 Verilog HDL設計方法 2.2 Verilog HDL基本程序結構 2.3 Verilog HDL語言的數據類型和運算符 2.3.1 標志符 2.3.2 數據類型 2.3.3 模塊端口 2.3.4 常量集合 2.3.5 運算符和表達式 2.4 Verilog HDL語言的描述語句 2.4.1 結構描述形式 2.4.2 數據流描述形式 2.4.3 行為描述形式 2.4.4 混合設計模式 2.5 Verilog代碼書寫規(guī)范 2.5.1 信號命名規(guī)則 2.5.2 模塊命名規(guī)則 2.5.3 代碼格式規(guī)范 2.5.4 模塊調用規(guī)范 2.6 Verilog常用程序示例 2.6.1 Verilog基本模塊 2.6.2 基本時序處理模塊 2.6.3 常用數字處理算法的Verilog實現 2.7 本章小結第3章 基于Xilinx芯片的HDL語言高級進階 3.1 面向硬件電路的設計思維 3.1.1 面向硬件的程序設計思維 3.1.2 “面積”和“速度”的轉換原則 3.1.3 同步電路的設計原則 3.1.4 模塊劃分的設計原則 3.2 優(yōu)秀的HDL代碼風格 3.2.1 代碼風格的含義 3.2.2 通用代碼風格的介紹 3.2.3 專用代碼風格的簡要說明 3.3 Verilog建模與調試技巧 3.3.1 雙向端口的使用和仿真 3.3.2 阻塞賦值與非阻塞賦值 3.3.3 輸入值不確定的組合邏輯電路 3.3.4 數學運算中的擴位與截位操作 3.3.5 利用塊RAM來實現數據延遲 3.3.6 測試向量的生成 3.4 Xilinx公司原語的使用方法 3.4.1 計算組件 3.4.2 時鐘組件 3.4.3 配置和檢測組件 3.4.4 吉比特收發(fā)器組件 3.4.5 I/O端口組件 3.4.6 處理器組件 3.4.7 RAM/ROM組件 3.4.8 寄存器和鎖存器 3.4.9 移位寄存器組件 3.4.10 Slice/CLB組件 3.5 本章小結第4章 ISE開發(fā)環(huán)境使用指南第5章 FPGA配置電路及軟件操作第6章 在線邏輯分析儀ChipScope的使用第7章 基于FPGA的數字信號處理技術第8章 基于System Generator的DSP系統(tǒng)開發(fā)技術第9章 基于FPGA的可編程嵌入式開發(fā)技術第10章 基于FPGA的高速數據連接技術第11章 時序分析原理以及時序分析器的使用縮略語參考文獻
章節(jié)摘錄
插圖:第1章 FPGA開發(fā)簡介FPGA(Field Programmable Gate Array)即現場可編程門陣列,屬于可編程邏輯器件的一種,在20世紀90年代獲得突飛猛進的發(fā)展。經過近20年的發(fā)展,到目前它已成為實現數字系統(tǒng)的主流平臺之一。本章主要介紹FPGA的起源、發(fā)展歷史、芯片結構、工作原理、開發(fā)流程以及Xilinx公司的主要可編程芯片,為讀者提供FPGA系統(tǒng)設計的基礎知識。1.1 可編程邏輯器件基礎1.1.1 可編程邏輯器件概述可編程邏輯器件(Programmable Logic Device,PLD)起源于20世紀70年代,是在專用集成電路(ASIC)的基礎上發(fā)展起來的一種新型邏輯器件,是當今數字系統(tǒng)設計的主要硬件平臺,其主要特點就是完全由用戶通過軟件進行配置和編程,從而完成某種特定的功能,且可以反復擦寫。在修改和升級PLD時,不需額外地改變PCB電路板,只是在計算機上修改和更新程序,使硬件設計工作成為軟件開發(fā)工作,縮短了系統(tǒng)設計的周期,提高了實現的靈活性并降低了成本,因此獲得了廣大硬件工程師的青睞,形成了巨大的PLD產業(yè)規(guī)模。目前常見的PLD產品有編程只讀存儲器(Programmable Read Only Memory,PROM)、現場可編程邏輯陣列(Field Programmable Logic Array,FPLA)、可編程陣列邏輯(Programmable Array Logic,PAL)、通用陣列邏輯(Generic Array Logic,GAL)、可擦除的可編程邏輯陣列(Erasable Programmable Logic Array,EPLA)、復雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)和現場可編程門陣列等類型。PLD器件從規(guī)模上又可以細分為簡單PLD(SPLD)、復雜PLD(CPLD)以及FPGA。它們內部結構的實現方法各不相同。可編程邏輯器件按照顆粒度可以分為3類:①小顆粒度(如“門海(sea of gates)”架構);②中等顆粒度(如FPGA);③大顆粒度(如CPLD)。按照編程工藝可以分為4類:①熔絲(Fuse)和反熔絲(Antifuse)編程器件;②可擦除的可編程只讀存儲器(UEPROM)編程器件;③電信號可擦除的可編程只讀存儲器(EEPROM)編程器件(如CPLD);④SRAM編程器件(如FPGA)。在工藝分類中,前3類為非易失性器件,編程后,配置數據保留在器件上;第4類為易失性器件,掉電后,配置數據會丟失,因此在每次上電后需要重新進行數據配置。
編輯推薦
Xilinx公司是最早也是最大的FPGA生產商,其芯片設計技術、開發(fā)軟件和相關解決方案在業(yè)界屬于頂級水平,擁有廣泛的客戶群。期望《Xilinx FPGA開發(fā)實用教程》能夠提高讀者的工程開發(fā)能力。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載