Перейти к содержанию
    

Q: как моделировать в ModelSim несколько ПЛИС ?

На плате имеется 3 ПЛИСа Xilinx различных семейств (все FPGA) и нужно моделировать работу платы целиком. Док. на ModelSim не очень-то распостраняется на эту тему. Буду рад любой информации по этому вопросу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дык а симулятор тут ни причем. Пишете обычный тестбенч, в котором ваши три FPGA будут компонентами. Ну и плюс генераторы входных воздействий и (если надо) анализатор(ы) выходных сигналов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имелось ввиду не функциональное, а временное моделирование с реальными задержками разведённых в ISE ПЛИС. Понятное дело, что тестбенч должен включать три компонента (по числу FPGA). "Ну и плюс генераторы входных воздействий и (если надо) анализатор(ы) выходных сигналов."

Но как подсунуть MS_у файлы задержек (наверное это .sdf файлы - ни разу не делал) ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имелось ввиду не функциональное, а временное моделирование с реальными задержками разведённых в ISE ПЛИС. Понятное дело, что тестбенч должен включать три  компонента (по числу FPGA). "Ну и плюс генераторы входных воздействий и (если надо) анализатор(ы) выходных сигналов."

Но как подсунуть MS_у файлы задержек (наверное это .sdf файлы - ни разу не делал) ?

Так тут принцип тот-же, только вместо исходных комонентов (написанных вами) необходимо взять компоненты сгенеренные netgen'ом. Если ничего в настройках не менять, то это будут vhdl-файлы <design>_timesim.vhd (Entity в этих файлах будет такое же как и у ваших исходных, этот entity состоит из примитивов simprim xilinx) и такие же файлы с расширением sdf.

Пишем тестбенч и запускаем его в МоделСиме с подключенными sdf файлами.

Вроде бы и все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ага и если ты работаешь в Verilog, то в файле описания плис, либо в тест бенче прописать строчку:

initial $sdf_annotate("имя_файла.sdf");

более подробнее см. описание $sdf_annotate.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думаю, что это одно и тоже, но для Альдека

я делаю так. Пишу тестбенч объединяющий все FPGA. Типа...

library ieee;

use ieee.std_logic_1164.all;

 

entity tb is

end tb;

 

architecture TB_ARCHITECTURE of tb is

signal a : std_LOGIC;

signal b : std_LOGIC;

signal c : std_LOGIC;

begin

a <= '0', '1' after 10 ns; -- и т.д.

UUT1 : FPGA1 port map(

a => a,

b => b

);

 

UUT2 : FPGA2 port map(

a => b,

b => c

);

 

end TB_ARCHITECTURE;

 

configuration TIMING_FOR_tb of tb is

for TB_ARCHITECTURE

for UUT1 : FPGA1

use entity work.FPGA1(STRUCTURE);

end for;

for UUT2: FPGA2

use entity work.FPGA2(STRUCTURE);

end for;

end for;

end TIMING_FOR_tb;

 

Потом пишу скрип типа

comp "<pathFPGA1>\time_sim.vhd"

comp "<pathFPGA2>\time_sim.vhd"

comp "<pathTB>\tb.vhd"

asim TIMING_FOR_tb -sdftyp /UUT1="<pathFPGA1>\time_sim.sdf" -sdftyp /UUT2="<pathFPGA2>\time_sim.sdf"

wave

wave ...

 

Таким же образом можна симулировать устройства находящиеся на разных платах с учетом всех компонентов установленных на плате, если на них есть VHDL-модели.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...