BJ-EPM CPLD開(kāi)發(fā)板:VHDL入門例程5(2)

2012年05月16日 11:02 來(lái)源:本站整理 作者:秩名 我要評(píng)論(0)

--數(shù)碼管段選譯碼顯示

  architecture MUX of MUX16 is

  signal cnt0_en: STD_LOGIC; --計(jì)數(shù)器cnt=0標(biāo)志位

  signal areg: STD_LOGIC_VECTOR (15 downto 0); --輸入a(乘數(shù))寄存器

  signal breg: STD_LOGIC_VECTOR (15 downto 0); --輸入b(被乘數(shù))寄存器

  signal num: STD_LOGIC_VECTOR (3 downto 0); --每640ms遞增數(shù)值寄存器

  begin

  --乘數(shù)和被乘數(shù)鎖存

  process(Clk,Rst_n)

  begin

  if (Rst_n = '0') then --異步復(fù)位

  areg <= x"0000";

  breg <= x"0000";

  elsif (Clk'event AND Clk = '1') then --時(shí)鐘上升沿

  if (Mux_en_in = '1' AND cnt0_en = '1') then

  areg <= Mux_ain;

  breg <= Mux_bin;

  end if;

  end if;

  end process;

  --移位運(yùn)算

  process(Clk,Rst_n)

  variable cnt: integer range 0 to 21;

  begin

  if (Rst_n = '0') then --異步復(fù)位

  Mux_yout <= x"00000000";

  cnt := 0; --計(jì)數(shù)器

  cnt0_en <= '1';

  Mux_done_out <= '0';

  elsif (Clk'event AND Clk = '1') then --時(shí)鐘上升沿

 

上一頁(yè)123下一頁(yè)

本文導(dǎo)航