【问题标题】:i have some problem about current time in vhdl我对 vhdl 中的当前时间有一些疑问
【发布时间】:2019-06-07 07:59:52
【问题描述】:

我是最近第一个开始 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?

【问题讨论】:

  • 这取决于您所称的当前时间。你可以创建一个计时器,但你必须用一些东西来初始化时间。我需要有关您的系统的更多信息来帮助您。您的 FPGA 有互联网连接吗?

标签: vhdl fpga hdl


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    也许看看here会很有用

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

    【讨论】:

    • 感谢您的回答! fgpa板子上传程序的时候可以设置时间吗?
    • 不,这是不可能的,但您可以在 FPGA 启动时从 0 开始计算时间。
    • 我发现另一个网站有人尝试使用 RTC 模块(实时时钟)。看看这里:link 我认为可以在执行中给出当前时间,但我不知道该怎么做(此时)。我必须弄清楚这一点。
    • @Gautitho,我也想过这个问题。也许你可以通过内部时钟制作一个带有当前时间的时钟。
    • @Joost 你的意思是,当 fpga 包括 rtc 时,我可以上传我的当前时间。对?对不起,我的英语水平很糟糕:(
    猜你喜欢
    • 1970-01-01
    • 2014-01-28
    • 2019-06-01
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    相关资源
    最近更新 更多