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

Симулятор

Правильно ли я понимаю, что для Квартуса симулятором является Моделсим, который входит только в покупную версию, но исключен из Веб Эдишн? А у Зайлинкса ISE симулятор входит в состав Веб эдишн, и дается бесплатно.

 

Конечно, в Квартусе можно посмотреть времянки после того как проект скомпилирован. Но меня сейчас стало сильно напрягать время компиляции проекта, по полчаса и более. Хотелось бы отлаживать логику по кускам, для каждого узла по отдельности. Квартус этого не позволяет (или я не знаю как?), а ISE - позволяет, просто и удобно.

 

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

 

Или есть другие варианты?

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


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

Моделсим к Альтере по моему не имеет никакого отношения, его выпускает MentorGrafics. Хотя и используется зачастую совместно с Квартусом как симулятор.

 

Отладка проекта по кускам - почему же нельзя? Щас так и делаю.

В схематике в качестве таких кусков вславляете несколько Block, описываете их работу любым удобным способом (щелкаете правой кнопкой на блоке, выбираете create design file from selected block, выбираете то, на чем будете описывать его внутренности: Схематик, HDLs), называете каждый своим именем. (в VHDL роль Block будет играть Entity, если Вы работаете не в схематике, т.е. для каждого кусочка создаете свой Entity)

Допустим у вас получилось:

Progect - имя проекта верхнего уровня (файл в котором Вы Blocks соберете в одно устройство, нужным образом их законнектив)

Block1, Block2 - имена файлов описания тех самых кусочков, которые хотите сначала поотдельности отладить, а потом собрать вместе.

Компиляете все файлы. (Analysis & Sinthesis)

Заходите в Assigments >> Settings >> General

В строке Top-level Entity выбираете:

Block1 или Block2 - синтезятся и симулируются поо отдельности соответствующие кусочки;

Progect - синтезится и симулируется все вместе.

Если что то непонятно написал, спрашивайте! :)

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


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

Спасибо.

 

Все-таки я что-то не понимаю. Алтера описывает типичный процесс так, как показано на рисунке 1-1 в документе Q51015-5.1.1 "Quartus II Incremental Compilation" (хотел приклеить рисунок, но че-то форум глючит). Там показано, что Timing Analyser запускается в самом конце компиляции, после фиттера и ассемблера. И действительно, Квартус именно в таком порядке и компилирует проект. Исполнение фиттера у меня сейчас занимает 35 минут.

 

У Зайлинкса симулятор запускается независимо от компиляции. Выбрал любой исходник в проекте, и просимулировал его. Или встроенным ISE симулятором, или же Зайлинговской версией Моделсима (последний тоже дается к Веб Эдишн). Еще и тестбенч автоматически сгенерировал, нажав один раз на кнопку.

 

А в Квартусе я что, должен плодить маленькие проектики под каждый модуль, который хочу отладить? Настраивать их, компилировать в какой-нибудь неважно-какой чип, и тогда уж только смогу рассматривать времянку?

 

Или же, назначая top level на какой-то из файлов текущего проекта, я таким образом как-то (неявно?) даю Квартусу знать, что он не должен исполнять фиттер и ассемблер?

 

Моделсим в принципе должен был бы позволить делать в Квартусе то же самое что и в ISE. Но Алтера дает Моделсим только в платной версии Квартуса.

 

Правда, говорят что ISE симулятор не всегда правильно компилирует заданный кусок. Я так понимаю, что у симулятора есть свой "усеченный" компилятор, и он имеет отличия от "основного" компилятора ISE. В этом смысле у Квартуса все "бронебойнее", т.к. используется один и тот же компилятор. Однако до поры мне фиттер и ассемблер нафиг не нужны, как бы их вырубить?

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


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

Правда, говорят что ISE симулятор не всегда правильно компилирует заданный кусок. Я так понимаю, что у симулятора есть свой "усеченный" компилятор, и он имеет отличия от "основного" компилятора ISE. В этом смысле у Квартуса все "бронебойнее", т.к. используется один и тот же компилятор. Однако до поры мне фиттер и ассемблер нафиг не нужны, как бы их вырубить?

 

Хмм в исе есть симулятор ??

они же сидят на моделсиме :)

 

Мне немного не совсем понятно вот что, что вы хотите сделать, если провести функциональную симуляцию это одно, если тайминг это другое.

Для функциональной симуляции проект достаточно скомпилировать и скормить код симулятору. Для тайминг нежен полный цикл, что и делает квартус. Что бы этого избежать нужно поставить метку о том, что Вы дебажите только функциональность проекта. И квартус не будет разводить проект.

 

А лучше всего работать сразу в каком нибудь IDE/симуляторе : Альдек, ривера, ХДЛ дезайнер и т.д.

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


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

Хмм в исе есть симулятор ?? они же сидят на моделсиме :)

У них два. Есть и свой ISE симулятор, и Моделсим.

 

Для функциональной симуляции проект достаточно скомпилировать и скормить код симулятору. Для тайминг нежен полный цикл, что и делает квартус. Что бы этого избежать нужно поставить метку о том, что Вы дебажите только функциональность проекта. И квартус не будет разводить проект.

Надо попробовать пошарить по меню и настройкам... Признаться, я в эту сторону даже не копал, т.к. мне сказали, что в Квартусе функц. симуляция возможна только в платной версии при помощи Моделсима, я и поверил...

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


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

Для функциональной симуляции проект достаточно скомпилировать и скормить код симулятору. Для тайминг нежен полный цикл, что и делает квартус. Что бы этого избежать нужно поставить метку о том, что Вы дебажите только функциональность проекта. И квартус не будет разводить проект.

Надо попробовать пошарить по меню и настройкам... Признаться, я в эту сторону даже не копал, т.к. мне сказали, что в Квартусе функц. симуляция возможна только в платной версии при помощи Моделсима, я и поверил...

В Квартусе, afair, функциональная симуляция по-любому совсем не такая, как в нормальных симуляторах. По сути она получается post-synthesis. Т.е. никаких оригинальных имен там уже использовать нельзя, оно уже рассовано по низкоуровневым ресурсам. Т.е. почти, как квартусовская же timing simulation, только времянок нет и работает чуть-чуть побыстрее. И опять же можно симулять только потроха ПЛИСа, а все окружение идет лесом. Т.е. главных преимуществ функционального моделирования - скорость, удобство (имена объектов все человеческие, свои), - тут нет. Нету, также, моделирования в системе (т.е. тестбенч, где описаны все интересующие взаимодействующие части, не написать).

 

Поэтому, имхо, не стОит с ним и связываться. Не знаю, есть ли в поставке веб версии Моделсим-Альтера. Если есть, то это путь. Если нет, то искать бесплатный VHDL/Verilog симулятор - они есть (хотя по возможностям до топовых коммерческих им, очевидно, не достать).

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


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

А в Квартусе я что, должен плодить маленькие проектики под каждый модуль, который хочу отладить? Настраивать их, компилировать в какой-нибудь неважно-какой чип, и тогда уж только смогу рассматривать времянку?

Не совсем. Просто сделать отлаживаемый модуль на время головным (Project/Set as top level или вроде того). Моделирование пойдёт для того же чипа и тех же имён назначений. Node finder начнёт показывать имена узлов после первой компиляции.

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


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

А в Квартусе я что, должен плодить маленькие проектики под каждый модуль, который хочу отладить? Настраивать их, компилировать в какой-нибудь неважно-какой чип, и тогда уж только смогу рассматривать времянку?

Не совсем. Просто сделать отлаживаемый модуль на время головным (Project/Set as top level или вроде того). Моделирование пойдёт для того же чипа и тех же имён назначений. Node finder начнёт показывать имена узлов после первой компиляции.

 

тех же имён назначений

Те же имена Node finder сохранит только для входов/выходов модуля "Set as top level", а остальные сигналы, также и при функциональной симуляции, прийдется искать по "примерному имени"

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


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

Доброго всем времени суток. У меня такой вопрос, а в симуляторе, встроенном в квртус, как вытянуть и посмотреть внутренние сигналы проекта(написанного на ВХДЛ), не являющиеся портами. Квартус вообще позволяет такое делать, если да, то как?

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


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

Доброго всем времени суток. У меня такой вопрос, а в симуляторе, встроенном в квртус, как вытянуть и посмотреть внутренние сигналы проекта(написанного на ВХДЛ), не являющиеся портами. Квартус вообще позволяет такое делать, если да, то как?

 

Всегда помогало - вписать в строке поиска "Node finder" "*"<часть_названия сигнала>"*" . Это работает если Вы ищете "имеющий воздействие" сигнал, а так при синтезе квартус всё лишнее старается выкидывать (даже при функциональной симуляции).

 

Так, что значение некоторые внутрених сигналов можно посмотреть, только принудительно присвоив выходу.

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


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

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

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

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

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

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

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

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

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

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