資源描述:
《第章MAXPLUS軟件的使用(第節(jié)).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、3.7綜合練習(xí)例1:一位二進(jìn)制計(jì)數(shù)加七段譯碼電路AHDL設(shè)計(jì)如下,該設(shè)計(jì)中調(diào)用了老功能模塊”4count”和七段譯碼器設(shè)計(jì)文件7segment.tdf。設(shè)計(jì)源文件:FUNCTION4count(clk,clrn,setn,ldn,cin,dnup,d,c,b,a>%庫中有此模塊%b5E2RGbCAPRETURNS(qd,qc,qb,qa,cout>。FUNCTION7segment(i3,i2,i1,i0>%見前面的例題%RETURNS(g,f,e,d,c,b,a>。SUBDESIGN4cnt7s(clk,dnup:INPUT。sa,sb,sc,sd,se,sf,sg
2、,out,xs[3..0]:OUTPUT。>VARIABLEcounter:4count。decoder:7segment。BEGINcounter.clk=clk。counter.dnup=dnup。decoder.i[3..0]=counter.(qd,qc,qb,qa>。xs[]=counter.(qd,qc,qb,qa>。(sg,sf,se,sd,sc,sb,sa>=decoder.(g,f,e,d,c,b,a>。out=counter.cout。END。該設(shè)計(jì)的仿真結(jié)果見圖3.7.1。171/10圖3.7.1例2:N位計(jì)數(shù)譯碼電路四位十進(jìn)制計(jì)數(shù)器AHDL設(shè)計(jì)
3、文件(pdec9999.tdf>:SUBDESIGNpdec9999(clk,ena,clrs:INPUT。a[15..0]:OUTPUT。>VARIABLEcount1[3..0]:DFF。count2[3..0]:DFF。count3[3..0]:DFF。count4[3..0]:DFF。BEGINcount1[].clk=clk。count1[].clrn=clrs。count2[].clk=clk。171/10count2[].clrn=clrs。count3[].clk=clk。count3[].clrn=clrs。count4[].clk=clk。coun
4、t4[].clrn=clrs。IFenaTHENifcount1[]==B"1001"thencount1[]=B"0000"。ELSEcount1[].d=count1[].q+1。ENDIF。ELSEcount1[].d=count1[].q。ENDIF。IFenaTHENifcount1[]==B"1001"thenifcount2[]==B"1001"thencount2[]=B"0000"。ELSEcount2[].d=count2[].q+1。ENDif。ELSEcount2[].d=count2[].q。endif。ELSEcount2[].d=coun
5、t2[].q。ENDIF。IFenaTHENifcount2[]==B"1001"&count1[]==B"1001"thenifcount3[]==B"1001"thencount3[]=B"0000"。ELSEcount3[].d=count3[].q+1。endif。ELSE171/10count3[].d=count3[].q。endif。ELSEcount3[].d=count3[].q。ENDIF。IFenaTHENifcount2[]==B"1001"&count1[]==B"1001"&count3[]==B"1001"thenp1EanqFDPwif
6、count4[]==B"1001"thencount4[]=B"0000"。ELSEcount4[].d=count4[].q+1。endif。ELSEcount4[].d=count4[].q。endif。ELSEcount4[].d=count4[].q。ENDIF。a[3..0]=count1[]。a[7..4]=count2[]。a[11..8]=count3[]。a[15..12]=count4[]。END。七段譯碼器設(shè)計(jì)文件(7segd.tdf>:SUBDESIGN7segd(i[3..0]:INPUT。s[6..0]:OUTPUT。>BEGINTABLE
7、i[3..0]=>s[6..0]。H"0"=>B"1111110"。H"1"=>B"0110000"。H"2"=>B"1101101"。171/10H"3"=>B"1111001"。H"4"=>B"0110011"。H"5"=>B"1011011"。H"6"=>B"1011111"。H"7"=>B"1110000"。H"8"=>B"1111111"。H"9"=>B"1111011"。H"A"=>B"1110111"。H"B"=>B"0011111"。H"C"=>B"1001110"。H"D"=>B"0111101"。H"E"=>B"1001111"。