у меня есть проблемы с текущим временем в VHDL - PullRequest
0 голосов
/ 07 июня 2019

Я первый студент, который недавно начал 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)

в этой пропорции кода, почему я должен ввести 5 рядом с hout_int?

Ответы [ 2 ]

1 голос
/ 07 июня 2019

В HDL вы можете отслеживать только прошедшее время, используя некоторые счетчики, работающие от внешнего источника: тактового сигнала с известной частотой.

Вы всегда должны устанавливать текущую дату / время, инициализируя 1 Ваш счетчик регистрируется.Установка времени / даты обычно выполняется через интерфейс ЦП.Это означает, что вам нужен процессор, который получает время откуда-то (часы реального времени или соединение с внешним миром), а затем записывает время в каком-либо формате в ваши регистры.

1 Даже если у вашей FPGA есть резервная батарея: ее всегда нужно устанавливать как минимум с первого раза.

0 голосов
/ 07 июня 2019

Я думаю, что невозможно узнать текущее время системы (учитывая попытки / вопросы других людей на этом форуме). Так что также невозможно использовать сброс для получения текущего времени.

Может быть, полезно взглянуть здесь

кто-то, кто уже попробовал это по-другому с RTC (с успехом): - здесь часы, не установленные вручную - здесь часы с ручной настройкой

...