EDA 技術與 Verilog HDL, 2/e
王金明、王婧菡、徐程驥
買這商品的人也買了...
-
$474$450 -
$654$621 -
$534$507 -
$369ASIC 設計與綜合:使用 Verilog 進行 RTL 設計
商品描述
"本書根據電子信息類課程理論教學和實踐教學要求,以提高數字設計能力為目標,系統完整地闡述EDA技術、FPGA/CPLD 器件、Verilog HDL語言和相關數字系統設計技術。全書以 Vivado、ModelSim 軟件為工具,以“器件-軟件-語言-案例”為主線展開,內容緊貼教學和科研實際,以可綜合的設計為重點,以 EGO1“口袋板”為目標板,通過諸多精選設計案例,闡述數字系統設計的方法與技術,由淺入深地介紹 Verilog HDL工程開發的知識與技能。全書案例豐富,富有啟發性。 本書的 Verilog HDL 語言規則以 Verilog-2001和 Verilog-2005兩個語言標準為依據,涵蓋常用語法規則,補充 Verilog-2005中新的語言點,對語言、語法規則進行案例闡釋,用綜合工具和模擬工具進行驗證,語言講解全面深入,既適合作為必備語法資料查詢,也適合有一定設計基礎的讀者學習提高。 本書可作為高等院校電子、通信、微電子、信息、雷達、電腦應用、工業自動化、電路與系統、通信與信息系統及測控技術與儀器等專業本科生和研究生EDA 技術或數字系統設計課程的教材和實驗指導書,也可供從事電路設計和系統開發的工程技術人員閱讀參考。 "
目錄大綱
目錄
第1章EDA技術概述
1.1EDA技術及其發展歷程
1.2Topdown設計思路
1.2.1Topdown設計
1.2.2Bottomup設計
1.3IP核復用
1.3.1IP核復用技術
1.3.2片上系統
1.4EDA設計的流程
1.4.1設計輸入
1.4.2綜合
1.4.3佈局布線
1.4.4時序分析
1.4.5功能模擬與時序模擬
1.4.6編程與配置
1.5常用的EDA工具軟件
習題1
第2章FPGA/CPLD器件
2.1PLD器件概述
2.1.1PLD器件的發展歷程
2.1.2PLD器件的分類
2.2PLD的原理與結構
2.3低密度PLD的原理與結構
2.4CPLD的原理與結構
2.4.1宏單元結構
2.4.2典型CPLD的結構
2.5FPGA的原理與結構
2.5.1查找表結構
2.5.2FPGA的結構
2.5.3Artix7系列FPGA
2.6FPGA/CPLD的編程工藝
2.6.1熔絲型開關
2.6.2反熔絲型開關
2.6.3浮柵編程工藝
2.6.4SRAM編程工藝
2.7邊界掃描測試技術
2.8FPGA/CPLD的編程與配置
2.8.1在系統可編程
2.8.2Artix7器件的配置
2.9典型的FPGA/CPLD系列
習題2
第3章Vivado使用指南
3.1Vivado流水燈設計
3.1.1流水燈設計輸入
3.1.2行為模擬
3.1.3綜合與引腳的約束
3.1.4生成比特流文件並下載
3.1.5將配置數據燒寫至Flash中
3.2IP核的創建和封裝
3.3基於IP集成的計數器設計
3.4Vivado的綜合策略與優化設置
習題3
第4章Verilog設計初步
4.1Verilog HDL簡史
4.2Verilog模塊初識
4.3Verilog設計示例
4.3.1Verilog組合電路設計
4.3.2Verilog時序電路設計
4.4Verilog文字規則
4.4.1詞法
4.4.2字符串
4.4.3標識符
4.5數字
4.5.1整數
4.5.2實數
4.5.3數的轉換
4.5.4整數用於表達式
4.6數據類型
4.6.1值集合
4.6.2net數據類型
4.6.3variable數據類型
4.7向量
4.8數組
4.9參數
4.9.1parameter參數
4.9.2localparam局部參數
4.9.3specparam參數
4.9.4參數值修改
4.10操作符
4.10.1算術操作符
4.10.2關系操作符
4.10.3等式操作符
4.10.4邏輯操作符
4.10.5位操作符
4.10.6縮減操作符
4.10.7移位操作符
4.10.8指數操作符
4.10.9條件操作符
4.10.10拼接操作符
4.10.11操作符的優先級
習題4
第5章Verilog行為描述
5.1行為級建模
5.1.1always過程語句
5.1.2initial過程
5.2過程時序控制
5.2.1延時控制
5.2.2事件控制
5.3過程賦值
5.3.1variable型變量聲明時賦值
5.3.2阻塞過程賦值
5.3.3非阻塞過程賦值
5.3.4阻塞過程賦值與非阻塞過程賦值的區別
5.4過程連續賦值
5.4.1assign和deassign
5.4.2force和release
5.5塊語句
5.5.1beginend串行塊
5.5.2forkjoin並行塊
5.5.3塊命名
5.6條件語句
5.6.1ifelse語句
5.6.2case語句
5.6.3casez與casex語句
5.7循環語句
5.7.1for語句
5.7.2repeat、while和forever語句
5.8任務
5.8.1任務概述
5.8.2任務示例
5.9函數
5.9.1函數概述
5.9.2任務和函數的區別
5.10automatic任務和函數
5.10.1automatic任務
5.10.2automatic函數
5.11編譯指令
5.11.1`timescale
5.11.2`define和`undef
5.11.3`ifdef、`else、`elsif、`endif和`ifndef
5.11.4`include
習題5
第6章Verilog設計的層次與風格
6.1Verilog描述的層級和方式
6.2Verilog門元件
6.2.1門元件
6.2.2門元件的例化
6.3門級結構描述
6.4用戶自定義元件
6.4.1組合邏輯UDP元件
6.4.2時序邏輯UDP元件
6.4.3時序UDP元件的初始化和例化
6.5賦值
6.5.1連續賦值
6.5.2net型變量聲明時賦值
6.5.3驅動強度
6.6數據流描述
6.6.1數據流描述加法器
6.6.2數據流描述減法器
6.6.3數據流描述觸發器
6.6.4格雷碼與二進制碼相互轉換
6.7多層次結構電路設計
6.7.1帶參數模塊例化
6.7.2用parameter進行參數傳遞
6.7.3用defparam進行參數重載
6.8generate生成語句
6.8.1generate、for生成語句
6.8.2generate、if生成語句
6.8.3generate、case生成語句
6.9三態邏輯設計
6.10屬性
習題6
第7章Verilog有限狀態機設計
7.1引言
7.2有限狀態機的Verilog描述
7.2.1三段式狀態機描述
7.2.2兩段式狀態機描述
7.2.3單段式描述
7.3狀態編碼
7.3.1常用的編碼方式
7.3.2狀態編碼的定義
7.3.3用屬性語句指定狀態編碼
7.4用有限狀態機實現除法器
7.5用有限狀態機控制流水燈
7.6用狀態機控制字符型液晶顯示模塊
習題7
第8章Verilog驅動常用I/O外設
8.1標準PS/2鍵盤
8.24×4矩陣鍵盤
8.2.14×4矩陣鍵盤驅動
8.2.2數碼管掃描顯示
8.3漢字圖形點陣液晶顯示模塊
8.3.1LCD12864B
8.3.2LCD12864B的靜態顯示
8.3.3LCD12864B的動態顯示
8.4VGA顯示器
8.4.1VGA顯示的原理與時序
8.4.2VGA彩條信號發生器
8.4.3VGA顯示彩色圓環
8.4.4VGA圖像顯示
8.5TFTLCD液晶屏
8.5.1TFTLCD液晶屏概述
8.5.2TFTLCD液晶屏顯示彩色圓環
8.5.3TFTLCD液晶屏顯示動態矩形
8.6音樂演奏電路
8.6.1音符演奏
8.6.2音樂演奏
8.7數字鐘
習題8
第9章Verilog設計進階
9.1面向綜合的設計
9.2加法器設計
9.2.1行波進制加法器
9.2.2超前進制加法器
9.3乘法器設計
9.3.1用乘法操作符實現
9.3.2布斯乘法器
9.3.3查找表乘法器
9.4有符號數的運算
9.4.1有符號數的加法運算
9.4.2有符號數的乘法運算
9.4.3絕對值運算
9.5ROM存儲器
9.6RAM存儲器
9.6.1單口RAM
9.6.2異步FIFO
9.7流水線設計
9.8資源共享
9.9奇數分頻與小數分頻
9.9.1奇數分頻
9.9.2半整數分頻
9.9.3小數分頻
習題9
第10章Test Bench測試與時序檢查
10.1系統任務與系統函數
10.2顯示類任務
10.2.1$display與$write
10.2.2$strobe與$monitor
10.3文件操作類任務
10.3.1$fopen與$fclose
10.3.2$fgetc與$fgets
10.3.3$readmemh與$readmemb
10.4控制和時間類任務
10.4.1$finish與$stop
10.4.2$time、$stime與$realtime
10.4.3$printtimescale與$timeformat
10.4.4$signed與$unsigned
10.5隨機數及概率分佈函數
10.5.1$random
10.5.2概率分佈函數
10.6Verilog中的延時定義
10.6.1門延時
10.6.2賦值延時
10.7specify塊與路徑延時
10.7.1specify塊
10.7.2模塊路徑延時
10.7.3路徑延時和分佈延時混合
10.8時序檢查
10.8.1$setup和$hold
10.8.2$width和$period
10.9Test Bench測試
10.9.1Test Bench
10.9.2產生激勵信號
10.9.3產生時鐘信號
10.9.4讀寫文件
10.9.5顯示結果
10.10測試示例
10.11ModelSim SE使用指南
10.11.1圖形用戶界面進行功能模擬
10.11.2命令行方式進行功能模擬
10.11.3時序模擬
習題10
第11章Verilog設計實例
11.1超聲波測距
11.2脈寬調制與步進電動機驅動
11.2.1PWM信號
11.2.2用PWM驅動蜂鳴器
11.2.3用PWM驅動步進電動機
11.3整數開方運算
11.4頻率測量
11.5FIR濾波器
11.5.1FIR濾波器的參數設計
11.5.2FIR濾波器的實現
11.6Cordic算法及實現
11.6.1Cordic算法
11.6.2Cordic算法的實現
11.7UART異步串口通信
11.8藍牙通信
11.9用XADC實現模數轉換
11.9.17系列FPGA片內集成ADC概述
11.9.2XADC的使用
習題11
附錄AVerilog HDL關鍵字
參考文獻