我在vhdl中的当前时间有一些问题

时间:2019-06-07 07:59:52

标签: vhdl fpga hdl

我是最近第一个开始vhdl的学生。目前正在FPGA板上工作。 我希望每当我按RESET按钮时,我的七个段都将有当前时间。有办法解决吗?

我整天都在搜索stackoverflow。但我找不到解决办法。

  -- Time information
  constant HOUR_INT   : integer                       := 00;  --  I think we should put the current time in here.
  constant HOUR_HEX   : std_logic_vector(7 downto 0)  := X"00";
  constant MINUTE_INT : integer                       := 00;
  constant MINUTE_HEX : std_logic_vector(7 downto 0)  := X"00";
if reset = '0' then
      hour <= conv_std_logic_vector(datetime.hour_int, 5)

在此代码比例下,为什么我必须在hout_int旁边输入5?

2 个答案:

答案 0 :(得分:1)

在HDL中,您只能使用一些从外部参考运行的计数器来跟踪经过的时间:具有已知频率的时钟信号。

您总是必须通过初始化计数器寄存器的 1 来设置当前日期/时间。通常通过CPU接口来设置时间/日期。这意味着您需要一个CPU,它需要从某个地方(实时时钟或与外界的连接)获取时间,然后以某种格式将时间写入寄存器。

1 即使您的FPGA具有备用电池:始终必须至少在第一次设置它。

答案 1 :(得分:-1)

我认为不可能获得系统的当前时间(考虑此论坛上其他人的尝试/问题)。因此,也无法使用reset来获取当前时间。

看看here

也许有用

已经通过RTC(成功)以其他方式尝试过的人: -here非手动设置的时钟 -here手动设置时钟