Вопрос

Added by Александр Тихий over 12 years ago

Доброго времени суток! Спасибо за опенсурс.

Хотел задать слеюущий вопрос: на чем данный проект собирался? Я попытался собрать его в ISE, но не нашел один исходник - cl_adm_simulation.


Replies (14)

RE: Вопрос - Added by Igor Kazinov over 12 years ago

На счёт "SVN\sp605_lx45t_wishbone" - собирал в ISE/Synplify, симулировал в Modelsim, проблем не было.

Вы вероятно собираете "SVN\sp605_lx45t_core" - там в стандартной сборке cl_adm_simulation для синтеза не используется:
(is_simulation => 2 -- 0 - синтез, 1 - моделирование ADM, 2 - моделирование pcie_core )
так что поставьте 2 или 0 и думаю будет вам счастие ;)

RE: Вопрос - Added by Александр Тихий over 12 years ago

Я собирал AMBPEX5_v20_SX50T_CORE(прошу прощения, нужно было сразу написать).is_simulation=0 по умолчанию был, но счастье меня так и не посетило :)

RE: Вопрос - Added by Dmitry Smekhov over 12 years ago

Добрый день.

Должен быть установлен is_simulation=0. В этих проектах моделируется именно PCI Express. Компонент cl_adm_simulation предназначен для замены ядра PCI Express для моделирования приложения. Несколько моментов, на которые надо обратить внимание.
1. Я использую Active-HDL v8.3 и пакеты библиотек ISE13.1 для VHDL и Verilog
2. Верхний уровень моделирования - компонент stend_ambpex5_core_m2
3. До запуска моделирования надо провести компиляцию всех компонентов в соответствии с иерархией. Это достаточно трудно, я это делаю вручную. Кнопка compile all не помогает. Для одного из проектов я уже начал делать командный файл для компилирования в правильном порядке, но не доделал.
4. Ядро Xilinx для Virtex 5 написано на Verilog. Это ядро требует наличие компонента glbl.v на верхнем уровне моделирования.
Необходимо указать: Desin Setting\Simulation\Additional option: glbl
При этом будет два компонента верхнего уровня - stend и glbl
5. При запуске моделирования должна быть хоть какая-то активность на MGT линиях.

Попробуйте.

RE: Вопрос - Added by Dmitry Smekhov over 12 years ago

По поводу собственно формирования прошивки - я также использую Aldec.
Если собирать непосредственно через ISE, то тоже есть несколько моментов:
1. Каталоги adm\coregen и pcie_src\components\coregen не должны включаться в синтез. Их надо указать для ngdbuild.
2. is_simulation=0
3. верхний уровень - ambpex5_v20_sx50t_core

RE: Вопрос - Added by Александр Тихий over 12 years ago

Спасибо за подробный ответ!
С синтезом все ясно, а вот с симуляцией в Modelsim уже 3 дня бьюсь ничего не выходит. Вроде бы все сделал как вы описали, а активности на MGT нет никакой.

RE: Вопрос - Added by Igor Kazinov over 12 years ago

Опишите пожалуйста что именно и откуда вы стянули, что делали и что получили.

RE: Вопрос - Added by Александр Тихий over 12 years ago

Скачал архив ambpex5_v20_sx50t_core_2011_09_22_v1_0_build_0x109.zip из раздела "Файлы". Собрал проект из архива в ISE 13.2, файл верхнего уровня - ambpex5_v20_sx50t_core. Синтезировал - проблем нет. Затем из ISE запустил моделирование, предварительно добавив файл верхнего уровня stend_ambpex5_core_m2 из папки "testbench" того же архива и другие файлы, необходимые для моделирования(в том числе и glbl). Симулирую в Modelsim 6.5e. получаю в результате все сигналы либо в нуле, либо неопределены. is_simulation=0

RE: Вопрос - Added by Dmitry Smekhov over 12 years ago

Может попробовать провести моделирование sp605_lx45t_core ?

У меня при моделировании с Active-HDL периодически возникают непонятные проблемы с библиотекой SecureIp - перестаёт работать компонент MGT. Может с ModelSim то же самое ?

Проверьте формирование сигналов rp_txp, rp_txn в stend_ambpex5_core_m2. Эти сигналы формирует компонент xilinx_pcie_rport_m2. Мое вмешательство в этот компонент минимально.
Если библиотека secureip нормально работает и есть сигнал clk100 = 100 MHz, то rp_txp, rp_txn должны формироваться. Если не формируются, то видимо неправильно работает secureip.

RE: Вопрос - Added by Александр Тихий over 12 years ago

Ещё забыл указать один момент, когда выполнял моделирование, возникла ошибка: не был найден файл trd_pio_std_v4_pkg, который используется в ambpex5_v20_sx50t_core.vhd

--use work.trd_pio_std_v4_pkg.all;
Закоментировал эту строчку, сделав предположение, что этот файл в этом проекте не нужен(так как не нашел этот файл в папке с проектом). Компилирование файлов выполнилось без ошибок, но все сигналы либо в нуле, либо неопределены, как я написал выше.

Собрав в очередной раз проект и выполнив моделирование, обнаружил нехватку следующего файла:

  1. ** Error: (vcom-11) Could not find work.trd_pkg.
  2. ** Error: ambpex5_v20_sx50t_core_2011_09_22_v1_0_build_0x109/ambpex5_v20_sx50t_core/src/testbench/test_pkg.vhd(27): (vcom-1195) Cannot find expanded name "work.trd_pkg".

В папке с архивом я его тоже не нашел. Что я не так делаю?

RE: Вопрос - Added by Igor Kazinov over 12 years ago

2 Александр Тихий
Касательно "Что я не так делаю?" - ну как вам сказать....
Я скачал архив, сделал RTL Modelsim (v10.0c) ambpex5_v20_sx50t_core симуляцию руками - симуляция успешно закончилась. Правда пришлось аккуратно обработать напильником, чтоб Modelsim скушал без лишних вопросов. Проект заархивировал и приложил.
Касательно "trd_pio_std_v4_pkg" -> "ambpex5_v20_sx50t_core\src\adm\main\trd_pio_std_v4.vhd"

2 Dmitry Smekhov
думаю стоит полученные файлы для RTL Modelsim (v10.0c) ambpex5_v20_sx50t_core симуляции положить в SVN.

ms_v00_ambpex5_v20_sx50t_core.7z - Modelsim v10.0c - ambpex5_v20_sx50t (18.6 MB)

RE: Вопрос - Added by Igor Kazinov over 12 years ago

Залил в SVN "обновку": http://svn.1gb.ru/ds-dma/trunk/projects/ambpex5_v20_sx50t_core
Проверил - всё ОК.

RE: Вопрос - Added by Александр Тихий over 12 years ago

Спасибо за проект. Симуляция заработала. Хотел вот что еще спросить: то что сигнал stend_ambpex5_core_m2/amb/do_data в неопределенном состоянии - это штатная ситуация?

RE: Вопрос - Added by Dmitry Smekhov over 12 years ago

Это вполне нормально. Если запустить тест test_adm_write_16kb( cmd, ret ) - то видно, что там появляются данные которые передаются из компьтера.
Хотя после сброса там должен быть ноль. У меня тоже UUUU, почему - не знаю.

RE: Вопрос - Added by Igor Kazinov over 12 years ago

Александр Тихий wrote:

то что сигнал stend_ambpex5_core_m2/amb/do_data в неопределенном состоянии - это штатная ситуация?

В принципе - да. Там получается D-тригер с ENA но без сброса, если обязательно нужен RST, тогда править вот тут:
"...\src\adm\rtl\cl_fifo1024x65_v5.vhd"
процесс - pr_fifo_out

(1-14/14)