內容簡介
本書介紹瞭基於有限狀態機(FSM)的數字電路硬件設計,通過結閤工程案例來展示FSM是如何融入其中的。同時,本書還運用硬件描述語言VerilogHDL,通過編寫可執行和仿真的代碼,讓讀者從實際應用的角度獲得一個完整的數字電路的設計思路。本書從設計方法,到編程語言,比較係統地介紹瞭數字電路的硬件設計,並結閤實際案例進行詳細的剖析。讀者能夠從本書中學到完整的設計思路,並可以藉鑒或整閤到自己的方案中,極大地方便瞭相關高校學生與專業人士的學習和運用。
目錄
譯者序
原書前言
第1章有限狀態機和狀態圖以及數字電路和係統設計的基本概念
1.1概述
1.2學習資料
1.3小結
第2章使用狀態圖控製外部硬件分係統20
2.1概述
2.2學習資料
2.3小結
第3章根據狀態圖綜閤硬件電路
3.1關於FSM的綜閤
3.2學習資料
3.3小結
第4章同步FSM設計
4.1傳統狀態圖的綜閤方法
4.2處理未使用的狀態
4.3信號高/低位指示係統
4.3.1使用測試平颱測試FSM
4.4簡易波形發生器
4.4.1采樣頻率和每種波形的采樣個數
4.5骰子遊戲
4.5.1骰子遊戲係統公式
4.6二進製數據串行發送係統
4.6.1圖4.15移位寄存器裏的RE計數單元
4.7串行異步接收係統
4.7.1FSM公式
4.8加入奇偶校驗的串行接收係統
4.8.1整閤奇偶校驗83
4.8.2圖4.26對應的D觸發器公式
4.9異步串行發送係統
4.9.1異步串行發送係統公式
4.10看門狗電路
4.10.1D觸發器公式
4.10.2輸齣公式
4.11小結
第5章運用獨熱編碼技術設計FSM
5.1獨熱編碼簡介
5.2數據采集係統
5.3內存共享係統
5.4簡易波形發生器
5.4.1工作原理
5.4.2解決方案
5.4.3 D觸發器輸入端d對應的方程
5.4.4輸齣公式
5.5運用微處理器(微控製器)控製FSM
5.6存儲芯片測試係統
5.7獨熱編碼和第4章常規設計方法的對比
5.8動態存儲空間訪問控製係統
5.8.1觸發器公式
5.8.2輸齣公式
5.9如何運用微處理器來控製DMA係統
5.10使用FSM檢測連續的二進製序列
5.11小結
第6章Verilog HDL
6.1硬件描述語言背景介紹
6.2用Verilog HDL進行硬件建模:模塊
6.3模塊的嵌套:建立構架
6.4Verilog HDL仿真:一個完整的設計過程
參考文獻
第7章Verilog HDL體係
7.1內置基本單元和類
7.1.1Verilog的類
7.1.2Verilog邏輯值和數字值
7.1.3如何賦值
7.1.4Verilog HDL基本門電路
7.2操作符和描述語句
7.3Verilog HDL操作符運用案例:漢明碼編碼器
7.3.1漢明碼編碼器的仿真
參考文獻
第8章運用Verilog HDL描述組閤邏輯和時序邏輯
8.1描述數據流模式:迴顧連續賦值語句
8.2描述行為模式:時序模塊
8.3時序語句模塊:阻塞和非阻塞
8.3.1時序語句
8.4用時序模塊描述組閤邏輯
8.5用時序模塊描述時序邏輯
8.6描述存儲芯片
8.7描述FSM
8.7.1實例1:國際象棋比賽計時器
8.7.2實例2:帶有自動落鎖功能的密碼鎖FSM
參考文獻
第9章異步FSM
9.1概述
9.2事件觸發邏輯的設計
9.3使用時序公式綜閤事件FSM
9.3.1捷徑法則
9.4在可編程邏輯器件裏運用乘積求和公式的設計方法
9.4.1去掉當前狀態和下一個狀態的標記:n和n+1
9.5運用事件觸發的方法設計帶有指示功能的單脈衝發生器FSM
9.6另一個事件觸發FSM的完整案例
9.6.1重要說明
9.6.2帶有電流監視器的電機控製係統
9.7用FSM控製懸停式割草機
9.7.1係統描述和解決方案
9.8沒有輸入條件的狀態切換
9.9特例:微處理器地址空間響應
9.10運用米利(Mealy)型輸齣
9.10.1水箱水位控製係統的解決方案
9.11使用繼電器的電路
9.12事件觸發FSM裏競爭冒險的條件
9.12.1輸入信號之間的競爭
9.12.2二次狀態變量之間的競爭
9.12.3主要變量和二次變量之間的競爭
9.13用微處理器係統産生等待周期
9.14用異步FSM設計甩乾係統
9.15使用兩路分支要注意的問題
9.16小結
參考文獻
第10章佩特裏(Petri)網絡
10.1簡易佩特裏網絡概述
10.2使用佩特裏網絡設計簡單時序邏輯
10.3並行佩特裏網絡
10.3.1另一個並行佩特裏網絡案例
10.4並行佩特裏網絡裏的同步傳輸
10.4.1弧綫的有效和失效
10.5用有效弧綫和失效弧綫同步兩個佩特裏網絡
10.6共享資源的控製
10.7二進製數據的串行接收器
10.7.1第一個佩特裏網絡的公式
10.7.2第一個佩特裏網絡輸齣公式
10.7.3主佩特裏網絡公式
10.7.4主網絡輸齣公式
10.7.5移位寄存器
10.7.6移位寄存器的公式
10.7.7 4位計數器
10.7.8數據鎖存器
10.8小結
參考文獻
附錄
附錄A本書所使用的邏輯門和布爾代數
A.1本書涉及的基本邏輯門符號和布爾代數錶達式
A.2異或門和同或門
A.3布爾代數法則
A.3.1基本或法則
A.3.2基本與法則
A.3.3結閤律和交換律
A.3.4分配律
A.3.5針對靜態邏輯1競爭冒險的輔助法則
A.3.6統一法則
A.3.7邏輯門裏信號的延遲效應
A.3.8De Morgan法則
A.4運用布爾代數的一些例子
A.4.1將與門和或門轉換成與非門
A.4.2將與門和或門轉換成或非門
A.4.3邏輯相鄰定律
A.5小結
附錄B計數器和移位寄存器電路設計方法
B.1同步二進製遞增或遞減計數器
B.2用T觸發器構建4位同步遞增計數器
B.3並行加載計數器:運用T觸發器
B.4在低成本PLD器件平颱上用D觸發器來構建並行加載計數器
B.5二進製遞增計數器:帶有並行輸入
B.6驅動計數器(包括FSM)的時鍾電路
B.7使用自由狀態設計計數器
B.8移位寄存器
B.9第4章裏的異步接收器
B.9.1異步接收器中用到的11位移位寄存器
B.9.2 4位計數器338
B.9.3第4章異步接收模塊的係統仿真
B.10小結
附錄C使用Verilog HDL仿真FSM
C.1概述
C.2單脈衝同步FSM設計:使用VerilogHDL仿真
C.2.1係統概述
C.2.2模塊框圖
C.2.3狀態圖
C.2.4狀態圖對應的公式
C.2.5Verilog描述代碼
C.3測試平颱和其存在的目的
C.4使用SynaptiCAD公司的VeriLoggerExtreme仿真器
C.5小結
附錄D運用Verilog行為模式構建FSM
D.1概述
D.2迴顧帶有指示功能的單脈衝/多脈衝發生器FSM
D.35.6節中存儲芯片測試係統
D.4小結
前言/序言
原 書 前 言
本書主要介紹的是在數字係統中如何設計並運用有限狀態機(Finite State Macine, FSM),其中包括利用微處理器、微控製器,以及FSM直接控製的存儲單元等不同方法進行設計的案例和係統,同時也包含瞭一些在數字係統設計中經常遇到的情況。因此這裏的重點是讓讀者對有限狀態機有一個全麵的認識,並掌握在什麼情況下使用它以及如何使用它。
Verilog HDL近年來得到瞭廣泛的運用,本書也對其進行瞭詳細的介紹,許多設計案例都是運用它來描述和驗證的。除瞭用Verilog描述邏輯門和布爾代數方程以外,本書專門用一章的篇幅介紹瞭硬件描述語言在所謂行為級的應用,它指的是通過使用Verilog語言的一些高級功能進行係統設計。
此外,本書中有一個章節介紹瞭獨熱編碼技術,運用這種技術設計的FSM,更多地齣現在現場可編程門陣列(Fidd Programmable Gate Array,FPGA)芯片中,例如動態存儲訪問(Dynamic Memory Access,DMA)控製器和數據檢測係統等。本書還用一章介紹瞭異步(事件觸發)FSM,它不需要時鍾驅動,對可靠性要求較高的係統比較適用。關於佩特裏(Petri)網絡,即並行數字FSM技術,也專門用一章來進行講述。
在數字係統發展的過程中,微控製器一直被用來控製係統的輸入和輸齣,同時還被用來處理模擬信號。現在,使用本書介紹的技巧和方法作為一種設計輔助,基於狀態機的方案可以通過比較固定的模式來實現,即狀態圖。一旦設計齣狀態圖,工程師便可以直接使用它推導係統的布爾代數方程,也可以根據其流程直接編寫Verilog硬件描述語言代碼。一些外圍設備,例如存儲單元、地址計數器或者比較器等,也可以通過布爾代數方程來定義它們的操作,或者使用Verilog語言去描述它們的行為。
本書主要適用於電子和通信工程專業大學本科最後一年的學生,也可用於那些想快速掌握如何使用狀態機來設計係統的研究生和工程師們。本書的讀者應掌握數字電路基礎知識,例如邏輯門電路、布爾代數等。具體章節規劃如下:
前3章是幫助讀者學習並掌握同步狀態機的一些重要的基本概念。排版方式和課堂筆記比較類似,已經作為諾森比亞大學本科最後一年的課件使用瞭很多年,並取得瞭良好的反饋。其內容涵蓋瞭狀態機設計和綜閤的基本要素。從第4章開始,書麵排版將和一般書籍一樣,不過這並不影響其連貫性,讀者仍然可以像閱讀普通書籍一樣來學習前3章的內容。
下麵將詳細地闡述各個章節所涵蓋的內容。
第1章介紹瞭狀態機的基本概念,其中包含米利(Mealy)狀態機和摩爾(Moore)狀態機這兩個主要形態的區彆,同步狀態機(時鍾驅動)和異步狀態機(事件驅動)的概念,狀態圖以及如何使用狀態圖來錶示係統的時序行為及輸入和輸齣的狀態等。隨後介紹瞭幾個代錶性的例子,來幫助讀者更好地理解如何使用狀態機以達到某個具體的設計目的。
第2章主要對外接的硬件設備的應用進行瞭闡述,著重介紹瞭如何用狀態機來控製它們。其中包括如何通過使用外接計時器産生等待狀態,如何控製模-數轉換器(ADC)、存儲器件等。這些基於狀態機的係統級設計理念,可能在其他類似的書中是不多見的。
第3章是課件部分的延續,排版和前兩章類似。主要介紹瞭如何使用T觸發器和D觸發器來進行狀態錶的綜閤,以及係統初始化的方法。
第4章介紹同步(時鍾驅動)狀態機,並帶有仿真結果。這一章主要是嚮讀者展現一些常見的實用案例,例如數字波形發生器和串行異步收發模塊等。
第5章介紹瞭基於“獨熱編碼”技術的同步狀態機,其中包括動態存儲訪問(DMA)控製器和串行數據檢測係統等。
第6章介紹瞭Verilog HDL的基本概念,包括如何用其描述邏輯門和布爾代數方程,如何將不同功能的模塊組成一個完整係統等。
第7章介紹瞭Verilog HDL的基本語法,重點闡述瞭組閤邏輯和時序邏輯的描述方法。
第8章繼續深入介紹瞭Verilog HDL,重點放在狀態機的行為建模方麵。通過幾個實例闡述瞭使用硬件描述語言在行為模式下描述同步狀態機的方法。
第9章專門介紹瞭異步(事件觸發)狀態機,從基本概念到設計應用都有詳細的闡述。對於異步係統涉及的競爭冒險問題,也做瞭簡要的討論,並給齣瞭解決方案。
第10章介紹瞭佩特裏網絡,以及如何用它實現時序和並行狀態機。佩特裏網絡還可以用來控製同步信號引導多個並行狀態機的操作。此外還介紹瞭如何使用D觸發器來設計和綜閤佩特裏網絡。
每章都含有許多實例和解決方案,其中很多都被作者整閤到實際運用的係統中。
Peter Minns BSc(H) PhD CEng MIETIan Elliott BSc(H) MPhil CEng MIET
基於FSM和Verilog HDL的數字電路設計 下載 mobi epub pdf txt 電子書 格式