Verilog 硬體描述語言數位電路:設計實務(五版)[Verilog Ying Ti Miao Shu Yu Yan Shu Wei Dian Lu : She Ji Shi Wu...]~推薦!
作者:鄭信源 ISBN:9789574999804 |
【Introduction】簡介/書評/特色/摘要 |
本書深入淺出地介紹Verilog硬體描述語言的特性,以及電腦輔助設計工具(CAD)。
Verilog語言是一種一般性的硬體描述語言,它的語法與C語言相似,易學易用。本書是以邏輯合成的方式寫成的,可讓剛開始使用Verilog來 設計數位電路的新手們,用起來很上手。
本書目的在於藉由學習Verilog語言的過程中去瞭解硬體描述語言的設計概念,進而完成設計數位晶片的最終目標。最新版本中新增UDP,且增強Verilog 2001特色。
►GO►最新優惠► 【暢銷書】Verilog 硬體描述語言數位電路:設計實務(五版)
【Table of Contents】目錄/大綱/內容概要 |
軟硬體版權聲明
前言
作者序
第一章 數位電路的設計觀念
1.1 數位系統的實作方法 1-2
1.2 典型的「半訂製」(Semi Customize)IC設計流程 1-9
第二章 Verilog硬體描述語言簡介
2.1 硬體描述語言(Hardware Description Language,HDL)和傳統
數位電路設計的優缺點比較 2-2
2.2 Verilog硬體描述語言(VHDL)的特性 2-4
2.3 電腦輔助設計工具(CAD)-Xilinx Vivado的介紹 2-4
2.4 Primitive Cell 2-6
2.5 Verilog模組整合與模擬的流程(Synthesis and Simulation Flow)
-使用Xilinx Vivado 2-9
2.5.1 Verilog電路描述設計流程使用Xilinx Vivado……………. 2-9
2.6 VHDL電路模擬軟體-ModelSim的介紹 2-37
2.7 VHDL電路設計與模擬的流程(VHDL design in and simulation flow)
-使用ModelSim 2-39
2.7.1 編譯Verliog電路描述 2-39
2.7.2 VHDL電路的模擬 2-41
2.8 Verilog模組合成與模擬的流程(Synthesis and Simulation Flow)
-使用Synopsys的Designer Analyzer 2-45
第三章 Verilog的模組與架構
3.1 Verilog的輸出入埠敘述 3-2
3.1.1 Verilog的模組架構 3-2
3.1.2 input(輸入埠)敘述 3-3
3.1.3 output(輸入埠)敘述 3-3
3.1.4 inout(雙向埠)敘述 3-3
3.1.5 輸出入埠的連接規定 3-6
3.2 Verilog資料型態(Data Types) 3-7
3.2.1 四種數值位準(Four Value Level) 3-7
3.2.2 wire(接線)敘述 3-8
3.2.3 wand(Wired-AND型接線)、wor(Wired-OR型接線)敘述 3-9
3.2.4 reg(暫存器)敘述 3-13
3.2.5 選用wire(接線)或reg(暫存器)的敘述的時機 3-14
3.2.6 向量(Vectors)表示法 3-15
3.2.7 陣列(Arrays)表示法 3-15
3.2.8 記憶體(Memory)表示法 3-15
3.2.9 位元選擇(Bit-Selects)與部份選擇(Part-Selects) 3-16
3.3 Verilog的時間控制(Timing Control) 3-17
3.4 Verilog的四大模型(Model) 3-19
3.5 Verilog的模組(Module) 3-22
3.6 Verilog的語法協定 3-26
3.7 階層式設計(Hierarchy Design)的觀念 3-31
3.7.1 由低至高與由高至低的設計方式 3-31
3.7.2 埠對應(Port Mapping)連接的方式 3-33
第四章 能否用於電路合成的Verilog語法
4.1 不能用於電路合成的Verilog語法 4-2
4.1.1 不能用於電路合成的「敘述」 4-2
4.1.2 不能用於電路合成的「運算子」 4-2
4.1.3 不能用於電路合成的「邏輯閘型態」 4-3
4.1.4 其他不能用於電路合成的建構方式 4-6
4.2 能用於電路合成的Verilog語法 4-7
4.2.1 能用於電路合成的「敘述」 4-7
4.2.2 能用於電路合成的「運算子」 4-8
4.2.3 能用於電路合成的「邏輯閘」 4-32
4.2.4 用可以電路合成的「邏輯閘」設計出電路圖(Schematic) 4-34
第五章 Verilog的敘述
5.1 Verilog常用的敘述 5-2
5.2 assign敘述 5-3
5.3 always敘述 5-5
5.4 if敘述 5-7
5.5 if…else…敘述 5-9
5.6 case敘述 5-10
5.7 casex敘述 5-14
5.8 casez敘述 5-17
5.9 if與case這二大類敘述的使用時機 5-22
5.10 for敘述 5-23
5.11 function敘述 5-24
5.12 task敘述 5-28
5.13 function與task敘述的差異 5-30
第六章 Verilog電路設計的基本觀念
6.1 訊號(signal)與變數(variable) 6-2
6.1.1 訊號(signal) 6-3
6.1.2 把數值/運算式指定給訊號(signal)或變數(variable) 6-7
6.1.3 變數(variable) 6-8
6.2 always中的訊號(signal)與變數(variable) 6-9
6.2.1 訊號與變數,範例1 6-10
6.2.2 訊號與變數,範例2 6-12
6.2.3 訊號與變數,範例3 6-15
6.3 使用括弧來描述複雜的電路結構 6-18
6.4 運算元的位用寬度(operator bitwidth) 6-20
6.5 重置(Reset)訊號與預設(Preset)訊號的重要性 6-21
第七章 算術運算
7.1 『數字系統』基本介紹 7-2
7.2 『乘法』的基本觀念 7-4
7.3 『除法』的基本觀念 7-4
7.4 『無號數整數』的運算 7-5
7.4.1 無號數整數的『加法運算』 7-6
7.4.2 無號數整數的『減法運算』 7-6
7.4.3 無號數整數的『乘法運算』 7-8
7.4.4 無號數整數的『除法運算』 7-9
7.4.5 如何計算1.5倍的A、3倍的A呢? 7-10
7.4.6 如何計算A除以9? 7-10
7.4.7 四捨五入的方式 7-11
7.5 『有號數整數』的運算 7-12
7.5.1 有號數整數的『加法運算』 7-12
7.5.2 有號數整數的『減法運算』 7-13
7.5.3 有號數整數的『乘法運算』 7-14
7.5.4 無號數整數的『除法運算』 7-15
7.6 『無號數小數』的運算 7-16
7.6.1 無號數小數的『加法運算』 7-17
7.6.2 無號數小數的『減法運算』 7-18
7.6.3 無號數小數的『乘法運算』 7-18
7.6.4 無號數小數的『除法運算』 7-20
7.7 『有號數小數』的運算 7-21
7.7.1 有號數小數的『加法運算』 7-21
7.7.2 有號數小數的『減法運算』 7-22
7.7.3 有號數小數的『乘法運算』 7-23
7.7.4 有號數小數的『除法運算』 7-25
第八章 組合邏輯電路與簡易的算術邏輯運算
8.1 組合邏輯(Combination Logic)電路 8-2
8.1.1 布林方程式之實作(implementation of Boolean Equation) 8-2
8.1.2 編碼器(Encoder) 8-4
8.1.3 解碼器(Decoder) 8-9
8.1.4 多工器(Multiplexier) 8-12
8.1.5 解多工器(DeMultiplexier) 8-20
8.1.6 比較器(Comparator) 8-29
8.1.7 累加器(Accumulator) 8-31
8.1.8 乘加器(Multipler and Accumulator) 8-32
8.1.9 三態閘(Three State) 8-34
8.1.10 雙向埠(Bidirectional Port,使用inout敘述) 8-36
8.2 簡易的算術邏輯運算單元(ALU)的設計 8-37
第九章 循序邏輯電路
9.1 記憶元件設計 9-2
9.1.1 D型閂鎖(Latch) 9-2
9.1.2 D型正反器(D type Filp-Flop) 9-4
9.1.3 JK型正反器(JK type Filp-Flop) 9-11
9.1.4 T型正反器(T type Filp-Flop) 9-13
9.1.5 暫存器(Register) 9-14
9.2 移位暫存器(Shift Register) 9-20
9.2.1 串進串出(Serial In Serial Out)移位暫存器 9-20
9.2.2 串進並出(Serial In Parallel Out)移位暫存器 9-22
9.2.3 並進串出(Parallel In Serial Out)移位暫存器 9-24
9.2.4 並進並出(Parallel In Parallel Out)移位暫存器 9-25
9.3 計數器電路(Counter) 9-27
9.3.1 上數計數器(Count Up Counter) 9-28
9.3.2 下數計數器(Count Down Counter) 9-28
9.3.3 上數/下數計數器(Up/Down Counter) 9-28
9.4 除頻電路(Frequency Divider) 9-38
第十章 有限狀態機器
10.1 循序電路的基本模式 10-2
10.2 同步(Synchronous)與非同步(Asynchronous)循序電路 10-4
10.3 有限的狀態機器(Finite State Machine,FSMs)的簡介 10-8
10.3.1 有限狀態機的種類 10-8
10.3.2 有限狀態機的表示方式 10-9
10.3.3 完全指定狀態(Completely Specified)與不完全指定狀態(Incompletely Specified) 10-16
10.3.4 有限狀態機的編碼方式(State Assignment或State Encoding) 10-21
10.4 有限狀態機器的設計實例 10-29
第十一章 進階設計概念
11.1 資源共用(Resource Sharing) 11-2
11.2 Verilog的編譯命令(Compiler Directives) 11-5
11.2.1 `include編譯命令 11-5
11.2.2 `define編譯命令 11-6
11.3 易於調整的設計方式(Scalable Design) 11-7
11.3.1 使用defparam敘述去取代(overriding)paramete值 11-8
11.3.2 使用'#'敘述去取代(overriding)parameter值 11-8
11.4 撰寫經濟實用的HDL程式碼之原則 11-9
11.4.1 使用括弧來描述複雜的電路結構 11-9
11.4.2 將「組合指定」敘述和「循序指定」敘述的部份描述區分開來 11-11
11.4.3 善用「常數」(Constant) 11-11
11.4.4 運算元的位用寬度(Operator Bit-Width) 11-15
11.5 除彈跳電路(DeBounce circuit)與單一脈波電路(Mono pulse circuit) 11-16
11.5.1 用and閘對輸入pulse做分析(DeBounce by and) 11-17
11.5.2 用有限狀態機(FSM)對輸入pulse做分析(DeBounce by FSM) 11-18
11.6 非同步Reset 11-21
11.7 節省電力的基本方法 11-22
第十二章 記憶體設計與應用
12.1 隨機存取記憶體(Random Access Memory,RAM) 12-2
12.2 隨機存取記憶體(RAM)的擴充 12-4
12.2.1 隨機存取記憶體之位元組(Bits)的擴充方式 12-4
12.2.2 隨機存取記憶體之字組(Words)的擴充方式 12-8
12.3 隨機存取記憶體(RAM)的應用 12-12
12.3.1 堆疊(Stack)的運作:使用隨機存取記憶體來模擬 12-13
12.3.2 佇列(Queue)的運作:使用隨機存取記憶體來模擬 12-17
12.4 唯讀記憶體(Read Only Memory,ROM) 12-24
12.5 唯讀記憶體(ROM)的擴充 12-26
12.5.1 唯讀記憶體之位元組(Bits)的擴充方式 12-26
12.5.2 唯讀記憶體之字組(Words)的擴充方式 12-29
12.6 唯讀記憶體(ROM)的應用 12-34
12.6.1 指令唯讀記憶體(Instruction ROM) 12-34
12.6.2 資料唯讀記憶體(Data ROM) 12-35
12.6.3 使用一顆指令ROM與一顆資料ROM來推動特定功能的ALU 12-35
第十三章 Verilog 2001增強特色
13.1 Configuration 13-3
13.2 generate 13-5
13.3 Constant function 13-9
13.4 Indexed vector part select 13-12
13.5 Multi-dimensional Array 13-14
13.6 Array Bit and Part Select 13-16
13.7 Signed Arithmetic Extension 13-18
13.8 Power Operator 13-26
13.9 Re-entrant Task and Recursive Function 13-29
13.10 Comma-separated Sensitivity List 13-30
13.11 Combinational Logic Sensitivity 13-32
13.12 Enhanced File I/O 13-35
13.13 Automatic Width Extension Past 32 bits 13-37
13.14 Default Net with Continuous Assign 13-38
13.15 Disable Default Net Declaration 13-41
13.16 Explicit In-line Parameter Passing 13-43
13.17 Combined Port/Data Type Declaration 13-45
13.18 ANSI-style Port List 13-47
13.19 Reg Declaration With Initialization 13-51
13.20 "Register" Changed To "Variable" 13-52
13.21 Enhanced PLA Modeling 13-52
13.22 Accurate BNF, with Subsection 13-52
13.23 Enhanced Conditional Compilation 13-53
13.24 File and Line Compiler Directive 13-56
13.25 Attribute 13-57
13.26 Standard Random Number Generator 13-60
13.27 Enhanced Invocation Option Test 13-61
13.28 On-detect Pulse Error Propagation 13-64
13.29 Negative Pulse Detection 13-66
13.30 New Timing Constraint Check 13-67
13.31 Negative Timing Constraint 13-67
13.32 Enhanced SDF support 13-68
13.33 Extended VCD File / PLI Enhancement 13-69
13.34 Verilog 2001新增的保留字、運算子、函數、compiler directive 以及token 13-71
第十四章 Verilog的檔案處理與除錯輔助功能
14.1 測試平台(TestBench) 14-2
14.2 Verilo的檔案處理 14-3
14.2.1 $fopen以及 $fclose 14-3
14.2.2 $readmemb以及 $readmemh 14-4
14.2.3 $display、$write、$fdisplay以及 $fwrite 14-7
14.3 Verilog的除錯輔助功能 14-12
14.3.1 $monitor以及 $fmonitor 14-12
14.3.2 $strobe以及 $fstrobe 14-14
14.4 Verilog的時間格式與精確度 14-16
14.4.1 $timeformat 14-16
14.4.2 $printtimescale 14-18
14.4.3 $time、$stime以及 $realtime 14-21
14.5 資料型態轉換 14-22
14.5.1 $realtobits以及 $bitstoreal 14-22
14.5.2 $rtoi以及 $itor 14-23
14.6 Verilog的系統任務 14-24
第十五章 User Defined PrimitiveS
15.1 User Defined PrimitiveS(UDPs) 15-2
15.1.1 UDP的特性 15-2
15.1.2 可用於UDP的邏輯值與Edge Trigger值 15-3
15.1.3 UDP的BNF表示法 15-3
15.2 組合邏輯UDP 15-4
15.3 循序邏輯UDP 15-7
附錄A Verilog的識別字(Keywords)
►GO►最新優惠► 【暢銷書】Verilog 硬體描述語言數位電路:設計實務(五版)
【Preface】序/前言/推薦/心得 |
作者序
Verilog語言是一種一般性的硬體描述語言,它的語法與C語言相似,易學易用,而且能夠允許在同一個模組中有不同層次的表示法共同存在,設計者可以在同一個模組中混合使用:電晶體層次(Transistor Model)、邏輯閘層次模型(Gate Level Model)、暫存器轉移層次(Register Transfer Level),以及行為模型(Behavioral Model)等4種不同層次的表示法來描述所設計的電路。
有鑒於市面上本介紹Verilog硬體描述語言的書籍,一般都普遍將電路描述的目標放在不同層次的仿真機制,能夠作為仿真的Verilog電路描述並不能代表著就能通過邏輯合成的步驟;也就是說有些Verilog的語法是專門用來作為電路仿真之用的,並不適用於邏輯合成的,因而讓一些剛開始使用Verilog來設計數位電路的新手們感到困惑,也因此釀成了筆者編寫此書的動機。
本書是教導學習Verilog硬體描述語言的書籍,目的在於藉由學習Veri-log語言的過程中去瞭解硬體描述語言的設計概念,進而完成設計數位晶片的最終目標。筆者是由淺入深地介紹各種電路的設計方式,或是同一種功能的電路但使用不同的語法敘述來設計,並且也有在電路的運作效能及面積等方面作概略性地比較。
本書使用Verilog硬體描述語言來實作出來,每個電路模組都是電腦輔助設計工具ModelSim之下,完成了模組電路作編譯、合成、仿真以及驗證…等等步驟,所以本書的各個模組都是可以實作得出來的。
第一章主要是介紹數位電路的設計觀念,其中包括了:數位系統的實作方法,以及典型的「半訂制」(Semi Customize)IC設計流程。
第二章主要是Verilog硬體描述語言簡介,主要內容包括:硬體描述語言(Hardware Description Language,HDL)和傳統數位電路設計的優缺點比較,Verilog硬體描述語言(VHDL)的特性、電腦輔助設計工具(CAD):Xilinx Vivado的介紹、Primitive Cell的介紹、ModelSim的介紹,以及Verilog模組整合與仿真的流程(Synthesis and Simulation Flow)-使用Xilinx Vivado。
第三章主要是討論Verilog的模組與架構,主要內容是:Verilog的四大模型(Model)、模組(Module)、語法協定,Verilog的資料型態(Data Types)以及時間控制(Timing Control)方式,還有談到階層式設計(Hie-rarchy Design)的觀念。
第四章介紹的是Verilog HDL編譯器能否用於電路合成的語法,目的在於:將Verilog的語法分成可以用於電路合成以及不能用於電路合成兩大類,並介紹其中可以用於電路合成的語法之說明,並以一些簡單的範例來作說明它們的使用方法。
第五章主要是介紹的是Verilog常用的敘述。
第六章介紹的是Verilog的訊號(signal)與變數(variable)觀念,使用括弧來描述複雜的電路結構,善用「常數」(Constant)、運算元的位用寬度(operator bitwidth)以及重置(Reset)訊號與預設(Preset)訊號的重要性。
第七章介紹算術運算,包括:數字系統,二進位數值系統(Binary Num-bering System)中『無號數整數』、『有號數整數』、『無號數小數』和『有號數小數』的優缺點、可以表示的資料範圍,以及相對應的四則運算:『加法』、『減法』、『乘法』以及『除法』運算。
第八章的內容則是將數位電路中的組合(Combination Logic)邏輯電路,從最簡單的布林方程式之實作(Implementation of Boolean Equa-tion)、編碼器、解碼器,到簡易的算術邏輯運算單元(ALU)的設計…等等。
第九章的內容則是將數位電路中的循序邏輯電路,像是:存儲元件、移位元暫存器(Shift Register)、計數器電路(Counter)、除頻電路…等等。
第十章的內容則是將數位電路中的有限狀態機器與簡易的CPU設計,例如:同步(Synchronous)與非同步(Asynchronous)循序電路、完全指定狀態(Completely Specified)與不完全指定狀態(Incompletely Speci-fied),以及三個特殊的控制電路…等等。
第十一章是記憶體設計與應用,包括:基本的隨機存取記憶體設計、隨機存取記憶體的擴充方式設計、基本的唯讀記憶體設計、唯讀記憶體的擴充方式設計、唯讀記憶體的應用,以及用RAM來設計快取記憶體電路。
第十二章是屬於進階課程,內容主要是將一些設計較大型的電路系統時,可以應用什麼樣的方式幫助我們讓硬體描述語言容易修改、調整,以及可以讓電路在效能或者是面積上可以得到較佳的設計。
第十三章的內容是Verilog 2001增強特色,還有Verilog 2001新增的保留字、運算子、函數、compiler directive以及token。
第十四章的內容是Verilog的檔案處理與除錯輔助功能。
第十五章的內容是用來建立用於Verilog電路模擬的User Defined PrimitiveS(UDPs)。
花了很大的心思及時間著手編寫這本書,除了當成自己手邊的參考書籍以外,更希望大家能夠馳騁於Verilog硬體描述語言的世界裡,設計出更多實用的晶片來。
本書於編寫期間承蒙前中華大學資訊工程系所劉淳燁副教授的指導,另外也要感謝Synopsys的使用者參考手冊(HDL Compiler for Verilog Re-ference Manual)、行政院科學委員會‧國科會晶片設計製作中心(CIC,Chip Implementation Center)的訓練課程教學講義作為參考資料,以及3支由Synplicity公司設計的控制電路程式(程式碼前有註明Copyright (c) 1995 by Synplicity, Inc. You may distribute freely, as long as this header remains attached.),經由筆者修改後完成的有限狀態機範例,使得本書之編寫得以順利完成。
本書幾經校對、更正與增修,如有任何疏漏與錯誤,請各位先進與前輩們給予指正,筆者由衷地感謝。
鄭信源
於新北市 2016.4.2
►GO►最新優惠► 【暢銷書】Verilog 硬體描述語言數位電路:設計實務(五版)
ISBN:9789574999804
規格:平裝/544頁/17x23x2.5cm/普通級/單色印刷/五版
出版地:台灣
本書分類:專業/教科書/政府出版品>電機資訊類>資訊
►GO►最新優惠► 【暢銷書】Verilog 硬體描述語言數位電路:設計實務(五版)
【Preview】內容預覽/連載/試閱PDF下載 |
ISBN:9789574999804
規格:平裝/544頁/17x23x2.5cm/普通級/單色印刷/五版
出版地:台灣
本書分類:專業/教科書/政府出版品>電機資訊類>資訊
►GO►最新優惠► 【暢銷書】Verilog 硬體描述語言數位電路:設計實務(五版)
資料來源:[博客來BOOKS網路書店] http://www.books.com.tw/exep/assp.php/ap/products/0010713216?utm_source=ap&utm_medium=ap-books&utm_content=recommend
圖文屬原創所有。相關資訊僅供參考,歡迎前往選購。發現不妥處請告知!
【Customers Who Bought This Item Also Bought】買的人,也買了... |






