2

我现在正在用 VHDL 做一些练习,我需要你们的帮助,一些指导来推动我走上正确的道路。

代码如下:

signal clk,reset:std_logic
signal q:unsigned(3 downto 0);

process(clk,reset)
   variable count:integer range 0 to 15;
begin
   if (reset=’1’) then
      q<=(others=>’0’);
      count :=0;
   elsif (clk’event and clk=’1’) then
      count:=conv_integer(q);
      count:=count+1 mod 16;
      q<=conv_unsigned(count,4);
  end if;
end process;

可以跳过输出“q”的第一部分,我只对“count”部分感兴趣。我还将添加两张图片来说明我相信它是如何做到的。OBS!请记住,计数是进程内的变量,以防您错过。

该死的我不能上传图片,需要10个代表点。我可以用指向 ImagesHack 的外部链接发布它吗?

干杯

4

1 回答 1

0

这就是你要找的。加法器可以按照@Russell 的维基百科链接所示进行绘制,但我认为这不是本练习的重点。信号q和变量count都将推断出一个寄存器。

电路

于 2013-10-09T00:58:53.687 回答