數(shù)字電路實(shí)驗(yàn)報(bào)告_第1頁(yè)
數(shù)字電路實(shí)驗(yàn)報(bào)告_第2頁(yè)
數(shù)字電路實(shí)驗(yàn)報(bào)告_第3頁(yè)
數(shù)字電路實(shí)驗(yàn)報(bào)告_第4頁(yè)
數(shù)字電路實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目錄實(shí)驗(yàn)一 四位海明校驗(yàn)碼的邏輯設(shè)計(jì) 2實(shí)驗(yàn)二 十六進(jìn)制譯碼計(jì)數(shù)器的設(shè)計(jì) 6實(shí)驗(yàn)三 脈沖分頻邏輯電路的設(shè)計(jì) 10實(shí)驗(yàn)四 八位數(shù)據(jù)串入并出邏輯設(shè)計(jì) 16實(shí)驗(yàn)五 十六位運(yùn)算器的邏輯設(shè)計(jì) 20實(shí)驗(yàn)六 4Kx8bit存儲(chǔ)器的設(shè)計(jì) 25實(shí)驗(yàn)一 四位海明校驗(yàn)碼的邏輯設(shè)計(jì)實(shí)驗(yàn)?zāi)康模赫莆蘸C餍r?yàn)的編碼原理以及設(shè)計(jì)、調(diào)試方法,鞏固提高組合邏輯知識(shí),培養(yǎng)實(shí)際動(dòng)手能力。掌握總線的應(yīng)用方法。掌握總線信息出錯(cuò)時(shí)發(fā)現(xiàn)錯(cuò)我和糾正錯(cuò)我的原理,掌握奇偶校驗(yàn)的原理,掌握海明校驗(yàn)編碼原理以及設(shè)計(jì)、調(diào)試方法。實(shí)驗(yàn)要求:(1) 設(shè)計(jì)信息位為 4位的內(nèi)存的海明校驗(yàn)邏輯電路,在讀內(nèi)存儲(chǔ)器時(shí),具有一位出 錯(cuò)報(bào)錯(cuò)和糾正一位錯(cuò)誤的功能。(2)

2、為了難其正確性,在讀出信息的通路上,要串入造錯(cuò)用邏輯,位數(shù)自定。(3) 奇偶發(fā)生器與海明校難器對(duì)同一位用一塊奇偶校驗(yàn)集成塊實(shí)驗(yàn)原理: 檢錯(cuò)和校錯(cuò) 由編碼理論,任何一種編碼是否具有檢測(cè)和糾錯(cuò)能力,都與編碼的最小距離有關(guān),即任何兩組合法代碼間最少的二進(jìn)制位數(shù)的差異,L-1=D+C(D>=C)L為編碼的最小距離,D表示檢測(cè)錯(cuò)誤的位數(shù);C表示糾正錯(cuò)誤的位數(shù)。故,8421碼不具備檢錯(cuò)能力,這是因?yàn)樗淖钚〈a距為1,當(dāng)8421碼的碼字中有一位出錯(cuò),而產(chǎn)生的錯(cuò)誤代碼就有可能是另一個(gè)碼字,這樣,無(wú)法判斷它是否已出錯(cuò)。 8421海明校驗(yàn)碼8421海明校驗(yàn)碼由8421碼加三位校驗(yàn)碼組成.設(shè)8421碼為I1

3、I2 I3 I4,三位校驗(yàn)碼為:P3 P2 P1,則8421碼為下列七位代碼:位序76543218421海明碼I4I3I2P3I1P2P1校驗(yàn)碼的值由下式確定: 由此可得8421海明碼的最小碼距為3 ,故D=1,C=1,可檢測(cè)并糾正一位錯(cuò)誤。輸出時(shí)在輸出端先求出校驗(yàn)和: 然后判斷S3S2S1,如果代碼不出錯(cuò),則S3S2S1=000,否則由S3S2S1構(gòu)成的二進(jìn)制數(shù)為1位指出出錯(cuò)位。實(shí)驗(yàn)實(shí)現(xiàn):1. 利用Quartus II 工具,畫出實(shí)驗(yàn)的TTl電路如下圖經(jīng)過編譯仿真之后,仿真波形圖如下圖:如圖看見,當(dāng)造錯(cuò)數(shù)據(jù)只與原數(shù)據(jù)有一位錯(cuò)(1000,0100,0010,0001)時(shí),輸出的數(shù)據(jù)和輸入的數(shù)據(jù)

4、是一樣的,通過海明碼將錯(cuò)誤的一位數(shù)據(jù)進(jìn)行了修正。而當(dāng)沒有數(shù)位錯(cuò)的時(shí)候,yes輸出的值變?yōu)?,表明在傳輸過程中,數(shù)據(jù)位并沒有出錯(cuò)。2. 海明校驗(yàn)碼的verilog實(shí)現(xiàn)Verilog代碼如下module haiming( num , mistake , out );input 3:0 num;input 3:0 mistake;output 3:0 out;wire 2:0 hmnum;wire 2:0 ckhmnum;wire 3:0 misnum;wire 3:0 erbit;assign hmnum0 = num3num1num0, hmnum1 = num3num2num0, hmnum2

5、 = num3num2num1;assign ckhmnum0 = misnum3misnum1misnum0hmnum0, ckhmnum1 = misnum3misnum2misnum0hmnum1, ckhmnum2 = misnum3misnum2misnum1hmnum2;assign misnum0 = num0mistake0, misnum1 = num1mistake1, misnum2 = num2mistake2, misnum3 = num3mistake3;assign erbit0 = (ckhmnum2)&ckhmnum1&ckhmnum0, er

6、bit1 = ckhmnum2&(ckhmnum1)&ckhmnum0, erbit2 = ckhmnum2&ckhmnum1&(ckhmnum0), erbit3 = ckhmnum2&ckhmnum1&ckhmnum0; assign out = erbit misnum;endmodule這段代碼,我用的assign語(yǔ)句,對(duì)wire類型進(jìn)行賦值,因?yàn)樵赥TL電路之中并沒有用到寄存器,而且這是一個(gè)典型的組合邏輯電路,所以并沒有只用reg寄存器類型的變量。其中的每一個(gè)賦值都和上述的TTL電路相對(duì)應(yīng)。其中num為輸入的數(shù)據(jù),mistake為造錯(cuò)的

7、輸入,hmnum為由輸入數(shù)據(jù)所得到的的海明碼,misnum為造錯(cuò)之后線路上的值,ckhmnum為根據(jù)海明碼和數(shù)據(jù)生成的用于糾錯(cuò)的海明碼,而erbit為根據(jù)ckhmnum所得到的哪一位錯(cuò)誤的信息,最后根據(jù)這信息將錯(cuò)誤的位進(jìn)行改正。下面是根據(jù)verilog編譯仿真后的波形圖如圖,當(dāng)造錯(cuò)數(shù)據(jù)只與原數(shù)據(jù)有一位錯(cuò)(1000,0100,0010,0001)時(shí),輸出的數(shù)據(jù)和輸入的數(shù)據(jù)是一樣的,通過海明碼將錯(cuò)誤的一位數(shù)據(jù)進(jìn)行了修正。沒有錯(cuò)誤的時(shí)候(0000),輸出數(shù)據(jù)和輸入數(shù)據(jù)也是一樣的。實(shí)驗(yàn)小結(jié):這個(gè)實(shí)驗(yàn)讓我熟悉了本實(shí)驗(yàn)所用的軟件的使用方法,如何利用quartus軟件,畫電路圖,并且編譯仿真,以及利用ver

8、ilog HDL編寫簡(jiǎn)單的組合邏輯電路,以及利用quartus軟件對(duì)編寫的verilog程序進(jìn)行編譯,仿真,以及基本的數(shù)字電路設(shè)計(jì)調(diào)試方法,本實(shí)驗(yàn)讓我受益匪淺。實(shí)驗(yàn)二 十六進(jìn)制譯碼計(jì)數(shù)器的設(shè)計(jì)實(shí)驗(yàn)?zāi)康模?1.掌握設(shè)計(jì)組合邏輯電路的方法 2.不同器件,不同設(shè)計(jì)方法的比較 3掌握數(shù)碼顯示與譯碼器電位間的關(guān)系,掌握小規(guī)??删幊绦酒膽?yīng)用,掌握GAL方程的設(shè)計(jì)實(shí)驗(yàn)要求: 用GAL 方程設(shè)計(jì)方法進(jìn)行實(shí)驗(yàn),并用MAX+PLUAS進(jìn)行原理圖形設(shè)計(jì)并仿真驗(yàn)證實(shí)驗(yàn)器件: 計(jì)算機(jī)及相關(guān)軟件,實(shí)驗(yàn)教學(xué)板,GAL16V8芯片,插線等實(shí)驗(yàn)原理: G f VCC a babcdefgabcdefg1 2 3 4 5 a

9、A f gb eeec h.6 7 8 9 10 d 10 h h h e d VCC c h 七段發(fā)光二極管管腳說明 共陰型 共陽(yáng)型由七段管的管腳圖可以列出真值表輸入信號(hào)七段數(shù)碼管管腳信號(hào)ABCD數(shù)碼abcdefg0000011111100001101100000010211011010011311110010100401100110101510110110110610111110111711100001000811111111001911110111010A11101111011B00111111100C00011011101D01111011110E10011111111F1000111

10、由上述真值表可以得到表達(dá)式a = (A&B&C&D|A&B&C&D|A&B&C&D|A&B&C&D|A&B&C&D)b = (A&B&C&D|A&B&C&D|A&B&C&D|A&B&C&D|A&B&C&D|A&B&C&D)c = (A&B&C&D|A&B&C&D|A&B&

11、C&D|A&B&C&D)d = (A&B&C&D|A&B&C&D|A&B&C&D|A&B&C&D|A&B&C&D)e = (A&B&C&D|A&B&C&D|A&B&C&D|A&B&C&D|A&B&C&D|A&B&C&D)f = (A&B&C&D|A&B&C&

12、;D|A&B&C&D|A&B&C&D|A&B&C&D|A&B&C&D)g = (A&B&C&D|A&B&C&D|A&B&C&D)由此表達(dá)式即可得到對(duì)應(yīng)的數(shù)碼顯示實(shí)現(xiàn)方法:(1)GAL芯片PLD16V8BASIC DECODECYB 2013.10.20SHIYAN USTC V1.0A B C D NC NC NC NC NC GNDNC NC g0 f0 e0 d0 c0 b0 a0 VCC/a0 = /A*/B*/C*D+/

13、A*B*/C*/D+A*/B*C*D+A*B*/C*/D+A*B*/C*D/b0 = /A*B*/C*D+/A*B*C*/D+A*/B*C*D+A*B*/C*/D+A*B*C*/D+A*B*C*D/c0 = /A*/B*C*/D+A*B*/C*/D+A*B*C*/D+A*B*C*D/d0 = /A*/B*/C*D+/A*B*/C*/D+/A*B*C*D+A*/B*C*/D+A*B*C*D/e0 = /A*/B*/C*D+/A*/B*C*D+/A*B*/C*/D+/A*B*/C*D+/A*B*C*D+A*/B*/C*D/f0 = /A*/B*/C*D+/A*/B*C*/D+/A*/B*C*D+/

14、A*B*C*D+A*B*/C*/D+A*B*/C*D/g0 = /A*/B*/C*/D+/A*/B*/C*D+/A*B*C*DDESCRIPTIONPs:具體的效果在實(shí)驗(yàn)的那一天已經(jīng)由助教檢查通過。(2) 利用verilog進(jìn)行描述module yima(clk , out , count);input clk;output reg 6:0 out;output reg 3:0 count;always (posedge clk)begin count <= count + 1;endalways(count) case(count) 4'd0: out <= 7'

15、b1000000; 4'd1: out <= 7'b1111001; 4'd2: out <= 7'b0100100; 4'd3: out <= 7'b0110000; 4'd4: out <= 7'b0011001; 4'd5: out <= 7'b0010010; 4'd6: out <= 7'b0000010; 4'd7: out <= 7'b1111000; 4'd8: out <= 7'b0000000; 4&

16、#39;d9: out <= 7'b0010000; 4'd10:out <= 7'b0001000; 4'd11:out <= 7'b0000011; 4'd12:out <= 7'b1000110; 4'd13:out <= 7'b0100001; 4'd14:out <= 7'b0000110; 4'd15:out <= 7'b0001110; default: out <= 8'b110000000; endcase endmo

17、dule這個(gè)verilog描述其實(shí)是將計(jì)數(shù)和譯碼部分寫到了一起,第一個(gè)always塊的作用就是計(jì)數(shù),每當(dāng)一個(gè)時(shí)鐘上升沿來(lái)臨的時(shí)候,就將count加1,,而第二個(gè)always塊的作用則是譯碼操作,即是一個(gè)顯示譯碼器,將count的4為二進(jìn)制碼譯成控制數(shù)碼管的7位二進(jìn)制碼。注意數(shù)碼管是低電平有效的。Ps:實(shí)驗(yàn)室所用的板子自帶顯示譯碼的功能,所以譯碼的always快可以去掉,具體的開發(fā)板實(shí)現(xiàn)已經(jīng)給老師驗(yàn)收。下面是編譯仿真之后的波形圖分析仿真結(jié)果,計(jì)數(shù)器隨著時(shí)鐘而不斷加1,out為控制7段數(shù)碼管的7位二進(jìn)制數(shù)。實(shí)驗(yàn)小結(jié):本次試驗(yàn)利用GAL芯片進(jìn)行編程,讓我接觸了一下小規(guī)模的邏輯電路的設(shè)計(jì)實(shí)現(xiàn)方法,而且

18、這也是我們第一次接觸到現(xiàn)實(shí)中的芯片去完成一個(gè)計(jì)數(shù)顯示的功能,十分有意思。而且這個(gè)實(shí)驗(yàn)在讓我們熟悉了利用卡諾圖進(jìn)行化簡(jiǎn)以及時(shí)序邏輯電路的基本設(shè)計(jì)方法。實(shí)驗(yàn)三 脈沖分頻邏輯電路的設(shè)計(jì)實(shí)驗(yàn)?zāi)康模赫莆胀綍r(shí)序電路和分頻,延遲整形的原理和設(shè)計(jì)方法, 進(jìn)一步提高實(shí)踐能力。 實(shí)現(xiàn)下圖的分頻整形設(shè)計(jì)實(shí)驗(yàn)原理:可參考下圖原理圖 L17 L15 L16 CP1 CP2 CP3 CP4 CP5 CP6整形電路延遲整形電路 L9 L10 L11 L12 L13 L14按鍵延遲線單脈沖電 路脈沖 組合 電路 CP L1 L2 L3 L4 L5 L6 L7 L8三周期T1T34分頻或2個(gè)2分頻5分頻 CLK 10MHZ

19、時(shí)序脈沖分頻,分配,延遲與整形框圖 (Ln = 燈n)首先要實(shí)現(xiàn)一個(gè)5分頻。即一個(gè)五周期的循環(huán)。可以通過3個(gè)D觸發(fā)器來(lái)實(shí)現(xiàn)該功能。五周期真值表如下:Q1Q2Q3000100010110001輸出Q3。則利用時(shí)序邏輯電路的設(shè)計(jì)方法,通過卡諾圖化簡(jiǎn)得到方程:Q1n = Q1n-1 & Q3n-1Q2n = Q1n-1 Q2n-1Q3n = Q1n-1 & Q2n-1四分頻或二分頻可直接通過計(jì)數(shù)器得到。實(shí)現(xiàn)一個(gè)移位型三周期計(jì)數(shù)器,利用D觸發(fā)器設(shè)計(jì)。真值表如下起始Q1Q2Q3 = 000Q1Q2Q3100010001分別輸出三個(gè)結(jié)果。同樣的,利用時(shí)序邏輯電路的設(shè)計(jì)方法,化簡(jiǎn)得到方程:Q

20、1n = Q1n-1 & Q2n-1Q2n = Q1nQ3n = Q2n而最后CP1CP6課通過上面得到的不同周期的分頻,通過一個(gè)組合邏輯得到,觀察圖像,得到方程: cp1 = q4b & q5 & q6,cp2 = q4b & q5 & q6,cp3 = q4b & q5 & q7,cp4 = q4b & q5 & q7,cp5 = q4b & q5 & q8,cp6 = q4b & q5 & q8;實(shí)驗(yàn)實(shí)現(xiàn):1. 利用Quartus II 工具,畫出實(shí)驗(yàn)的TTl電路如下圖經(jīng)過編譯仿真之后

21、,仿真波形圖如下圖:如上圖所見,仿真之后的波形圖和我們的目的的波形圖除了排版之外,并沒有不同。本實(shí)驗(yàn)的TTL電路是一個(gè)異步邏輯電路,并不是所有的時(shí)鐘都接在同一個(gè)時(shí)鐘的上面,其實(shí)這樣的做法是有一定的壞處的,在同步性方面會(huì)有一定的欠缺,但是當(dāng)時(shí)做實(shí)驗(yàn)的時(shí)候?qū)@方面的了解并不多,所以采用的異步的方式來(lái)實(shí)現(xiàn)的電路2. 利用verilog進(jìn)行描述module fenpin(clk , q3 , q4 , q4b , q5 , q6 , q7 , q8 ,cp);input clk;output reg q3,q4,q4b,q5,q6,q7,q8;output wire 6:1 cp;integer i,

22、j;always (posedge clk)begin if(i = 3) q3 <= 1; if(i = 4) begin q3 <= 0; i = 0; end i = i+1;endalways (posedge q3)begin q4 <= q4; q4b <= q4;endalways (posedge q4)begin q5 <= q5;endalways (posedge q5)begin j = j+1; case(j) 1: begin q6 <= 1;q7 <= 0;q8 <= 0; end 2: begin q6 <=

23、 0;q7 <= 1;q8 <= 0; end 3: begin q6 <= 0;q7 <= 0;q8 <= 1;j=0; end default j = 0; endcaseendassigncp1 = q4b & q5 & q6,cp2 = q4b & q5 & q6,cp3 = q4b & q5 & q7,cp4 = q4b & q5 & q7,cp5 = q4b & q5 & q8,cp6 = q4b & q5 & q8;endmodule下面是根據(jù)verilo

24、g編譯仿真后的波形圖分析仿真波形圖可見,與我們所期望的波形圖相同。同上,使用verilog的時(shí)候,采用的是異步邏輯電路。實(shí)驗(yàn)小結(jié):本實(shí)驗(yàn)是第一次對(duì)時(shí)序邏輯電路的設(shè)計(jì)實(shí)驗(yàn),進(jìn)行的是一個(gè)簡(jiǎn)單的分頻的實(shí)驗(yàn),這個(gè)實(shí)驗(yàn)利用到了手動(dòng)設(shè)計(jì)5分頻,和利用計(jì)數(shù)器實(shí)現(xiàn)分頻,以及移位計(jì)數(shù)的設(shè)計(jì)。通過本次試驗(yàn),我們對(duì)時(shí)序邏輯電路有了更加深刻的認(rèn)識(shí),而且在實(shí)驗(yàn)的過程之中我們會(huì)遇到一些問題,比如有一些毛刺,通過不斷地調(diào)試消除毛刺的過程,我們對(duì)時(shí)序邏輯電路延遲的問題有了更深刻的認(rèn)識(shí),而且對(duì)如何對(duì)它進(jìn)行調(diào)試也有了一個(gè)基礎(chǔ)的概念。通過編寫這個(gè)實(shí)驗(yàn)的verilog,我們知道了如何利用verilog實(shí)現(xiàn)時(shí)序邏輯電路。實(shí)驗(yàn)四 八位數(shù)

25、據(jù)串入并出邏輯設(shè)計(jì)實(shí)驗(yàn)?zāi)康模?從一個(gè)八位起始碼開始,串行讀入數(shù)據(jù),每讀入八位一次性并行輸出,讀到八位終止碼結(jié)束。進(jìn)一步掌握同步時(shí)序電路及其在計(jì)算機(jī)中的應(yīng)用,提高靈活應(yīng)用,以及分析、設(shè)計(jì)、調(diào)試能力。實(shí)驗(yàn)原理: 這次實(shí)驗(yàn)中的描述語(yǔ)言的起始碼為01100110,終止碼為10011001。 原理圖的起始碼為10011001,終止碼為01100110. 原理圖設(shè)計(jì)時(shí),輸入接入74164移位寄存器,每個(gè)時(shí)鐘節(jié)拍將讀入一位數(shù)據(jù)并將之前讀到的數(shù)據(jù)進(jìn)行移位,那么74164輸出即為當(dāng)前并行的八位數(shù)據(jù),將該八位數(shù)判斷,當(dāng)滿足觸發(fā)起始條件時(shí),將觸發(fā)jk觸發(fā)器,啟動(dòng)計(jì)數(shù)器74161,產(chǎn)生一個(gè)八倍與時(shí)鐘的周期,連接至74

26、273片,每次計(jì)數(shù)器時(shí)鐘一個(gè)節(jié)拍輸出一次,相當(dāng)于每八位串行數(shù)據(jù)輸出一次。當(dāng)讀入終止碼時(shí),觸發(fā)jk觸發(fā)器,關(guān)閉計(jì)數(shù)器,即不在觸發(fā)74273輸出。描述語(yǔ)言設(shè)計(jì)時(shí)則相對(duì)簡(jiǎn)單,我們采用一個(gè)八位寄存器來(lái)保存輸入數(shù)據(jù),當(dāng)讀到起始碼時(shí)進(jìn)行判斷,并將判斷寄存器置1,計(jì)數(shù)寄存器置0并開始計(jì)數(shù),每計(jì)數(shù)八次將寄存器中的存值輸出。讀到終止碼時(shí),將判斷寄存器置0,不再輸出。實(shí)驗(yàn)實(shí)現(xiàn):1.利用Quartus II 工具,畫出實(shí)驗(yàn)的TTl電路如下圖經(jīng)過編譯仿真之后,仿真波形圖如下圖:分析波形圖可知,當(dāng)輸入依次為10011001時(shí),開始計(jì)數(shù),然后再8個(gè)周期之后,即下一個(gè)八位數(shù)據(jù)進(jìn)入之時(shí),將此時(shí)輸入的8位數(shù)據(jù)并行輸出。由圖像可

27、知,將后面的兩個(gè)8位數(shù)據(jù)依次輸出,沒有出現(xiàn)錯(cuò)誤,當(dāng)依次輸入01100110的時(shí)候,停止并行輸出,并且輸出為零。2. verilog實(shí)現(xiàn)module crbc(numin,numout,clk);input numin,clk;output reg 7:0 numout;reg 7:0 num;reg 3:0 j;reg state;always (posedge clk)begin num = (num << 1) + numin; if(num = 8'b01100110) begin state = 1; j = 0 ; end if(num = 8'b1001

28、1001) begin state = 0; numout = 0; j = 0 ; end if(j = 8 && state =1) begin numout <= num; j = 0; end j = j+1;endendmodule代碼就是比較簡(jiǎn)單的verilog代碼,每一次輸入一個(gè)數(shù)據(jù),就將8位的寄存器左移一位,然后加上新輸入的一位,檢測(cè)是否符合開啟并行輸出的條件,然后計(jì)數(shù)8個(gè)周期,輸出輸入的串行數(shù)據(jù)。編譯仿真之后的波形圖同上面TTL電路圖的波形圖,當(dāng)輸入為01100110的時(shí)候,開啟并行輸出,開始計(jì)數(shù),8個(gè)周期之后輸出串行數(shù)據(jù),連續(xù)并行輸出兩個(gè)8位串行數(shù)據(jù)并

29、沒有出現(xiàn)錯(cuò)誤。實(shí)驗(yàn)小結(jié): 本實(shí)驗(yàn)是設(shè)計(jì)8位串入并出,實(shí)驗(yàn)并不困難,但是加深了我們對(duì)時(shí)序邏輯電路的理解,以及數(shù)據(jù)在計(jì)算機(jī)中傳播的認(rèn)識(shí)。 實(shí)驗(yàn)五 十六位運(yùn)算器的邏輯設(shè)計(jì)實(shí)驗(yàn)?zāi)康模?·掌握算術(shù)了邏輯部件74181和提前進(jìn)位發(fā)生器74182等集成塊的結(jié)構(gòu)原理和應(yīng)用。2·熟悉運(yùn)算器基本組成的控制方法,以及不同的結(jié)構(gòu)進(jìn)位速度情況。實(shí)驗(yàn)內(nèi)容:1.用74181,74182等集成塊和數(shù)字邏輯實(shí)驗(yàn)儀組成16位可控運(yùn)算器。2. 控制不同運(yùn)算方式,并列表記錄運(yùn)算結(jié)果3. 設(shè)計(jì)一個(gè)選擇,分別利用超前進(jìn)位和不利用超前進(jìn)位進(jìn)行加法運(yùn)算,并比較所用時(shí)間的差。實(shí)驗(yàn)原理:ALU功能表,74181串行計(jì)算:直接

30、使用74181,將進(jìn)位串聯(lián)起來(lái)就可以并行計(jì)算:加上74182超前進(jìn)位。超前進(jìn)位推導(dǎo)4位之間采用先行進(jìn)位公式,每一位的進(jìn)位公式可遞推如下:第0位向第1位的進(jìn)位公式為 Cn1Y0X0Cn 其中Cn是向第0位(末位)的進(jìn)位。第1位向第2位的進(jìn)位公式為 Cn2Y1X1Cn1Y1Y0X1X0X1Cn 第2位向第3位的進(jìn)位公式為 Cn3Y2X2Cn2Y2Y1X1Y0X1X2X0X1X2Cn 第3位的進(jìn)位輸出(即整個(gè)4位運(yùn)算進(jìn)位輸出)公式為 Cn4Y3X3Cn3Y3Y2X3Y1X2X3Y0X1X2X3X0X1X2X3Cn 利用四片74181構(gòu)成16位的ALU,然后利用74182實(shí)現(xiàn)超前進(jìn)位,并且利用數(shù)據(jù)選擇

31、器74157進(jìn)行超前進(jìn)位與非超前進(jìn)位間的選擇。實(shí)驗(yàn)實(shí)現(xiàn):1. 利用Quartus II 工具,畫出實(shí)驗(yàn)的TTl電路如下圖經(jīng)過編譯仿真之后,仿真波形圖如下圖:如圖,輸入a和b分別為16進(jìn)制的1234和2222是,sel從0開始計(jì)數(shù),則輸出如下,與實(shí)驗(yàn)時(shí)老師給我們的標(biāo)準(zhǔn)相同。2. 利用verilog進(jìn)行描述Verilog只描述了16位的超前進(jìn)位加法器的實(shí)現(xiàn),以及串行加法器的實(shí)現(xiàn),以運(yùn)算速度的比較。module yunsuan(input15:0A,input15:0B,output15:0OUT,output reg 15:0 out2);wireCX;wireCY;wireCZ;wire3:0P

32、;wire3:0G;reg ci;integer i;Tadder4 adder4_0(.a(A3:0), .b(B3:0), .ci(0), .f(OUT3:0), .p(P0), .g(G0);Tadder4adder4_1(.a(A7:4), .b(B7:4), .ci(CX), .f(OUT7:4), .p(P1), .g(G1);Tadder4adder4_2(.a(A11:8), .b(B11:8), .ci(CY), .f(OUT11:8), .p(P2), .g(G2);Tadder4adder4_3(.a(A15:12), .b(B15:12), .ci(CZ), .f(OU

33、T15:12), .p(P3), .g(G3);Tadvance adva(.p(P), .g(G), .ci(0), .cx(CX), .cy(CY), .cz(CZ);always (A or B)begin for(i=0 ; i <= 15 ; i = i+1) begin out2i = Ai + Bi + ci; ci = Ai&Bi | Bi&ci | Ai&ci; endendendmodulemodule Tadder4(input3:0a,input3:0b,inputci,output3:0f,outputp,outputg);assignf

34、 = a + b + ci;assigng3 = a3 & b3;assigng2 = a2 & b2;assigng1 = a1 & b1;assigng0 = a0 & b0;assignp3 = a3 | b3;assignp2 = a2 | b2;assignp1 = a1 | b1;assignp0 = a0 | b0;assigng = g3 | (p3 & g2) | (p3 & p2 & g1) | (p3 & p2 & p1 & g0);assignp = p3 & p2 & p1

35、 & p0;endmodulemodule Tadvance(input3:0p,input3:0g,inputci,outputcx,outputcy,outputcz);assigncx = g0 | (p0 & ci);assigncy = g1 | (p1 & g0) | (p1 & p0 & ci);assigncz = g2 | (p2 & g1) | (p2 & p1 & g0) | (p2 & p1 & p0 & ci);endmoduleVerilog用了例化的方法,將4個(gè)4位的加法器,實(shí)

36、現(xiàn)了超前進(jìn)位,Tadder4是產(chǎn)生g,p的作用,而Tadvance是產(chǎn)生超前進(jìn)位的作用。最后在主模塊中調(diào)用他們以實(shí)現(xiàn)超前進(jìn)位加法器。而串行進(jìn)位的加法器,則是利用for循環(huán)語(yǔ)句,將每一位的進(jìn)位傳給下一位,然后循環(huán)到最高位。下面為編譯仿真之后的波形圖由波形仿真圖可見,超前進(jìn)位比串行進(jìn)位約有5ns左右的速度的提前??梢姵斑M(jìn)位在運(yùn)算中相比串行進(jìn)位可以提高運(yùn)算的速度。實(shí)驗(yàn)小結(jié)本次試驗(yàn)為一個(gè)16位的運(yùn)算器的搭建,將4片4位的ALU搭建成一個(gè)16位的AUL,并且利用74182實(shí)現(xiàn)超前進(jìn)位,利用74157實(shí)現(xiàn)超前進(jìn)位和非超前進(jìn)位的選擇。在verilog之中利用硬件描述語(yǔ)言實(shí)現(xiàn)了16位超前進(jìn)位的加法器,讓我對(duì)

37、超前進(jìn)位的邏輯實(shí)現(xiàn)有了更加深刻的理解。并且對(duì)超前進(jìn)位對(duì)時(shí)間的提升有了更加深刻的認(rèn)識(shí)。實(shí)驗(yàn)六 4Kx8bit存儲(chǔ)器的設(shè)計(jì)實(shí)驗(yàn)?zāi)康模菏煜OS集成存儲(chǔ)電路的性能和使用;掌握擴(kuò)大存儲(chǔ)容量和存儲(chǔ)器字長(zhǎng)的方法;了解設(shè)計(jì)功能較完善的存儲(chǔ)器,即有獨(dú)立的控制、時(shí)序、自檢、校驗(yàn)功能的存儲(chǔ)器的基本要求實(shí)驗(yàn)內(nèi)容:利用Quartus II 1kx4bit的存儲(chǔ)器件搭建1kx8bit的存儲(chǔ)器件,以實(shí)現(xiàn)與2114功能相仿的存儲(chǔ)器,再通過例化所搭建的原件,實(shí)現(xiàn)4kx8bit的存儲(chǔ)器,并進(jìn)行驗(yàn)證。利用verilog對(duì)此電路圖進(jìn)行描述,利用波形圖驗(yàn)證正確性。實(shí)驗(yàn)實(shí)現(xiàn):1. 利用Quartus II 工具,畫出實(shí)驗(yàn)的TTl電路如

38、下圖此圖是通過利用1kx4bit的存儲(chǔ)器搭建的1kx8bit的例化的存儲(chǔ)器件,與2114功能相仿。下圖為利用例化過后的1kx8bit元件進(jìn)行位擴(kuò)展,擴(kuò)展成4kx8bit的存儲(chǔ)器,TTl電路如下圖經(jīng)過編譯仿真之后,仿真波形圖如下圖:如圖,在寫使能有效時(shí)將數(shù)據(jù)寫入對(duì)應(yīng)地址之中,在讀使能有效的時(shí)候?qū)?shù)據(jù)讀出來(lái)。2.利用verilog進(jìn)行描述module ram( input 7:0 data, input 11:0 address, input wen, input ren, input en, input clk, output reg 7:0 outdata );wire7:0out1;wire

39、7:0out2;wire7:0out3;wire7:0out4;ram8m ram1(.address(address9:0), .data(data), .wen(wen), .ren(ren), .clk(clk), .en(address11:10=2'b00), .outdata(out1);ram8m ram2(.address(address9:0), .data(data), .wen(wen), .ren(ren), .clk(clk), .en(address11:10=2'b01), .outdata(out2);ram8m ram3(.address(address9:0), .data(data), .wen(wen), .ren(ren), .clk(clk), .en(address11:10=2'b10), .outdata(out3);ram8m ram4(.address(address9:0), .data(da

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論