數(shù)字電路實驗報告_第1頁
數(shù)字電路實驗報告_第2頁
數(shù)字電路實驗報告_第3頁
數(shù)字電路實驗報告_第4頁
數(shù)字電路實驗報告_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄實驗一四位海明校驗碼的邏輯設(shè)計2實驗二十六進制譯碼計數(shù)器的設(shè)計6實驗三脈沖分頻邏輯電路的設(shè)計10實驗四八位數(shù)據(jù)串入并出邏輯設(shè)計16實驗五十六位運算器的邏輯設(shè)計20實驗六4Kx8bit存儲器的設(shè)計25實驗一四位海明校驗碼的邏輯設(shè)計實驗?zāi)康模赫莆蘸C餍r灥木幋a原理以及設(shè)計、調(diào)試方法,鞏固提高組合邏輯知識,培養(yǎng)實際動手能力。掌握總線的應(yīng)用方法。掌握總線信息出錯時發(fā)現(xiàn)錯我和糾正錯我的原理,掌握奇偶校驗的原理,掌握海明校驗編碼原理以及設(shè)計、調(diào)試方法。實驗要求:設(shè)計信息位為4位的內(nèi)存的海明校驗邏輯電路,在讀內(nèi)存儲器時,具有一位出錯報錯和糾正一位錯誤的功能。為了難其正確性,在讀出信息的通路上,要串入造錯用邏輯,位數(shù)自定。奇偶發(fā)生器與海明校難器對同一位用一塊奇偶校驗集成塊實驗原理:檢錯和校錯由編碼理論,任何一種編碼是否具有檢測和糾錯能力,都與編碼的最小距離有關(guān),即任何兩組合法代碼間最少的二進制位數(shù)的差異,L-1=D+C(D>=C)L為編碼的最小距離,D表示檢測錯誤的位數(shù);C表示糾正錯誤的位數(shù)。故,8421碼不具備檢錯能力,這是因為它的最小碼距為1,當8421碼的碼字中有一位出錯,而產(chǎn)生的錯誤代碼就有可能是另一個碼字,這樣,無法判斷它是否已出錯。8421海明校驗碼8421海明校驗碼由8421碼加三位校驗碼組成.設(shè)8421碼為I1I2I3I4,三位校驗碼為:P3P2P1,則8421碼為下列七位代碼:位序76543218421海明碼I4I3I2P3I1P2P1校驗碼的值由下式確定:由此可得8421海明碼的最小碼距為3,故D=1,C=1,可檢測并糾正一位錯誤。輸出時在輸出端先求出校驗和:然后判斷S3S2S1,如果代碼不出錯,則S3S2S1=000,否則由S3S2S1構(gòu)成的二進制數(shù)為1位指出出錯位。實驗實現(xiàn):利用QuartusII工具,畫出實驗的TTl電路如下圖經(jīng)過編譯仿真之后,仿真波形圖如下圖:如圖看見,當造錯數(shù)據(jù)只與原數(shù)據(jù)有一位錯(1000,0100,0010,0001)時,輸出的數(shù)據(jù)和輸入的數(shù)據(jù)是一樣的,通過海明碼將錯誤的一位數(shù)據(jù)進行了修正。而當沒有數(shù)位錯的時候,yes輸出的值變?yōu)?,表明在傳輸過程中,數(shù)據(jù)位并沒有出錯。海明校驗碼的verilog實現(xiàn)Verilog代碼如下modulehaiming(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;assignhmnum[0]=num[3]^num[1]^num[0],hmnum[1]=num[3]^num[2]^num[0],hmnum[2]=num[3]^num[2]^num[1];assignckhmnum[0]=misnum[3]^misnum[1]^misnum[0]^hmnum[0],ckhmnum[1]=misnum[3]^misnum[2]^misnum[0]^hmnum[1],ckhmnum[2]=misnum[3]^misnum[2]^misnum[1]^hmnum[2];assignmisnum[0]=num[0]^mistake[0],misnum[1]=num[1]^mistake[1],misnum[2]=num[2]^mistake[2],misnum[3]=num[3]^mistake[3];assignerbit[0]=(~ckhmnum[2])&ckhmnum[1]&ckhmnum[0],erbit[1]=ckhmnum[2]&(~ckhmnum[1])&ckhmnum[0],erbit[2]=ckhmnum[2]&ckhmnum[1]&(~ckhmnum[0]),erbit[3]=ckhmnum[2]&ckhmnum[1]&ckhmnum[0];assignout=erbit^misnum;endmodule這段代碼,我用的assign語句,對wire類型進行賦值,因為在TTL電路之中并沒有用到寄存器,而且這是一個典型的組合邏輯電路,所以并沒有只用reg寄存器類型的變量。其中的每一個賦值都和上述的TTL電路相對應(yīng)。其中num為輸入的數(shù)據(jù),mistake為造錯的輸入,hmnum為由輸入數(shù)據(jù)所得到的的海明碼,misnum為造錯之后線路上的值,ckhmnum為根據(jù)海明碼和數(shù)據(jù)生成的用于糾錯的海明碼,而erbit為根據(jù)ckhmnum所得到的哪一位錯誤的信息,最后根據(jù)這信息將錯誤的位進行改正。下面是根據(jù)verilog編譯仿真后的波形圖如圖,當造錯數(shù)據(jù)只與原數(shù)據(jù)有一位錯(1000,0100,0010,0001)時,輸出的數(shù)據(jù)和輸入的數(shù)據(jù)是一樣的,通過海明碼將錯誤的一位數(shù)據(jù)進行了修正。沒有錯誤的時候(0000),輸出數(shù)據(jù)和輸入數(shù)據(jù)也是一樣的。實驗小結(jié):這個實驗讓我熟悉了本實驗所用的軟件的使用方法,如何利用quartus軟件,畫電路圖,并且編譯仿真,以及利用verilogHDL編寫簡單的組合邏輯電路,以及利用quartus軟件對編寫的verilog程序進行編譯,仿真,以及基本的數(shù)字電路設(shè)計調(diào)試方法,本實驗讓我受益匪淺。實驗二十六進制譯碼計數(shù)器的設(shè)計實驗?zāi)康模?.掌握設(shè)計組合邏輯電路的方法2.不同器件,不同設(shè)計方法的比較3掌握數(shù)碼顯示與譯碼器電位間的關(guān)系,掌握小規(guī)??删幊绦酒膽?yīng)用,掌握GAL方程的設(shè)計實驗要求:用GAL方程設(shè)計方法進行實驗,并用MAX+PLUAS進行原理圖形設(shè)計并仿真驗證實驗器件:計算機及相關(guān)軟件,實驗教學(xué)板,GAL16V8芯片,插線等實驗原理:GfVCCababcdefgabcdefgabcdefgabcdefg1234512345aAaffgbgbeeec eeech.h.678910d678910d10hhhedVCCch七段發(fā)光二極管管腳說明共陰型共陽型由七段管的管腳圖可以列出真值表輸入信號七段數(shù)碼管管腳信號ABCD數(shù)碼abcdefg0000011111100001101100000010211011010011311110010100401100110101510110110110610111110111711100001000811111111001911110111010A11101111011B00111111100C00011011101D01111011110E10011111111F1000111由上述真值表可以得到表達式 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&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&~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)由此表達式即可得到對應(yīng)的數(shù)碼顯示實現(xiàn)方法:(1)GAL芯片 PLD16V8 BASICDECODE CYB2013.10.20 SHIYANUSTCV1.0 ABCDNCNCNCNCNCGND NCNCg0f0e0d0c0b0a0VCC /a0=/A*/B*/C*D+/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+/A*B*C*D+A*B*/C*/D+A*B*/C*D /g0=/A*/B*/C*/D+/A*/B*/C*D+/A*B*C*D DESCRIPTIONPs:具體的效果在實驗的那一天已經(jīng)由助教檢查通過。利用verilog進行描述moduleyima(clk,out,count);inputclk;outputreg[6:0]out;outputreg[3:0]count;always@(posedgeclk)begincount<=count+1;endalways@(count)case(count)4'd0:out<=7'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'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;endcaseendmodule這個verilog描述其實是將計數(shù)和譯碼部分寫到了一起,第一個always塊的作用就是計數(shù),每當一個時鐘上升沿來臨的時候,就將count加1,,而第二個always塊的作用則是譯碼操作,即是一個顯示譯碼器,將count的4為二進制碼譯成控制數(shù)碼管的7位二進制碼。注意數(shù)碼管是低電平有效的。Ps:實驗室所用的板子自帶顯示譯碼的功能,所以譯碼的always快可以去掉,具體的開發(fā)板實現(xiàn)已經(jīng)給老師驗收。下面是編譯仿真之后的波形圖分析仿真結(jié)果,計數(shù)器隨著時鐘而不斷加1,out為控制7段數(shù)碼管的7位二進制數(shù)。實驗小結(jié):本次試驗利用GAL芯片進行編程,讓我接觸了一下小規(guī)模的邏輯電路的設(shè)計實現(xiàn)方法,而且這也是我們第一次接觸到現(xiàn)實中的芯片去完成一個計數(shù)顯示的功能,十分有意思。而且這個實驗在讓我們熟悉了利用卡諾圖進行化簡以及時序邏輯電路的基本設(shè)計方法。實驗三脈沖分頻邏輯電路的設(shè)計實驗?zāi)康模赫莆胀綍r序電路和分頻,延遲整形的原理和設(shè)計方法,進一步提高實踐能力。實現(xiàn)下圖的分頻整形設(shè)計實驗原理:可參考下圖原理圖L17L15L16CP1CP2CP3CP4CP5CP6整形電路延遲整形電路L9L10L11L12L13L14整形電路延遲整形電路按鍵按鍵延遲線延遲線單脈沖電路單脈沖電路脈沖組合電路CPL1L2L3L4L5L6L7L8三周期T1—T34分頻或2三周期T1—T34分頻或2個2分頻5分頻CLK10MHZ時序脈沖分頻,分配,延遲與整形框圖(Ln=燈n)首先要實現(xiàn)一個5分頻。即一個五周期的循環(huán)。可以通過3個D觸發(fā)器來實現(xiàn)該功能。五周期真值表如下: Q1Q2Q3000100010110001 輸出Q3。則利用時序邏輯電路的設(shè)計方法,通過卡諾圖化簡得到方程: Q1n=~Q1n-1&~Q3n-1 Q2n=~Q1n-1^~Q2n-1 Q3n=Q1n-1&Q2n-1四分頻或二分頻可直接通過計數(shù)器得到。實現(xiàn)一個移位型三周期計數(shù)器,利用D觸發(fā)器設(shè)計。真值表如下起始Q1Q2Q3=000Q1Q2Q3100010001分別輸出三個結(jié)果。同樣的,利用時序邏輯電路的設(shè)計方法,化簡得到方程: Q1n=~Q1n-1&~Q2n-1 Q2n=Q1n Q3n=Q2n而最后CP1~CP6課通過上面得到的不同周期的分頻,通過一個組合邏輯得到,觀察圖像,得到方程:cp[1]=q4b&q5&q6, cp[2]=q4b&~q5&q6, cp[3]=q4b&q5&q7, cp[4]=q4b&~q5&q7, cp[5]=q4b&q5&q8, cp[6]=q4b&~q5&q8;實驗實現(xiàn):利用QuartusII工具,畫出實驗的TTl電路如下圖經(jīng)過編譯仿真之后,仿真波形圖如下圖:如上圖所見,仿真之后的波形圖和我們的目的的波形圖除了排版之外,并沒有不同。本實驗的TTL電路是一個異步邏輯電路,并不是所有的時鐘都接在同一個時鐘的上面,其實這樣的做法是有一定的壞處的,在同步性方面會有一定的欠缺,但是當時做實驗的時候?qū)@方面的了解并不多,所以采用的異步的方式來實現(xiàn)的電路利用verilog進行描述modulefenpin(clk,q3,q4,q4b,q5,q6,q7,q8,cp);inputclk;outputregq3,q4,q4b,q5,q6,q7,q8;outputwire[6:1]cp;integeri,j;always@(posedgeclk)beginif(i==3)q3<=1;if(i==4)beginq3<=0;i=0;endi=i+1;endalways@(posedgeq3)beginq4<=~q4;q4b<=q4;endalways@(posedgeq4)beginq5<=~q5;endalways@(posedgeq5)beginj=j+1;case(j)1:beginq6<=1;q7<=0;q8<=0;end2:beginq6<=0;q7<=1;q8<=0;end3:beginq6<=0;q7<=0;q8<=1;j=0;enddefaultj=0;endcaseendassign cp[1]=q4b&q5&q6, cp[2]=q4b&~q5&q6, cp[3]=q4b&q5&q7, cp[4]=q4b&~q5&q7, cp[5]=q4b&q5&q8, cp[6]=q4b&~q5&q8;endmodule下面是根據(jù)verilog編譯仿真后的波形圖分析仿真波形圖可見,與我們所期望的波形圖相同。同上,使用verilog的時候,采用的是異步邏輯電路。實驗小結(jié):本實驗是第一次對時序邏輯電路的設(shè)計實驗,進行的是一個簡單的分頻的實驗,這個實驗利用到了手動設(shè)計5分頻,和利用計數(shù)器實現(xiàn)分頻,以及移位計數(shù)的設(shè)計。通過本次試驗,我們對時序邏輯電路有了更加深刻的認識,而且在實驗的過程之中我們會遇到一些問題,比如有一些毛刺,通過不斷地調(diào)試消除毛刺的過程,我們對時序邏輯電路延遲的問題有了更深刻的認識,而且對如何對它進行調(diào)試也有了一個基礎(chǔ)的概念。通過編寫這個實驗的verilog,我們知道了如何利用verilog實現(xiàn)時序邏輯電路。實驗四八位數(shù)據(jù)串入并出邏輯設(shè)計實驗?zāi)康模簭囊粋€八位起始碼開始,串行讀入數(shù)據(jù),每讀入八位一次性并行輸出,讀到八位終止碼結(jié)束。進一步掌握同步時序電路及其在計算機中的應(yīng)用,提高靈活應(yīng)用,以及分析、設(shè)計、調(diào)試能力。實驗原理:這次實驗中的描述語言的起始碼為01100110,終止碼為10011001。原理圖的起始碼為10011001,終止碼為01100110.原理圖設(shè)計時,輸入接入74164移位寄存器,每個時鐘節(jié)拍將讀入一位數(shù)據(jù)并將之前讀到的數(shù)據(jù)進行移位,那么74164輸出即為當前并行的八位數(shù)據(jù),將該八位數(shù)判斷,當滿足觸發(fā)起始條件時,將觸發(fā)jk觸發(fā)器,啟動計數(shù)器74161,產(chǎn)生一個八倍與時鐘的周期,連接至74273片,每次計數(shù)器時鐘一個節(jié)拍輸出一次,相當于每八位串行數(shù)據(jù)輸出一次。當讀入終止碼時,觸發(fā)jk觸發(fā)器,關(guān)閉計數(shù)器,即不在觸發(fā)74273輸出。 描述語言設(shè)計時則相對簡單,我們采用一個八位寄存器來保存輸入數(shù)據(jù),當讀到起始碼時進行判斷,并將判斷寄存器置1,計數(shù)寄存器置0并開始計數(shù),每計數(shù)八次將寄存器中的存值輸出。讀到終止碼時,將判斷寄存器置0,不再輸出。實驗實現(xiàn):1.利用QuartusII工具,畫出實驗的TTl電路如下圖經(jīng)過編譯仿真之后,仿真波形圖如下圖:分析波形圖可知,當輸入依次為10011001時,開始計數(shù),然后再8個周期之后,即下一個八位數(shù)據(jù)進入之時,將此時輸入的8位數(shù)據(jù)并行輸出。由圖像可知,將后面的兩個8位數(shù)據(jù)依次輸出,沒有出現(xiàn)錯誤,當依次輸入01100110的時候,停止并行輸出,并且輸出為零。verilog實現(xiàn)modulecrbc(numin,numout,clk);inputnumin,clk;outputreg[7:0]numout;reg[7:0]num;reg[3:0]j;regstate;always@(posedgeclk)beginnum=(num<<1)+numin;if(num==8'b01100110)beginstate=1;j=0;endif(num==8'b10011001)beginstate=0;numout=0;j=0;endif(j==8&&state==1)beginnumout<=num;j=0;endj=j+1;endendmodule代碼就是比較簡單的verilog代碼,每一次輸入一個數(shù)據(jù),就將8位的寄存器左移一位,然后加上新輸入的一位,檢測是否符合開啟并行輸出的條件,然后計數(shù)8個周期,輸出輸入的串行數(shù)據(jù)。編譯仿真之后的波形圖同上面TTL電路圖的波形圖,當輸入為01100110的時候,開啟并行輸出,開始計數(shù),8個周期之后輸出串行數(shù)據(jù),連續(xù)并行輸出兩個8位串行數(shù)據(jù)并沒有出現(xiàn)錯誤。實驗小結(jié):本實驗是設(shè)計8位串入并出,實驗并不困難,但是加深了我們對時序邏輯電路的理解,以及數(shù)據(jù)在計算機中傳播的認識。實驗五十六位運算器的邏輯設(shè)計實驗?zāi)康模?·掌握算術(shù)了邏輯部件74181和提前進位發(fā)生器74182等集成塊的結(jié)構(gòu)原理和應(yīng)用。2·熟悉運算器基本組成的控制方法,以及不同的結(jié)構(gòu)進位速度情況。實驗內(nèi)容:1.用74181,74182等集成塊和數(shù)字邏輯實驗儀組成16位可控運算器。2.控制不同運算方式,并列表記錄運算結(jié)果3.設(shè)計一個選擇,分別利用超前進位和不利用超前進位進行加法運算,并比較所用時間的差。實驗原理: ALU功能表,74181 串行計算:直接使用74181,將進位串聯(lián)起來就可以 并行計算:加上74182超前進位。超前進位推導(dǎo)4位之間采用先行進位公式,每一位的進位公式可遞推如下:第0位向第1位的進位公式為Cn+1=Y(jié)0+X0Cn其中Cn是向第0位(末位)的進位。第1位向第2位的進位公式為Cn+2=Y(jié)1+X1Cn+1=Y(jié)1+Y0X1+X0X1Cn第2位向第3位的進位公式為Cn+3=Y(jié)2+X2Cn+2=Y(jié)2+Y1X1+Y0X1X2+X0X1X2Cn第3位的進位輸出(即整個4位運算進位輸出)公式為Cn+4=Y(jié)3+X3Cn+3=Y(jié)3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn利用四片74181構(gòu)成16位的ALU,然后利用74182實現(xiàn)超前進位,并且利用數(shù)據(jù)選擇器74157進行超前進位與非超前進位間的選擇。實驗實現(xiàn):利用QuartusII工具,畫出實驗的TTl電路如下圖經(jīng)過編譯仿真之后,仿真波形圖如下圖:如圖,輸入a和b分別為16進制的1234和2222是,sel從0開始計數(shù),則輸出如下,與實驗時老師給我們的標準相同。利用verilog進行描述Verilog只描述了16位的超前進位加法器的實現(xiàn),以及串行加法器的實現(xiàn),以運算速度的比較。moduleyunsuan( input [15:0] A, input [15:0] B, output [15:0] OUT, outputreg[15:0]out2 ); wire CX;wire CY;wire CZ;wire [3:0] P;wire [3:0] G;regci;integeri; Tadder4adder4_0(.a(A[3:0]),.b(B[3:0]),.ci(0),.f(OUT[3:0]),.p(P[0]),.g(G[0]));Tadder4 adder4_1(.a(A[7:4]),.b(B[7:4]),.ci(CX),.f(OUT[7:4]),.p(P[1]),.g(G[1]));Tadder4 adder4_2(.a(A[11:8]),.b(B[11:8]),.ci(CY),.f(OUT[11:8]),.p(P[2]),.g(G[2]));Tadder4 adder4_3(.a(A[15:12]),.b(B[15:12]),.ci(CZ),.f(OUT[15:12]),.p(P[3]),.g(G[3]));Tadvanceadva(.p(P),.g(G),.ci(0),.cx(CX),.cy(CY),.cz(CZ));always@(AorB)beginfor(i=0;i<=15;i=i+1)beginout2[i]=A[i]+B[i]+ci;ci=A[i]&B[i]|B[i]&ci|A[i]&ci;endendendmodulemoduleTadder4( input [3:0] a, input [3:0] b, input ci, output [3:0] f, output p, output g ); assign f=a+b+ci;assign g3=a[3]&b[3];assign g2=a[2]&b[2];assign g1=a[1]&b[1];assign g0=a[0]&b[0];assign p3=a[3]|b[3];assign p2=a[2]|b[2];assign p1=a[1]|b[1];assign p0=a[0]|b[0];assign g=g3|(p3&g2)|(p3&p2&g1)|(p3&p2&p1&g0);assign p=p3&p2&p1&p0; endmodulemoduleTadvance( input [3:0] p, input [3:0] g, input ci, output cx, output cy, output cz );assign cx=g[0]|(p[0]&ci);assign cy=g[1]|(p[1]&g[0])|(p[1]&p[0]&ci);assign cz=g[2]|(p[2]&g[1])|(p[2]&p[1]&g[0])|(p[2]&p[1]&p[0]&ci);endmoduleVerilog用了例化的方法,將4個4位的加法器,實現(xiàn)了超前進位,Tadder4是產(chǎn)生g,p的作用,而Tadvance是產(chǎn)生超前進位的作用。最后在主模塊中調(diào)用他們以實現(xiàn)超前進位加法器。而串行進位的加法器,則是利用for循環(huán)語句,將每一位的進位傳給下一位,然后循環(huán)到最高位。下面為編譯仿真之后的波形圖由波形仿真圖可見,超前進位比串行進位約有5ns左右的速度的提前??梢姵斑M位在運算中相比串行進位可以提高運算的速度。實驗小結(jié)本次試驗為一個16位的運算器的搭建,將4片4位的ALU搭建成一個16位的AUL,并且利用74182實現(xiàn)超前進位,利用74157實現(xiàn)超前進位和非超前進位的選擇。在verilog之中利用硬件描述語言實現(xiàn)了16位超前進位的加法器,讓我對超前進位的邏輯實現(xiàn)有了更加深刻的理解。并且對超前進位對時間的提升有了更加深刻的認識。實驗六4Kx8bit存儲器的設(shè)計實驗?zāi)康模菏煜OS集成存儲電路的性能和使用;掌握擴大存儲容量和存儲器字長的方法;了解設(shè)計功能較完善的存儲器,即有獨立的控制、時序、自檢、校驗功能的存儲器的基本要求實驗內(nèi)容:利用QuartusII1kx4bit的存儲器件搭建1kx8bit的存儲器件,以實現(xiàn)與2114功能相仿的存儲器,再通過例化所搭建的原件,實現(xiàn)4kx8bit的存儲器,并進行驗證。利用verilog對此電路圖進行描述,利用波形圖驗證正確性。實驗實現(xiàn):利用QuartusII工具,畫出實驗的TTl電路如下圖此圖是通過利用1kx4bit的存儲器搭建的1kx8bit的例化的存儲器件,與2114功能相仿。下圖為利用例化過后的1kx8bit元件進行位擴展,擴展成4kx8bit的存儲器,TTl電路如下圖經(jīng)過編譯仿真之后,仿真波形圖如下圖:如圖,在寫使能有效時將數(shù)據(jù)寫入對應(yīng)地址之中,在讀使能有效的時候?qū)?shù)據(jù)讀出來。2.利用verilog進行描述moduleram(input[7:0]data,input[11:0]address,inputwen,inputren,inputen,inputclk,outputreg[7:0]outdata);wire [7:0] out1;wire [7:0] out2;wire [7:0] out3;wire [7:0] out4;ram8mram1(.address(address[9:0]),.data(data),.wen(wen),.ren(ren),.clk(clk),.en(address[11:10]==2'b00),.outdata(out1));ram8mram2(.address(address[9:0]),.data(data),.wen(wen),.ren(ren),.clk(clk),.en(address[11:10]==2'b01),.outdata(out2));ram8mram3(.address(address[9:0]),.data(data),.wen(wen),.ren(ren),.clk(clk),.en(address[11:10]==2'b10),.outdata(out3));ram8mram4(.address(address[9:0]),.data(data),.wen(wen),.ren(ren),.clk(clk),.en(address[11:10]==2'b11),.outdata(out4));always@(enoraddress

溫馨提示

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

評論

0/150

提交評論