VHDL将计时器的各个编号存储到一个数组中,以七段显示的形式显示

时间:2019-12-13 05:21:42

标签: vhdl

因此,我有一个代码向我展示了一个计时器,该计时器可以很好地计数并具有一个有效的多路复用器,现在我想添加一种方法来基本上存储每个数字(1、10和100s)的单个值,所以我可以显示它们。我的VHDL知识确实很基础,但这是一个示例:

signal n ; integer ;= 0;   --this is the lap counter
type laptimeone is array (integer range <>) of integer;
type laptimeten is array (integer range <>) of integer;
type laptimehundred is array (integer range <>) of integer;

我想保存在数组中的laptimeone分别是十和一百。 n只是在那里,它可以帮助我通过另一个过程找到返回该数组的方式。

begin
if (StopState = '0') then
--counter, in seconds. with pause.
  if(second_clk'event and secondclk='1') then
      bcd0 <= one;
      bcd1 <= ten;
        bcd2 <= hundred;
        one <= one + 1;   
   if (one = 9) then 
        one <= 0; 
      ten <= ten +1;
    end if;  
    if (ten = 9) and (one = 9) then               
        ten <= 0;
        hundred <= hundred + 1;
    end if;  
    if (hundred= 9) and (ten= 9) and (one= 9) then   
        hundred <= 0;
    end if;   

 end if;
elsif (StopState ='1')
laptimeone(n)<= one
laptimeten(n) <= ten
laptimehundred(n) <= hundred

现在我正在使用从其他编程语言中了解的一些逻辑,但是我的最终结果是,当stopstate为1时,计时器停止,并且根据N,最后一个,一百和一百的数字存储在我的数组中是我要在另一个过程中更改的一圈。

我将如何声明和初始化对我有帮助的数组?我可以在VHDL中做我想做的事情吗?在其中通过使用N来存储和读取数据时,我可以绕着数组移动吗?

0 个答案:

没有答案