內容簡介
本書內容包括:FPGA與嵌入式系統的一般概念;主流硬體描述語言VerilogHDL和VHDL的介紹;FPGA主要設計流程中各個環節中最優秀的工具使用嚮導;從原理上設計一個RISCCPU;著重介紹SOPC技術中的最流行的兩個嵌入式CPU軟核NIOS和NIOSII的設計嚮導,以及與其緊密相關的作業系統的移植和系統的編程和配置技術;深入地剖析了往往被廣大設計者所忽略的FPGA嵌入式系統設計的同步設計問題,並且以兩個非常典型的實例進行說明;同時也對PicoBlaze處理器IP核的開發與套用進行了介紹。
編輯推薦
本書立足於實踐,可以作為電子類各專業本科生和研究生的教學用書,也可供電子類相關領域工程技術人員以及電子工程類各專業學生參考。
目錄
第1章概述
1.1EDA技術及其特徵
1.1.1EDA技術基本概念
1.1.2EDA技術實現目標
1.1.3EDA技術的特徵
1.1.4EDA的基本工具
1.2EDA技術的發展歷程
1.3FPGA與CPLD簡介
1.3.1引言
1.3.2早期的PLD
1.3.3CPLD簡介
1.3.4FPGA簡介
1.3.5其他類型的FPGA和PLD
1.3.6選擇CPLD還是FPGA?
1.4EDA技術中幾個重要的概念
第2章常用的FPGA與嵌入式系統器件
2.1PLD廠商概述
2.2Altera公司器件
2.2.1主流PLD產品
2.2.2主流FPGA產品
2.2.3FPGA配置晶片
2.2.4NoisⅡ軟處理器
2.3Xilinx公司器件
2.3.1主流PLD產品
2.3.2主流FPGA產品
2.4Lattice公司器件
2.4.1主流PLD產品
2.4.2主流FPGA產品
2.4.3數模混合產品
2.5Actel公司器件
2.6QuickLogic公司器件
第3章硬體描述教程
3.1HDL的現狀與發展
3.1.1HDL發展狀況
3.1.2幾種代表性的HDL語言
3.1.3各種HDL的體系結構和設計方法
3.1.4目前可取可行的策略和方式
3.1.5國內發展的戰略選擇
3.2Verilog語言
3.2.1Verilog語言要素
3.2.2Verilog表達式
3.2.3模組
3.2.4延遲
3.2.5數據流描述方式
3.2.6結構化描述方式
3.2.7混合設計描述方式
3.2.8設計模擬
3.2.9行為描述方式
3.3VHDL
3.3.1VHDL的基本結構
3.3.2VHDL的設計實體
3.3.3VHDL中的對象和數據類型
3.3.4行為描述
3.3.5結構描述
3.4Vetilog與VHDL比較
3.5HDL編程風格
3.5.1檔案頭和修訂列表
3.5.2命名規則
3.5.3HDL編碼指導
3.5.4Verilog編碼指導原則
3.5.5VHDL代碼指導原則
第4章FPGA設計工具介紹
4.1QuartusⅡ綜合IDE的使用
4.1.1頂層VHDL檔案設計
4.1.2正弦信號數據ROM定製
4.2DSPBuilder設計嚮導
4.2.1可控正弦信號發生器設計
4.2.2MATLAB視窗使用嵌入式邏輯分析儀SignalTapⅡ(自動設計流程)
4.3使用ModelSim進行設計仿真
4.3.1啟動ModelSim
4.3.2建立仿真工程項目
4.3.3編輯仿真
4.3.4裝載仿真模組和仿真庫
4.3.5執行仿真
第5章FPGA與嵌入式系統
5.1嵌人式系統的定義與發展歷史
5.1.1現代計算機的技術發展
5.1.2嵌入式系統的定義與特點
5.1.3嵌入式系統的獨立發展道路
5.1.4嵌入式系統的兩種套用模式
5.2嵌入式系統的基本特徵
5.2.1嵌入式系統工業是不可壟斷的高度分散的工業
5.2.2嵌入式系統具有的產品特徵
5.2.3嵌入式系統軟體的特徵
5.2.4嵌入式系統需要專用開發工具和環境
5.2.5嵌入式系統軟體需要RTOS開發平台
5.3嵌入式系統的基本組成
5.4嵌入式處理器的分類
5.4.1嵌入式微處理器
5.4.2嵌入式微控制器
5.4.3嵌入式DSP處理器
5.4.4嵌入式片上系統
5.4.5RTOS
5.5FPGA在嵌入式系統中的地位和作用
5.5.1在FPGA中實現RISC處理器核心
5.5.2在FPGA中實現高速DSP算法
5.5.3在FPGA中嵌入ASIC模組
5.5.4在FPGA中實現數字IPCore
5.6基於FPGA的嵌入式系統設計方法
第6章IP核心復用與SoC和SOPC
6.1IP核心基本概念與現狀
6.1.1IP核心基本概念
6.1.2IP核心產業的三類主體
6.1.3設計復用相關的組織
6.1.4IP核心的現狀
6.2Soc單片系統
6.2.1CoreConnect匯流排
6.2.2AMBA匯流排
6.2.3Wishbone匯流排
6.3SOPC及其技術
6.3.1基於FPGA嵌入IP硬核的SOPC系統
6.3.2基於FPGA嵌入IP軟核的SOPC系統
6.3.3基於HardCopy技術的SOPC系統
6.4基於FPGA和SOPC技術的處理器
6.5基於FPGA和SOPC技術的DSP
6.6FFTMegaCore核函式
6.6.1FFTMegaCore核函式簡介
6.6.2FFTMegaCore核函式的套用
6.6.3FFTMegaCore核函式規範
第7章簡化RISCCPU設計
7.1RISCCPU結構
7.1.1時鐘發生器
7.1.2指令暫存器
7.1.3累加器
7.1.4算術運算器
7.1.5數據控制器
7.1.6地址多路器
7.1.7程式計數器
7.1.8狀態控制器
7.1.9外圍模組
7.2RISCCPU定址方式和指令系統
7.3RISCCPU模組的調試
7.3.1RISCCPU模組的前仿真
7.3.2RISCCPU模組的綜合
7.3.3RISCCPU模組的最佳化與布局布線
第8章Nios嵌入式系統開發嚮導
8.1Nios軟硬體開發流程
8.2Nios硬體開發流程
8.2.1新建SOPC設計項目
8.2.2基本SOPC系統介紹
8.2.3加入NiosCPUCore
8.2.4加入boot-monitor-rom
8.2.5加入UART
8.2.6加入Timer
8.2.7加入ButtonPIO
8.2.8加入LedPIO
8.2.9加入數碼管PIO
8.2.10加入Avalon三態匯流排橋
8.2.11加入SRAM
8.2.12加入Flash
8.2.13FlashROM鎖定地址
8.2.14調整所有存儲器的地址
8.3SOPC整體系統生成
8.4Nios硬體系統生成
8.4.1設定編譯SOlPC系統
8.4.2下載完成
8.5MicroC/OS-Ⅱ在NiOs上的移植
8.5.1MicroC/OS-Ⅱ簡介
8.5.2MicroC/OS-Ⅱ的移植
8.5.3NioS處理器
8.5.4移植工作
8.5.5核心測試
8.6Nios軟核處理器的uClinux的移植
8.6.1引導程式U—boOt的移植
8.6.2uClinux移植
第9章NiosⅡ與嵌入式作業系統移植
9.1NiosⅡ簡介
9.1.1NiosⅡ處理器的特點
9.1.2NiosⅡ處理器的優點
9.1.3NicsⅡ處理器的系統組成
9.2NiosⅡ快速入門
9.2.1建立NioSⅡ系統
9.2.2編寫程式
9.2.3編譯整個項目
9.2.4下載與測試
9.3在NiosⅡ上運行MicroC/OS-Ⅱ程式
9.3.1軟硬體要求
9.3.2軟硬體設計檔案
9.3.3MicroC/OSⅡ工程設計
第10章PieoBlaze處理器IPCore的原理與套用
10.1概述
10.2PicoBlaze原理與結構分析
10.3PicoBlaze的指令集和調試器
10.4PicoBlaze的套用系統設計
第11章FPGA在嵌入式系統套用中的配置
11.1配置的基本概念
11.1.1FPGA配置的必要性
11.1.2FPGA配置種類
11.1.3FPGA器件的配置方式和配置檔案
11.2PS配置
11.2.1PS配置基本概念
11.2.2配置電路結構和原理
11.2.3軟體設計
11.3採用單片機的配置方法
11.3.1PLD的配置原理
11.3.2用WINBOND78E58單片機配置PLD
11.4基於EPM7128的主動和被動配置
11.4.1時鐘驅動模組設計
11.4.2地址指針模組
11.4.3移位暫存器模組
11.4.4數據計數器模組
11.4.5復位計數器模組
11.4.6配置控制器模組
第12章嵌入式系統FPGA同步設計
12.1建立時間與保持時間
12.2如何提高同步系統中的工作時鐘
12.2.1通過改變走線的方式來減小延時
12.2.2通過拆分組合邏輯的方法來減小延時
12.2.3不同時鐘域之間的同步
12.3FPGA內部時鐘處理的常見設計方法
12.3.1倍頻
12.3.2分頻
12.3.3Xilinx器件、Altera器件對差分時鐘輸入的不同處理
12.4案例一:異步FIFO的設計
12.4.1異步FIFO的設計原理
12.4.2採用格雷碼進行異步FIFO的設計
12.4.3異步FIFO的結構組成
12.4.4異步FIFO的HDL實現
12.4.5異步FIFO的仿真與RTL級電路結構
12.5案例二:交織器與反交織器的設計
12.5.1交織的基本思想
12.5.2矩陣轉置法交織
12.5.3採用FSM設計交織器
12.5.4影響交織器時鐘因素的探討
12.5.5交織器的mL實現
12.5.6交織器的仿真與RTL電路結構
參考文獻