您的位置:電子發(fā)燒友網(wǎng) > 電子技術(shù)應(yīng)用 > 實(shí)驗(yàn)中心 > 編程實(shí)驗(yàn) >
BJ-EPM CPLD開發(fā)板:VHDL入門例程5(3)
2012年05月16日 11:02 來源:本站整理 作者:秩名 我要評論(0)
if (Mux_en_in = '1' AND cnt < 10#22#) then --啟動計(jì)數(shù)
cnt := cnt+1;
cnt0_en <= '0';
else --計(jì)數(shù)清零
cnt := 0;
cnt0_en <= '1';
end if;
--乘法運(yùn)算操作邏輯
if (cnt = 0) then
Mux_yout <= x"00000000";
elsif (cnt > 1 AND cnt < 18) then
if (areg(cnt-2) = '1') then
Mux_yout(14 downto 0) <= Mux_yout(15 downto 1); --bit14-0累加并移位
Mux_yout(31 downto 15) <= ('0' & Mux_yout(31 downto 16)) + ('0' & breg); --bit31-15累加并移位
--Mux_yout(31) <= '0'; --bit31補(bǔ)0
--yout_r = {{1'b0,yout[31:16]}+{1'b0,breg},yout_r[15:1]};
else
Mux_yout <= '0' & Mux_yout(31 downto 1); --移位不累加
end if;
--elsif (cnt = 17 AND areg(15) = '1') then
--Mux_yout(31 downto 16) <= Mux_yout(31 downto 16) + breg;
end if;
--乘法運(yùn)算完成標(biāo)志位Mux_done_out產(chǎn)生邏輯
if (cnt = 19) then
Mux_done_out <= '1';
else
Mux_done_out <= '0';
end if;
end if;
end process;
end architecture MUX;
本文導(dǎo)航
- 第 1 頁:BJ-EPM CPLD開發(fā)板:VHDL入門例程5(1)
- 第 2 頁:數(shù)碼管段選譯碼顯示
- 第 3 頁:乘法運(yùn)算0-21計(jì)數(shù)器
標(biāo)簽:VHDL(159)分頻計(jì)數(shù)器(5)J-EPM CPLD(4)