內容簡介
《Verilog數字系統設計教程(第3版)》講述利用硬體描述語言(Verilog HDL)設計複雜數字系統的方法。這種方法源自20世紀90年代的美國,取得成效後迅速在其他先進工業國得到推廣和普及。利用硬體描述語言建模、通過仿真和綜合技術設計出極其複雜的數字系統是這種技術的較大優勢。
《Verilog數字系統設計教程(第3版)》從算法和計算的基堡妹剃本概念出發,講述如何用硬線邏輯電路實現複雜數字邏輯系統的方法。全書共分三部分。第1部分內容共18章;第二部分共12個上機練習實驗範例;第三部分是Verilog硬體描述語言參考手冊,可供讀者學習、查詢之用。本書第2版後,在語法篇中增加了IEEE Verilog1364-2001標準簡介,以反映Verilog語法的較新變化。
《Verilog數字系統設計教程(第3版)》的講授方式以每2學時講授一章為宜芝欠擔墓,每次課後需要花loh複習思考。完成10章學習後,就可以開始做上機練習,由簡紋墓單到複雜,由典型到一般,循序漸進地學習Verilog HDL基礎知識。按照書上的本書可作為電子工程類、自動控制類、計算機類的大學本科高年級及研究生教學用書,亦可供其他工程人員自學與參考。
圖書目錄
緒論
第一部分Verilog數字設計基礎
第1章Verilog的基本知識
1.1硬體描述語言HDL
1.2Verilog HDL的歷史
1.2.1什麼是Verilog HDL
1.2.2Verilog HDL的產生及發展
1.3Verilog HDL和 VHDL的比較
1.4Verilog的套用情況和適用的設計
1.5採用Verilog HDL設計複雜數字電路的優點
1.5.1傳統設計方法--電路原理圖輸入法
1.5.2Verilog HDL設計法與傳統的電路原理圖輸入法的比較
1.5.3Verilog的標準化與軟核的重用
1.5.4軟核、固核和硬核的概念及其重用
1.6採用硬體描述語言(Verilog HDL)的設計流程簡介
1.6.1自頂向下(Top_Down)設計的基本概念
1.6.2層次管理的基本概念
1.6.3具體模組的設計編譯和仿真的過程
1.6.4具體工藝器件的最佳化、映像和布局布線
小結
思 考 題
第2章Verilog語法的基本概念
概述
2.1Verilog模組的基本概念
2.2Verilog用於模組棵謎陵的測試
小結
思 考 題
第3章模組的結構、數據類型、
變數和基本運算符號
概述
3.1模組的結構
3.1.1模組的連線埠定義
3.1.2模組內容
313理解要點
314要點總結
3.2數據類型及其常量和變數
3.2.1常量
3.2.2變數
3.3運算符及表達式
3.3.2位運算符
小結
思 考 題
第4章運算符、賦值語句和
結構說明語句
概述
43等式運算符
45位拼接運算符
46縮減運算符
47優先權別
48關 鍵 詞
49賦值語句和塊語句
491賦值語句
492塊語句
小結
思 考 題
第5章條件語定棗主句、循環語句、
塊語句與生成語句
概述
51條件語句(if_else語句)
5.2case語句
5.3條件語句的語法
5.4多路分支語句
5.5循環語句
5.5.1forever語句
5.5.2repeat語句
5.5.3while語句
5.5.4for語句
5.6順序塊和並行塊
5.6.1塊語句的類型
5.6.2塊語句的特點
5.7生成塊
5.7.1循環生成語句
5.7.2條件生成語句
5.7.3case生成語句
5.8舉例
5.8.2四位計數器
小結
思 考 題
第6章結構語句、系統任務、
函式語句和顯示系統任務
概述
6.1結構說明語句
6.1.1initial語句
6.1.2always語句
6.2task和function說明語句
6.2.1task和function說明語句的不同點
6.2.2task說明語句
6.2.3function說明語句
6.2.4函式的使用舉例
6.2.5自動(遞歸)函式
6.2.6常量函式
6.2.7帶符號函式
6.3關於使用任務和函喇辨棄數的小結
6.4常用的系統任辯贈拘抹務
6.4.1$display和$write任務
6.4.2檔案輸出
6.4.3顯示層次
6.4.4選通顯示
6.4.5值變轉儲檔案
6.5其他系統函式和任務
小結
思 考 題
第7章調試用系統任務和常用
編譯預處理語句
概述
7.1系統任務 $monitor
7.2時間度量系統函式$time
7.3系統任務$finish
7.4系統任務$stop
7.5系統任務$readmemb和$readmemh
7.6系統任務$random
7.7編譯預處理
7.7.1宏定義define
7.7.2""檔案包含""處理include
7.7.3時間尺度timescale
7.7.4條件編譯命令ifdef、else、endif
7.7.5條件執行
小結
思 考 題
第8章語法概念總複習練習
概述
小結
第二部分設計和驗證部分
第9章Verilog HDL模型的不同抽象級別
概述
9.1門級結構描述
9.1.1與非門、或門和反向器及其說明語法
9.1.2用門級結構描述D觸發器
9.1.3由已經設計成的模組構成更高一層的模組
9.2Verilog HDL的行為描述建模
9.2.1僅用於產生仿真測試信號的Verilog HDL行為描述建模
9.2.2Verilog HDL建模在TopDown設計中的作用和行為建模的可綜
合性問題
9.3用戶定義的原語
小結
思 考 題
第10章如何編寫和驗證簡單
的純組合邏輯模組
概述
10.1加法器
10.2乘法器
10.3比較器
10.4多路器
10.5匯流排和匯流排操作
10.6流水線
小結
思 考 題
第11章複雜數字系統的構成
概述
11.1運算部件和數據流動的控制邏輯
11.1.1數字邏輯電路的種類
11.1.2數字邏輯電路的構成
11.2數據在暫存器中的暫時保存
11.3數據流動的控制
11.4在Verilog HDL設計
中啟用同步時序邏輯
11.5數據接口的同步方法
小結
思 考 題
第12章同步狀態機的原理、結構和設計
概述
12.1狀態機的結構
12.2Mealy狀態機和Moore
狀態機的不同點
12.3如何用Verilog來描述可綜合的狀態機
12.3.1用可綜合Verilog模組設計狀態機的典型辦法
12.3.2用可綜合的Verilog模組設計、用獨熱碼錶示狀態的狀態機
12.3.3用可綜合的Verilog模組設計、由輸出指定的碼錶示狀態的狀態機
12.3.4用可綜合的Verilog模組設計複雜的多輸出狀態機時常用的方法
小結
思 考 題
第13章設計可綜合的狀態機的指導原則
概述
13.1用Verilog HDL語言設計
可綜合的狀態機的指導原則
13.2典型的狀態機實例
13.3綜合的一般原則
13.4語言指導原則
13.5可綜合風格的Verilog HDL模組實例
13.6狀態機的置位與復位
13.6.1狀態機的異步置位與復位
13.6.2狀態機的同步置位與復位
小結
思 考 題
第14章深入理解阻塞和非阻塞賦值的不同
概述
14.1阻塞和非阻塞賦值的異同
14.1.1阻塞賦值
14.1.2非阻塞賦值
14.2Verilog模組編程要點
14.3Verilog的層次化事件佇列
14.4自觸發always塊
14.6阻塞賦值及一些簡單的例子
14.8組合邏輯建模時應使用阻塞賦值
14.9時序和組合的混合邏輯
--使用非阻塞賦值
14.10其他阻塞和非阻塞混合使用的原則
14.11對同一變數進行多次賦值
14.12常見的對於非阻塞賦值的誤解
小結
思 考 題
概述
小結
思 考 題
第16章複雜時序邏輯電路設計實踐
概述
16.1二線制I2C CMOS串列
EEPROM的簡單介紹
16.2I2C匯流排特徵介紹
16.3二線制I2C CMOS串列
EEPROM的讀寫操作
16.4EEPROM的Verilog HDL程式
總結
思 考 題
第17章簡化的 RISC_CPU設計
概述
17.1課題的來由和設計環境介紹
17.2什麼是CPU
17.3 RISC_CPU結構
17.3.2指令暫存器
17.3.3累加器
17.3.4算術運算器
17.3.5數據控制器
17.3.6地址多路器
17.3.8狀態控制器
17.3.9外圍模組
17.4RISC_CPU 操作和時序
17.4.1系統的復位和啟動操作
17.4.2匯流排讀操作
17.4.3匯流排寫操作
17.5RISC_CPU定址方式和指令系統
17.6RISC_CPU模組的調試
17.6.1RISC_CPU模組的前仿真
17.6.2RISC_CPU模組的綜合
17.6.3RISC_CPU模組的最佳化和布局布線
小結
思 考 題
第18章虛擬器件/接口、IP和基於平台的
設計方法及其在大型數字系統
設計中的作用
概述
18.1軟核和硬核、宏單元、虛擬器件、設計和
驗證IP以及基於平台的設計方法
18.2設計和驗證IP供應商
18.3虛擬模組的設計
18.4虛擬接口模組的實例
小結
思 考 題
第三部分設計示範與實驗練習
概述
練習一簡單的組合邏輯設計
練習二簡單分頻時序邏輯電路的設計
練習三利用條件語句實現計數分頻時序電路
練習四阻塞賦值與非阻塞賦值的區別
練習六在Verilog HDL中使用函式
練習七在Verilog HDL中使用任務(task)
練習九利用狀態機實現比較複雜的接口設計
練習十通過模組實例調用實現大型系統的設計
練習十一簡單卷積器的設計
附錄一
A/D轉換器的Verilog HDL模型機所需要的技術參數
附錄二2K*8位 異步 CMOS 靜態RAM HM65162模型
練習十二利用SRAM設計一個FIFO
第四部分語法篇
語法篇1關於Verilog HDL的說明
一、 關於 IEEE 1364標準
二、 Verilog簡介
三、 語法總結
四、 編寫Verilog HDL原始碼的標準
五、 設計流程
語法篇2Verilog硬體描述語言參考手冊
一、 Verilog HDL語句與常用
標誌符(按字母順序排列)
二、 系統任務和函式
(System task and function)
三、 常用系統任務和
函式的詳細使用說明
四、 Command Line Options
命令行的可選項
五、 IEEE Verilog 13642001標準簡介
變數和基本運算符號
概述
3.1模組的結構
3.1.1模組的連線埠定義
3.1.2模組內容
313理解要點
314要點總結
3.2數據類型及其常量和變數
3.2.1常量
3.2.2變數
3.3運算符及表達式
3.3.2位運算符
小結
思 考 題
第4章運算符、賦值語句和
結構說明語句
概述
43等式運算符
45位拼接運算符
46縮減運算符
47優先權別
48關 鍵 詞
49賦值語句和塊語句
491賦值語句
492塊語句
小結
思 考 題
第5章條件語句、循環語句、
塊語句與生成語句
概述
51條件語句(if_else語句)
5.2case語句
5.3條件語句的語法
5.4多路分支語句
5.5循環語句
5.5.1forever語句
5.5.2repeat語句
5.5.3while語句
5.5.4for語句
5.6順序塊和並行塊
5.6.1塊語句的類型
5.6.2塊語句的特點
5.7生成塊
5.7.1循環生成語句
5.7.2條件生成語句
5.7.3case生成語句
5.8舉例
5.8.2四位計數器
小結
思 考 題
第6章結構語句、系統任務、
函式語句和顯示系統任務
概述
6.1結構說明語句
6.1.1initial語句
6.1.2always語句
6.2task和function說明語句
6.2.1task和function說明語句的不同點
6.2.2task說明語句
6.2.3function說明語句
6.2.4函式的使用舉例
6.2.5自動(遞歸)函式
6.2.6常量函式
6.2.7帶符號函式
6.3關於使用任務和函式的小結
6.4常用的系統任務
6.4.1$display和$write任務
6.4.2檔案輸出
6.4.3顯示層次
6.4.4選通顯示
6.4.5值變轉儲檔案
6.5其他系統函式和任務
小結
思 考 題
第7章調試用系統任務和常用
編譯預處理語句
概述
7.1系統任務 $monitor
7.2時間度量系統函式$time
7.3系統任務$finish
7.4系統任務$stop
7.5系統任務$readmemb和$readmemh
7.6系統任務$random
7.7編譯預處理
7.7.1宏定義define
7.7.2""檔案包含""處理include
7.7.3時間尺度timescale
7.7.4條件編譯命令ifdef、else、endif
7.7.5條件執行
小結
思 考 題
第8章語法概念總複習練習
概述
小結
第二部分設計和驗證部分
第9章Verilog HDL模型的不同抽象級別
概述
9.1門級結構描述
9.1.1與非門、或門和反向器及其說明語法
9.1.2用門級結構描述D觸發器
9.1.3由已經設計成的模組構成更高一層的模組
9.2Verilog HDL的行為描述建模
9.2.1僅用於產生仿真測試信號的Verilog HDL行為描述建模
9.2.2Verilog HDL建模在TopDown設計中的作用和行為建模的可綜
合性問題
9.3用戶定義的原語
小結
思 考 題
第10章如何編寫和驗證簡單
的純組合邏輯模組
概述
10.1加法器
10.2乘法器
10.3比較器
10.4多路器
10.5匯流排和匯流排操作
10.6流水線
小結
思 考 題
第11章複雜數字系統的構成
概述
11.1運算部件和數據流動的控制邏輯
11.1.1數字邏輯電路的種類
11.1.2數字邏輯電路的構成
11.2數據在暫存器中的暫時保存
11.3數據流動的控制
11.4在Verilog HDL設計
中啟用同步時序邏輯
11.5數據接口的同步方法
小結
思 考 題
第12章同步狀態機的原理、結構和設計
概述
12.1狀態機的結構
12.2Mealy狀態機和Moore
狀態機的不同點
12.3如何用Verilog來描述可綜合的狀態機
12.3.1用可綜合Verilog模組設計狀態機的典型辦法
12.3.2用可綜合的Verilog模組設計、用獨熱碼錶示狀態的狀態機
12.3.3用可綜合的Verilog模組設計、由輸出指定的碼錶示狀態的狀態機
12.3.4用可綜合的Verilog模組設計複雜的多輸出狀態機時常用的方法
小結
思 考 題
第13章設計可綜合的狀態機的指導原則
概述
13.1用Verilog HDL語言設計
可綜合的狀態機的指導原則
13.2典型的狀態機實例
13.3綜合的一般原則
13.4語言指導原則
13.5可綜合風格的Verilog HDL模組實例
13.6狀態機的置位與復位
13.6.1狀態機的異步置位與復位
13.6.2狀態機的同步置位與復位
小結
思 考 題
第14章深入理解阻塞和非阻塞賦值的不同
概述
14.1阻塞和非阻塞賦值的異同
14.1.1阻塞賦值
14.1.2非阻塞賦值
14.2Verilog模組編程要點
14.3Verilog的層次化事件佇列
14.4自觸發always塊
14.6阻塞賦值及一些簡單的例子
14.8組合邏輯建模時應使用阻塞賦值
14.9時序和組合的混合邏輯
--使用非阻塞賦值
14.10其他阻塞和非阻塞混合使用的原則
14.11對同一變數進行多次賦值
14.12常見的對於非阻塞賦值的誤解
小結
思 考 題
概述
小結
思 考 題
第16章複雜時序邏輯電路設計實踐
概述
16.1二線制I2C CMOS串列
EEPROM的簡單介紹
16.2I2C匯流排特徵介紹
16.3二線制I2C CMOS串列
EEPROM的讀寫操作
16.4EEPROM的Verilog HDL程式
總結
思 考 題
第17章簡化的 RISC_CPU設計
概述
17.1課題的來由和設計環境介紹
17.2什麼是CPU
17.3 RISC_CPU結構
17.3.2指令暫存器
17.3.3累加器
17.3.4算術運算器
17.3.5數據控制器
17.3.6地址多路器
17.3.8狀態控制器
17.3.9外圍模組
17.4RISC_CPU 操作和時序
17.4.1系統的復位和啟動操作
17.4.2匯流排讀操作
17.4.3匯流排寫操作
17.5RISC_CPU定址方式和指令系統
17.6RISC_CPU模組的調試
17.6.1RISC_CPU模組的前仿真
17.6.2RISC_CPU模組的綜合
17.6.3RISC_CPU模組的最佳化和布局布線
小結
思 考 題
第18章虛擬器件/接口、IP和基於平台的
設計方法及其在大型數字系統
設計中的作用
概述
18.1軟核和硬核、宏單元、虛擬器件、設計和
驗證IP以及基於平台的設計方法
18.2設計和驗證IP供應商
18.3虛擬模組的設計
18.4虛擬接口模組的實例
小結
思 考 題
第三部分設計示範與實驗練習
概述
練習一簡單的組合邏輯設計
練習二簡單分頻時序邏輯電路的設計
練習三利用條件語句實現計數分頻時序電路
練習四阻塞賦值與非阻塞賦值的區別
練習六在Verilog HDL中使用函式
練習七在Verilog HDL中使用任務(task)
練習九利用狀態機實現比較複雜的接口設計
練習十通過模組實例調用實現大型系統的設計
練習十一簡單卷積器的設計
附錄一
A/D轉換器的Verilog HDL模型機所需要的技術參數
附錄二2K*8位 異步 CMOS 靜態RAM HM65162模型
練習十二利用SRAM設計一個FIFO
第四部分語法篇
語法篇1關於Verilog HDL的說明
一、 關於 IEEE 1364標準
二、 Verilog簡介
三、 語法總結
四、 編寫Verilog HDL原始碼的標準
五、 設計流程
語法篇2Verilog硬體描述語言參考手冊
一、 Verilog HDL語句與常用
標誌符(按字母順序排列)
二、 系統任務和函式
(System task and function)
三、 常用系統任務和
函式的詳細使用說明
四、 Command Line Options
命令行的可選項
五、 IEEE Verilog 13642001標準簡介