版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、西北工業(yè)大學(xué)SOCS計(jì)實(shí)踐實(shí)驗(yàn)報(bào)告學(xué)院:軟件與微電子學(xué)院學(xué)號(hào):姓名:專業(yè):時(shí)間:實(shí)驗(yàn)地點(diǎn):實(shí)驗(yàn)一、編寫一個(gè)自動(dòng)售貨機(jī)VerilogHDL模型題目描述編寫一個(gè)自動(dòng)售貨機(jī)VerilogHDL模型,(1)售貨機(jī)出售15分的飲料。(2)投幣器只接受5分和1角硬幣。(3)必須提供適當(dāng)數(shù)目的零錢,投幣器不找錢。二、實(shí)驗(yàn)內(nèi)容1)定義狀態(tài),并畫出狀態(tài)轉(zhuǎn)換圖,解釋設(shè)計(jì)思路;答:我在設(shè)計(jì)本題所要求的售貨機(jī)時(shí)使用了4個(gè)狀態(tài),分別為start(00),st1(01),st2(10),st3(11)其中在第三個(gè)狀態(tài)是輸出out為1,其他的三個(gè)狀態(tài)輸出為00狀態(tài)轉(zhuǎn)換圖如下所示:Five=1其中狀態(tài)機(jī)在跳到st3時(shí),由st
2、3直接跳的start狀態(tài)這使得out只在投幣后的一個(gè)時(shí)鐘周期處于高電平而不會(huì)長(zhǎng)期處于高電平的狀有這與現(xiàn)實(shí)的只輸出一瓶飲料的結(jié)果不常甚。2)使用Verilog語(yǔ)言完成設(shè)計(jì);一ten=1解:自動(dòng)售貨機(jī)的verilog代碼如下所示:Five=1ten=1Five=1ten=1moduleAUTOSEL(five,ten,clk,rst,out);inputten,five;St3inputclk;inputrst;outputout;wireout;reg1:0state;parameterst0=2'b00,st1=2'b01,st2=2'b10,st3=2'b11
3、;always(posedgeclkornegedgerst)beginif(rst=0)beginstate<=st0;endelsebegincase(state)st0:beginif(five=1)beginstate<=st1;endelsebeginif(ten=1)beginstate<=st2;endelsebeginstate<=st0;endendendst1:beginif(five=1)beginstate<=st2;endelsebeginif(ten=1)beginstate<=st3;endelsebeginstate<=
4、st1;endendendsbeginiffive=1)beginstate<=st3;endelsebeginif(ten=1)beginstate<=st3;endelsebeginstate<=st2;endendendst3:beginstate<=st0;enddefault:beginstate<=st0;endendcaseendendassignout=(state=st3)1:0;endmodule3)編寫testbench,并使用SynopsysVCS®行仿真;答:testbench測(cè)試代碼如下:moduletestbench;reg
5、clk,rst_n;regfive_cents,ten_cents;wiresoda_out;always#1clk=clk;initialbeginclk=0;five_cents=0;ten_cents=0;rst_n=1;# 10rst_n=0;# 10rst_n=1;/1三個(gè)五分的# 10five_cents=1;# 2five_cents=0;# 10five_cents=1;# 2five_cents=0;# 10five_cents=1;# 2five_cents=0;# /2一個(gè)五分,一個(gè)十分# 20five_cents=1;# 2five_cents=0;# 10ten_ce
6、nts=1;# 2ten_cents=0;/3兩個(gè)十分# 20ten_cents=1;# 2ten_cents=0;# 10ten_cents=1;# 2ten_cents=0;# /4一個(gè)十分,一個(gè)五分# 20ten_cents=1;# 2ten_cents=0;# 10fivecents=1;# 2five_cents=0;# /5兩個(gè)五分,一個(gè)十分# 20five_cents=1;# 2five_cents=0;# 10five_cents=1;# 2five_cents=0;# 10ten_cents=1;# 2ten_cents=0;# 10$stop;endAUTOSELAUTOS
7、EL(five_cents,ten_cents,clk,rst_n,soda_out);Endmodule測(cè)試波形圖如下所示:Autosel-vcs仿真波形最下邊一行代表的是投5分,倒數(shù)第二行代表的是復(fù)位信號(hào),第三行是時(shí)鐘信號(hào),第二行是投10分,由圖可知,在投3個(gè)5分,1個(gè)5分、1個(gè)10分,兩個(gè)10分,1個(gè)10分、1個(gè)5分,2個(gè)5分、1個(gè)10分都可使輸出信號(hào)為1,滿足題意要求。4)使用SynopsysDCS行綜合。答:autosel.con約束文件如下:#Constrain#reset_designcreate_clock-period490.2get_portsclk#創(chuàng)建頻率為2.04MH
8、z的時(shí)鐘信號(hào)set_clock_latency-source-max10get_clocksclkset_clock_latency-max10get_clocksclkset_clock_uncertainty-setup20get_clocksclkset_clock_transition10get_clocksclkset_input_delay-max60-clockclkget_portstenset_input_delay-max60-clockclkget_portsfiveset_driving_cell-lib_cellbufbd7all_inputsset_output_d
9、elay-max80-clockclkget_portsoutset_loadload_ofcb13fs120_tsmc_max/bufbd7/Iget_portsoutsetmaxarea10000DC綜合腳本文件dc.tcl如下:#runscript#printvartarget_libraryprintva門ink_librarycheck_librarycheck_tlu_plus_filesread_verilog./rtl/autosel.v# 讀文件Link# 連接到目標(biāo)庫(kù)check_design# 檢測(cè)設(shè)計(jì)是否由問(wèn)題source./scripts/autosel.con# 加上
10、約束文件check_timing# 檢測(cè)時(shí)序compile_ultra-scan-retime# 對(duì)文件進(jìn)行編譯redirect-tee-filerc.rptreport_constraint-allredirect-tee-filert.rptreport_timingredirect-tee-filera.rptreport_area# 產(chǎn)生各種約束的報(bào)告write-fddc-hier-outautosel.ddc# 生成最后的.ddc文件產(chǎn)生的rc.rpt文件:Information:Updatingdesigninformation.(UID-85)*Report:constraint
11、-all_violatorsDesign:AUTOSELVersion:G-2012.06-SP4Date:TueMay2020:15:052014*Thisdesignhasnoviolatedconstraints.1產(chǎn)生的rt.rpt文件:*Report:timing-pathfull-delaymax-max_paths1Design:AUTOSELVersion:G-2012.06-SP4Date:TueMay2020:15:052014*Some/alldelayinformationisback-annotated.OperatingConditions:cb13fs120_ts
12、mc_maxLibrary:cb13fs120_tsmc_maxWireLoadModelMode:Inactive.Startpoint:state_reg0(risingedge-triggeredflip-flopclockedbyclk)Endpoint:out(outputportclockedbyclk)PathGroup:clkPathType:maxPointIncrclockclk(riseedge)0.00clocknetworkdelay(ideal)20.00state_reg0/CP(sdcrb1)0.00state_reg0/Q(sdcrb1)1.23U15/Z(a
13、n02d1)0.14out(out)0.00*dataarrivaltimeclockclk(riseedge)490.20clocknetworkdelay(ideal)20.00clockuncertainty-20.00outputexternaldelay-80.00datarequiredtimePath0.0020.0020.00r21.23r*21.37r21.37r21.37490.20510.20490.20410.20410.20410.20-21.37datarequiredtimedataarrivaltimeslack(MET)388.83左側(cè)一列是每一項(xiàng)計(jì)劃所用的時(shí)
14、間,右側(cè)一列是到目前所用的總時(shí)間,而且我們可以看出來(lái)實(shí)際的到達(dá)時(shí)間遠(yuǎn)遠(yuǎn)小于要求的時(shí)間,因此時(shí)序方面是滿足設(shè)計(jì)要求的。1產(chǎn)生的ra.rpt文件:*Report:areaDesign:AUTOSELVersion:G-2012.06-SP4Date:TueMay2020:15:052014*Library(s)Used:cb13fs120_tsmc_max(File:/cad/share/ref/libs/mw_lib/sc/LM/sc_max.db)Numberofports:5Numberofnets:15Numberofcells:8Numberofcombinationalcells:6N
15、umberofsequentialcells:2Numberofmacros:0Numberofbuf/inv:0Numberofreferences:6Combinationalarea:10.000000Buf/Invarea:0.000000Noncombinationalarea:15.750000NetInterconnectarea:undefined(Wireloadhaszeronetarea)Totalcellarea:25.750000Totalarea:undefined1組合邏輯電路所用的面積為10um2,非組合邏輯所用面積為15.75um,因此總的面積為25.75um
16、2。最終的綜合電路圖:Autoseldc綜合電路三、實(shí)驗(yàn)報(bào)告要求1) 設(shè)計(jì)思路,狀態(tài)定義,轉(zhuǎn)臺(tái)轉(zhuǎn)換圖。2) 使用VerilogHDL完成設(shè)計(jì)。3) 編寫testbench。4) VCS完成仿真,對(duì)仿真結(jié)果進(jìn)行分析。5) 編與SynopsysDCfc合腳本文件dc.tcl以及約束文件autosel.con。6) 使用SynopsysDC8行綜合,給出綜合后的報(bào)告,包括rc.rpt,rt.rpt,ra.rpt,并做必要說(shuō)明。7) 綜合后的電路圖。四、分析與討論在做本次試驗(yàn)時(shí),由于剛開始使用的投幣信號(hào)的脈沖較寬,使得輸出信號(hào)在時(shí)輸出信號(hào)肩效的最后一個(gè)信號(hào)為高時(shí),狀態(tài)發(fā)生了連續(xù)的跳轉(zhuǎn),最后的輸出信號(hào)也
17、發(fā)生了迅速的變化,考慮時(shí)序之后,使用單周期脈沖的輸入信號(hào)使得輸出信號(hào)在下一個(gè)周期有效,而在過(guò)一個(gè)周期由于此時(shí)輸入信號(hào)無(wú)效,使得狀態(tài)不再改變而使得輸出信號(hào)也只有在一個(gè)周期內(nèi)為高電平,從而滿足了要求。止匕外,在剛開始設(shè)計(jì)時(shí)由于對(duì)狀態(tài)機(jī)的編寫規(guī)范不清楚,使用了ten和five作為always語(yǔ)句的觸發(fā)條件,雖然可以仿真出波形,但是由于不符合dc綜合的規(guī)范,使得在dc時(shí)出現(xiàn)了“將CLK信號(hào)作為輸入信號(hào)”的錯(cuò)誤,狀態(tài)機(jī)的下周期邏輯只能使用clk作為觸發(fā)條件。五、教師評(píng)語(yǔ)簽名:日期:成績(jī)實(shí)驗(yàn)二、設(shè)計(jì)PCM30基群幀同步電路題目描述設(shè)計(jì)PCM30基群幀同步電路,該 PCM30機(jī)群系統(tǒng)結(jié)構(gòu)如下:FLOSS8b
18、it為幀同步碼;偶數(shù)幀的幀同步碼為,奇數(shù)幀的幀同步碼為110XXXXX(X為任意值)2 .系統(tǒng)初始狀態(tài)為失步態(tài),失步信號(hào)FLOSS俞出低電平,電路在輸入碼流里逐比特搜尋同步碼,當(dāng)搜尋到第一個(gè)偶幀同步碼后,電路轉(zhuǎn)為逐幀搜尋,當(dāng)連續(xù)三幀均正確地搜尋到同步碼后,系統(tǒng)狀態(tài)轉(zhuǎn)為同步態(tài),失步信號(hào)輸出高電平;否則電路重新進(jìn)入逐比特搜尋狀態(tài)3 .系統(tǒng)處于同步態(tài)后,當(dāng)連續(xù)四幀檢出的同步碼均錯(cuò)誤,則系統(tǒng)轉(zhuǎn)為失步態(tài),失電路時(shí)序說(shuō)明:D輸入信號(hào)DATA與CLK的時(shí)序關(guān)系2)同步過(guò)程時(shí)序與DATA的幀結(jié)構(gòu)實(shí)驗(yàn)內(nèi)容1)定義狀態(tài),并畫出狀態(tài)轉(zhuǎn)換圖,解釋設(shè)計(jì)思路答:為了實(shí)現(xiàn)pcm30的功能,我的分析思路如下:首先,還沒(méi)有進(jìn)入
19、幀同步狀態(tài)時(shí),是位尋址狀態(tài)依次為bit0,bitl,bit2,bit3,bit4,bit5,bit6,bit7;當(dāng)滿足了一次偶校驗(yàn)之后,要進(jìn)行空248位的處理,這個(gè)狀態(tài)可以用bitblank來(lái)表示;再次進(jìn)行一次奇校驗(yàn)用oddcheckO,oddcheck1,oddcheck2三個(gè)狀態(tài)來(lái)處理;奇校驗(yàn)完成進(jìn)入oddblank來(lái)表示空缺253位;在止匕進(jìn)行次偶校驗(yàn)用evencheck。,evencheck1,evencheck2,evencheck3,evencheck4,evencheck5,evencheck6,evencheck7來(lái)表示,通過(guò)后使floss=1;如果通過(guò)了偶校驗(yàn)則進(jìn)入evenb
20、lank狀態(tài)來(lái)使pcm30空缺248位,止匕時(shí)進(jìn)入幀校驗(yàn)的奇校驗(yàn);幀校驗(yàn)的奇校驗(yàn)使用三個(gè)狀態(tài)來(lái)完成,分別為:oddholdO,oddholdl,oddhold2來(lái)校驗(yàn)奇幀的1、2、3位;奇校驗(yàn)可能產(chǎn)生不同的結(jié)果,例如在0,1,2位產(chǎn)生不符合和符合一共4種情況,這樣一來(lái)就不能只空固定的位數(shù)了,因?yàn)榧偃缭?位就不符合的話,在0位就跳出了,這樣需要跳過(guò)255位,與之類似,1位不符合要跳254位,而3為符合于不符合都是要跳過(guò)253位的,因此應(yīng)該跳的位數(shù)隨著不同的情況來(lái)變化,需要有跳255,254,253位狀態(tài)oddblankO,oddblankl和oddblank2的分別對(duì)應(yīng)于三個(gè)奇校驗(yàn)的狀態(tài)oddh
21、oldO,oddholdl,oddhold2;oddblankO,oddblankl和oddblank2結(jié)束后的狀態(tài)應(yīng)該跳到偶校驗(yàn)的狀態(tài)中,使用8個(gè)狀態(tài)來(lái)完成,分別為:evenholdO,evenholdl,evenhold2,evenhold3,evenhold4,evenhold5,evenhold6,evenhold7;前7個(gè)狀態(tài)不滿足或者第8個(gè)狀態(tài)結(jié)束分別跳轉(zhuǎn)到evenblankO,evenblankl,evenblank2,evenblank3,evenblank4,evenblank5,evenblank6,evenblank7,結(jié)束后跳轉(zhuǎn)到oddhold處。狀態(tài)跳轉(zhuǎn)圖如下所示:2
22、)使用Verilog語(yǔ)高完成設(shè)計(jì);答:pcm3i module pc inpu實(shí)驗(yàn)代碼如下:13OX(WSt,da clk,d=Ot7rst;it FLOSSN;ta,FLOSSNB;tblankf 空248位第i位不符第i位不符net_data,net_clk,net_FLOSSN,net_rst;pc3dO1 clk_iopad (.PAD(clk), .CIN(net_clk);pc3dO1 data_iopad (.PAD(data), .CIN(net_data);pc3dO1 rst_iopad (.PAD(rst), .CIN(net_rst);pc3 oO5 FLOSSN_io
23、pad (.I(net_FLOSSN), .PAD(FLp® mu I_pcm (.clk(net_clk),.rst(net_rst),.data(net_dataendmodule|imodule pcm(clk,rst,data,floss1); input clk,rst, output flossenh01dx wire flossreg floss;八- reg<7 :Ostate;X=07reg式7:Obtblkct;reg 7:Ooddblkct;regreg7:OodMcnkX7:Ooddb5kctdreg 7:OoXdblkct2;reg 7:Oevenbl
24、kct;reg 7:Oevenb腐 ctO;符oddblank X空255-X位X=O,1,2第i位不符沒(méi)達(dá)到4次或符合oddhold X奇校驗(yàn)X=O,1,2OddblankSSN)3;位 ,.floss1(netevencheckX偶校驗(yàn)X=07Evenblank 空248位FLOSSN);且達(dá)到4次reg7:0evenblkct1;reg7:0evenblkct2;reg7:0evenblkct3;reg7:0evenblkct4;reg7:0evenblkct5;reg7:0evenblkct6;reg7:0evenblkct7;reg1:0flsct;parameterbit0=8
25、39;b00000000,/0bit1=8'b00000001,/1bit2=8'b00000010,/2bit3=8'b00000011,/3bit4=8'b00000100,/4bit5=8'b00000101,/5bit6=8'b00000110,/6bit7=8'b00000111,/7bitblank=8'b00001000,/8oddcheck0=8'b00001001,/9oddcheck1=8'b00001010,/10oddcheck2=8'b00001011,/11oddblank=8&
26、#39;b00001100,/12evencheck0=8'b00010000,/16evencheck1=8'b00010001,/17evencheck2=8'b00010010,/18evencheck3=8'b00010011,/19evencheck4=8'b00010100,/20evencheck5=8'b00010101,/21evencheck6=8'b00010110,/22evencheck7=8'b00010111,/23evenblank=8'b00011000,/24oddhold0=8'
27、;b00100000,/32oddhold1=8'b00100001,/33oddhold2=8'b00100010,/34oddblank0=8'b00100011,/35oddblank1=8'b00100100,/36oddblank2=8'b00100101,/37evenhold0=8'b00101000,/40evenhold1=8'b00101001,evenhold2=8'b00101010,evenhold3=8'b00101011,evenhold4=8'b00101100,evenhold5=
28、8'b00101101,evenhold6=8'b00101110,evenhold7=8'b00101111,evenblank0=8'b00110000,evenblank1=8'b00110001,evenblank2=8'b00110010,evenblank3=8'b00110011,evenblank4=8'b00110100,evenblank5=8'b00110101,evenblank6=8'b00110110,evenblank7=8'b00110111;assignfloss1=(fl
29、oss=1)1:0;always(posedgeclkornegedgerst)beginif(rst=0)beginfloss<=0;state<=0;btblkct<=0;oddblkct<=0;oddblkct0<=0;oddblkct1<=0;oddblkct2<=0;evenblkct<=0;evenblkct0<=0;evenblkct1<=0;evenblkct2<=0;evenblkct3<=0;evenblkct4<=0;evenblkct5<=0;evenblkct6<=0;evenb
30、lkct7<=0;flsct<=0;endelsebegincase(state)bit0:beginif(data=1)beginstate<=bit1;endelsebeginstate<=bit0;endendbitl:beginif(data=0)beginstate<=bit2;endelsebeginstate<=bit1;endendbibeginif(data=0)beginstate<=bit3;endelsebeginstate<=bit1;endendbit3:beginif(data=1)beginstate<=bi
31、t4;endelsebeginstate<=bit0;endendbit4:beginif(data=1)beginstate<=bit5;endelsebeginstate<=bit0;endendbit5:beginif(data=0)beginstate<=bit6;endelsebeginstate<=bit1;endendbit6:beginif(data=1)beginstate<=bit7;endelsebeginstate<=bit0;endendbit7:beginif(data=1)beginstate<=bitblank;e
32、ndelsebeginstate<=bit0;endendbitblank:beginif(btblkct<247)beginbtblkct<=btblkct+1;endelsebeginbtblkct<=0;state<=oddcheck0;endendoddcheckO:beginif(data=1)beginstate<=oddcheck1;endelsebeginstate<=bit0;endendoddcheckl:beginif(data=1)beginstate<=oddcheck2;endelsebeginstate<=bi
33、t0;endendoddcheck2:beginif(data=0)beginstate<=oddblank;endelsebeginstate<=bit0;endendoddblank:beginif(oddblkct<252)beginoddblkct<=oddblkct+1;endelsebeginoddblkct<=0;state<=evencheck0;endendevencheckO:beginif(data=1)beginstate<=evencheck1;endelsebeginstate<=bit0;endendevenchec
34、kl:beginif(data=0)beginstate<=evencheck2;endelsebeginstate<=bit0;endendevencheck2:beginif(data=0)beginstate<=evencheck3;endelsebeginstate<=bit0;endendevencheck3:beginif(data=1)beginstate<=evencheck4;endelsebeginstate<=bit0;endendevencheck4:beginif(data=1)beginstate<=evencheck5;e
35、ndelsebeginstate<=bit0;endendevencheck5:beginif(data=0)beginstate<=evencheck6;endelsebeginstate<=bit0;endendevencheck6:beginif(data=1)beginstate<=evencheck7;endelsebeginstate<=bit0;endendevencheck7:beginif(data=1)beginstate<=evenblank;floss<=1;flsct<=0;endelsebeginstate<=b
36、it0;endendevenblank:beginif(evenblkct<247)beginevenblkct<=evenblkct+1;endelsebeginevenblkct<=0;state<=oddhold0;endendoddholdO:beginif(data=1)beginstate<=oddhold1;endelsebeginif(flsct=3)beginfloss<=0;state<=bit0;endelsebeginflsct<=flsct+1;state<=oddblank0;endendendoddholdl:
37、beginif(data=1)beginstate<=oddhold2;endelsebeginif(flsct=3)beginfloss<=0;state<=bit0;endelsebeginstate<=oddblank1;flsct<=flsct+1;endendendoddhold2:beginif(data=0)beginif(flsct>0)beginstate<=oddblank2;flsct<=0;endelsebeginstate<=oddblank2;endendelsebeginif(flsct=3)beginstat
38、e<=bit0;floss<=0;endelsebeginstate<=oddblank2;flsct<=flsct+1;endendendoddblankO:beginif(oddblkct0<254)beginoddblkct0<=oddblkct0+1;endelsebeginoddblkct0<=0;state<=evenhold0;endendoddblankl:beginif(oddblkct1<253)beginoddblkct1<=oddblkct1+1;endelsebeginoddblkct1<=0;stat
39、e<=evenhold0;endendoddblank2:beginif(oddblkct2<252)beginoddblkct2<=oddblkct+1;endelsebeginoddblkct2<=0;state<=evenhold0;endendevenholdO:beginif(data=1)beginstate<=evenhold1;endelsebeginif(flsct=3)beginfloss<=0;state<=bit0;endelsebeginflsct<=flsct+1;state<=evenblank0;end
40、endendevenholdl:beginif(data=0)beginstate<=evenhold2;endelsebeginif(flsct=3)beginfloss<=0;state<=bit0;endelsebeginflsct<=flsct+1;state<=evenblank1;endendendevenhold2:beginif(data=0)beginstate<=evenhold3;endelsebeginif(flsct=3)beginfloss<=0;state<=bit0;endelsebeginflsct<=fl
41、sct+1;state<=evenblank2;endendendevenhold3:beginif(data=1)beginstate<=evenhold4;endelsebeginif(flsct=3)beginfloss<=0;state<=bit0;endelsebeginflsct<=flsct+1;state<=evenblank3;endendendevenhold4:beginif(data=1)beginstate<=evenhold5;endelsebeginif(flsct=3)beginfloss<=0;state<
42、=bit0;endelsebeginflsct<=flsct+1;state<=evenblank4;endendendevenhold5:beginif(data=0)beginstate<=evenhold6;endelsebeginif(flsct=3)beginfloss<=0;state<=bit0;endelsebeginflsct<=flsct+1;state<=evenblank5;endendendevenhold6:beginif(data=1)beginstate<=evenhold7;endelsebeginif(flsc
43、t=3)beginfloss<=0;state<=bit0;endelsebeginflsct<=flsct+1;state<=evenblank6;endendendevenhold7:beginif(data=1)beginif(flsct>0)beginflsct<=0;state<=evenblank7;endelsebeginstate<=evenblank7;endendelsebeginif(flsct=3)beginfloss<=0;state<=bit0;endelsebeginflsct<=flsct+1;s
44、tate<=evenblank7;endendendevenblankO:beginif(evenblkct0<254)beginevenblkct0<=evenblkct0+1;endelsebeginevenblkct0<=0;state<=oddhold0;endendevenblankl:beginif(evenblkct1<253)beginevenblkct1<=evenblkct1+1;endelsebeginevenblkct1<=0;state<=oddhold0;endendevenblank2:beginif(even
45、blkct2<252)beginevenblkct2<=evenblkct2+1;endelsebeginevenblkct2<=0;state<=oddhold0;endendevenblank3:beginif(evenblkct3<251)beginevenblkct3<=evenblkct3+1;endelsebeginevenblkct3<=0;state<=oddhold0;endendevenblank4:beginif(evenblkct4<250)beginevenblkct4<=evenblkct4+1;endel
46、sebeginevenblkct4<=0;state<=oddhold0;endendevenblank5:beginif(evenblkct5<249)beginevenblkct5<=evenblkct5+1;endelsebeginevenblkct5<=0;state<=oddhold0;endendevenblank6:beginif(evenblkct6<248)beginevenblkct6<=evenblkct6+1;endelsebeginevenblkct6<=0;state<=oddhold0;endendeve
47、nblank7:beginif(evenblkct7<247)beginevenblkct7<=evenblkct7+1;endelsebeginevenblkct7<=0;state<=oddhold0;endendendcaseendend/endofalwaysendmodule3)編寫testbench,并使用SynopsysVCS®行仿真;答:測(cè)試代碼testbench如下:(在此處為檢查錯(cuò)誤方便起見使用了與其他同學(xué)相同的data時(shí)序,對(duì)比波形后結(jié)果相同)moduletestbench;regclk,rst;reg675:0data;wireflos
48、s;wirex;assignx=data675;always#10clk=clk;always(posedgeclk)data=data674:0,data675;initialbeginclk=0;rst=1;# 2rst=0;# 2rst=1;# 50000$stop;endpcm30m(.clk(clk),.rst(rst),.data(x),.FLOSSN(floss);Endmodule仿真結(jié)果圖如下所示:Pcm30vcs仿真波形圖首先,在開始仿真時(shí)先用復(fù)位信號(hào)將電路進(jìn)行復(fù)位,使其狀態(tài)變?yōu)槲粰z測(cè)bit0狀態(tài),在檢測(cè)完一次偶信號(hào)后,連續(xù)兩幀都符合然后信號(hào)FLOS/高,然后又有連續(xù)4幀不
49、符合,使彳導(dǎo)FLOSSH氐為0,之后又因?yàn)榇薲ata信號(hào)時(shí)循環(huán)產(chǎn)生的,而每個(gè)周期只產(chǎn)生有偶奇偶3幀,以后就沒(méi)有讓其連續(xù)產(chǎn)生3幀符合的data信號(hào)了,因此floss信號(hào)保持為低,一直到結(jié)束點(diǎn)。4)使用SynopsysDCS行綜合。答:constrain文件如下所示:#Constrain#reset_designcreate_clock-period490.2get_portsclkset_clock_latency-source-max10get_clocksclkset_clock_latency-max10get_clocksclkset_clock_uncertainty-setup20g
50、et_clocksclkset_clock_transition10get_clocksclkset_input_delay-max60-clockclkget_portsdataset_driving_cell-lib_cellbufbd7all_inputsset_output_delay-max80-clockclkget_portsFLOSSNset_loadload_ofcb13fs120_tsmc_max/bufbd7/Iget_portsFLOSSNset_max_area10000DC綜合腳本文件dc.tcl如下:#runscript#printvartarget_librar
51、yprintvarlink_librarycheck_librarychecktluplusfilesread_verilog./rtl/pcm30.v# 讀文件Link# 連接到目標(biāo)庫(kù)check_design# 檢測(cè)設(shè)計(jì)是否由問(wèn)題source./scripts/pcm30.con# 加上約束文件check_timing# 檢測(cè)時(shí)序compile_ultra-scan-retime# 對(duì)文件進(jìn)行編譯redirect-tee-filerc.rptreport_constraint-allredirect-tee-filert.rptreport_timingredirect-tee-filera.rptreport_area# 產(chǎn)生各種條件約束的報(bào)告write-fddc-hier-outautosel.ddc# 生成最后的.ddc文件rc.rpt文件如下:Information:Updatingdesigninformation.(UID-85)*Report:constraint-all_violatorsDesign:pcm30Version:G-2012.06-SP4Date:TueMay2017:18:572014*max_transitionNetRequiredTransitionActu
溫馨提示
- 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年餐飲酒店人力資源服務(wù)合同
- 2024年重型鏟車租賃協(xié)議樣本版B版
- 寫作文的書知乎
- 2025年度環(huán)境保護(hù)補(bǔ)償貿(mào)易融資協(xié)議3篇
- 2025年度醫(yī)療設(shè)備采購(gòu)合同范本及售后服務(wù)條款3篇
- 濮陽(yáng)石油化工職業(yè)技術(shù)學(xué)院《診斷治療學(xué)概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 云南體育運(yùn)動(dòng)職業(yè)技術(shù)學(xué)院《兒科學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 武漢光谷職業(yè)學(xué)院《飼料學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 揚(yáng)州環(huán)境資源職業(yè)技術(shù)學(xué)院《病原微生物免疫與健康》2023-2024學(xué)年第一學(xué)期期末試卷
- 基坑土方回填監(jiān)理旁站記錄表
- 監(jiān)理日志表(標(biāo)準(zhǔn)模版)
- 視頻監(jiān)控系統(tǒng)PPT幻燈片課件(PPT 168頁(yè))
- 線纜包覆擠塑模設(shè)計(jì)和原理
- GM∕T 0045-2016 金融數(shù)據(jù)密碼機(jī)技術(shù)規(guī)范
- 人力資源部年度工作計(jì)劃表(超級(jí)詳細(xì)版)
- 《輪機(jī)英語(yǔ)》試題(二三管輪)
- 部編版二年級(jí)語(yǔ)文下冊(cè)《蜘蛛開店》
- 北師大二年級(jí)數(shù)學(xué)上教學(xué)反思
- 200m3╱h凈化水處理站設(shè)計(jì)方案
- 空調(diào)系統(tǒng)維保記錄表格模板
- 《數(shù)學(xué)廣角——數(shù)與形》評(píng)課稿
評(píng)論
0/150
提交評(píng)論