videoscan 0 24 сентября, 2017 Опубликовано 24 сентября, 2017 (изменено) · Жалоба Народ! Работаю на Quartus 16. Пишу на VHDL. При симуляции на ModelSim столкнулся со следующей проблемой: - ModelSim не может понять, что Clock в схеме глобальный. Этот Clock в проекте, путешествуя из модуля в модуль, называется по разному, но по сути остаётся одним и тем же сигналом(при разводке в кристалле превращается в один и тот же сигнал - я проверял и он является Global). Однако ModelSim этого не понимает с в каждой ипостаси дает этому сигналу свою задержку относительно исходного. Как ModelSDim объяснить, что этот сигнал глобальный, и он не должен быть одномоментным, не смотря на то, что в других блоках он называется по другому и несколько раз переприсваивается. Изменено 24 сентября, 2017 пользователем videoscan Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба Народ! Работаю на Quartus 16. Пишу на VHDL. При симуляции на ModelSim столкнулся со следующей проблемой: - ModelSim не может понять, что Clock в схеме глобальный. Этот Clock в проекте, путешествуя из модуля в модуль, называется по разному, но по сути остаётся одним и тем же сигналом(при разводке в кристалле превращается в один и тот же сигнал - я проверял и он является Global). Однако ModelSim этого не понимает с в каждой ипостаси дает этому сигналу свою задержку относительно исходного. Как ModelSDim объяснить, что этот сигнал глобальный, и он не должен быть одномоментным, не смотря на то, что в других блоках он называется по другому и несколько раз переприсваивается. 1. У Вас что нет соглашения об именах сигналов? И что так сложно в редакторе текста заменить одно название на другое в десятке файлов? 2. "каждой ипостаси дает этому сигналу свою задержку" - это каким же образом Моделсим "дает"? Задержка формируется из списка связей после размещения проекта, а к этому Моделсим никакого отношения не имеет. Он получает все это из Квартуса. 3. А что Вы хотите увидеть на симуляции с задержками? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
videoscan 0 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба 1. У Вас что нет соглашения об именах сигналов? И что так сложно в редакторе текста заменить одно название на другое в десятке файлов? 2. "каждой ипостаси дает этому сигналу свою задержку" - это каким же образом Моделсим "дает"? Задержка формируется из списка связей после размещения проекта, а к этому Моделсим никакого отношения не имеет. Он получает все это из Квартуса. 3. А что Вы хотите увидеть на симуляции с задержками? 1-2. См. рис. Каждый Clock здесь суть один и тот же сигнал, но спустившийся на один уровень ниже в иерархии. Конечно, если все сигналы назвать одинаково, этих задержек не будет, но это не всегда выполнимо. 3. Я хочу, что бы все события от моего глобального клока происходили в симуляции одномоментно. Пока писал все это нашёл ответ в ModelSim User Manual. Оказывается никак эта проблема автоматически не решается. Предлагают самим следить за этим: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба Я хочу, что бы все события от моего глобального клока происходили в симуляции одномоментно. Так какая Вам симуляция нужна? RTL или с задержками, после размещения проекта на кристалле? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
videoscan 0 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба Так какая Вам симуляция нужна? RTL или с задержками, после размещения проекта на кристалле? Нужна с задержками, после размещения проекта на кристалле, но сейчас Quartus и ModelSim ее не делает. Поэтому я согласен на RTL, но с учетом того, что определённые сигналы являются глобальными в проекте и происходят всегда одномоментно. По-моему это естественное желание. У меня симуляция без этого всякую ерунду изображает. Я думал, что если буду использовать IP ALTCLKCTRL это решит проблему, ан нет. Та же фигня. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба Нужна с задержками, после размещения проекта на кристалле, но сейчас Quartus и ModelSim ее не делает. Поэтому я согласен на RTL, но с учетом того, что определённые сигналы являются глобальными в проекте и происходят всегда одномоментно. По-моему это естественное желание. У меня симуляция без этого всякую ерунду изображает. Я думал, что если буду использовать IP ALTCLKCTRL это решит проблему, ан нет. Та же фигня. Тяжело! У Вас в голове какая-то странная каша. При RTL симуляции задержки вообще не учитываются. И для RTL симуляции Квартус не только не нужен, а даже вреден. Поскольку бесполезно жрет память. Сформируйте в тестбенче клок и подайте его на Ваш проект... Чтобы запустить симулятор с задержками Моделсиму надо скормить файл задержек. Правда если МС установлет вместе с Ква, то может они сами договорились... Но вот что хочу сказать. На кой черт Вам вообще нужны графики с задержками? Если говорить о проекте после размещения, то при выполнении заданных констрейнов рассматривать графики с задержками для тысяч сигналов - это не реально. И после оптимизации компилятором там половина сигналов будет удалена или будет названа по-другому... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
videoscan 0 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба Тяжело! У Вас в голове какая-то странная каша. При RTL симуляции задержки вообще не учитываются. И для RTL симуляции Квартус не только не нужен, а даже вреден. Поскольку бесполезно жрет память. Сформируйте в тестбенче клок и подайте его на Ваш проект... Чтобы запустить симулятор с задержками Моделсиму надо скормить файл задержек. Правда если МС установлет вместе с Ква, то может они сами договорились... Но вот что хочу сказать. На кой черт Вам вообще нужны графики с задержками? Если говорить о проекте после размещения, то при выполнении заданных констрейнов рассматривать графики с задержками для тысяч сигналов - это не реально. И после оптимизации компилятором там половина сигналов будет удалена или будет названа по-другому... Я понимаю, что при RTL симуляции задержки не фигурируют, а все происходит по событиям, но кто просит ModelSim строку типа clk1 <= clk2 считать процессом и создавать на этом месте отдельное событие? Что касается симуляции моего проекта на уровне задержек, Quartus мне прямо заявил, что моё семейство это не поддерживает (Array V). Мне не нужны графики этих клоков, я знаю, что после разводки все они превратятся в один сигнал, но я хочу проверить логику работы схемы, а она получается неправильной. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба Я понимаю, что при RTL симуляции задержки не фигурируют, а все происходит по событиям, но кто просит ModelSim строку типа clk1 <= clk2 считать процессом и создавать на этом месте отдельное событие? Что касается симуляции моего проекта на уровне задержек, Quartus мне прямо заявил, что моё семейство это не поддерживает (Array V). Мне не нужны графики этих клоков, я знаю, что после разводки все они превратятся в один сигнал, но я хочу проверить логику работы схемы, а она получается неправильной. Если говорить о "логике работы", то это RTL и ничего более. Вы же скармливаете Моделсиму clk1 и clk2... Зачем? Уберите лишнее, отредактируйте исходники и все... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
videoscan 0 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба Если говорить о "логике работы", то это RTL и ничего более. Вы же скармливаете Моделсиму clk1 и clk2... Зачем? Уберите лишнее, отредактируйте исходники и все... Не всегда это удобно и даже возможно, но что делать. Сейчас как раз этим и занялся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба Не всегда это удобно и даже возможно, но что делать. Сейчас как раз этим и занялся. Так это Вы "по-Суворовски, через Альпы" проекты начинаете делать. Тут никто не виноват. Сначала пишется соглашение о названиях сигналов в проекте, потом блок-схема проекта, потом уже куча файлов на HDL... Откуда в верхнем файле берутся разные клоки в одном клоковом домене? И что для Вас "не удобно"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
videoscan 0 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба Так это Вы "по-Суворовски, через Альпы" проекты начинаете делать. Тут никто не виноват. Сначала пишется соглашение о названиях сигналов в проекте, потом блок-схема проекта, потом уже куча файлов на HDL... Откуда в верхнем файле берутся разные клоки в одном клоковом домене? И что для Вас "не удобно"? Блок-схему, я конечно нарисовал, но соглашение о названии сигналов подписать забыл. Сейчас разбираюсь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 24 сентября, 2017 Опубликовано 24 сентября, 2017 · Жалоба Блок-схему, я конечно нарисовал, но соглашение о названии сигналов подписать забыл. Сейчас разбираюсь. Завтра после 11 я буду на связи. Можем поговорить о Ваших проблемах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 25 сентября, 2017 Опубликовано 25 сентября, 2017 · Жалоба кто просит ModelSim строку типа clk1 <= clk2 считать процессом и создавать на этом месте отдельное событие?"Просит" его об этом стандарт языка VHDL. Каждый драйвер порождает дельта-задержку со всеми вытекающими из этого нюансами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
warrior-2001 0 25 сентября, 2017 Опубликовано 25 сентября, 2017 · Жалоба Именно дельта задержку! На картинке с моделсимом не указан масштаб. А там вероятно 1 пс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 25 сентября, 2017 Опубликовано 25 сентября, 2017 (изменено) · Жалоба Именно дельта задержку! На картинке с моделсимом не указан масштаб. А там вероятно 1 пс. Так а разве дельта задержку можно увидеть при увеличении масштаба ? Изменено 25 сентября, 2017 пользователем Flip-fl0p Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться