編輯推薦
本書是根據作者多年教學經驗編寫而成,在第一版的基礎上對內容進行瞭修正和更新。適應對象為高等院校本科電子信息、通信工程、電氣工程及自動化、機電工程及計算機科學與技術等專業。“數字邏輯電路分析與設計”是這些專業的一門必修的、重要的技術基礎課,讓學生建立對數字係統的基本概念、熟悉常用的基本器件、掌握基本的分析方法,從而掌握實際數字係統的分析和設計能力。
內容簡介
本書以數字邏輯為基礎,全麵介紹瞭數字電路的基本理論、分析方法、綜閤方法和實際應用。本書共分8章,第1章介紹數製之間的轉換及常用的編碼;第2章介紹邏輯代數及邏輯化簡的基本方法;第3章介紹幾個常用的組閤邏輯模塊的應用;第4章和第5章介紹時序電路的分析、設計方法和中規模邏輯模塊的應用;第6章介紹數/模和模/數轉換電路;第7章介紹可編程邏輯器件的原理及應用;第8章以大量例題為背景介紹硬件描述語言VHDL。每章後麵附有相應的習題。
本書可作為高等學校通信、電氣、電子信息、計算機、自動化等專業的大學本科教材,也可供其他從事電子技術工作的工程技術人員參考。
內頁插圖
目錄
第1章數字電路基礎
1.1數字信號與數字電路
1.1.1數字信號
1.1.2數字電路
1.2數值
1.2.1各種進製的錶示
1.2.2各種進製之間的轉換
1.3二值編碼
1.3.1帶符號數的錶示
1.3.2常用的二�彩�進製碼
1.3.3n位十進製數的BCD碼錶示及8421 BCD碼的加/減法
1.4邏輯關係
1.4.1基本邏輯關係
1.4.2復閤邏輯關係
1.5邏輯關係與數字電路
習題1
第2章邏輯函數與組閤電路基礎
2.1邏輯代數
2.1.1邏輯代數的基本公式
2.1.2邏輯代數的基本規則
2.1.3邏輯函數的公式法化簡
2.2邏輯函數的標準形式
2.2.1最小項與最小項錶達式
2.2.2最大項與最大項錶達式
2.2.3最小項與最大項的關係
2.3卡諾圖及其化簡
2.3.1卡諾圖
2.3.2邏輯函數與卡諾圖
2.3.3用卡諾圖化簡邏輯函數
2.3.4對具有無關項的邏輯函數的化簡
2.4組閤電路的設計基礎
2.4.1編碼器的設計
2.4.2譯碼器的設計
2.4.3數據選擇器的設計
2.4.4數值比較器的設計
2.4.52位加法器的設計
習題2
第3章組閤邏輯電路設計
3.1集成邏輯電路的電氣特性
3.1.1集成電路的主要電氣指標
3.1.2邏輯電路的輸齣結構
3.1.3芯片使用中注意的問題
3.1.4正、負邏輯極性
3.1.5常用門電路
3.2常用組閤邏輯模塊
3.2.14位並行加法器
3.2.2數值比較器
3.2.3譯碼器
3.2.4數據選擇器
3.2.5總綫收發器
3.3應用實例
3.4險象與競爭
3.4.1險象的分類
3.4.2不考慮延遲時的電路輸齣
3.4.3邏輯險象及其消除
3.4.4功能險象
3.4.5動態險象
習題3
第4章時序電路基礎
4.1集成觸發器
4.1.1基本RS觸發器
4.1.2鍾控RS觸發器
4.1.3D觸發器
4.1.4JK觸發器
4.2觸發器的應用
4.2.1D觸發器的應用
4.2.2JK觸發器的應用
4.2.3異步計數器
4.3同步時序邏輯電路
4.3.1時序邏輯電路的基本概念
4.3.2米裏型電路的分析舉例
4.3.3莫爾型電路分析舉例
4.3.4自啓動
4.4集成計數器及其應用
4.4.1集成計數器
4.4.2任意模計數器
4.4.3計數器的擴展
4.4.4集成計數器應用舉例
4.5集成移位寄存器及其應用
4.5.1集成移位寄存器
4.5.2移位型計數器
4.5.3移位寄存器在數據轉換中的應用
習題4
第5章同步時序電路和數字係統設計
5.1同步時序電路的基本設計方法
5.1.1原始狀態圖和狀態錶的建立
5.1.2用觸發器實現狀態分配
5.1.3導齣觸發器的激勵方程和輸齣方程
5.2用“觸發器組閤狀態法”設計同步時序邏輯電路
5.2.1寫齣編碼狀態錶
5.2.2化簡觸發器激勵函數的卡諾圖
5.2.3畫齣邏輯圖
5.3用“觸發器直接狀態法”設計同步時序邏輯電路
5.3.1觸發器狀態的直接分配
5.3.2做齣邏輯次態錶
5.3.3導齣各觸發器的激勵方程和電路的輸齣方程
5.3.4畫齣邏輯圖
5.4同步時序電路中的時鍾偏移
5.4.1時鍾偏移現象
5.4.2時鍾偏移的後果
5.4.3防止時鍾偏移的方法
習題5
第6章集成ADC和DAC的基本原理與結構
6.1集成數模轉換器
6.1.1二進製權電阻網絡DAC
6.1.2二進製T形電阻網絡DAC
6.2DAC的主要技術參數
6.2.1最小輸齣電壓和滿量程輸齣電壓
6.2.2分辨率
6.2.3轉換誤差和産生原因
6.2.4DAC的建立時間
6.3集成模數轉換器
6.3.1ADC的處理過程
6.3.2並行型 ADC
6.3.3逐次比較逼近型ADC
6.3.4雙積分型ADC
6.4ADC的主要技術參數
習題6
第7章可編程邏輯器件及其應用基礎
7.1PLD的基本原理
7.1.1PLD的基本組成
7.1.2PLD的編程和陣列結構
7.1.3PLD的邏輯符號
7.2隻讀存儲器
7.2.1ROM的組成原理
7.2.2ROM在組閤邏輯設計中的應用
7.3可編程邏輯陣列
7.3.1組閤邏輯PLA電路
7.3.2時序邏輯PLA電路
習題7
第8章硬件描述語言基礎
8.1硬件描述語言概述
8.2VHDL語言描述數字係統的基本方法
8.2.1VHDL庫和包
8.2.2實體描述語句
8.2.3結構體描述
8.3VHDL中的賦值、判斷和循環語句
8.3.1信號和變量的賦值語句
8.3.2IF�睧LSE語句
8.3.3CASE語句
8.3.4LOOP語句
8.3.5NEXT、EXIT語句
8.4進程語句
8.5VHDL設計組閤邏輯電路舉例
8.6VHDL設計時序邏輯電路舉例
8.6.1時鍾信號的描述
8.6.2觸發器的同步和非同步復位的描述
習題8
主要參考文獻
精彩書摘
第3章組閤邏輯電路設計
一般說來,根據輸齣信號對輸入信號響應的不同,邏輯電路可以分為兩類: 一類是組閤邏輯電路,稱為組閤電路; 另一類是時序邏輯電路,稱為時序電路。
在組閤邏輯電路中,電路在任一時刻的輸齣信號僅決定於該時刻的輸入信號,而與電路原有的輸齣狀態無關。從電路結構上來看,組閤邏輯電路的輸齣端和
圖3��1組閤邏輯電路的結構框圖
輸入端之間沒有反饋迴路,其一般結構如圖3��1所示。
對於組閤邏輯電路的工程實現,可分為兩種情況。第一種情況是,根據已導齣的邏輯圖,從市場上選用由集成電路製造商提供的集成電路芯片,從而構成具有預定功能的電氣裝置或部件,例如印刷電路闆。第二種情況是,從集成電路設計軟件的元件庫中,選擇相應的門及功能塊,進而構成集成電路芯片。無論何種情況,邏輯設計師必然十分熟悉各種實用芯片和功能塊的電氣特性,以及它們的邏輯功能,從而正確地、靈活地使用它們。本章將依托第一種實現情況,先介紹集成電路的主要電氣特性,再介紹常用的組閤邏輯模塊,進而討論組閤邏輯電路的設計。
3.1集成邏輯電路的電氣特性
市售的集成電路芯片,按製作工藝的不同和工作機理的不同,可分為TTL(晶體管�簿�體管邏輯)、MOS(金屬�� 氧化物�舶氳繼迓嘸�)和ECL(發射極耦閤邏輯)等。在MOS工藝的基礎上,發展而來的CMOS(互補MOS邏輯)和TTL這兩種集成電路得到瞭最為廣泛的應用。本節主要介紹這兩種電路。
TTL是齣現較早的一種集成電路,在20世紀70到 80年代占有統治地位。
按照允許的工作環境,可分為74係列和54係列,一般的工作電壓為5V左右。常用的為74係列,工作的溫度範圍是0~70℃; 54係列可在較大的環境溫度範圍(-55~125℃)內工作,價格昂貴,主要用於環境條件十分惡劣的一些軍用産品中。
4000係列是美國半導體公司早期開發的CMOS集成電路,因其功耗小而在過去的一段時間裏也得到瞭較廣泛的應用,它的工作電壓範圍比較寬(5~18V)。後來,又發展瞭多種類型CMOS電路,例如HC(高速CMOS)、AHC(高級高速CMOS)、AC(高級CMOS)、HCT(與TTL兼容的高速CMOS)、ACT(與TTL兼容的高級CMOS)以及AHCT(與TTL兼容的高級高速CMOS)等類型,它們的工作電壓都是5V。由於當時 TTL所錶現的優點及市場占有率,在分類和命名規則方麵也嚮TTL靠攏,分為74和54兩個係列,采用與TTL相同的功能號,例如74 ACT00等。
進入20世紀90年代以後,又發展瞭低壓CMOS電路,例如LV(低壓)、LVC(低壓CMOS)、ALVC(高級低壓CMOS)和ALVT(高級低壓工藝)等。LV和LVC的工作電壓為3.3V,ALVC和ALVT的工作電壓為2.5V。
相對而言,TTL的工作速度較快,CMOS的功耗較小,為此把兩者集成在同一芯片上,取長補短,便産生瞭雙極型與CMOS的混閤工藝——BiCMOS工藝。ABT(高級BiCMOS工藝)就是錶示采用這一工藝的一類集成電路。近年來,CMOS工藝取得瞭長足進步,工作速度也越來越高,在LSI和VLSI中,得到瞭普遍采用。
不同工藝的集成電路的電氣指標均不盡相同,集成電路手冊對各種集成電路芯片的邏輯功能和它們的電氣指標都作瞭詳細的說明。現以TTL與非門為例來說明主要電氣指標的含義,以便正確選擇和使用這些芯片。
3.1.1集成電路的主要電氣指標
1. 輸齣電壓與輸入電壓
對於如圖3��2(a)所示的2輸入與非門,在邏輯上,當a·b=0時,c=1。這時門電路的輸齣電壓vc應為高電平。這一電平的實際值,將因集成電路的工藝不同而不同。對於TTL集成電路而言,空載時理論上約為3.6V。由於電路工作狀態的不同,實際值將低於這一數值。人們規定,如果TTL電路的實際電平vc≥2.4V,則仍認為該集成電路是閤格的,否則,將是不閤格的。所以2.4V是TTL電路輸齣高電平時允許的最低電平,用VOH來錶示。不同工藝的集成電路的VOH的值在圖3��2中可以查得。
……
前言/序言
本書在第1版的基礎上對內容進行瞭修訂和更新。適閤的讀者對象為高等院校本科電子信息、通信工程、電氣工程及自動化、機電工程及計算機科學與技術等專業。“數字邏輯電路分析與設計”是這些專業的一門必修的、重要的技術基礎課,讓學生建立對數字係統的基本概念、熟悉常用的基本器件、掌握基本的分析方法,從而掌握實際數字係統的分析和設計能力。
隨著計算機技術、電子技術的迅速發展以及集成電路生産工藝的不斷提高,電子産品的更新換代日新月異。為瞭適應現代電子技術迅速發展的需要,能夠較好地麵嚮數字化和專用集成電路的新時代,本書在保證基本概念、基本原理和基本分析方法的前提下,重邏輯,輕電氣,壓縮瞭集成電路電氣特性的討論和內部工作原理的分析,突齣瞭綜閤能力的培養及集成電路邏輯特性和工作特點的介紹。另外,電子設計自動化(EDA)技術是20世紀90年代以後發展起來的,它打破瞭傳統的由固定集成芯片組成數字係統的模式,給數字係統設計帶來瞭革命性的變化。尤其是在集成電路與可編程技術高速發展、數字係統日新月異的今天,電子信息類專業的學生掌握這門新技術十分必要。所以本書除瞭保留瞭數字邏輯電路的基本概念和傳統設計方法外,還介紹瞭可編程邏輯技術及硬件描述語言(VHDL)的基本要素,並通過大量實例講述瞭采用VHDL語言描述基本的數字電路的方法和過程,為學生掌握EDA技術打下良好的基礎。也使讀者能更深入地理解數字電路在後續課程中的應用,為麵嚮業界的工程應用人纔培養奠定基礎。
本書是作者從實用角度齣發,結閤數字邏輯電路的知識體係,根據多年的教學經驗,參考眾多國內外優秀教材編寫而成的。全書共分8章。第1章介紹數字電路基礎(數製、碼製、基本邏輯關係等),第2章主要介紹邏輯函數的化簡及組閤邏輯電路的設計方法,第3章主要介紹常用組閤邏輯模塊的工作原理及其設計邏輯電路的方法,第4章主要介紹同步時序電路的分析方法,以及集成計數器和集成移位計數器在數字係統中的應用,第5章主要介紹使用觸發器設計同步時序電路的方法,第6章主要介紹ADC/DAC的基本原理及應用,第7章主要介紹可編程邏輯器件及其應用,第8章介紹VHDL的語言基礎,並以大量舉例來介紹使用VHDL設計數字係統。
本書第1章和第2章由馬然編寫;第3章由王旭智編寫;第4章由熊小君編寫;第5章和第8章由硃雯君編寫;第6章和第7章由薛雷編寫,由熊小君擔任主編,負責全書的整理和定稿。由於水平有限,書中難免有一些不足,殷切希望廣大讀者批評指正。
編者2016年9月
《現代數字係統設計與驗證》 前言 數字係統已成為現代電子技術的核心,從消費電子産品到高性能計算,再到通信基礎設施,無處不在。隨著集成電路技術的飛速發展,數字係統的規模和復雜度不斷攀升,對設計、分析和驗證方法提齣瞭更高的要求。本書旨在為電子信息工程專業的學生提供一個全麵而深入的數字係統設計與驗證的學習平颱,幫助讀者掌握現代數字係統設計的關鍵概念、技術和工具,為未來在這一領域的學習和職業發展奠定堅實基礎。 本書的內容聚焦於當前數字係統設計的最新發展趨勢和主流技術,強調理論與實踐的結閤。我們不僅介紹數字係統的基本原理,更注重講解如何運用先進的硬件描述語言(HDL)和仿真工具來設計、實現和驗證復雜的數字邏輯。本書的編寫風格力求嚴謹、清晰,並輔以大量的實例和練習,旨在使讀者能夠融會貫通,真正掌握數字係統設計的能力。 第一章 緒論 本章將為讀者構建一個對數字係統設計的宏觀認識。我們將從數字係統的基本概念入手,闡述其與模擬係統的區彆以及在現代科技中的重要地位。隨後,我們將迴顧數字邏輯發展簡史,瞭解從早期的邏輯門電路到今天的超大規模集成電路(VLSI)的演進過程。重點在於介紹構成現代數字係統的基本構建模塊,如組閤邏輯和時序邏輯,以及它們在實際應用中的作用。此外,本章還將概述數字係統設計的典型流程,從需求分析、高層設計、詳細設計到綜閤、布局布綫,直至最終的物理實現。最後,我們將簡要介紹一些常用的數字邏輯設計和驗證工具,為後續章節的學習做鋪墊。 第二章 數字邏輯電路基礎 本章將深入講解數字邏輯電路的基本理論。我們將從二進製數係統及其運算開始,介紹邏輯門(AND, OR, NOT, XOR, NAND, NOR)的功能和真值錶,以及布爾代數的基本公理和定理。在此基礎上,我們將學習如何使用卡諾圖(Karnaugh Map)和奎恩-麥剋拉斯基(Quine-McCluskey)算法等方法進行邏輯函數的最簡化,理解最簡化的重要性在於減少硬件資源和提高電路性能。本章還將介紹組閤邏輯電路的設計方法,包括如何根據邏輯功能需求構建邏輯錶達式,以及如何將其轉化為門級電路。我們還將討論組閤邏輯電路的性能指標,如延遲和競爭冒險現象,並介紹相應的消除方法。 第三章 時序邏輯電路設計 與組閤邏輯電路不同,時序邏輯電路的狀態會隨時間變化,是構成記憶功能和狀態機的關鍵。本章將詳細介紹觸發器(Flip-flop)的種類(SR, JK, D, T)及其工作原理,包括時鍾信號的作用以及各種觸發器的特性。在此基礎上,我們將學習如何設計和分析同步時序邏輯電路,重點介紹狀態機的概念,包括有限狀態機(FSM)的定義、狀態圖、狀態錶以及狀態分配。我們將詳細講解摩爾(Mealy)型和穆爾(Moore)型狀態機的設計方法,並分析如何將狀態機轉化為實際的電路實現。本章還將討論時序邏輯電路中的關鍵問題,如建立時間(Setup Time)、保持時間(Hold Time)和時鍾抖動(Clock Jitter),以及如何進行時序分析以確保電路的可靠運行。 第四章 可編程邏輯器件(PLD)與FPGA設計入門 在現代數字係統設計中,可編程邏輯器件(PLD)扮演著至關重要的角色。本章將介紹PLD的基本概念,包括其與通用集成電路的區彆以及其在原型設計和中小規模産品開發中的優勢。我們將重點介紹現場可編程門陣列(FPGA)的內部結構,包括查找錶(LUT)、觸發器、塊RAM(BRAM)、DSP Slice等核心資源。讀者將瞭解FPGA的工作原理,以及如何利用FPGA實現復雜的數字邏輯功能。本章還將介紹硬件描述語言(HDL)——VHDL和Verilog HDL——的基本語法和特性,這是進行FPGA設計和仿真的核心工具。我們將通過簡單的實例,演示如何使用HDL描述組閤邏輯和時序邏輯,並介紹HDL代碼的結構和編寫規範。 第五章 硬件描述語言(HDL)高級特性與綜閤 本章將進一步深入學習VHDL和Verilog HDL,重點關注高級特性和綜閤過程。我們將詳細講解HDL中的進程(Process/Always Block)、信號(Signal/Reg)、變量(Variable)、端口(Port)和實體/模塊(Entity/Module)等關鍵元素。學習如何有效地使用HDL來描述復雜的數據通路和控製邏輯,包括參數化設計、實例化、生成語句(Generate Statement)和麵嚮對象的設計思想(Object-Oriented Design Concepts)。本章的重頭戲在於詳細闡述HDL綜閤(Synthesis)的過程。我們將介紹綜閤的目標(麵積、速度、功耗),以及綜閤工具如何將HDL代碼轉換為門級網錶。讀者將學習如何編寫可綜閤的HDL代碼,避免使用不可綜閤的結構,以及如何理解和優化綜閤報告。 第六章 數字係統仿真與驗證 仿真與驗證是確保數字係統設計正確性的關鍵環節。本章將全麵介紹數字係統驗證的概念、方法和流程。我們將講解不同級彆的仿真,包括行為級仿真、寄存器傳輸級(RTL)仿真和門級仿真。重點將放在RTL仿真,這是在硬件實現之前驗證邏輯功能最常用的方法。本章將詳細介紹測試平颱(Testbench)的設計,如何使用HDL語言編寫測試激勵、監控信號和斷言(Assertions),以對被測設計(DUT, Design Under Test)進行全麵測試。我們將介紹常用的仿真工具,並演示如何使用它們進行仿真運行、波形分析和錯誤調試。此外,本章還將介紹一些更高級的驗證技術,如約束隨機激勵(Constrained Random Stimulation)、覆蓋率(Coverage)的概念(功能覆蓋率、代碼覆蓋率)以及斷言驗證。 第七章 異步電路設計基礎 盡管同步電路在大多數數字係統中占據主導地位,但異步電路在某些特定應用中具有獨特的優勢,例如在低功耗設計和抗電磁乾擾方麵。本章將介紹異步電路的基本概念,闡述其與同步電路的根本區彆。我們將探討異步信號傳輸的特點,如握手協議(Handshake Protocols),以及如何利用它們來避免時鍾信號帶來的限製。本章將介紹一些基本的異步邏輯門電路和構成模塊,並討論異步電路設計的挑戰,如競爭冒險、死鎖等,以及相應的分析和設計方法。我們將通過簡單的例子,展示異步電路的設計思路。 第八章 現代數字係統設計流程與工具鏈 本章將整閤前述章節的內容,全麵介紹現代數字係統設計的端到端流程。我們將從需求規格說明書開始,逐步引導讀者完成從高層架構設計、HDL編碼、綜閤、靜態時序分析(STA)、布局布綫(Place and Route),到最終的物理驗證(Physical Verification)和可製造性設計(DFM)等關鍵步驟。我們將詳細介紹每個流程節點的作用和輸齣,以及不同EDA(Electronic Design Automation)工具在其中扮演的角色。重點介紹行業主流的EDA工具鏈,如Cadence, Synopsys, Mentor Graphics等,以及它們提供的各種解決方案。本章將強調設計約束(Constraints)在整個流程中的重要性,以及如何有效地設置設計約束以指導工具完成最優的設計。 第九章 低功耗數字係統設計 隨著移動設備和嵌入式係統的普及,降低數字係統的功耗已成為設計中的重要考量。本章將深入探討低功耗數字係統設計的策略和技術。我們將首先分析數字係統功耗的來源,包括動態功耗(開關功耗)和靜態功耗(漏電流)。隨後,我們將介紹各種降低功耗的技術,例如時鍾門控(Clock Gating)、電源門控(Power Gating)、動態電壓和頻率調整(DVFS)等。本章還將講解如何利用HDL代碼中的特定結構和約束來輔助低功耗設計,並介紹相關的EDA工具功能。 第十章 特定應用數字係統設計實例 為瞭幫助讀者更好地理解和應用所學知識,本章將通過若乾具體的數字係統設計實例來加深理解。我們將選取一些典型的應用場景,例如數據通路設計(如ALU)、狀態機控製(如簡單的交通燈控製器)、接口電路設計(如UART發送器/接收器),以及簡單的嵌入式係統架構。每個實例都將按照完整的項目流程進行展開,從需求分析、架構設計,到HDL編碼、仿真驗證,直至最終的綜閤與時序分析。通過這些實例,讀者將能夠更直觀地感受到理論知識在實際設計中的應用。 附錄 附錄部分將提供一些有用的參考信息,例如常用的布爾代數公式匯總、HDL語言的語法速查錶、常見EDA工具的命令參考等,以方便讀者在學習和實踐中隨時查閱。 結語 數字係統的設計是一個充滿挑戰與機遇的領域。本書的編寫旨在為有誌於投身於此的讀者提供一個堅實的理論基礎和實踐指導。我們鼓勵讀者在學習過程中,積極動手實踐,熟練掌握各種設計和驗證工具,不斷探索和創新,最終成為一名優秀的數字係統工程師。