【正文】
END TESTCTL。BEGIN PROCESS( CLKK ) BEGIN IF CLKK39。139。 END IF。 PROCESS (CLKK, DIV2CLK) BEGIN IF CLKK=39。 AND Div2CLK=39。 THEN RST_CNT = 39。 ELSE RST_CNT = 39。 END IF。 LOAD = NOT DIV2CLK 。END behav。USE 。ENTITY t10 IS PORT (clk : IN STD_LOGIC。 enb : IN STD_LOGIC。 cout : OUT STD_LOGIC)。ARCHITECTURE behav OF t10 ISBEGIN PROCESS(clk, clr, enb) VARIABLE cqi : STD_LOGIC_VECTOR(3 DOWNTO 0)。139。 ELSIF CLK39。139。139。 ELSE cqi := 0000。 END IF。 outy = cqi 。 END PROCESS。4位鎖存器()LIBRARY IEEE。ENTITY REG4B IS PORT ( LOAD : IN STD_LOGIC。 DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) )。ARCHITECTURE behav OF REG4B ISBEGIN PROCESS(LOAD, DIN) BEGIN IF LOAD39。139。 時(shí)鐘到來,鎖存數(shù)據(jù) END IF。END behav。USE 。ENTITY quen4b IS PORT (clkin : IN STD_LOGIC。 out1 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 out3 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 coutt : OUT STD_LOGIC)。ARCHITECTURE one OF quen4b IS COMPONENT TESTCTL PORT ( CLKK : IN STD_LOGIC。 END COMPONENT。 clr : IN STD_LOGIC。 outy : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 END COMPONENT。 DIN : IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 END COMPONENT。SIGNAL outy1,outy2,outy3,outy4 : STD_LOGIC_VECTOR(3 DOWNTO 0)。 u2 : t10 PORT MAP(clk=fin, clr=b_rst, enb=a_ena, outy=outy1, cout=cout1)。 u4 : t10 PORT MAP(clk=cout2, clr=b_rst, enb=a_ena, outy=outy3, cout=cout3)。 u6 : REG4B PORT MAP(LOAD=c_load, DIN=outy1, DOUT=out1)。 u8 : REG4B PORT MAP(LOAD=c_load, DIN=outy3, DOUT=out3)。END ARCHITECTURE one。實(shí)驗(yàn)?zāi)康?熟悉MAX+plusII的使用。 熟悉GW48EDA實(shí)驗(yàn)開發(fā)系統(tǒng)使用。實(shí)驗(yàn)要求 畫出系統(tǒng)的原理框圖,說明系統(tǒng)中各主要組成部分的功能。 根據(jù)選用的軟件編好用于系統(tǒng)仿真的測(cè)試文件。 記錄系統(tǒng)仿真、硬件驗(yàn)證結(jié)果。實(shí)驗(yàn)內(nèi)容3MHz→100Hz分頻器()LIBRARY IEEE。ENTITY CLKGEN IS PORT(CLK: IN STD_LOGIC。END ENTITY CLKGEN。 BEGIN PROCESS(CLK)IS BEGIN IF CLK39。139。 ELSE CNTER=CNTER+1。 END IF。 PROCESS(CNTER)IS BEGIN IF CNTER=1029999 THEN NEWCLK=39。 ELSE NEWCLK=39。 END IF。END ARCHITECTURE ART。USE 。ENTITY CNT6 IS PORT(CLK:IN STD_LOGIC。 ENA:IN STD_LOGIC。 CARRY_OUT:OUT STD_LOGIC)。ARCHITECTURE ART OF CNT6 IS SIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0)。139。 ELSIF CLK39。139。139。 ELSE CQI=CQI+39。 END IF。 END IF。 PROCESS(CQI)IS BEGIN IF CQI=0000THEN CARRY_OUT=39。 ELSE CARRY_OUT=39。 END IF。 CQ=CQI。十進(jìn)制計(jì)數(shù)器()LIBRARY IEEE。USE 。 CLR:IN STD_LOGIC。 OUTY:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。END ENTITY CNT10。 BEGIN PROCESS(CLK,CLR,ENB)IS BEGIN IF CLR=39。THEN CQI=0000。EVENT AND CLK=39。THEN IF ENB=39。THEN IF CQI=1001THEN CQI=0000。139。 END IF。 END PROCESS。139。039。 END PROCESS。END ARCHITECTURE ART。USE 。 CLK:IN STD_LOGIC。 DOUT:OUT STD_LOGIC_VECTOR(23 DOWNTO 0))。ARCHITECTURE ART OF TIMES IS COMPONENT CLKGEN IS PORT(CLK:IN STD_LOGIC。 END COMPONENT CLKGEN。 OUTY:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 END COMPONENT CNT10。 CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 END COMPONENT CNT6。 SIGNAL S1,S2,S3,S4,S5:STD_LOGIC。 U1:CNT10 PORT MAP(S0,CLR,ENA,DOUT(3 DOWNTO 0),S1)。 U3:CNT10 PORT MAP(S2,CLR,ENA,DOUT(11 DOWNTO 8),S3)。 U5:CNT10 PORT MAP(S4,CLR,ENA,DOUT(19 DOWNTO 16),S5)。END ARCHITECTURE ART。實(shí)驗(yàn)?zāi)康?熟悉MAX+plusII的使用。 熟悉GW48EDA實(shí)驗(yàn)開發(fā)系統(tǒng)使用。 干道處于常允許通行狀態(tài),而支干道有車來才允許通行。而支干道允許通行亮綠燈時(shí),主干道亮紅燈。實(shí)驗(yàn)要求 出系統(tǒng)的原理框圖,說明系統(tǒng)中各主要組成部分的功能。 根據(jù)選用的軟件編好用于系統(tǒng)仿真的測(cè)試文件。 記錄系統(tǒng)仿真、硬件驗(yàn)證結(jié)果。實(shí)驗(yàn)內(nèi)容LIBRARY IEEE。USE 。 DOUT5:OUT STD_LOGIC_VECTOR(7 DOWNTO 0))。ARCHITECTURE ART OF CNT05S IS SIGNAL CNT3B:STD_LOGIC_VECTOR(2 DOWNTO 0)。EVENT AND CLK=39。) THEN IF EN05M=39。 THEN CNT3B=CNT3B+1。139。 ELSIF EN05B=39。 THEN CNT3B=CNT3BCNT3B1。 END IF。 PROCESS(CNT3B) IS BEGIN CASE CNT3B IS WHEN000=DOUT5=00000101。 WHEN010=DOUT5=00000011。 WHEN100=DOUT5=00000001。 END CASE。END ARCHITECTURE ART。USE 。ENTITY CNT25S IS PORT(SB,SM,CLK,EN25:IN STD_LOGIC。END ENTITY CNT25S。 BEGIN PROCESS(SB,SM,CLK,EN25) IS BEGIN IF (SB=39。OR SM=39。)THEN CNT5B=CNT5BCNT5B1。EVENT AND CLK=39。) THEN IF EN25=39。 THEN CNT5B=CNT5B+1。039。 END IF。 END PROCESS。DOUT25B=00110000。DOUT25B=00101001。DOUT25B=00101000。DOUT25B=00100111。DOUT25B=00100110。DOUT25B=00100101。DOUT25B=00100100。DOUT25B=00100011。DOUT25B=00100010。DOUT25B=00100001。DOUT25B=00100000。DOUT25B=00011001。DOUT25B=00011000。DOUT25B=00010111。DOUT25B=00010110。DOUT25B=00010101。DOUT25B=00010100。DOUT25B=00010011。DOUT25B=00010010。DOUT25B=00010001。DOUT25B=00010000。DOUT25B=00001001。DOUT25B=00001000。DOUT25B=00000111。DOUT25B=00000110。DOUT25B=00000000。 END PROCESS。LIBRARY IEEE。USE 。 DOUT45M,DOUT45B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0))。ARCHITECTURE ART OF CNT45S IS SIGNAL CNT6B:STD_LOGIC_VECTOR(5 DOWNTO 0)。039。 ELSIF(CLK39。139。139。 ELSIF EN45=39。 THEN CNT6B=CNT6BCNT6B1。 END IF。 PROCESS(CNT6B) IS BEGIN CASE CNT6B IS WHEN000000=DOUT45M=01000101。 WHEN000001=DOUT45M=01000100。 WHEN000010=DOUT45M=01000011。 WHEN000011=DOUT45M=01000010。 WHEN000100=DOUT45M=01000001。 WHEN000101=DOUT45M=01000000。 WHEN000110=DOUT45M=00111001。 WHEN000111=DOUT45M=00111000。 WHEN001000=DOUT45M=00110111。 WHEN001001=DOUT45M=00110110。 WHEN001010=DOUT45M=00110101。 WHEN001011=DOUT45M=00110100。 WHEN001100=DOUT45M=00110011。 WHEN001101=DOUT45M=00110010。 WHEN001110=DOUT45M=00110001。 WHEN001111=DOUT45M=00110000。 WHEN010000=DOUT45M=00101001。 WHEN010001=DOUT45M=00101000。 WHEN010010=DOUT45M=00100111。 WHEN010011=DOUT45M=00100110。 WHEN010100=DOUT45M=00100101。 WHEN010101=DOUT45M=00100100。 WHEN010110=DOUT45M=00100011。 WHEN010111=DOUT45M=00100010。 WHEN011000=DOUT45M=00100001。 WH