本書由淺入深、循序漸進地介紹可編程邏輯器件的基本原理、內(nèi)部結構和設計方法,系統(tǒng)地介紹了用于CPLD/FPGA開發(fā)的VHDL語言。對于可編程器件的基本原理,首先從基本邏輯門出發(fā),講述控制邏輯函數(shù)表達式的設計與分解,然后詳細介紹SPLD(包括PLA和PAL)、CPLD和FPGA的組成原理及其區(qū)別。對于VHDL語言,則先從VHDL基本元素、基本語法、描述模型開始,依次講解并行語句、順序語句、元件、庫和包、有限狀態(tài)機等,并配有豐富的實例,有助于學習者對概念的理解和用法的掌握。
本書適合于學習芯片設計的理工科學生和VHDL初學者,可作為高等學校電子類專業(yè)的選修教材或有志于研發(fā)數(shù)字集成電路芯片的工程技術人員的參考書。
本書從硬件電路的角度介紹了可編程邏輯器件的基本原理和用于開發(fā)應用的VHDL語言。結合數(shù)字邏輯電路的基礎知識,由淺入深地聯(lián)系具體器件介紹了簡單可編程邏輯器件、復雜可編程邏輯器件和現(xiàn)場可編程門陣列的結構原理,重點講解了現(xiàn)場可編程門陣列中的邏輯塊設計原理、可編程開關的設計原理,以及不同邏輯功能的編程實現(xiàn)方法。結合具體的電路實例,講述了VHDL中的基本概念和編程語法。全書體現(xiàn)了VHDL語言作為并行語言在電路設計中的模塊化、層次化、各盡其責、相互獨立的設計思想,是引導有志于學習可編程邏輯器件設計與開發(fā)設計的學生和技術人員的一本值得推薦的入門教材和學習手冊。
目錄
第1章緒論/1
1.1可編程邏輯器件與數(shù)字電路設計/1
1.2可編程邏輯器件的發(fā)展/2
1.3可編程邏輯器件設計/7
1.3.1電子設計自動化/7
1.3.2電子設計自動化的發(fā)展/8
1.3.3EDA工具的主要特征/9
1.3.4有代表性的EDA軟件/11
1.3.5設計方法/13
1.3.6設計流程/14
思考題/17第2章數(shù)字邏輯/18
2.1基本邏輯門及其運算/18
2.2基本擴展邏輯門/19
2.3邏輯門的擴展/20
2.4基本邏輯門的實現(xiàn)/23
2.4.1MOS管/23
2.4.2非門的CMOS實現(xiàn)/25
2.4.3基本與非門的實現(xiàn)/25
2.4.4基本或非門的實現(xiàn)/26
2.4.5邏輯函數(shù)表達式的CMOS實現(xiàn)/26
思考題/28第3章可編程邏輯器件原理/29
3.1簡單可編程邏輯器件/29
3.1.1可編程邏輯陣列/29
3.1.2可編程陣列邏輯/30
3.2復雜可編程邏輯器件/32
3.2.1Altera MAX系列CPLD/333.2.2AMD
MACH系列CPLD/34
3.2.3Lattice pLSI和ispLSI系列CPLD/35
3.2.4Xilinx XC 7000系列CPLD/36
3.2.5Altera FlashLogic/36
3.3現(xiàn)場可編程邏輯門陣列/37
3.3.1邏輯塊/39
3.3.2可編程開關/43
3.3.3典型FPGA內(nèi)部結構/48
3.4CPLD和FPGA比較/51
思考題/53第4章圖形和文本輸入/54
4.1Altera Quartus Ⅱ 9.0工作環(huán)境/54
4.1.1基于工程的管理環(huán)境/54
4.1.2工程設計工具/55
4.2圖形輸入法/56
4.2.141選擇器/56
4.2.2建立工程/56
4.2.3電路設計/60
4.2.4利用41選擇器設計81選擇器/66
4.3文本輸入法/69
4.4配置文件下載/69
思考題/71第5章VHDL基礎/72
5.1對象/72
5.1.1對象命名規(guī)則/72
5.1.2對象聲明規(guī)則/72
5.1.3常量/73
5.1.4信號/74
5.1.5變量/75
5.1.6別名/76
5.2標準數(shù)據(jù)類型/77
5.2.1bit/77
5.2.2bit_vector/77
5.2.3boolean/78
5.2.4boolean_vector/78
5.2.5integer/78
5.2.6natural/79
5.2.7positive/79
5.2.8integer_vector/79
5.2.9character/79
5.2.10string/80
5.3標準邏輯數(shù)據(jù)類型/80
5.4數(shù)值表達方法/82
5.5數(shù)據(jù)類型轉(zhuǎn)換/83
5.6自定義數(shù)據(jù)類型/84
5.6.1自定義整數(shù)類型/84
5.6.2枚舉類型/85
5.6.3子數(shù)據(jù)類型/85
5.6.4數(shù)組類型/85
5.7預定義屬性/86
5.7.1標量數(shù)據(jù)類型的預定義屬性/86
5.7.2數(shù)組類型的預定義屬性/87
5.7.3信號的預定義屬性/88
5.8VHDL中的運算/88
5.8.1賦值運算符/89
5.8.2邏輯運算符/89
5.8.3算術運算符/90
5.8.4關系運算符/90
5.8.5移位運算/91
5.8.6合并運算符/91
5.8.7運算符的優(yōu)先級/92
思考題/92
第6章VHDL語言的程序結構/93
6.1VHDL設計模型/93
6.1.1數(shù)據(jù)流模型/93
6.1.2行為模型/93
6.1.3結構化模型/94
6.2VHDL程序結構/94
6.2.1實體/95
6.2.2架構/97
6.2.3庫和包/98
6.2.4配置/100
6.3簡單的例子/100
思考題/104第7章并行語句/105
7.1簡單信號賦值語句/105
7.2條件信號賦值語句/110
7.3選擇信號賦值語句/114
7.4產(chǎn)生語句/118
7.5塊語句/121
7.6多驅(qū)動源賦值問題/123
思考題/124第8章順序語句/125
8.1鎖存器和觸發(fā)器/125
8.2進程/127
8.3IF語句/128
8.3.1IF…THEN…END IF/128
8.3.2IF…THEN…ELSE…END IF/129
8.3.3IF…THEN…ELSIF…THEN…
END IF/129
8.3.4IF…THEN…ELSIF…THEN…
ELSE…END IF/130
8.3.5嵌套式IF語句/133
8.4CASE語句/138
8.5WAIT語句/141
8.6LOOP語句/143
8.6.1無條件循環(huán)/143
8.6.2FOR…LOOP循環(huán)/143
8.6.3WHILE…LOOP循環(huán)/146
8.6.4LOOP…EXIT循環(huán)/146
8.6.5LOOP…NEXT循環(huán)/147
8.7寄存器的引入問題/147
8.8信號和變量的再討論/148
思考題/155第9章元件/156
9.1元件的聲明/156
9.2元件例化/157
9.3元件聲明和例化方法/157
思考題/172第10章庫、包與子函數(shù)/173
10.1庫/173
10.2包/174
10.3子程序/177
10.3.1函數(shù)/178
10.3.2過程/181
10.4過程、函數(shù)和進程討論/185
10.4.1子程序與進程/185
10.4.2函數(shù)與過程/186
思考題/186第11章有限狀態(tài)機/187
11.1FSM的系統(tǒng)圖和狀態(tài)圖/187
11.2FSM的編程框架/188
11.3Moore型FSM設計/189
11.3.1系統(tǒng)圖設計/189
11.3.2狀態(tài)機描述/189
11.3.3編程實現(xiàn)/190
11.4Mealy型FSM設計/191
11.5綜合設計/193
11.6FSM中的問題/200
思考題/201附錄AVHDL中的保留字/202附錄B縮略語/203參考文獻/204