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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Как объяснить ModelSim, что clock глобальный?, Не могу объяснить ModelSim, что clock глобальный.
videoscan
сообщение Sep 24 2017, 16:52
Сообщение #1


Участник
*

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



Народ!
Работаю на Quartus 16. Пишу на VHDL. При симуляции на ModelSim столкнулся со следующей проблемой:
- ModelSim не может понять, что Clock в схеме глобальный. Этот Clock в проекте, путешествуя из модуля в модуль, называется по разному, но по сути остаётся одним и тем же сигналом(при разводке в кристалле превращается в один и тот же сигнал - я проверял и он является Global). Однако ModelSim этого не понимает с в каждой ипостаси дает этому сигналу свою задержку относительно исходного.
Как ModelSDim объяснить, что этот сигнал глобальный, и он не должен быть одномоментным, не смотря на то, что в других блоках он называется по другому и несколько раз переприсваивается.

Сообщение отредактировал videoscan - Sep 24 2017, 16:52
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 24 2017, 18:01
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 3 711
Регистрация: 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
Go to the top of the page
 
+Quote Post
videoscan
сообщение Sep 24 2017, 19:14
Сообщение #3


Участник
*

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



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

1-2. См. рис. Каждый Clock здесь суть один и тот же сигнал, но спустившийся на один уровень ниже в иерархии. Конечно, если все сигналы назвать одинаково, этих задержек не будет, но это не всегда выполнимо.

3. Я хочу, что бы все события от моего глобального клока происходили в симуляции одномоментно.


Пока писал все это нашёл ответ в ModelSim User Manual. Оказывается никак эта проблема автоматически не решается. Предлагают самим следить за этим:







Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 24 2017, 19:27
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 3 711
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(videoscan @ Sep 24 2017, 22:14) *
Я хочу, что бы все события от моего глобального клока происходили в симуляции одномоментно.

Так какая Вам симуляция нужна?
RTL или с задержками, после размещения проекта на кристалле?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
videoscan
сообщение Sep 24 2017, 19:36
Сообщение #5


Участник
*

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



Цитата(iosifk @ Sep 24 2017, 20:27) *
Так какая Вам симуляция нужна?
RTL или с задержками, после размещения проекта на кристалле?

Нужна с задержками, после размещения проекта на кристалле, но сейчас Quartus и ModelSim ее не делает.
Поэтому я согласен на RTL, но с учетом того, что определённые сигналы являются глобальными в проекте и происходят всегда одномоментно. По-моему это естественное желание. У меня симуляция без этого всякую ерунду изображает.
Я думал, что если буду использовать IP ALTCLKCTRL это решит проблему, ан нет. Та же фигня.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 24 2017, 19:46
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 3 711
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(videoscan @ Sep 24 2017, 22:36) *
Нужна с задержками, после размещения проекта на кристалле, но сейчас Quartus и ModelSim ее не делает.
Поэтому я согласен на RTL, но с учетом того, что определённые сигналы являются глобальными в проекте и происходят всегда одномоментно. По-моему это естественное желание. У меня симуляция без этого всякую ерунду изображает.
Я думал, что если буду использовать IP ALTCLKCTRL это решит проблему, ан нет. Та же фигня.

Тяжело! У Вас в голове какая-то странная каша. При RTL симуляции задержки вообще не учитываются. И для RTL симуляции Квартус не только не нужен, а даже вреден. Поскольку бесполезно жрет память. Сформируйте в тестбенче клок и подайте его на Ваш проект...

Чтобы запустить симулятор с задержками Моделсиму надо скормить файл задержек. Правда если МС установлет вместе с Ква, то может они сами договорились...
Но вот что хочу сказать. На кой черт Вам вообще нужны графики с задержками?
Если говорить о проекте после размещения, то при выполнении заданных констрейнов рассматривать графики с задержками для тысяч сигналов - это не реально. И после оптимизации компилятором там половина сигналов будет удалена или будет названа по-другому...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
videoscan
сообщение Sep 24 2017, 19:57
Сообщение #7


Участник
*

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



Цитата(iosifk @ Sep 24 2017, 20:46) *
Тяжело! У Вас в голове какая-то странная каша. При RTL симуляции задержки вообще не учитываются. И для RTL симуляции Квартус не только не нужен, а даже вреден. Поскольку бесполезно жрет память. Сформируйте в тестбенче клок и подайте его на Ваш проект...

Чтобы запустить симулятор с задержками Моделсиму надо скормить файл задержек. Правда если МС установлет вместе с Ква, то может они сами договорились...
Но вот что хочу сказать. На кой черт Вам вообще нужны графики с задержками?
Если говорить о проекте после размещения, то при выполнении заданных констрейнов рассматривать графики с задержками для тысяч сигналов - это не реально. И после оптимизации компилятором там половина сигналов будет удалена или будет названа по-другому...

Я понимаю, что при RTL симуляции задержки не фигурируют, а все происходит по событиям, но кто просит ModelSim строку типа clk1 <= clk2 считать процессом и создавать на этом месте отдельное событие?
Что касается симуляции моего проекта на уровне задержек, Quartus мне прямо заявил, что моё семейство это не поддерживает (Array V).

Мне не нужны графики этих клоков, я знаю, что после разводки все они превратятся в один сигнал, но я хочу проверить логику работы схемы, а она получается неправильной.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 24 2017, 20:22
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 3 711
Регистрация: 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
Go to the top of the page
 
+Quote Post
videoscan
сообщение Sep 24 2017, 20:34
Сообщение #9


Участник
*

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



Цитата(iosifk @ Sep 24 2017, 21:22) *
Если говорить о "логике работы", то это RTL и ничего более. Вы же скармливаете Моделсиму clk1 и clk2... Зачем? Уберите лишнее, отредактируйте исходники и все...


Не всегда это удобно и даже возможно, но что делать. Сейчас как раз этим и занялся.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 24 2017, 20:38
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 3 711
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(videoscan @ Sep 24 2017, 23:34) *
Не всегда это удобно и даже возможно, но что делать. Сейчас как раз этим и занялся.

Так это Вы "по-Суворовски, через Альпы" проекты начинаете делать. Тут никто не виноват. Сначала пишется соглашение о названиях сигналов в проекте, потом блок-схема проекта, потом уже куча файлов на HDL...
Откуда в верхнем файле берутся разные клоки в одном клоковом домене?
И что для Вас "не удобно"?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
videoscan
сообщение Sep 24 2017, 21:00
Сообщение #11


Участник
*

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



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

Блок-схему, я конечно нарисовал, но соглашение о названии сигналов подписать забыл. Сейчас разбираюсь.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 24 2017, 21:12
Сообщение #12


Гуру
******

Группа: Модераторы
Сообщений: 3 711
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(videoscan @ Sep 25 2017, 00:00) *
Блок-схему, я конечно нарисовал, но соглашение о названии сигналов подписать забыл. Сейчас разбираюсь.

Завтра после 11 я буду на связи. Можем поговорить о Ваших проблемах.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Sep 25 2017, 05:28
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 834
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(videoscan @ Sep 24 2017, 22:57) *
кто просит ModelSim строку типа clk1 <= clk2 считать процессом и создавать на этом месте отдельное событие?
"Просит" его об этом стандарт языка VHDL. Каждый драйвер порождает дельта-задержку со всеми вытекающими из этого нюансами.
Go to the top of the page
 
+Quote Post
warrior-2001
сообщение Sep 25 2017, 06:11
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 332
Регистрация: 9-10-08
Из: Таганрог, Ростовская обл.
Пользователь №: 40 792



Именно дельта задержку! На картинке с моделсимом не указан масштаб. А там вероятно 1 пс.


--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Sep 25 2017, 06:13
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 430
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Цитата(warrior-2001 @ Sep 25 2017, 09:11) *
Именно дельта задержку! На картинке с моделсимом не указан масштаб. А там вероятно 1 пс.

Так а разве дельта задержку можно увидеть при увеличении масштаба ?

Сообщение отредактировал Flip-fl0p - Sep 25 2017, 06:13
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 15th December 2017 - 19:40
Рейтинг@Mail.ru


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