【正文】
39。039。g4=39。039。 fb0=ai。 elsif(k2=39。139。)then g1=39。039。g2=39。139。g3=39。039。g4=39。039。 fb0=bi。 elsif(k3=39。139。)then g1=39。039。g2=39。039。g3=39。139。g4=39。039。 fb0=ci。 elsif(k4=39。139。)then g1=39。039。g2=39。039。g3=39。039。g4=39。139。 fb0=di。 end if。 end process。 end bhv。 時鐘程序 u3: library ieee。 use 。 entity sz is generic (v:integer:=8)。 port(clki:in std_logic。 clko:buffer std_logic)。 end sz。 architecture bhv of sz is begin process(clki) variable count:integer range 0 to v。 begin if(clki39。event and clki=39。139。)then count:=count+1。 if(count=v)then clko=not clko。 count:=0。 end if。 end if。 end process。 end bhv。 計數(shù)程序 u4: library ieee。 山東建筑大學(xué)信息與電氣工程學(xué)院課程設(shè)計說明書 XIV use 。 entity js is port(fb,clk:in std_logic。 g5:out std_logic。 q:out integer range 0 to 10000)。 end js。 architecture bhv of js is begin process(fb,clk) variable n:integer range 0 to 10000。 variable m:integer range 0 to 10000。 begin if(clk39。stable)then if(fb39。event and fb=39。139。)then n:=n+1。 m:=n。 if(n9999 or n=0)then g5=39。139。 q=0。 end if。 end if。 end if。 if(clk=39。039。)then q=m。 n:=0。 g5=39。039。 end if。 end process。 end bhv。 BCD 轉(zhuǎn)換 u5: library ieee。 use 。 use 。 use 。 entity bcd is port(qi:in integer range 0 to 10000。 rst:in std_logic。 d1,d2,d3,d4:buffer std_logic_vector(3 downto 0))。 end bcd。 architecture bhv of bcd is begin process(qi) constant a:integer:=1000。 constant b:integer:=100。 山東建筑大學(xué)信息與電氣工程學(xué)院課程設(shè)計說明書 XV constant c:integer:=10。 variable x1,x2,x3,x4,y,z:integer range 0 to 1000。 begin if(rst=39。139。)then x1:=0。x2:=0。x3:=0。x4:=0。 else x1:=qi/a。 y:=qix1*1000。 x2:=y/b。 z:=yx2*100。 x3:=z/c。 x4:=zx3*10。 end if。 d1=conv_std_logic_vector(x1,4)。 d2=conv_std_logic_vector(x2,4)。 d3=conv_std_logic_vector(x3,4)。 d4=conv_std_logic_vector(x4,4)。 end process。 end bhv。