Моделирование синхронизации VHDL для CPLD с использованием Quartus Prime и Modelsim - PullRequest
0 голосов
/ 09 января 2020

Я разрабатываю дизайн ( VHDL ) для Intel Max II CPLD , используемого на плате разработки для тестирования. Позже это, скорее всего, будет заменено на Coolrunner II CPLD .

Я довольно новичок в этом. Basi c компиляция и симуляция с использованием Quartus Prime Lite и Modelsim работает нормально. Мой текущий дизайн выглядит следующим образом:

-- The top level entity used for synthesis.
entity foo is
  port(...)
end foo;

architecture rtl of foo is
  ...
begin:
  ...
end rtl;

-- The top level entity used for simulation producing some test input signals.
entity foo_tb is
end foo_tb;

architecture behave of foo_tb is
  ...
  component foo is
    port (...);
  end component foo;
begin:
  UUT : foo
    port map (...);
  ...
end behave;

Глядя на итоговое (RTL) моделирование, я не смог обнаружить никаких задержек сигнала, которые могли бы быть на реальном оборудовании, только поведение, которое я указал в architecture behave of foo_tb и architecture rtl of foo.

Но я ожидал, что процесс компиляции произведет синтез, а затем сгенерирует некоторый VHDL-код , содержащий что-то вроде architecture <some_name> of foo для целей моделирования, который моделирует поведение реального оборудования с наихудшим поведением синхронизации, учитывающим синтез.

  1. Генерируется ли такой VHDL-код?

Если генерируется такой VHDL-код:

Где я могу найти полученные VHDL файлы? Как я могу использовать его из architecture behave of foo_tb

Если такой VHDL-код НЕ генерируется:

как я могу делать симуляции, используя детальную временную модель моего проекта, которая является результатом конкретного синтеза по конкретному c CPLD ? Как я могу программно генерировать входные сигналы для такая симуляция? Как программно проверить правильность выходных сигналов такого моделирования?
...