资源描述:
《第章MAXPLUS软件的使用(第节).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3.7综合练习例1:一位二进制计数加七段译码电路AHDL设计如下,该设计中调用了老功能模块”4count”和七段译码器设计文件7segment.tdf。设计源文件: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。该设计的仿真结果见图3.7.1。171/10图3.7.1例2:N位计数译码电路四位十进制计数器AHDL设计
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。七段译码器设计文件(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"。