|
Как объяснить ModelSim, что clock глобальный?, Не могу объяснить ModelSim, что clock глобальный. |
|
|
|
Sep 24 2017, 16:52
|
Участник

Группа: Участник
Сообщений: 57
Регистрация: 16-09-14
Из: Москва
Пользователь №: 82 826

|
Народ! Работаю на Quartus 16. Пишу на VHDL. При симуляции на ModelSim столкнулся со следующей проблемой: - ModelSim не может понять, что Clock в схеме глобальный. Этот Clock в проекте, путешествуя из модуля в модуль, называется по разному, но по сути остаётся одним и тем же сигналом(при разводке в кристалле превращается в один и тот же сигнал - я проверял и он является Global). Однако ModelSim этого не понимает с в каждой ипостаси дает этому сигналу свою задержку относительно исходного. Как ModelSDim объяснить, что этот сигнал глобальный, и он не должен быть одномоментным, не смотря на то, что в других блоках он называется по другому и несколько раз переприсваивается.
Сообщение отредактировал videoscan - Sep 24 2017, 16:52
|
|
|
|
|
Sep 24 2017, 18:01
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(videoscan @ Sep 24 2017, 19:52)  Народ! Работаю на Quartus 16. Пишу на VHDL. При симуляции на ModelSim столкнулся со следующей проблемой: - ModelSim не может понять, что Clock в схеме глобальный. Этот Clock в проекте, путешествуя из модуля в модуль, называется по разному, но по сути остаётся одним и тем же сигналом(при разводке в кристалле превращается в один и тот же сигнал - я проверял и он является Global). Однако ModelSim этого не понимает с в каждой ипостаси дает этому сигналу свою задержку относительно исходного. Как ModelSDim объяснить, что этот сигнал глобальный, и он не должен быть одномоментным, не смотря на то, что в других блоках он называется по другому и несколько раз переприсваивается. 1. У Вас что нет соглашения об именах сигналов? И что так сложно в редакторе текста заменить одно название на другое в десятке файлов? 2. "каждой ипостаси дает этому сигналу свою задержку" - это каким же образом Моделсим "дает"? Задержка формируется из списка связей после размещения проекта, а к этому Моделсим никакого отношения не имеет. Он получает все это из Квартуса. 3. А что Вы хотите увидеть на симуляции с задержками?
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Sep 24 2017, 19:14
|
Участник

Группа: Участник
Сообщений: 57
Регистрация: 16-09-14
Из: Москва
Пользователь №: 82 826

|
Цитата(iosifk @ Sep 24 2017, 19:01)  1. У Вас что нет соглашения об именах сигналов? И что так сложно в редакторе текста заменить одно название на другое в десятке файлов? 2. "каждой ипостаси дает этому сигналу свою задержку" - это каким же образом Моделсим "дает"? Задержка формируется из списка связей после размещения проекта, а к этому Моделсим никакого отношения не имеет. Он получает все это из Квартуса. 3. А что Вы хотите увидеть на симуляции с задержками? 1-2. См. рис. Каждый Clock здесь суть один и тот же сигнал, но спустившийся на один уровень ниже в иерархии. Конечно, если все сигналы назвать одинаково, этих задержек не будет, но это не всегда выполнимо.  3. Я хочу, что бы все события от моего глобального клока происходили в симуляции одномоментно. Пока писал все это нашёл ответ в ModelSim User Manual. Оказывается никак эта проблема автоматически не решается. Предлагают самим следить за этим: 
|
|
|
|
|
Sep 24 2017, 19:36
|
Участник

Группа: Участник
Сообщений: 57
Регистрация: 16-09-14
Из: Москва
Пользователь №: 82 826

|
Цитата(iosifk @ Sep 24 2017, 20:27)  Так какая Вам симуляция нужна? RTL или с задержками, после размещения проекта на кристалле? Нужна с задержками, после размещения проекта на кристалле, но сейчас Quartus и ModelSim ее не делает. Поэтому я согласен на RTL, но с учетом того, что определённые сигналы являются глобальными в проекте и происходят всегда одномоментно. По-моему это естественное желание. У меня симуляция без этого всякую ерунду изображает. Я думал, что если буду использовать IP ALTCLKCTRL это решит проблему, ан нет. Та же фигня.
|
|
|
|
|
Sep 24 2017, 19:46
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(videoscan @ Sep 24 2017, 22:36)  Нужна с задержками, после размещения проекта на кристалле, но сейчас Quartus и ModelSim ее не делает. Поэтому я согласен на RTL, но с учетом того, что определённые сигналы являются глобальными в проекте и происходят всегда одномоментно. По-моему это естественное желание. У меня симуляция без этого всякую ерунду изображает. Я думал, что если буду использовать IP ALTCLKCTRL это решит проблему, ан нет. Та же фигня. Тяжело! У Вас в голове какая-то странная каша. При RTL симуляции задержки вообще не учитываются. И для RTL симуляции Квартус не только не нужен, а даже вреден. Поскольку бесполезно жрет память. Сформируйте в тестбенче клок и подайте его на Ваш проект... Чтобы запустить симулятор с задержками Моделсиму надо скормить файл задержек. Правда если МС установлет вместе с Ква, то может они сами договорились... Но вот что хочу сказать. На кой черт Вам вообще нужны графики с задержками? Если говорить о проекте после размещения, то при выполнении заданных констрейнов рассматривать графики с задержками для тысяч сигналов - это не реально. И после оптимизации компилятором там половина сигналов будет удалена или будет названа по-другому...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Sep 24 2017, 19:57
|
Участник

Группа: Участник
Сообщений: 57
Регистрация: 16-09-14
Из: Москва
Пользователь №: 82 826

|
Цитата(iosifk @ Sep 24 2017, 20:46)  Тяжело! У Вас в голове какая-то странная каша. При RTL симуляции задержки вообще не учитываются. И для RTL симуляции Квартус не только не нужен, а даже вреден. Поскольку бесполезно жрет память. Сформируйте в тестбенче клок и подайте его на Ваш проект...
Чтобы запустить симулятор с задержками Моделсиму надо скормить файл задержек. Правда если МС установлет вместе с Ква, то может они сами договорились... Но вот что хочу сказать. На кой черт Вам вообще нужны графики с задержками? Если говорить о проекте после размещения, то при выполнении заданных констрейнов рассматривать графики с задержками для тысяч сигналов - это не реально. И после оптимизации компилятором там половина сигналов будет удалена или будет названа по-другому... Я понимаю, что при RTL симуляции задержки не фигурируют, а все происходит по событиям, но кто просит ModelSim строку типа clk1 <= clk2 считать процессом и создавать на этом месте отдельное событие? Что касается симуляции моего проекта на уровне задержек, Quartus мне прямо заявил, что моё семейство это не поддерживает (Array V). Мне не нужны графики этих клоков, я знаю, что после разводки все они превратятся в один сигнал, но я хочу проверить логику работы схемы, а она получается неправильной.
|
|
|
|
|
Sep 24 2017, 20:22
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(videoscan @ Sep 24 2017, 22:57)  Я понимаю, что при RTL симуляции задержки не фигурируют, а все происходит по событиям, но кто просит ModelSim строку типа clk1 <= clk2 считать процессом и создавать на этом месте отдельное событие? Что касается симуляции моего проекта на уровне задержек, Quartus мне прямо заявил, что моё семейство это не поддерживает (Array V).
Мне не нужны графики этих клоков, я знаю, что после разводки все они превратятся в один сигнал, но я хочу проверить логику работы схемы, а она получается неправильной. Если говорить о "логике работы", то это RTL и ничего более. Вы же скармливаете Моделсиму clk1 и clk2... Зачем? Уберите лишнее, отредактируйте исходники и все...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Sep 24 2017, 20:34
|
Участник

Группа: Участник
Сообщений: 57
Регистрация: 16-09-14
Из: Москва
Пользователь №: 82 826

|
Цитата(iosifk @ Sep 24 2017, 21:22)  Если говорить о "логике работы", то это RTL и ничего более. Вы же скармливаете Моделсиму clk1 и clk2... Зачем? Уберите лишнее, отредактируйте исходники и все... Не всегда это удобно и даже возможно, но что делать. Сейчас как раз этим и занялся.
|
|
|
|
|
Sep 24 2017, 20:38
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(videoscan @ Sep 24 2017, 23:34)  Не всегда это удобно и даже возможно, но что делать. Сейчас как раз этим и занялся. Так это Вы "по-Суворовски, через Альпы" проекты начинаете делать. Тут никто не виноват. Сначала пишется соглашение о названиях сигналов в проекте, потом блок-схема проекта, потом уже куча файлов на HDL... Откуда в верхнем файле берутся разные клоки в одном клоковом домене? И что для Вас "не удобно"?
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Sep 24 2017, 21:00
|
Участник

Группа: Участник
Сообщений: 57
Регистрация: 16-09-14
Из: Москва
Пользователь №: 82 826

|
Цитата(iosifk @ Sep 24 2017, 21:38)  Так это Вы "по-Суворовски, через Альпы" проекты начинаете делать. Тут никто не виноват. Сначала пишется соглашение о названиях сигналов в проекте, потом блок-схема проекта, потом уже куча файлов на HDL... Откуда в верхнем файле берутся разные клоки в одном клоковом домене? И что для Вас "не удобно"? Блок-схему, я конечно нарисовал, но соглашение о названии сигналов подписать забыл. Сейчас разбираюсь.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|