㈠ CS DS ES SS 是什麼意思,都怎麼用,處在程序中什麼位置,起什麼作用,
想知道他們怎麼用,就必須了解他們的用途,他們和其他寄存器如何合作,寄存器定址和存儲器定址如何完成?單說這幾個段寄存器,不涉及其他寄存器,是不能真正了解掌握他們的。學習需要循序漸進,「莫在浮沙築高台」
---------------
寄存器是中央處理器內的組成部份。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數據和位址。在中央處理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序計數器(PC)。在中央處理器的算術及邏輯部件中,包含的寄存器有累加器(ACC)。
寄存器是內存階層中的最頂端,也是系統獲得操作資料的最快速途徑。寄存器通常都是以他們可以保存的位元數量來估量,舉例來說,一個 「8 位元寄存器」或 「32 位元寄存器」。寄存器現在都以寄存器檔案的方式來實作,但是他們也可能使用單獨的正反器、高速的核心內存、薄膜內存以及在數種機器上的其他方式來實作出來。
寄存器通常都用來意指由一個指令之輸出或輸入可以直接索引到的暫存器群組。更適當的是稱他們為 「架構寄存器」。
例如,x86 指令及定義八個 32 位元寄存器的集合,但一個實作 x86 指令集的 CPU 可以包含比八個更多的寄存器。
寄存器是CPU內部的元件,寄存器擁有非常高的讀寫速度,所以在寄存器之間的數據傳送非常快。
[編輯本段]寄存器用途
1.可將寄存器內的數據執行算術及邏輯運算;
2.存於寄存器內的地址可用來指向內存的某個位置,即定址;
3.可以用來讀寫數據到電腦的周邊設備。
[編輯本段]數據寄存器
8086 有14個16位寄存器,這14個寄存器按其用途可分為(1)通用寄存器、(2)指令指針、(3)標志寄存器和(4)段寄存器等4類。
(1)通用寄存器有8個, 又可以分成2組,一組是數據寄存器(4個),另一組是指針寄存器及變址寄存器(4個).
數據寄存器分為:
AH&AL=AX(accumulator):累加寄存器,常用於運算;在乘除等指令中指定用來存放操作數,另外,所有的I/O指令都使用這一寄存器與外界設備傳送數據.
BH&BL=BX(base):基址寄存器,常用於地址索引;
CH&CL=CX(count):計數寄存器,常用於計數;常用於保存計算值,如在移位指令,循環(loop)和串處理指令中用作隱含的計數器.
DH&DL=DX(data):數據寄存器,常用於數據傳遞。
他們的特點是,這4個16位的寄存器可以分為高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。這2組8位寄存器可以分別定址,並單獨使用。
另一組是指針寄存器和變址寄存器,包括:
SP(Stack Pointer):堆棧指針,與SS配合使用,可指向目前的堆棧位置;
BP(Base Pointer):基址指針寄存器,可用作SS的一個相對基址位置;
SI(Source Index):源變址寄存器可用來存放相對於DS段之源變址指針;
DI(Destination Index):目的變址寄存器,可用來存放相對於 ES 段之目的變址指針。
這4個16位寄存器只能按16位進行存取操作,主要用來形成操作數的地址,用於堆棧操作和變址運算中計算操作數的有效地址。
(2) 指令指針IP(Instruction Pointer)
指令指針IP是一個16位專用寄存器,它指向當前需要取出的指令位元組,當BIU從內存中取出一個指令位元組後,IP就自動加1,指向下一個指令位元組。注意,IP指向的是指令地址的段內地址偏移量,又稱偏移地址(Offset Address)或有效地址(EA,Effective Address)。
(3)標志寄存器FR(Flag Register)
8086有一個18位的標志寄存器FR,在FR中有意義的有9位,其中6位是狀態位,3位是控制位。
OF: 溢出標志位OF用於反映有符號數加減運算所得結果是否溢出。如果運算結果超過當前運算位數所能表示的范圍,則稱為溢出,OF的值被置為1,否則,OF的值被清為0。
DF:方向標志DF位用來決定在串操作指令執行時有關指針寄存器發生調整的方向。
IF:中斷允許標志IF位用來決定CPU是否響應CPU外部的可屏蔽中斷發出的中斷請求。但不管該標志為何值,CPU都必須響應CPU外部的不可屏蔽中斷所發出的中斷請求,以及CPU內部產生的中斷請求。具體規定如下:
(1)、當IF=1時,CPU可以響應CPU外部的可屏蔽中斷發出的中斷請求;
(2)、當IF=0時,CPU不響應CPU外部的可屏蔽中斷發出的中斷請求。
TF:跟蹤標志TF。該標志可用於程序調試。TF標志沒有專門的指令來設置或清楚。
(1)如果TF=1,則CPU處於單步執行指令的工作方式,此時每執行完一條指令,就顯示CPU內各個寄存器的當前值及CPU將要執行的下一條指令。
(2)如果TF=0,則處於連續工作模式。
SF:符號標志SF用來反映運算結果的符號位,它與運算結果的最高位相同。在微機系統中,有符號數採用補碼表示法,所以,SF也就反映運算結果的正負號。運算結果為正數時,SF的值為0,否則其值為1。
ZF: 零標志ZF用來反映運算結果是否為0。如果運算結果為0,則其值為1,否則其值為0。在判斷運算結果是否為0時,可使用此標志位。
AF:下列情況下,輔助進位標志AF的值被置為1,否則其值為0:
(1)、在字操作時,發生低位元組向高位元組進位或借位時;
(2)、在位元組操作時,發生低4位向高4位進位或借位時。
PF:奇偶標志PF用於反映運算結果中「1」的個數的奇偶性。如果「1」的個數為偶數,則PF的值為1,否則其值為0。
CF:進位標志CF主要用來反映運算是否產生進位或借位。如果運算結果的最高位產生了一個進位或借位,那麼,其值為1,否則其值為0。)
4)段寄存器(Segment Register)
為了運用所有的內存空間,8086設定了四個段寄存器,專門用來保存段地址:
CS(Code Segment):代碼段寄存器;
DS(Data Segment):數據段寄存器;
SS(Stack Segment):堆棧段寄存器;
ES(Extra Segment):附加段寄存器。
當一個程序要執行時,就要決定程序代碼、數據和堆棧各要用到內存的哪些位置,通過設定段寄存器 CS,DS,SS 來指向這些起始位置。通常是將DS固定,而根據需要修改CS。所以,程序可以在可定址空間小於64K的情況下被寫成任意大小。 所以,程序和其數據組合起來的大小,限制在DS 所指的64K內,這就是COM文件不得大於64K的原因。8086以內存做為戰場,用寄存器做為軍事基地,以加速工作。
以上是8086寄存器的整體概況, 自80386開始,PC進入32bit時代,其定址方式,寄存器大小,功能等都發生了變化。
=============================以下是80386的寄存器的一些資料======================================
寄存器都是32-bits寬。
A、通用寄存器
下面介紹通用寄存器及其習慣用法。顧名思義,通用寄存器是那些你可以根據自己的意願使用的寄存器,修改他們的值通常不會對計算機的運行造成很大的影響。通用寄存器最多的用途是計算。
EAX:通用寄存器。相對其他寄存器,在進行運算方面比較常用。在保護模式中,也可以作為內存偏移指針(此時,DS作為段 寄存器或選擇器)
EBX:通用寄存器。通常作為內存偏移指針使用(相對於EAX、ECX、EDX),DS是默認的段寄存器或選擇器。在保護模式中,同樣可以起這個作用。
ECX:通用寄存器。通常用於特定指令的計數。在保護模式中,也可以作為內存偏移指針(此時,DS作為 寄存器或段選擇器)。
EDX:通用寄存器。在某些運算中作為EAX的溢出寄存器(例如乘、除)。在保護模式中,也可以作為內存偏移指針(此時,DS作為段 寄存器或選擇器)。
同AX分為AH&AL一樣,上述寄存器包括對應的16-bit分組和8-bit分組。
B、用作內存指針的特殊寄存器
ESI:通常在內存操作指令中作為「源地址指針」使用。當然,ESI可以被裝入任意的數值,但通常沒有人把它當作通用寄存器來用。DS是默認段寄存器或選擇器。
EDI:通常在內存操作指令中作為「目的地址指針」使用。當然,EDI也可以被裝入任意的數值,但通常沒有人把它當作通用寄存器來用。DS是默認段寄存器或選擇器。
EBP:這也是一個作為指針的寄存器。通常,它被高級語言編譯器用以建造『堆棧幀'來保存函數或過程的局部變數,不過,還是那句話,你可以在其中保存你希望的任何數據。SS是它的默認段寄存器或選擇器。
注意,這三個寄存器沒有對應的8-bit分組。換言之,你可以通過SI、DI、BP作為別名訪問他們的低16位,卻沒有辦法直接訪問他們的低8位。
C、段選擇器:
實模式下的段寄存器到保護模式下搖身一變就成了選擇器。不同的是,實模式下的「段寄存器」是16-bit的,而保護模式下的選擇器是32-bit的。
CS 代碼段,或代碼選擇器。同IP寄存器(稍後介紹)一同指向當前正在執行的那個地址。處理器執行時從這個寄存器指向的段(實模式)或內存(保護模式)中獲取指令。除了跳轉或其他分支指令之外,你無法修改這個寄存器的內容。
DS 數據段,或數據選擇器。這個寄存器的低16 bit連同ESI一同指向的指令將要處理的內存。同時,所有的內存操作指令 默認情況下都用它指定操作段(實模式)或內存(作為選擇器,在保護模式。這個寄存器可以被裝入任意數值,然而在這么做的時候需要小心一些。方法是,首先把數據送給AX,然後再把它從AX傳送給DS(當然,也可以通過堆棧來做).
ES 附加段,或附加選擇器。這個寄存器的低16 bit連同EDI一同指向的指令將要處理的內存。同樣的,這個寄存器可以被裝入任意數值,方法和DS類似。
FS F段或F選擇器(推測F可能是Free?)。可以用這個寄存器作為默認段寄存器或選擇器的一個替代品。它可以被裝入任何數值,方法和DS類似。
GS G段或G選擇器(G的意義和F一樣,沒有在Intel的文檔中解釋)。它和FS幾乎完全一樣。
SS 堆棧段或堆棧選擇器。這個寄存器的低16 bit連同ESP一同指向下一次堆棧操作(push和pop)所要使用的堆棧地址。這個寄存器也可以被裝入任意數值,你可以通過入棧和出棧操作來給他賦值,不過由於堆棧對於很多操作有很重要的意義,因此,不正確的修改有可能造成對堆棧的破壞。
* 注意 一定不要在初學匯編的階段把這些寄存器弄混。他們非常重要,而一旦你掌握了他們,你就可以對他們做任意的操作了。段寄存器,或選擇器,在沒有指定的情況下都是使用默認的那個。這句話在現在看來可能有點稀里糊塗,不過你很快就會在後面知道如何去做。
指令指針寄存器:
EIP 這個寄存器非常的重要。這是一個32位寬的寄存器 ,同CS一同指向即將執行的那條指令的地址。不能夠直接修改這個寄存器的值,修改它的唯一方法是跳轉或分支指令。(CS是默認的段或選擇器)
上面是最基本的寄存器。下面是一些其他的寄存器,你甚至可能沒有聽說過它們。(都是32位寬):
CR0, CR2, CR3(控制寄存器)。舉一個例子,CR0的作用是切換實模式和保護模式。
還有其他一些寄存器,D0, D1, D2, D3, D6和D7(調試寄存器)。他們可以作為調試器的硬體支持來設置條件斷點。
TR3, TR4, TR5, TR6 和 TR? 寄存器(測試寄存器)用於某些條件測試。
參考資料:http://..com/question/189601765.html
㈡ 數電數據選擇器問題
數據選擇器的1G,2G接地,使能數據選擇器。
數據選擇器和後面的解碼器共同組成了顯示驅動電路,當1~4按鈕分別按下時數碼管分別顯示1~4。
1~4對應的BCD碼為001,010,011,100。
解碼器的D輸入端顯然一直是0,故接地;C輸入端由於只在顯示4時為1,其他時間均為0,故接到U8A的Q端,只在4按下時為1。
解碼器的B和A兩個輸入端(也就是選擇器的輸出端2Y,1Y)在1~4時分別對應01,10,11,00,如果僅用U1A,U3A,U7A,U8A的Q輸出信號顯然難以實現,所以使用一個雙4選一數據選擇器來實現。
選擇器的地址B和A共有四種組合,圖中給出的連接是1按下對應地址01;2按下對應地址10;3和4按下時都對應地址00。
這樣用地址分別對應相應的數字,(BA)→2Y1Y,應該是(01)→01;(10)→10;(00)→11;(00)→00;這樣對應地址(01)和(10)的數據輸入端2C1:1C1=01;2C2:1C2=10,顯然3和4發生了地址重疊,這是不允許的,需要加以區分,又由於3和4的數據11和00的兩個輸入總是相同的,所以先把對應的輸入端2C0和1C0連在一起,接著只需讓3按下時也就是U7A的Q輸出1時2C0和1C0輸入1,而4按下也就是3不按下時2C0和1C0輸入為0,所以2C0和1C0都與U7A的Q輸出相連即可。圖上應該是忘打連接點了。
至於1C1和2C2為什麼要從非門引出,我也看不出他的目的。這個圖是模擬軟體畫的么,試試把1C1和2C2接到VCC,應該也可以實現一樣的功能。
㈢ 寄存器的具體舉例
UxCTL寄存器是一個8位的寄存器。UASRT模塊的基本操作由該寄存器的控制位確定的,它包含了通信協議、通信模式和校驗位等的選擇。圖給出了寄存器的各個位。
圖UxCTL寄存器
由圖可以看出,UxCTL寄存器主要包括8個有效的控制位。為了增加對UxCTL寄存器的了解,知道怎樣對該寄存器進行正確的設置,下面對UxCTL寄存器的各個位進行詳細介紹。
PENA:校驗使能位。當該位為0時,不允許校驗;當該位為1時,允許校驗。如果允許校驗,則發送時產生校驗位,在接收時希望接收到校驗位。.當在地址位多機模式中¨地址位包括在校驗計算中。
PEV:奇偶校驗位。當該位為0時,進行奇校驗;當該位為1時,進行偶校驗。
SPB:停止位。該位用來選擇發送時停止位的個數,但接收時停止位只有一個。當該位為0時,發送時只有1個停止位;當該位為1時,發送時有2個停止位。
CHAR:字元長度位。該位用來選擇發送時數據的長度。當該位為0時,發送的數據為7位;當該位為1時,發送的數據為8位。
LISTEN:監聽使能位。該位用來選擇反饋模式。當該位為0時,沒有反饋;當該位為1時,有反饋,發送的數據被送到接收器,這樣可以進行自環測試。
SYNC:該位用於同步模式選擇和非同步模式選擇。當該位為0時,USART模塊為非同步通信(UART)模式;當該位為1時,USART模塊為同步通信(SPI)模式。
MM:多機模式選擇位。當該位為0時,多機模式選擇線路空閑多機協議;當該位為1時,多機模式選擇地址位多機協議。
SWRST:軟體復位使能位。當該位為0時,UASRT模塊被允許;當該位為1時,UASRT模塊被禁止。
通過以上對UxCTL寄存器的各個位的介紹,可以完成對通信模式和通信數據格式等的選擇。 顧名思義,通用寄存器是那些你可以根據自己的意願使用的寄存器,修改他們的值通常不會對計算機的運行造成很大的影響。通用寄存器最多的用途是計算。
EAX:通用寄存器。相對其他寄存器,在進行運算方面比較常用。在保護模式中,也可以作為內存偏移指針(此時,DS作為段寄存器或選擇器)
EBX:通用寄存器。通常作為內存偏移指針使用(相對於EAX、ECX、EDX),DS是默認的段寄存器或選擇器。在保護模式中,同樣可以起這個作用。
ECX:通用寄存器。通常用於特定指令的計數。在保護模式中,也可以作為內存偏移指針(此時,DS作為寄存器或段選擇器)。
EDX:通用寄存器。在某些運算中作為EAX的溢出寄存器(例如乘、除)。
同AX分為AH&AL一樣,上述寄存器包括對應的16-bit分組和8-bit分組。 ESI:通常在內存操作指令中作為「源地址指針」使用。當然,ESI可以被裝入任意的數值,但通常沒有人把它當作通用寄存器來用。DS是默認段寄存器或選擇器。
EDI:通常在內存操作指令中作為「目的地址指針」使用。當然,EDI也可以被裝入任意的數值,但通常沒有人把它當作通用寄存器來用。ES是默認段寄存器或選擇器。
EBP和ESP:作為指針的寄存器,也可作為16位寄存器BP, SP使用,常用於椎棧操作。通常,它被高級語言編譯器用以建造『堆棧幀'來保存函數或過程的局部變數,不過,還是那句話,你可以在其中保存你希望的任何數據。SS是它的默認段寄存器或選擇器。
注意,這四個寄存器沒有對應的8-bit分組。換言之,你可以通過SI、DI、BP、SP作為別名訪問他們的低16位,卻沒有辦法直接訪問他們的低8位。 實模式下的段寄存器到保護模式下搖身一變就成了選擇器。不同的是,實模式下的「段寄存器」是16-bit的,而保護模式下的選擇器是32-bit的。
CS代碼段,或代碼選擇器。同IP寄存器(稍後介紹)一同指向當前正在執行的那個地址。處理器執行時從這個寄存器指向的段(實模式)或內存(保護模式)中獲取指令。除了跳轉或其他分支指令之外,你無法修改這個寄存器的內容。
DS數據段,或數據選擇器。這個寄存器的低16 bit連同ESI一同指向的指令將要處理的內存。同時,所有的內存操作指令默認情況下都用它指定操作段(實模式)或內存(作為選擇器,在保護模式。這個寄存器可以被裝入任意數值,然而在這么做的時候需要小心一些。方法是,首先把數據送給AX,然後再把它從AX傳送給DS(當然,也可以通過堆棧來做).
ES 附加段,或附加選擇器。這個寄存器的低16 bit連同EDI一同指向的指令將要處理的內存。同樣的,這個寄存器可以被裝入任意數值,方法和DS類似。
FS F段或F選擇器(推測F和下面的G正好是上面CS,DS,ES的字母順延)。可以用這個寄存器作為默認段寄存器或選擇器的一個替代品。它可以被裝入任何數值,方法和DS類似。
GS G段或G選擇器(G的意義和F一樣,沒有在Intel的文檔中解釋)。它和FS幾乎完全一樣。
SS堆棧段或堆棧選擇器。這個寄存器的低16 bit連同ESP一同指向下一次堆棧操作(push和pop)所要使用的堆棧地址。這個寄存器也可以被裝入任意數值,你可以通過入棧和出棧操作來給他賦值,不過由於堆棧對於很多操作有很重要的意義,因此,不正確的修改有可能造成對堆棧的破壞。
* 注意一定不要在初學匯編的階段把這些寄存器弄混。他們非常重要,而一旦你掌握了他們,你就可以對他們做任意的操作了。段寄存器,或選擇器,在沒有指定的情況下都是使用默認的那個。這句話在現在看來可能有點稀里糊塗,不過你很快就會在後面知道如何去做。 EIP 這個寄存器非常的重要。這是一個32位寬的寄存器,同CS一同指向即將執行的那條指令的地址,存放指令的偏移地址。微處理器工作於實模式下,EIP是IP(16位)寄存器。不能夠直接修改這個寄存器的值,修改它的唯一方法是跳轉或分支指令。(CS是默認的段或選擇器)
E、標志寄存器EFR
EFR(extra flags register)包括狀態位、控制位和系統標志位,用於指示微處理器的狀態並控制微處理器的操作。80486 CPU標志寄存器如圖2.12所示。
①狀態標志位:包括進位標志CF、奇偶標志PF、輔助進位標志AF、零標志ZF 、符號標志SF和溢出標志OF。
② 控制標志位:包括陷阱標志(單步操作標志)TF、中斷標志IF和方向標志DF。80486 CPU標志寄存器中的狀態標志位和控制標志位與8086 CPU標志寄存器中的狀態標志位和控制標志位的功能完全一樣,這里就不再贅述。
③ 系統標志位和IOPL欄位:在EFR寄存器中的系統標志和IOPL欄位,用於控制操作系統或執行某種操作。它們不能被應用程序修改。
IOPL(I/O privilege level field):輸入/輸出特權級標志位。它規定了能使用I/O敏感指令的特權級。在保護模式下,利用這兩位編碼可以分別表示0, 1, 2, 3這四種特權級,0級特權最高,3級特權最低。在80286以上的處理器中有一些I/O敏感指令,如CLI(關中斷指令)、STI(開中斷指令)、IN(輸入)、OUT(輸出)。IOPL的值規定了能執行這些指令的特權級。只有特權高於IOPL的程序才能執行I/O敏感指令,而特權低於IOPL的程序,若企圖執行敏感指令,則會引起異常中斷。
NT(nested task flag):任務嵌套標志。在保護模式下,指示當前執行的任務嵌套於另一任務中。當任務被嵌套時,NT=1,否則NT=0。
RF(resume flag):恢復標志。與調試寄存器一起使用,用於保證不重復處理斷點。當RF=1時,即使遇到斷點或故障,也不產生異常中斷。
VM(virtual 8086 mode flag):虛擬8086模式標志。用於在保護模式系統中選擇虛擬操作模式。VM=1,啟用虛擬8086模式;VM=0,返回保護模式。
AC(alignment check flag):隊列檢查標志。如果在不是字或雙字的邊界上定址一個字或雙字,隊列檢查標志將被激活。 上面是最基本的寄存器。下面是一些其他的寄存器,你甚至可能沒有聽說過它們。(都是32位寬):
CR0, CR2, CR3(控制寄存器)。舉一個例子,CR0的作用是切換實模式和保護模式。
還有其他一些寄存器,D0, D1, D2, D3, D6和D7(調試寄存器)。他們可以作為調試器的硬體支持來設置條件斷點。
TR3, TR4, TR5, TR6 和TR?寄存器(測試寄存器)用於某些條件測試。
㈣ eda設計正負脈寬數控調制信號發生器
本書以掌握國內外最流行的電子設計自動化(EDA)技術為教學目標,以
培養學生的設計和應用開發能力為主線,系統地介紹EDA應用技術。
全書在取材和編排上,內容新穎、循序漸進,並注重理論聯系實際。全
書共10章,主要內容包括VHDL硬體描述語言、Quartus Ⅱ等EDA工具軟體、
可編程邏輯器件、實驗開發系統、應用實例和綜合設計實例。第4章對大量
常規的數字電路做出了VHDL描述,第7章詳細闡述了9個典型數字系統的設計
方法,第9章選取了16個實驗實例,第10章給出了4個代表性的全國大學生電
子設計競賽賽題設計實例。讀者完全可以通過這些實際操作,很好地掌握:
EDA的開發設計方法。每章後面附有小結和習題,便於讀者學習和教學使用
。為方便教師教學,本書配有電子教案。
本書可作為高職高專及本科院校電子信息、電氣、通信、自動控制、自
動化和計算機類專業的EDA技術教材,也可作為上述學科或相關學科工程技
術人員的參考書。還可作為電子產品製作、科技創新實踐、EDA課程設計和
畢業設計等實踐活動的指導書。
【本書目錄】
第1章 EDA技術概述
1.1 EDA技術及其發展
1.1.1 EDA技術的涵義
1.1.2 EDA技術的發展史
1.2 EDA設計流程
1.3 EDA技術的主要內容及主要的EDA廠商
1.3.1 EDA技術的主要內容
1.3.2 主要EDA廠商概述
1.4 常用的EDA工具
1.5 EDA技術的發展趨勢
1.5.1 可編程器件的發展趨勢
1.5.2 軟體開發工具的發展趨勢
1.5.3 輸入方式的發展趨勢
1.6 EDA技術的應用
1.6.1 EDA技術的應用形式
1.6.2 EDA技術的應用場合
本章小結
思考題和習題
第2章 VHDL硬體描述語言
2.1 VHDL概述
2.1.1 常用硬體描述語言簡介
2.1.2 VHDL及其優點
2.1.3 VHDL程序設計約定
2.1.4 VHDL程序設計舉例
2.2 VHDL程序基本結構
2.2.1 實體
2.2.2 結構體
2.2.3 庫
2.2.4 程序包
2.2.5 配置
2.3 VHDL語言要素
2.3.1 VHDL文字規則
2.3.2 VHDL數據對象
2.3.3 VHDL數據類型
2.3.4 運算操作符
2.3.5 VHDL語言結構體的描述方式
2.4 VHDL順序語句
2.4.1 等待語句和斷言語句
2.4.2 賦值語句
2.4.3 轉向控制語句
2.4.4 子程序調用語句
2.4.5 返回語句
2.5 VHDL並行語句
2.5.1 進程語句
2.5.2 塊語句
2.5.3 並行信號賦值語句
2.5.4 並行過程調用語句
2.5.5 元件例化語句
2.5.6 生成語句
本章小結
思考題和習題
第3章 Quartus Ⅱ軟體及其應用
3.1 Quartus Ⅱ的使用及設計流程
3.1.1 Quartus Ⅱ的圖形編輯輸入法
3.1.2 Quartus Ⅱ的文本編輯輸入法
3.2 Quartus Ⅱ設計正弦信號發生器
3.2.1 創建工程和編輯設計文件
3.2.2 編譯
3.2.3 正弦信號數據ROM定製
3.2.4 模擬
3.2.5 測試
3.2.6 配置器件
3.3 MATLAB/DSP Builder設計可控正弦信號發生器
3.3.1 建立設計模型
3.3.2 Simulink模型模擬
3.3.3 SignalCompiler編譯
3.3.4 使用Quartus Ⅱ實現時序模擬
3.3.5 使用Quartus Ⅱ進行硬體測試
與硬體實現
本章小結
思考題和習題
第4章VHDL應用實例
4.1 組合邏輯電路設計
4.1.1 基本門電路
4.1.2 解碼器
4.1.3 編碼器
4.1.4 數值比較器
4.1.5 數據選擇器
4.1.6 算術運算電路
4.1.7 三態門及匯流排緩沖器
4.2 時序邏輯電路設計
4.2.1 時鍾信號和復位信號
4.2.2 觸發器
4.2.3 寄存器和移位寄存器
4.2.4 計數器
4.2.5 序列信號發生器和檢測器
4.3 存儲器設計
4.3.1 只讀存儲器ROM
4.3.2 隨機存儲器RAM
4.4 狀態機設計
4.4.1 摩爾型狀態機
4.4.2 米立型狀態機
本章小結
思考題和習題
第5章 大規模可編程邏輯器件
5.1 可編程邏輯器件概述
5.2 簡單可編程邏輯器件
5.3 復雜可編程邏輯器件
5.3.1 CPLD的基本結構
5.3.2 Altera公司的器件
5.4 現場可編程門陣列
5.4.1 FPGA的整體結構
5.4.2 Xilinx公司的』FPGA器件
5.4.3 FPGA的配置
5.5 在系統可編程邏輯器件
5.5.1 ispLsI/pLSI的結構
5.5.2 Lattice公司ispLSI系列器件
5.6 FPGA和CPI。D的開發應用選擇
5.6.1 FPGA和CPL|D的性能比較
5.6.2 FPGA和CPLD的開發應用選擇
本章小結
思考題和習題
第6章 常用印A工具軟體
6.1 Altera MAX+plus Ⅱ的使用
6.1.1 MAX+plus Ⅱ功能簡介
6.1.2 MAX+plus Ⅱ設計流程
6.1.3 MAX+plus Ⅱ設計舉例
6.2 Xilinx Foundation的使用
6.2.1 Foundation設計流程
6.2.2.Foundation設計舉例
6.3 ModelSim的使用
6.3.1 ModelSim的使用方法
6.3.2 ModelSim與MAX-+Iplus Ⅱ的介面
6.3.3 ModelSim交互命令方式模擬
6.3.4 ModelSim批處理工作方式。
本章小結
思考題和習題
第7章 EDA技術綜合設計應用
7.1 數字鬧鍾的設計
7.1.1 系統的設計要求
7.1.2 系統的總體設計
7.1.3 鬧鍾控制器的設計
7.1.4 解碼器的設計
7.1.5 鍵盤緩沖器(預置寄存器)的設計
7.1.6 鬧鍾寄存器的設計
7.1.7 時間計數器的設計
7.1.8 顯示驅動器的設計
7.1.9 分頻器的設計
7.1.10 系統的整體組裝
7.1.11 系統的硬體驗證
7.2 多功能信號發生器的設計
7.2.1 設計要求
7.2.2 設計實現
7.2.3 系統模擬
7.3 序列檢測器的設計
7.3.1 設計思路
7.3.2 VHDL程序實現
7.3.3 硬體邏輯驗證
7.4 交通燈信號控制器的設計
7.4.1 設計思路
7.4.2 VHDL程序實現
7.4.3 硬體邏輯驗證
7.5 空調系統有限狀態自動機的設計
7.5.1 設計思路
7.5.2 VHDL程序實現
7.6 電梯控制系統的設計
7.6.1 設計要求
7.6.2 設計實現
7.6.3 系統模擬
7.7 步進電機控制電路的設計
7.7.1 步進電機的工作原理
7.7.2 驅動電路的組成及VHDL實現
7.8 智力競賽搶答器的設計
7.8.1 設計思路
7.8.2 VHDL程序實現
7.9 單片機與FPGA/CPLD匯流排介面的設計
7.9.1 設計思路
7.9.2 VHDL程序實現
本章小結
思考題和習題
第8章 EDA實驗開發系統
8.1 GW48型EDA實驗開發系統原理與使用
8.1.1 系統性能及使用注意事項
8.1.2 系統工作原理
8.1.3 系統主板結構與使用方法
8.2 GW48實驗電路結構圖
8.2.1 實驗電路信號資源符號圖說明
8.2.2各實驗電路結構圖特點與適用范圍簡述
8.3 GW48系統結構圖信號名與晶元引腳對照表
8.4 GWDVP?B電子設計競賽應用板 使用說明
8.5 GW48型EDA實驗開發系統使用實例
本章小結
思考題和習題
第9章 EDA技術實驗
實驗1 8位全加器的設計
實驗2 組合邏輯電路的設計
實驗3 觸發器功能的模擬實現
實驗4 計數器的設計
實驗5 計數解碼顯示電路
實驗6 數字鍾綜合實驗
實驗7 序列檢測器的設計
實驗8 簡易彩燈控制器
實驗9 正負脈寬數控調制信號發生器的設計
實驗10 數字秒錶的設計
實驗11 交通燈信號控制器的設計
實驗12 模擬信號檢測
實驗13 4位十進制頻率計設計
實驗14 VGA顯示器彩條信號發生設計
實驗15 A/D轉換控制器的設計
實驗16 音樂發生器的設計
第10章 EDA技術在全國大學生電子設計競賽中的應用
10.1 等精度頻率計設計
10.1.l 系統設計要求
10.1.2 系統組成
10.1.3 工作原理
10.1.4 FPGA開發的VHDL設計
10.1.5 系統模擬
10.1.6 系統測試與硬體驗證
10.1.7 設計技巧分析及系統擴展思路
10.2 測相儀設計
10.2.1 測相儀工作原理及實現
10.2.2 系統測試
10.3 基於DDS的數字移相正弦信號發生器設計
10.3.1 系統設計要求
10.3.2 系統設計方案
10.3.3 DDS內部主要模塊的VHDL程序實現
10.3.4 系統模擬與硬體驗證
10.3.5 設計技巧分析與系統擴展思路
10.4 邏輯分析儀設計
10.4.1 設計任務
lO.4.2 設計基本要求
10.4.3 設計實現