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

Симуляция много-плисового проекта Xilinx

Жил да был у меня проект, в который входят разные подпроектики на:

двух XPLA3 (XCR3128XL-10TQ144I),

одной XC2S200-5PQ208I (PCI контроллер),

четырех XC2S100E-6TQ144I,

и двух XCV50E-7PQ240I.

Все прошивки естественно разные. Сами ПЛИС'ки стоят на разных платах и прекрасно работают друг с другом.

 

Написал я длинный и жуткий TestBench, для симуляции работы комплекса.

Компилировал проектик на ISE 9.1 SP4 и моделировал на MXE 6.0D - несмотря на то, что MXE для более ранней версии ISE, все нормально моделировалось, кроме DLL в одной из XCV50E (в остальных ПЛИС DLL не используются).

 

Вот добыл "лицензионные" ISE 9.2 SP4 и MXE62g (как раз для ISE 9.2 SP4).

Но вот почему-то перестал моделироваться мой TestBench. Выглядит это так, пока в симуляции присутствует только одна FPGA и сколько угодно CPLD - все моделируется нормально. Но как только я подключаю две FPGA (любые !) - на временных диаграмах появляются 'X', причем и на время GTS и GSR и уже после их снятия.

 

Симуляцию провожу PostPar/PostFit. Behavioral - мне не интересна, но провести ее с наскоку мне не удалось - я использую свою библиотеку плотно набитую примитивами и RLOC'ами, а до translate - это симулироваться на хочет - не может найти симуляционных образы некоторых компонентов из unisim.vcomponents.

 

Какие будут идеи по исправлению этой досадной неприятности ?

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

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


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

Вот добыл "лицензионные" ISE 9.2 SP4 и MXE62g (как раз для ISE 9.2 SP4).

Но вот почему-то перестал моделироваться мой TestBench. Выглядит это так, пока в симуляции присутствует только одна FPGA и сколько угодно CPLD - все моделируется нормально. Но как только я подключаю две FPGA (любые !) - на временных диаграмах появляются 'X', причем и на время GTS и GSR и уже после их снятия.

 

Опишите подробнее, на каких сигналах наблюдается такое состояние? Только на внешних или еще и на внутренних?

 

Мне кажется, что начать нужно с того, чтобы добиться от этого тестбенча, чтобы все крупные узлы перешли в нормальное начальное состояние. Дальше можно уже будет смотреть, как сказываются их внешние связи на их совместное поведение.

 

Симуляцию провожу PostPar/PostFit. Behavioral - мне не интересна, но провести ее с наскоку мне не удалось - я использую свою библиотеку плотно набитую примитивами и RLOC'ами, а до translate - это симулироваться на хочет - не может найти симуляционных образы некоторых компонентов из unisim.vcomponents.

 

Проверьте правильность подключения библиотек в ModelSim'e. Они необходимы для правильного моделирования. Кроме того, нужно проверить совместимость установленных библиотек с имеющимся ModelSimом, т.к. если ModelSim с библиотеками нормально работать не может, то могут наблюдаться самые странные эффекты.

 

PS: А по-отдельности модели PostPar/PostFit моделируются нормально?

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


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

Да, забыл написать сразу: проэкты и Testbench написаны на VHDL. Симуляция тоже проводиться на VHDL с SDF файлами (с ключем -sdfmax).

 

Буду отвечать по мере проведения экспериментов (более детального изучения ситуации)

 

Проверьте правильность подключения библиотек в ModelSim'e. Они необходимы для правильного моделирования.
MXE 6.2g, к нему были поставленны:

1. mxe6.2g_9.2sp4_simulation_libraries.zip

2. mxe6.2g_92i_ip2_xilinxcorelib.zip

 

Кроме того, нужно проверить совместимость установленных библиотек с имеющимся ModelSimом, т.к. если ModelSim с библиотеками нормально работать не может, то могут наблюдаться самые странные эффекты.
А как это проверить ? (как-то раз я пытался в MXE6.0d затолкать библиотеки от MXE6.1 - тогда я видел кучу ругательств от MXE: точно их не помню, но смысл сводился к тому, что с библиотеками что-то не в порядке. Но сейчас никаких подобных ругательств нет)

 

Мне кажется, что начать нужно с того, чтобы добиться от этого тестбенча, чтобы все крупные узлы перешли в нормальное начальное состояние. Дальше можно уже будет смотреть, как сказываются их внешние связи на их совместное поведение.
К сожалению на эту процедуру мне понадобиться некоторое время и быстро я не смогу дать ответ на эту очень интересную рекомендацию.

 

Опишите подробнее, на каких сигналах наблюдается такое состояние? Только на внешних или еще и на внутренних?
При совместном моделировании (всех PostPar и PostFit) 'X' наблюдается практически на всех парах выход->вход разных FPGA. Для такого эффекта хватает и двух PostPar моделек (например присловутый Spartan-2 PCI и Spartan-2E - просто приобразователь LVTTL->LVPECL - понимаю, решение убогое, но тогда надо было быстро состряпать плату, а разбираться как именно Xilinx LVPECL нужно сдруживать с нормальным LVPECL не было времени)

 

А по-отдельности модели PostPar/PostFit моделируются нормально?
PostFit модельки симулируются нормально и каждая в отдельности и все PostFit вместе.

При моделировании (Spartan-2 и всех PostFit) все, что может моделируется нормально. Буду ковыряться дальше.

Но вдруг и выше упомянутых ответов хватит на какую-нибудь интересную мысль ?

 

Вот чего получается при ise92sp4 + mxe62g (mxe6.2g_9.2sp4_simulation_libraries + mxe6.2g_92i_ip2_xilinxcorelib)

post-18188-1208163425_thumb.jpg

 

А вот чего получалось при ise91sp3 + mxe60d (mxe6.0d_81i_ip1_xilinxcorelib + mxe6.0d_81isp3_simulation_libraries)

post-18188-1208163884_thumb.jpg

 

А вот если уж совсем охаметь и попробовать ise92sp4 + mxe60d (mxe6.0d_81i_ip1_xilinxcorelib + mxe6.0d_81isp3_simulation_libraries), то получает закономерный результат: не работает внутренний PCI мультиплексор собранных на BUFT. Но тут-то все понятно - библиотеки не для того ISE.

post-18188-1208164480_thumb.jpg

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


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

После замены MXE63G на MSE62F симуляции стала работать без ошибок и заморочек (ну и конечно значительно быстрее :) ).

Кто его знает почему MXE не работал, если вдруг догадаюсь обязательно напишу, но шансов мало т.к. мне значительно больше нравиться MSE с его оптимизацией.

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


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

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

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

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

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

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

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

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

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

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