реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Post-PAR симуляция ISE + Modelsim, странности
Intekus
сообщение Nov 3 2010, 14:48
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 4-03-08
Из: Москва
Пользователь №: 35 621



Симулирую post-PAR в Modelsim проект ISE. Наблюдаю воспроизводимый эффект: при выборе опции "keep hierarchy: yes" при симуляции полученных нетлистов выводы, на которые поданы VCC и GND находятся в "x" (в том числе входы сброс PLL, соответственно тактовые не генерируются). Наблюдал ли кто подобный эффект? Чем вызвано и как обходится?
Post-MAP даёт тот же результат, симуляция со стадий synthesis / translate - всё нормально.
По результатам экспериментов значение netlist_hierarchy (Rebuilt или As Optimized) на результат не влияло.
keep hierarchy: soft пока не пробовал.
UPD: на "soft" всё нормально (как на "No").


--------------------
...а Сила, Брат - она - в несиловых решениях.
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение Nov 4 2010, 16:11
Сообщение #2


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Пожалуйста, по конкретнее:
какой ISE вы пользуетесь, и какие ISE еще стоят на Вашей машине ?
какая именно FPGA ?
какой именно Modelsim Вы используете, и какие еще стоят симуляторы ?
откуда взяты библиотеки ?

У меня были подобные проблемы на AHDL 7.3 с CoolRunner 1 (только у меня не VCC/GND, а BUF (на которых собирались задержки) глючили - т.е. имели всегда X на выходе) - если вкратце, то были проблемы с библиотеками.
Go to the top of the page
 
+Quote Post
Intekus
сообщение Nov 5 2010, 12:56
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 4-03-08
Из: Москва
Пользователь №: 35 621



Спасибо за отклик!
Цитата(Boris_TS @ Nov 4 2010, 19:11) *
какой ISE вы пользуетесь, и какие ISE еще стоят на Вашей машине ?

ISE 11.1 установка чистая (11.1->11.3). Сейчас проверяю на второй машине, где раньше стоял 9.2 - всё так же.
Цитата(Boris_TS @ Nov 4 2010, 19:11) *
какая именно FPGA ?
какой именно Modelsim Вы используете, и какие еще стоят симуляторы ?
откуда взяты библиотеки ?

Virtex5. Modelsim SE 6.5b, других - никаких. Собраны из ISE (на второй машине - прямот только что первый раз для этой машины).
Сейчас попробую создать ещё один проект с нуля - может, всё наладится (тогда следует детально сличать настройки проектов).


--------------------
...а Сила, Брат - она - в несиловых решениях.
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение Nov 6 2010, 08:30
Сообщение #4


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Цитата(Intekus @ Nov 5 2010, 15:56) *
ISE 11.1 установка чистая (11.1->11.3). Сейчас проверяю на второй машине, где раньше стоял 9.2 - всё так же.

Virtex5. Modelsim SE 6.5b, других - никаких. Собраны из ISE (на второй машине - прямот только что первый раз для этой машины).
Сейчас попробую создать ещё один проект с нуля - может, всё наладится (тогда следует детально сличать настройки проектов).

Хорошо, можно считать, что у Вас не может быть проблем от перечечений версий ISE и ModelSim. Надеюсь, у Вас нет и пересечения Modelsim и Active HDL, т.к. про последний Вы не упомянули. Если Active HDL всё-таки стоит, но Вы не используете его для симуляции - то выкиньте из переменной окружения Path все записи связанные с AHDL.

Я делал временное моделирование для V-5LXT, но на ISE 10.1SP3 и Modelsim SE 6.2f - всё было успешно.
А вот с ISE 10.1SP3 и Modelsim SE 6.4b - даже при функциональном моделировании возникали проблемы.
Вы указали Modelsim SE 6.5b, в местных закромах лежит Modelsim SE 6.5d. Попробуйте взять его - c Modelsim SE 6.5d у меня не было проблем с функциональным моделированием (возникавшие, с Modelsim SE 6.4b) ни с ISE 10.1SP3, ни с ISE 11.5. Может переход от B к D решит ваши проблемы. Также, у Вас используется ISE 11.3 - может быть, 11.4/11.5 смогут Вам помочь. Обратите внимание, есть known isues для 11.5 и V5xxT, которых не было в 11.4 (видать напортачили с V-5xxT, когда улучшали поддержку V-6).
Go to the top of the page
 
+Quote Post
Intekus
сообщение Nov 6 2010, 14:45
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 4-03-08
Из: Москва
Пользователь №: 35 621



Модели VCС и GND я проверил, вручную редактируя post-map netlist и подключая их к отдельным проводникам - всё корректно, на выходах "1" и "0" соответственно. Стал разбираться, дальше комментируя куски и переименовывая сигналы; в итоге пришёл к вопросу-просьбе обладателям Modelsim: попробовать просимулировать присоединённые файлы.
Скрипты make.do и make2.do запускают 2 файла, отличающихся одной (5256-ой) строчкой - в одном она раскомментирована. Строка - присваивание по assign. Причём из результатов make.do видно, что оба сигнала висят в "1" всю симуляцию. Но make2.do показывает, что при раскомментировании этого присваивания - они оба становятся "x", "утягивая" за собой в него ещё много что в схеме. Пробовал в Modelsim SE 6.5b; интересно было бы узнать результаты в других версиях - или услышать (допускаю, что простое и очевидное blush.gif ) объяснение, почему так происходит.
Прикрепленные файлы
Прикрепленный файл  modelsim_question.zip ( 90.89 килобайт ) Кол-во скачиваний: 16
 


--------------------
...а Сила, Брат - она - в несиловых решениях.
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Nov 8 2010, 15:28
Сообщение #6


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(Intekus @ Nov 6 2010, 17:45) *
Модели VCС и GND я проверил, вручную редактируя post-map netlist и подключая их к отдельным проводникам - всё корректно, на выходах "1" и "0" соответственно. Стал разбираться, дальше комментируя куски и переименовывая сигналы; в итоге пришёл к вопросу-просьбе обладателям Modelsim: попробовать просимулировать присоединённые файлы.
Скрипты make.do и make2.do запускают 2 файла, отличающихся одной (5256-ой) строчкой - в одном она раскомментирована. Строка - присваивание по assign. Причём из результатов make.do видно, что оба сигнала висят в "1" всю симуляцию. Но make2.do показывает, что при раскомментировании этого присваивания - они оба становятся "x", "утягивая" за собой в него ещё много что в схеме. Пробовал в Modelsim SE 6.5b; интересно было бы узнать результаты в других версиях - или услышать (допускаю, что простое и очевидное blush.gif ) объяснение, почему так происходит.

ну, так и не в симуляции дело, а в том что у вас на одном проводе(NlwRenamedSignal_GLOBAL_LOGIC1) висят 3 источника, хоть один и константа, но 2 других-то не константа, а входы to_bank_i[61], [68]
чем вы их грузите в тестбенче?
на первый взгляд это ошибка Layout-а.

UPD а что за библиотека secureip? как её генерить?


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение Nov 8 2010, 16:25
Сообщение #7


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Цитата(CaPpuCcino @ Nov 8 2010, 18:28) *
а что за библиотека secureip? как её генерить?

Если ничего не путаю, то 'та библиотека содержит Xilinx Hardware IPCores simulation model, соответственно Xilinx аж весь дрожит, чтоб никто не узнал, как оно на cаом деле коряво внутри работает. Mentor предлагает сторонним разработчикам (Aletra, Xilinx и пр.) определённый програмный интерфейс, при помощи которого можно подключать внешние симуляционные модули (DLL). Это всё интегрируется/компилируется вызовом из ISE фрагментов ModelSim.
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Nov 8 2010, 19:54
Сообщение #8


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(Boris_TS @ Nov 8 2010, 19:25) *
Если ничего не путаю, то 'та библиотека содержит Xilinx Hardware IPCores simulation model, соответственно Xilinx аж весь дрожит, чтоб никто не узнал, как оно на cаом деле коряво внутри работает. Mentor предлагает сторонним разработчикам (Aletra, Xilinx и пр.) определённый програмный интерфейс, при помощи которого можно подключать внешние симуляционные модули (DLL). Это всё интегрируется/компилируется вызовом из ISE фрагментов ModelSim.

спасибо, это понятно (ЗЫ кстати, не DLL, а объектники в скомпилинованных библиотеках). не понятно где их генерить, там же где и всякие simprim, или где-то отдельно в коргене? кстати, а библиотека эта действительно нужна для симуляции, а то меня терзают смутные сомнения - мутным взором углядел только примитив встроенной памяти(если не ошибся), а для неё вроде более unisim/simprim ничего не требуется?


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
Intekus
сообщение Nov 9 2010, 18:57
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 4-03-08
Из: Москва
Пользователь №: 35 621



Цитата(CaPpuCcino @ Nov 8 2010, 18:28) *
ну, так и не в симуляции дело, а в том что у вас на одном проводе(NlwRenamedSignal_GLOBAL_LOGIC1) висят 3 источника, хоть один и константа, но 2 других-то не константа, а входы to_bank_i[61], [68]
чем вы их грузите в тестбенче?

to_bank_i[61], [68] подключены к той же константе 1, что и видно по результатам первой симуляции.
Вообще, по нетлисту получалось, что ВЫХОДЫ модулей, уже подключённые внутри них к каким-то входам, в свою очередь заведённым где-то раньше на VCC / GND, ISE подключил не к выделенным соединительным проводникам, а к прямо общим шинам VCC / GND (GLOBAL_LOGIC1 и GLOBAL_LOGIC0) соответственно. Но, по логике, "кольца" проводников (когда между 2 точками есть несколько путей - по соединениям внутри модуля и по VCC /GND "в обход") - вполне допустимое явление (или нет?), и не должны "обваливать" сигналы на них в "x", если единственный подключённый к такому кольцу источник - константа 1 или 0.
Цитата(CaPpuCcino @ Nov 8 2010, 18:28) *
на первый взгляд это ошибка Layout-а.

В смысле - создаваемой для симуляции модели? Без сохранения иерархии всё симулилось корректно. Более того, аналогичные странности наблюдались и для версии проекта, работавшей "в железе".


--------------------
...а Сила, Брат - она - в несиловых решениях.
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 10 2010, 04:27
Сообщение #10


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



скрипты запустить не могу, т.к. нет хилых либ. Если сделать модель того что происходит
Код
module subtb (input a, b);

  reg c;

  wire   one = a;
  assign one = b;
  assign one = c;

  initial begin
    #10ns;
    c = 1'b1;
  end
endmodule

module tb;

  reg a;
  initial begin
    #10ns;
    a = 1'b1;
  end

  subtb uut (a, a);

endmodule

то всё работает, но видно что в начальный момент пролетают 'x' из-за инициализации reg. Может этот пичек попадает на какой либо аккумулятор и выносит вашу логику? попробуйте использовать ключ +initireg+0 при комплиции и моделировании .


--------------------
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 16:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01457 секунд с 7
ELECTRONIX ©2004-2016