本書由淺入深、循序漸進(jìn)地介紹可編程邏輯器件的基本原理、內(nèi)部結(jié)構(gòu)和設(shè)計(jì)方法,系統(tǒng)地介紹了用于CPLD/FPGA開發(fā)的VHDL語言。對(duì)于可編程器件的基本原理,首先從基本邏輯門出發(fā),講述控制邏輯函數(shù)表達(dá)式的設(shè)計(jì)與分解,然后詳細(xì)介紹SPLD(包括PLA和PAL)、CPLD和FPGA的組成原理及其區(qū)別。對(duì)于VHDL語言,則先從VHDL基本元素、基本語法、描述模型開始,依次講解并行語句、順序語句、元件、庫和包、有限狀態(tài)機(jī)等,并配有豐富的實(shí)例,有助于學(xué)習(xí)者對(duì)概念的理解和用法的掌握。
本書適合于學(xué)習(xí)芯片設(shè)計(jì)的理工科學(xué)生和VHDL初學(xué)者,可作為高等學(xué)校電子類專業(yè)的選修教材或有志于研發(fā)數(shù)字集成電路芯片的工程技術(shù)人員的參考書。
本書從硬件電路的角度介紹了可編程邏輯器件的基本原理和用于開發(fā)應(yīng)用的VHDL語言。結(jié)合數(shù)字邏輯電路的基礎(chǔ)知識(shí),由淺入深地聯(lián)系具體器件介紹了簡單可編程邏輯器件、復(fù)雜可編程邏輯器件和現(xiàn)場可編程門陣列的結(jié)構(gòu)原理,重點(diǎn)講解了現(xiàn)場可編程門陣列中的邏輯塊設(shè)計(jì)原理、可編程開關(guān)的設(shè)計(jì)原理,以及不同邏輯功能的編程實(shí)現(xiàn)方法。結(jié)合具體的電路實(shí)例,講述了VHDL中的基本概念和編程語法。全書體現(xiàn)了VHDL語言作為并行語言在電路設(shè)計(jì)中的模塊化、層次化、各盡其責(zé)、相互獨(dú)立的設(shè)計(jì)思想,是引導(dǎo)有志于學(xué)習(xí)可編程邏輯器件設(shè)計(jì)與開發(fā)設(shè)計(jì)的學(xué)生和技術(shù)人員的一本值得推薦的入門教材和學(xué)習(xí)手冊。
目錄
第1章緒論/1
1.1可編程邏輯器件與數(shù)字電路設(shè)計(jì)/1
1.2可編程邏輯器件的發(fā)展/2
1.3可編程邏輯器件設(shè)計(jì)/7
1.3.1電子設(shè)計(jì)自動(dòng)化/7
1.3.2電子設(shè)計(jì)自動(dòng)化的發(fā)展/8
1.3.3EDA工具的主要特征/9
1.3.4有代表性的EDA軟件/11
1.3.5設(shè)計(jì)方法/13
1.3.6設(shè)計(jì)流程/14
思考題/17第2章數(shù)字邏輯/18
2.1基本邏輯門及其運(yùn)算/18
2.2基本擴(kuò)展邏輯門/19
2.3邏輯門的擴(kuò)展/20
2.4基本邏輯門的實(shí)現(xiàn)/23
2.4.1MOS管/23
2.4.2非門的CMOS實(shí)現(xiàn)/25
2.4.3基本與非門的實(shí)現(xiàn)/25
2.4.4基本或非門的實(shí)現(xiàn)/26
2.4.5邏輯函數(shù)表達(dá)式的CMOS實(shí)現(xiàn)/26
思考題/28第3章可編程邏輯器件原理/29
3.1簡單可編程邏輯器件/29
3.1.1可編程邏輯陣列/29
3.1.2可編程陣列邏輯/30
3.2復(fù)雜可編程邏輯器件/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可編程開關(guān)/43
3.3.3典型FPGA內(nèi)部結(jié)構(gòu)/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工程設(shè)計(jì)工具/55
4.2圖形輸入法/56
4.2.141選擇器/56
4.2.2建立工程/56
4.2.3電路設(shè)計(jì)/60
4.2.4利用41選擇器設(shè)計(jì)81選擇器/66
4.3文本輸入法/69
4.4配置文件下載/69
思考題/71第5章VHDL基礎(chǔ)/72
5.1對(duì)象/72
5.1.1對(duì)象命名規(guī)則/72
5.1.2對(duì)象聲明規(guī)則/72
5.1.3常量/73
5.1.4信號(hào)/74
5.1.5變量/75
5.1.6別名/76
5.2標(biāo)準(zhǔn)數(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標(biāo)準(zhǔn)邏輯數(shù)據(jù)類型/80
5.4數(shù)值表達(dá)方法/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預(yù)定義屬性/86
5.7.1標(biāo)量數(shù)據(jù)類型的預(yù)定義屬性/86
5.7.2數(shù)組類型的預(yù)定義屬性/87
5.7.3信號(hào)的預(yù)定義屬性/88
5.8VHDL中的運(yùn)算/88
5.8.1賦值運(yùn)算符/89
5.8.2邏輯運(yùn)算符/89
5.8.3算術(shù)運(yùn)算符/90
5.8.4關(guān)系運(yùn)算符/90
5.8.5移位運(yùn)算/91
5.8.6合并運(yùn)算符/91
5.8.7運(yùn)算符的優(yōu)先級(jí)/92
思考題/92
第6章VHDL語言的程序結(jié)構(gòu)/93
6.1VHDL設(shè)計(jì)模型/93
6.1.1數(shù)據(jù)流模型/93
6.1.2行為模型/93
6.1.3結(jié)構(gòu)化模型/94
6.2VHDL程序結(jié)構(gòu)/94
6.2.1實(shí)體/95
6.2.2架構(gòu)/97
6.2.3庫和包/98
6.2.4配置/100
6.3簡單的例子/100
思考題/104第7章并行語句/105
7.1簡單信號(hào)賦值語句/105
7.2條件信號(hào)賦值語句/110
7.3選擇信號(hào)賦值語句/114
7.4產(chǎn)生語句/118
7.5塊語句/121
7.6多驅(qū)動(dòng)源賦值問題/123
思考題/124第8章順序語句/125
8.1鎖存器和觸發(fā)器/125
8.2進(jìn)程/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信號(hào)和變量的再討論/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ù)和進(jìn)程討論/185
10.4.1子程序與進(jìn)程/185
10.4.2函數(shù)與過程/186
思考題/186第11章有限狀態(tài)機(jī)/187
11.1FSM的系統(tǒng)圖和狀態(tài)圖/187
11.2FSM的編程框架/188
11.3Moore型FSM設(shè)計(jì)/189
11.3.1系統(tǒng)圖設(shè)計(jì)/189
11.3.2狀態(tài)機(jī)描述/189
11.3.3編程實(shí)現(xiàn)/190
11.4Mealy型FSM設(shè)計(jì)/191
11.5綜合設(shè)計(jì)/193
11.6FSM中的問題/200
思考題/201附錄AVHDL中的保留字/202附錄B縮略語/203參考文獻(xiàn)/204