版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電子工程學(xué)院ASIC 專業(yè)實(shí)驗(yàn)報(bào)告班級(jí):姓名:學(xué)號(hào):班內(nèi)序號(hào):第一部分語(yǔ)言級(jí)仿真LAB 1:簡(jiǎn)單的組合邏輯設(shè)計(jì)一、二、實(shí)驗(yàn)?zāi)康恼莆栈窘M合邏輯電路的實(shí)現(xiàn)方法。實(shí)驗(yàn)原理本實(shí)驗(yàn)中描述的是一個(gè)可綜合的二選一開關(guān),它的功能是當(dāng)sel = 0 時(shí),給出out = a ,否則給出結(jié)果out =b。在Verilog HDL中,描述組合邏輯時(shí)常使用assign 結(jié)構(gòu)。三、equal=(a=b)?1:0 是一種在組合邏輯實(shí)現(xiàn)分支判斷時(shí)常用的格式。parameter 定義的參數(shù)決定位寬。 測(cè)試模塊用于檢測(cè)模塊設(shè)計(jì)的是否正確,它給出模塊的輸入信號(hào),模塊的內(nèi)部信號(hào)和輸出信號(hào)。源代碼size觀察module scale
2、_mux(out,sel,b,a);parameter size=1;outputsize-1:0 out;inputsize-1:0b,a;input sel;assign out = (!sel)?a:(sel)?b:size1'bx;endmoduledefine width 8timescale 1 ns/1 nsmodule mux_test;regwidth:1a,b;wirewidth:1out;reg sel;scale_mux#(width)m1(.out(out),.sel(sel),.b(b),.a(a);initialbegin$monitor($stime,&
3、quot;sel=%b a=%b b=%b out=%b",sel,a,b,out);$dumpvars(2,mux_test);sel=0;b=width1'b0;a=width1'b1;#5sel=0;b=width1'b1;a=width1'b0;#5sel=1;b=width1'b0;a=width1'b1;#5sel=1;b=width1'b1;a=width1'b0;#5 $finish;endendmodule四、仿真結(jié)果與波形LAB 2:簡(jiǎn)單時(shí)序邏輯電路的設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康恼莆栈緯r(shí)序邏輯電路的實(shí)現(xiàn)。二、實(shí)
4、驗(yàn)原理在 Verilog HDL 中,相對(duì)于組合邏輯電路,時(shí)序邏輯電路也有規(guī)定的表述方式。在可綜合的 Verilog HDL 模型中, 我們常使用 always塊和 (posedge clk)或 (negedge clk)的結(jié)構(gòu)來(lái)表述時(shí)序邏輯。在 always塊中,被賦值的信號(hào)都必須定義為 reg 型,這是由時(shí)序邏輯電路的特點(diǎn)所決定的對(duì)于 reg 型數(shù)據(jù),如果未對(duì)它進(jìn)行賦值,仿真工具會(huì)認(rèn)為它是不定態(tài)。為了正確地觀三、察到仿真結(jié)果,在可綜合的模塊中我們通常定義一個(gè)復(fù)位信號(hào)rst-,當(dāng)它為低電平時(shí)對(duì)電路中的寄存器進(jìn)行復(fù)位。源代碼timescale 1 ns/100 psmodule counter
5、(cnt,clk,data,rst_,load);output4:0cnt ;input 4:0data;inputclk;inputrst_;inputload;reg4:0cnt;always(posedge clk or negedge rst_)if(!rst_)# cnt<=0;elseif(load)cnt<=#3 data;elsecnt<=#4 cnt + 1;endmoduletimescale 1 ns/1 nsmodule counter_test;wire4:0cnt;reg 4:0data;regrst_;regload;regclk;counter
6、 c1(t (cnt),.clk (clk),.data(data),.rst_(rst_),.load(load);initial beginclk=0;forever begin#10 clk=1'b1;#10 clk=1'b0;endendinitialbegin$timeformat(-9,1,"ns",9);$monitor("time=%t,data=%h,clk=%b,rst_=%b,load=%b,cnt=%b",$stime,data,clk,rst_,load,cnt);$dumpvars(2,counter_test
7、);endtask expect;input 4:0expects;if(cnt !=expects)begin$display("At time %t cnt is %b and should be %b",$time,cnt,expects);$display("TEST FAILED");$finish;endendtaskinitialbegin(negedge clk)rst_,load,data=7'b0_X_XXXXX;(negedge clk)expect(5'h00); rst_,load,data=7'b1_1
8、_11101;(negedge clk)expect(5'h1D);rst_,load,data=7'b1_0_11101;repeat(5)(negedge clk);expect(5'h02);rst_,load,data=7'b1_1_11111;(negedge clk)expect(5'h1F); rst_,load,data=7'b0_X_XXXXX;(negedge clk)expect(5'h00);$display("TEST PASSED");$finish;endendmodule四、仿真結(jié)果與波
9、形五、思考題該電路中, rst-是同步還是異步清零端?在的 always塊中 reset 沒(méi)有等時(shí)鐘,而是直接清零。所以是異步清零端。LAB 3:簡(jiǎn)單時(shí)序邏輯電路的設(shè)計(jì)一、二、三、實(shí)驗(yàn)?zāi)康氖褂妙A(yù)定義的庫(kù)元件來(lái)設(shè)計(jì)八位寄存器。實(shí)驗(yàn)原理八位寄存器中,每一位寄存器由一個(gè)二選一MUX 和一個(gè)觸發(fā)器dffr 組成,當(dāng)load=1 ,裝載數(shù)據(jù);當(dāng)load=0 ,寄存器保持。對(duì)于處理重復(fù)的電路,可用數(shù)組條用的方式,使電路描述清晰、簡(jiǎn)潔。源代碼timescale 1 ns /1 nsmodule clock(clk);reg clk;output clk;initial beginclk=0;forever
10、begin#10 clk=1'b1;#10 clk=1'b0;endendendmodulemux 及 dffr 模塊調(diào)用代碼mux mux7(.out(n17),.sel(load),.b(data7),.a(out7);dffr dffr7(.q(out7),.d(n17),.clk(clk),.rst_(rst_);mux mux6(.out(n16),.sel(load),.b(data6),.a(out6);dffr dffr6(.q(out6),.d(n16),.clk(clk),.rst_(rst_);mux mux5(.out(n15),.sel(load),.
11、b(data5),.a(out5);dffr dffr5(.q(out5),.d(n15),.clk(clk),.rst_(rst_);mux mux4(.out(n14),.sel(load),.b(data4),.a(out4);dffr dffr4(.q(out4),.d(n14),.clk(clk),.rst_(rst_);mux mux3(.out(n13),.sel(load),.b(data3),.a(out3);dffr dffr3(.q(out3),.d(n13),.clk(clk),.rst_(rst_);mux mux2(.out(n12),.sel(load),.b(d
12、ata2),.a(out2);dffr dffr2(.q(out2),.d(n12),.clk(clk),.rst_(rst_);mux mux1(.out(n11),.sel(load),.b(data1),.a(out1);dffr dffr1(.q(out1),.d(n11),.clk(clk),.rst_(rst_);mux mux0(.out(n10),.sel(load),.b(data0),.a(out0);dffr dffr0(.q(out0),.d(n10),.clk(clk),.rst_(rst_);例化寄存器register r1(.data(data),.out(out
13、),.load(load),.clk(clk),.rst_(rst_);例化時(shí)鐘clock c1(.clk(clk);添加檢測(cè)信號(hào)initialbegin$timeformat(-9,1,"ns",9);$monitor("time=%t,clk=%b,data=%h,load=%b,out=%h",$stime,clk,data,load,out);$dumpvars(2,register_test);end四、仿真結(jié)果與波形LAB 4:用 always塊實(shí)現(xiàn)較復(fù)雜的組合邏輯電路一、實(shí)驗(yàn)?zāi)康恼莆沼?always 實(shí)現(xiàn)組合邏輯電路的方法;了解 assig
14、n與 always兩種組合邏輯電路實(shí)現(xiàn)方法之間的區(qū)別。二、實(shí)驗(yàn)原理僅使用 assign結(jié)構(gòu)來(lái)實(shí)現(xiàn)組合邏輯電路,在設(shè)計(jì)中會(huì)發(fā)現(xiàn)很多地方顯得冗長(zhǎng)且效率低下。適當(dāng)?shù)厥褂胊lways來(lái)設(shè)計(jì)組合邏輯,會(huì)更具實(shí)效。本實(shí)驗(yàn)描述的是一個(gè)簡(jiǎn)單的ALU 指令譯碼電路的設(shè)計(jì)示例。它通過(guò)對(duì)指令的判斷,對(duì)輸入數(shù)據(jù)執(zhí)行相應(yīng)的操作,包括加、減、或和傳數(shù)據(jù),并且無(wú)論是指令作用的數(shù)據(jù)還是指令本身發(fā)生變化,結(jié)果都要做出及時(shí)的反應(yīng)。示例中使用了電平敏感的always塊,電平敏感的觸發(fā)條件是指在后括號(hào)內(nèi)電平列表的任何一個(gè)電平發(fā)生變化就能觸發(fā)always 塊的動(dòng)作,并且運(yùn)用了case結(jié)構(gòu)來(lái)進(jìn)行分支判斷。在 always 中適當(dāng)運(yùn)用de
15、fault(在 case 結(jié)構(gòu)中)和else(子 ifelse結(jié)構(gòu)中),通??梢跃C合為純組合邏輯,盡管被賦值的變量一定要定義為reg 型。如果不使用default或 else對(duì)缺省項(xiàng)進(jìn)行說(shuō)明,易產(chǎn)生意想不到的鎖存器。三、源代碼電路描述always(opcode or data or accum)beginif(accum=8'b00000000)# zero=1;else# zero=0;case(opcode)PASS0: # out =accum;PASS1: # out =accum;ADD: # out = data + accum;AND: # out =data&a
16、ccum;XOR: # out =dataaccum;PASSD: # out=data;PASS6:# out=accum;PASS7:# out=accum;default:# out=8'bx;endcaseend四、仿真結(jié)果與波形LAB 5:存儲(chǔ)器電路的設(shè)計(jì)一、二、三、實(shí)驗(yàn)?zāi)康脑O(shè)計(jì)和測(cè)試存儲(chǔ)器電路。實(shí)驗(yàn)原理本實(shí)驗(yàn)中,設(shè)計(jì)一個(gè)模塊名為mem 的存儲(chǔ)器仿真模型,該存儲(chǔ)器具有雙線數(shù)據(jù)總線及異步處理功能。由于數(shù)據(jù)是雙向的,所以要注意,對(duì)memory 的讀寫在時(shí)序上要錯(cuò)開。源代碼自行添加的代碼assign data= (read)?memoryaddr:8'hZ;always (
17、posedge write)beginmemoryaddr<=data7:0;end四、仿真結(jié)果與波形LAB 6:設(shè)計(jì)時(shí)序邏輯時(shí)采用阻塞賦值與非阻塞賦值的區(qū)別一、實(shí)驗(yàn)?zāi)康拿鞔_掌握阻塞賦值與非阻塞賦值的概念和區(qū)別;了解阻塞賦值的使用情況。二、實(shí)驗(yàn)原理三、在 always塊中,阻塞賦值可以理解為賦值語(yǔ)句是順序執(zhí)行的,而非阻塞賦值可以理解為并發(fā)執(zhí)行的。 實(shí)際時(shí)序邏輯設(shè)計(jì)中,一般情況下非阻塞賦值語(yǔ)句被更多的使用,有時(shí)為了在同一周期實(shí)現(xiàn)相互關(guān)聯(lián)的操作,也使用阻塞賦值語(yǔ)句。源代碼timescale 1 ns/ 100 psmodule blocking(clk,a,b,c);output3:0b,c
18、;input 3:0a;inputclk;reg3:0b,c;always(posedge clk)beginb =a;c =b;$display("Blocking: a=%d,b=%d,c=%d.",a,b,c);endendmoduletimescale 1 ns/ 100 psmodule non_blocking(clk,a,b,c);output3:0 b,c;input3:0 a;input clk;reg 3:0b,c;always (posedge clk)beginb<=a;c<=b;$display("Non_blocking:a
19、=%d,b=%d,c=%d",a,b,c);endendmoduletimescale 1 ns/ 100 psmodule compareTop;wire 3:0 b1,c1,b2,c2;reg3:0a;reg clk;initialbeginclk=0;forever #50 clk=clk;endinitial$dumpvars (2,compareTop);initialbegina=4'h3;$display("_");# 100 a =4'h7;$display("_");# 100 a =4'hf;$dis
20、play("_");# 100 a =4'ha;$display("_");# 100 a =4'h2;$display("_");# 100 $display("_"); $finish;endnon_blocking nonblocking(clk,a,b2,c2); blocking blocking(clk,a,b1,c1);endmodule四、仿真結(jié)果與波形LAB 7:利用有限狀態(tài)機(jī)進(jìn)行復(fù)雜時(shí)序邏輯的設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康恼莆绽糜邢逘顟B(tài)機(jī)(FSM)實(shí)現(xiàn)復(fù)雜時(shí)序邏輯的方法。二、實(shí)驗(yàn)原理控制器是
21、CPU 的控制核心,用于產(chǎn)生一系列的控制信號(hào),啟動(dòng)或停止某些部件。何時(shí)進(jìn)行讀指令,何時(shí)進(jìn)行RAM 和 I/O端口的讀寫操作等,都由控制器來(lái)控制。三、源代碼補(bǔ)充代碼CPUnexstate<=state+1'h01;case(state)1:begin sel=1;rd=0;ld_ir=0;inc_pc=0;halt=0;ld_pc=0;data_e=0;ld_ac=0;wr=0;end2:begin sel=1;rd=1;ld_ir=0;inc_pc=0;halt=0;ld_pc=0;data_e=0;ld_ac=0;wr=0;end3:begin sel=1;rd=1;ld_ir
22、=1;inc_pc=0;halt=0;ld_pc=0;data_e=0;ld_ac=0;wr=0;end4:begin sel=1;rd=1;ld_ir=1;inc_pc=0;halt=0;ld_pc=0;data_e=0;ld_ac=0;wr=0;end5:begin sel=0;rd=0;ld_ir=0;inc_pc=1;ld_pc=0;data_e=0;ld_ac=0;wr=0; if(opcode=HLT)halt=1;end6:begin sel=0;rd=alu_op;ld_ir=0;inc_pc=0;halt=0;ld_pc=0;data_e=0;ld_ac=0;wr=0;end
23、7:begin sel=0;rd=alu_op;ld_ir=0;halt=0;data_e=!alu_op;ld_ac=0;wr=0; if(opcode=SKZ)inc_pc<=zero;if(opcode=JMP)ld_pc=1;end0:beginsel=0;rd=alu_op;ld_ir=0;halt=0;data_e=!alu_op;ld_ac=alu_op;inc_pc=(opcode=SKZ)&zero|(opcode=JMP);if(opcode=JMP)ld_pc=1;if(opcode=STO)wr=1;endNo.00000000No.00000000No.
24、00000101No.00000001/1CTEMP:/1temporary variable00000001/1Dtime:/ 1constant 144 - max value00000110/1E LIMIT:/ 6constant 1一、仿真結(jié)果與波形第二部分電路綜合一、實(shí)驗(yàn)?zāi)康恼莆者壿嬀C合的概念和流程,熟悉采用Design Compiler 進(jìn)行邏輯綜合的基本方法。二、實(shí)驗(yàn)內(nèi)容采用 SYNOPSYS 公司的綜合工具Design Compiler 對(duì)實(shí)驗(yàn) 7 的做綜合。三、源代碼與實(shí)驗(yàn)指導(dǎo)書中相同。四、門級(jí)電路仿真結(jié)果與波形五、思考題1. 文件是 verilog 語(yǔ)言及的描述還是結(jié)構(gòu)化的描述?是結(jié)構(gòu)化的描述。2. 文件中,對(duì)觸發(fā)器的延遲包括哪些信息?包括對(duì)邏輯單元和管腳的上升 / 下降時(shí)延的最大值、最小值和典型值。第三部分版圖設(shè)計(jì)一、二、三、實(shí)驗(yàn)?zāi)康恼莆瞻鎴D設(shè)計(jì)的基本概念和流程,熟悉采用實(shí)驗(yàn)內(nèi)容對(duì)電路綜合輸出的門級(jí)網(wǎng)表
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024芒果種植基地?zé)o人機(jī)噴灑農(nóng)藥服務(wù)合同3篇
- 儀器設(shè)備采購(gòu)合同5篇
- 經(jīng)濟(jì)法關(guān)于大學(xué)生就業(yè)維權(quán)方面
- 贊助合同模板(5篇)
- 山東特殊教育職業(yè)學(xué)院《醫(yī)學(xué)基本技能》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年度政府投資項(xiàng)目財(cái)務(wù)監(jiān)管代理合同3篇
- 鐘山職業(yè)技術(shù)學(xué)院《商務(wù)英語(yǔ)視聽說(shuō)(4)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年礦山石料直供采購(gòu)協(xié)議綱要版B版
- 2025年度新疆棉花采摘機(jī)械化作業(yè)合同范本3篇
- 南京師范大學(xué)泰州學(xué)院《口腔臨床醫(yī)學(xué)概論(口腔修復(fù)學(xué))》2023-2024學(xué)年第一學(xué)期期末試卷
- 醫(yī)院藥品質(zhì)量管理
- 裝飾圖案智慧樹知到答案2024年齊魯工業(yè)大學(xué)
- 漢語(yǔ)言文學(xué)本科自考真題1301-全國(guó)-古代漢語(yǔ)
- 中醫(yī)藥健康管理服務(wù)流程
- 醫(yī)院開展反恐防恐知識(shí)培訓(xùn)
- MDCG 2020-3 Rev.1 歐盟更新醫(yī)療器械重大變更指南文件
- 五年級(jí)口算每頁(yè)100題(打印版)
- 人教版小學(xué)數(shù)學(xué)一年級(jí)上冊(cè)20以內(nèi)口算天天練試題全套
- 廣西欽州市浦北縣2023-2024學(xué)年七年級(jí)上學(xué)期期末語(yǔ)文試題
- 技術(shù)服務(wù)補(bǔ)充協(xié)議范本
- 內(nèi)河避碰條例題庫(kù)
評(píng)論
0/150
提交評(píng)論