这是四位的
二进制加法计数器,cq是你的q,进位cout是你的c,加减法其实很简单,加一个
if语句即可,减法其实也是加法,不过二进制的减法是该数的
补码加一。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity exp_cnt2 is
port(clk,clrn,en:in std_logic;
cq:out std_logic_vector(3 downto 0);
cout:out std_logic);
end exp_cnt2;
architecture bhv of exp_cnt2 is
signal cqi:std_logic_vector(3 downto 0);
begin
process(en,clk,clrn,cqi)
begin
if clrn='0' then
cqi<="0000";
elsif clk'event and clk='1' then
if en='1' then
if cqi<1 then
cqi<=cqi+1;
else
cqi<="0000";
end if;
end if;
end if;
if cqi=1 then
cout<='1';
else
cout<='0';
end if;
cq<=cqi;
end process;
end bhv;
追问这位大哥,能不能吧 clr,load,D3~D0,加减法控制器updown,借位输出B0,都帮我融入到程序里啊,还有减法过程,实在不会呢。。。您就好人做到底一起写了吧。。。感激不尽啊