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

Библиотеки откомпилировал. Функциональное моделирование - без проблем. А вот с учетом размещения не получается. ModelSim выдает следующее:

# ** Error: VideoMemoryController.vf(151): Module 'GND' is not defined.

# ** Error: VideoMemoryController.vf(152): Module 'GND' is not defined.

# ** Error: VideoMemoryController/Cores/VideoRowInBuff.v(137): Module 'BLK_MEM_GEN_V4_1' is not defined.

# ** Error: VideoMemoryController/Cores/VideoRowInBuff.v(137): Module 'BLK_MEM_GEN_V4_1' is not defined.

# ** Error: VideoMemoryController/Cores/DDRMemoryIntf/user_design/rtl/DDRMemoryIntf_controller_0.v(656): Module 'FD' is not defined.

# ** Error: VideoMemoryController/Cores/DDRMemoryIntf/user_design/rtl/DDRMemoryIntf_rd_gray_cntr.v(103): Module 'FDRE' is not defined.

# ** Error: VideoMemoryController/Cores/DDRMemoryIntf/user_design/rtl/DDRMemoryIntf_rd_gray_cntr.v(112): Module 'FDRE' is not defined.

# ** Error: VideoMemoryController/Cores/DDRMemoryIntf/user_design/rtl/DDRMemoryIntf_rd_gray_cntr.v(121): Module 'FDRE' is not defined.

Т.Е. проблема с корками???

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


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

# ** Error: VideoMemoryController/Cores/DDRMemoryIntf/user_design/rtl/DDRMemoryIntf_rd_gray_cntr.v(121): Module 'FDRE' is not defined.

Т.Е. проблема с корками???

Ну Вы скомпилируйте библиотеки с примитивами сначала, он в данном случае не находит библиотеку триггера. Altera используете?

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


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

Ну Вы скомпилируйте библиотеки с примитивами сначала, он в данном случае не находит библиотеку триггера. Altera используете?

 

Использую Xilinx ISE 12. Вроде скомпилированы библиотеки и функционального моделирования и с учетом таймингов. Если бы библиотеки небыли скомпилированы, функциональное моделирование выдавало бы тоже ошибку. Или я не прав?

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


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

2 AlphaMil

их кроме компилирования нужно "показать" MS а так же "включить"

-L

при симуляции

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


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

-L

Это и есть "показать" и "включить"?

У меня этот параметр передается.

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


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

Не получается - не идит этих модулей.

Может путь к simprims_ver надо где-то прописать?

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


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

Посмотрел папку simprims_ver - там все примитивы с префиксом x_ (аля x_buf). В проекте есть места, где используются примитивы явно, т.е. указано:

LUT4 #

(

.INIT (16'hf3c0)

)

one

(

.I0 (HIGH),

.I1 (sel_in[4]),

.I2 (delay5),

.I3 (clk_in),

.O (clk_out)

);

Как я понял - при Post Place and Route симуляции ругается именно на отсутствие моделей этих примитивов. Ведь LUT4 должен называться x_LUT4??? Попробовал изменить - не синтезирует. Помогите, что делать?

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


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

Да и вообще, не понятно зачем среде моделирования при Post Place and Route моделировании исходныки на Verilog или VHDL? Ведь все, что в них уже реализовано в кристалле? Бери себе примитивы кристалла и работай с ними...

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


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

Да и вообще, не понятно зачем среде моделирования при Post Place and Route моделировании исходныки на Verilog или VHDL? Ведь все, что в них уже реализовано в кристалле? Бери себе примитивы кристалла и работай с ними...

 

как я представляю - gate way netlist надо брать?

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


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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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


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

библиотека simprim использует примитивы для временной симуляции. Они называются с префиксом х_. Библиотека unisim содержит примитивы для функциональной (поведенческой) симуляции.

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

Для временной симуляции не требуется сам исходник, но требуется верилог-файл с примитивами х_ и с задержками. А также библиотека simprim.

Для функциональной симуляции требуется только исходник и библиотека unisim (и то - если в исходнике используются из неё примитивы. Если не используются - то библиотека не нужна).

Надеюсь, немножко внёс ясность в Ваши вопросы. Если что - спрашивайте. Я недавно с этим разобрался.

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


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

Krys, спасибо большое. Начинает проясняться. Только не ясно как автоматически создавать дополнительный файл. Или ручками? И на каком этапе и как его подключать вместо основного исходника. Вообще вся загвоздка с ядром памяти ddr от Xilinx.

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


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

Krys, спасибо большое. Начинает проясняться. Только не ясно как автоматически создавать дополнительный файл. Или ручками? И на каком этапе и как его подключать вместо основного исходника. Вообще вся загвоздка с ядром памяти ddr от Xilinx.

 

Ядро памяти ddr должно быть в составе gate way netlis. В квртусе есть пункт меню EDA GaTe level simulatin, что то такое же должно быть в ISE.

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


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

Krys, спасибо большое. Начинает проясняться. Только не ясно как автоматически создавать дополнительный файл. Или ручками? И на каком этапе и как его подключать вместо основного исходника.
Я работаю в Active-HDL (с ПЛИС Xilinx), поэтому скажем по ISE не посоветую. Появляется этот файл после операции Implementation. В Active-HDL он называется для проекта с любым именем одинаково - time_sim.v. Этот файл создаётся автоматически (по крайней мере в Active-HDL, но он вызывает всё равно утилитки из ISE, своего имплементатора у него нету). Возможно, нужно поставить определённую галочку. А возможно, он уже и так у Вас создаётся. Поищите, может сами догадаетесь, под каким именем он скрывается. Но расширение точно *.v (для верилога).

 

Вообще вся загвоздка с ядром памяти ddr от Xilinx.
А что не так? Я ядра симулил, но не скажу, что много. Поэтому некоторых ошибок мог не встречать. Ядро DDR симулить не доводилось.

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


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

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

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

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

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

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

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

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

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

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