《Altera FPGA工程師成長手冊》是由清華大學出版社出版的圖書,作者是陳欣波。
基本介紹
- 書名:Altera FPGA工程師成長手冊
- 作者:陳欣波
- 頁數:394
- 出版社:清華大學出版社
- 出版時間:2012-6-1
基本信息,內容簡介,目錄,
基本信息
印刷時間:2012-6-1
開 本:16開
內容簡介
《altera fpga工程師成長手冊》以altera公司的fpga為例,由淺入深,全面、系統地詳細講述了基於可程式邏輯技術的設計方法。本書講解時穿插了大量典型實例,便於讀者理解和演練。另外,為了幫助讀者更好地學習,本書提供了配套語音教學視頻,這些視頻和本書原始碼一起收錄於本書配書光碟中。
《altera fpga工程師成長手冊》涉及面廣,從基本的軟體使用到一般電路設計,再到nios Ⅱ軟核處理器的設計,幾乎涉及fpga開發設計的所有知識。具體內容包括:eda開發概述、altera quartus ii開發流程、altera quartus ii開發嚮導、vhdl語言、基本邏輯電路設計、宏模組、lpm函式套用、基於fpga的dsp開發設計、sopc系統構架、soc系統硬體開發、sopc系統軟體開發、nios ii常用外設、logiclock最佳化技術等。
《altera fpga工程師成長手冊》適合學習fpga開發設計的各個院校的本科學生閱讀,也適合各類使用fpga進行開發的初級工程技術人員使用。
目錄
第1篇 fpga開發基礎
第1章 eda技術概述
1.1 eda技術及發展
1.1.1 何謂eda技術
1.1.2 基於大規模可程式邏輯器件的數字系統設計
1.2 可程式邏輯器件的發展簡介
1.2.1 邏輯設計基本流程
1.2.2 可程式邏輯器件pal
1.2.3 從pal到pld到複雜可程式邏輯器件cpld
1.2.4 從cpld到fpga的產生
1.2.5 在系統編程問題的解決
1.3 fpga系統結構和資源
1.3.1 可程式邏輯單元(le)
1.3.2 可程式布線
1.3.3 可程式i/o
1.3.4 嵌入式存儲器ram
1.3.5 嵌入式乘法器
1.3.6 時鐘
1.3.7 鎖相環
1.3.8 fpga與cpld的對比
1.4 fpga的設計流程
1.5 altera公司fpga低成本器件—sycloneⅡ
1.5.1 主要特性
1.5.2 基於數位訊號處理(dsp)套用
1.5.3 專用外部存儲器接口
1.5.4 嵌入式鎖相環
1.5.5 單端i/o特性
1.5.6 差分i/o特性
1.5.7 自動crc檢測
1.5.8 支持nios ii嵌入式處理器
1.6 altera公司fpga高成本器件—stratix Ⅲ器件
1.6.1 主要特性
1.6.2 體系架構
1.6.3 trimatrix嵌入式存儲器
1.6.4 dsp塊
1.6.5 時鐘網路和鎖相環
1.6.6 高速i/o信號和接口
1.6.7 設計安全性
1.7 小結
第2章 altera quartus ii軟體開發流程
2.1 quartus ii綜述
2.1.1 quartus ii軟體的特點
2.1.2 quartus ii設計軟體的流程和集成的工具
2.1.3 quartus ii軟體的用戶界面
2.2 設計輸入
2.2.1 建立工程
2.2.2 輸入方式
2.3 約束輸入
2.3.1 使用分配編輯器
2.3.2 使用引腳規劃器
2.3.3 使用settings對話框
2.4 綜合
2.4.1 使用quartus ii軟體集成的綜合工具
2.4.2 使用其他 eda 綜合工具
2.4.3 使用rtl查看器和狀態機查看器分析綜合結果
2.5 布局布線
2.5.1 設定fitter選項
2.5.2 設定物理綜合最佳化選項
2.5.3 通過反標保留分配
2.6 仿真
2.6.1 quartus ii仿真器設定
2.6.2 建立用於仿真的波形檔案
2.7 編程與配置
2.7.1 建立編程檔案
2.7.2 器件編程和配置
2.8 小結
第3章 altera quartus ii軟體開發嚮導
3.1 模組編輯及設計流程
3.1.1 原理圖輸入檔案的建立
3.1.2 圖表模組輸入
3.1.3 原理圖設計流程
3.1.4 波形仿真
3.1.5 引腳分配
3.1.6 下載驗證
3.1.7 quartus ii的幾個常用功能。
3.2 文本編輯及設計流程
3.2.1 建立文本檔案
3.2.2 文本設計流程——建立新工程
3.2.3 文本設計流程——編譯工程
3.2.4 文本設計流程——建立矢量波形檔案
3.2.5 文本設計流程——仿真波形
3.2.6文本設計流程——引腳分配及下載驗證
3.3 混合設計
3.3.1 建立計數器檔案
3.3.2 建立七段解碼顯示電路檔案
3.3.2 設計流程
3.4 使用signal tap ii的實時測試
3.4.1 打開signal tap ii的編輯視窗
3.4.2 調入待測信號
3.4.3 設定signal tap ii參數
3.4.4 檔案存檔
3.4.5 編譯選擇
3.4.6 啟動signal tap ii進行採樣分析
3.4.7 signal tap ii的其他設定和控制方法
3.5 小結
第4章 vhdl語言基礎
4.1 vhdl語言基本結構
4.1.1 實體
4.1.2 結構體
4.1.3 配置
4.1.4 庫
4.2 vhdl語言要素
4.2.1 vhdl文法規則
4.2.2 vhdl數據對象
4.2.3 數據類型
4.2.4 操作符
4.3 順序語句
4.3.1 賦值語句
4.3.2 if語句
4.3.3 case語句
4.3.4 loop語句
4.3.5 跳出循環的語句
4.3.6 return語句
4.4.7 null語句
4.4 並行語句
4.4.1 並行信號賦值語句
4.4.2 進程(process)語句
4.5 子程式
4.5.1 過程
4.5.2 函式
4.6 vhdl語言描述風格
4.6.1 行為描述
4.6.2 數據流描述
4.6.3 結構化描述
4.7 小結
第5章 基本邏輯電路設計
5.1 組合邏輯電路設計
5.1.1 門電路設計
5.1.2 三態門及匯流排緩衝器設計
5.1.3 編碼器、解碼器設計
5.1.4 多路數據選擇器和多路數據分配器設計
5.2 時序邏輯電路設計
5.2.1 觸發器設計
5.2.2 暫存器設計
5.2.2 計數器設計
5.3 有限狀態機電路設計
5.3.1 有限狀態機概述
5.3.2 有限狀態機的算法描述
5.3.3 有限狀態機的vhdl描述模式
5.4 設計實例:交通信號燈控制器設計
5.4.1 交通信號燈控制器設計要求
5.4.2 交通信號燈控制器的設計分析
5.5 小結
第2篇 fpga實例開發部分
第6章 宏模組和lpm函式的套用
6.1 存儲器模組的用法
6.1.1 ram的使用
6.1.2 rom的建立過程
6.1.3 fifo的建立使用
6.2 乘法器和鎖相環的使用
6.2.1 乘法器的使用
6.2.2 鎖相環的使用
6.3 nco ip核的使用
6.4 基於宏模組的設計實例
6.4.1 正弦波信號發生器的設計
6.4.2 流水線乘累加器的設計
6.5 小結
第7章 基於fpga的dsp開發設計
7.1 概述
7.2 dsp builder功能簡介與設計流程
7.2.1 dsp builder功能簡介
7.2.2 dsp builder設計流程
7.3 基於dsp builder技術的設計示例——調幅電路
7.3.1 在matlab/simulink中建立算法模型
7.3.2 準備工作
7.3.3 在新模型視窗中添加單元模組
7.3.4 在simulink環境中仿真
7.3.5 在modelsim環境中進行功能仿真
7.3.6 在quartusⅡ環境中進行時序仿真
7.4 基於dsp builder的層次化設計——fir濾波器
7.4.1 fir濾波器的原理
7.4.2 建立系統設計模型
7.4.3 建立子系統的模型
7.4.4 在 simulink和modelsim中仿真
7.5 megacore function函式的使用
7.5.1 安裝megacore函式
7.5.2 使用megacore函式的設計流程
7.5.3 使用megacore函式設計fir濾波器
7.6 小結
第3篇 fpga高級套用部分
第8章 sopc技術開發概述
8.1 sopc的概念
8.2 sopc系統的核心——nios ii處理器
8.3 sopc系統開發流程
8.3.1 sopc builder的設計流程
8.3.2 sopc的設計階段
8.4 sopc系統開發環境
8.5 小結
第9章 sopc系統構架
9.1 nios Ⅱ處理器體系結構
9.1.1 nios ii的內部暫存器
9.1.2 nios ii存儲器與i/o組織
9.2 nios ii的異常處理
9.2.1.硬體中斷
9.2.2.軟體異常
9.2.3.nios ii的異常處理流程
9.3 算術邏輯單元和復位信號
9.3.1.算術邏輯單元
9.3.2 復位信號
9.4 jtag調試模組
9.5 avalon匯流排
9.5.1 avalon互聯規範
9.5.2 avalon匯流排的概念
9.5.3 avalon匯流排信號
9.5.4 avalon的中斷與復位信號
9.5.5 avalon匯流排傳輸
9.6 小結
第10章 soc系統硬體開發
10.1 數字鐘的設計要求
10.2 硬體開發流程
10.3 創建quartus ii工程
10.3.1 創建quartus ii工程
10.3.2 創建頂層實體檔案
10.4 創建nios ii系統模組
10.4.1 創建新系統
10.4.2 加入nios ii處理器
10.4.3 加入外圍模組
10.4.4 分配系統各ip模組的地址和中斷號分配、niosⅡ系統配置
10.4.5 生成nios ii並添加到工程中
10.4.6 建立鎖相環pll模組
10.5 編譯和下載
10.5.1 引腳分配
10.5.2 配置工程
10.5.3 編譯設計
10.5.4 程式配置下載
10.6 小結
第11章 sopc系統軟體開發
11.1 nios ii ide 簡介
11.1.1 nios ii ide的功能模組
11.1.2 niosii ide開發流程
11.2 基於niosⅡide軟體示例——數字鐘軟體
11.2.1 建立軟體工程
11.2.2 編譯工程
11.2.3 運行
11.3 數字鐘的程式設計
11.4 hal系統庫
11.4.1 hal簡述
11.4.2 目前提供的主要hal資源
11.5 使用hal開發應用程式
11.6 小結
第12章 nios ii常用外設使用
12.1 並行輸入輸出核心(pio)
12.1.1 pio核心簡介
12.1.2 pio核心的配置
12.1.3 pio核心的c語言編程
12.2 定時器的使用
12.2.1 核心定時器簡介
12.2.2 定時器核心的配置
12.2.3 定時器核心的c語言編程
12.3 flash接口控制器的使用
12.3.1 flash接口控制器簡介
12.3.2 cfi控制器的配置
12.3.3 cfi控制器的c語言編程
12.4 sdram控制器的使用
12.4.1 sdram控制器核心概述
12.4.2 sdram核心配置
12.4.3 軟體編程
12.5 uart的使用
12.5.1 uart核心簡介
12.5.2 uart核心的暫存器
12.5.3 uart核心配置
12.5.4 軟體編程
12.6 小結
第13章 logiclock最佳化技術
13.1 logiclock最佳化技術簡介
13.1.1 logiclock 設計方法目標
13.1.2 logiclock的區域
13.1.3 鎖定區域的基本方式
13.1.4 logiclock技術的套用流程
13.2 為套用logiclock技術準備的具體實例
13.2.1 數字濾波器結構及其vhdl描述
13.2.2 濾波器設計和結果
13.3 logiclock最佳化設計——底層模組設計
13.3.1 建立底層模組工程
13.3.2 建立父區域
13.3.3 定義邏輯鎖定子區域
13.3.4 將設計實體移至鎖定區域
13.3.5 編譯最佳化鎖定後的filter模組
13.3.6 輸出邏輯鎖定後的vqm檔案
13.4 logiclock最佳化設計——頂層設計
13.4.1 建立頂層工程
13.4.2 將vqm檔案加到頂層工程中
13.4.3 導入logiclock約束
13.5 小結
第14章 數字系統設計實例——電子樂器
14.1 電子樂器的設計
14.1.1 設計要求
14.1.2 設計原理
14.1.3 樂曲硬體演奏電路的層次化設計方案
14.2 fft設計
14.2.1 fft的原理
14.2.2 基於dsp builder設計fft的方法
14.3 sd卡驅動的設計
14.3.1 sd卡和spi核心簡介
14.3.2 sd卡與fpga接口電路
14.3.3 硬體系統的sopc設計
14.3.4 系統軟體設計
14.4 小結