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

 
 
> Волюнтаризм ISE, Что может быть причиной отмены вывода CLK?
Мур
сообщение Feb 7 2017, 19:45
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Собрал простенький проект для пробы новой платформы. 4 светодиода генератором случайных интервалов обеспечиваю плавную смену яркости светодиодов. На модели в интервале 350мСек можно видеть этот процесс.
Каково же было мое удивление, что синтезатор отбросил вход CLK(единственный). Что это может быть? Проект выкладываю тут. Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tausinov
сообщение Feb 9 2017, 09:57
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 135
Регистрация: 19-10-13
Пользователь №: 78 795



После беглого просмотра кода вот, что заметил.
В gen_pwm_ea.vhd в списке чувствительности процесса ресет лишний.
В rnd_ea процесс - это нечто вообще странное. Клок там естественным образом выкидывается, потому что вы его никак не используете. До сегодняшнего дня даже не задумывался, что будет, если после условия с фронтом клока if (clk'event and clk='1') then что-то, кроме NULL дописать в else. Precision просто выкидывает клок, есть подозрение, что остальные синтезаторы поступят так же. Почему синтезатор предупреждает о необходимости сигналов в списке чувствительности - результаты работы железа и симуляция будут отличаться. По факту же синтезатор список чувствительности не анализирует. Если идея была в том, чтобы получить задний фронт, то можно сделать if (clk'event and clk='0'), в противном случае считайте, что клок вообще не используется.
Go to the top of the page
 
+Quote Post
Мур
сообщение Feb 9 2017, 10:25
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Tausinov @ Feb 9 2017, 13:57) *
После беглого просмотра кода вот, что заметил.
В gen_pwm_ea.vhd в списке чувствительности процесса ресет лишний.

Это не критично. Синхронный сброс не требует присутствия сигнала RESET в списке чувствительности. Главное не пропустить самый важный...
Цитата
В rnd_ea процесс - это нечто вообще странное. Клок там естественным образом выкидывается, потому что вы его никак не используете. До сегодняшнего дня даже не задумывался, что будет, если после условия с фронтом клока if (clk'event and clk='1') then что-то, кроме NULL дописать в else. Precision просто выкидывает клок, есть подозрение, что остальные синтезаторы поступят так же.

Этот топик как раз говорит о том, что присутствие кирилицы лишает синтезатор привычной магии. Варнинги сыпятся "не по делу". Тут может быть все что угодно...
Цитата
Почему синтезатор предупреждает о необходимости сигналов в списке чувствительности - результаты работы железа и симуляция будут отличаться. По факту же синтезатор список чувствительности не анализирует. Если идея была в том, чтобы получить задний фронт, то можно сделать if (clk'event and clk='0'), в противном случае считайте, что клок вообще не используется.

Проект прошел проверку на симуляторе. Грубые ошибки исправляются на этом этапе. Вот синтезатору кирилица все ставит на уши...

Вывод еще таков, что при переносе проекта от одного элементного базиса в другой могут быть цирки... Как в этом случаее
Go to the top of the page
 
+Quote Post
Tausinov
сообщение Feb 9 2017, 10:49
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 135
Регистрация: 19-10-13
Пользователь №: 78 795



Цитата(Мур @ Feb 9 2017, 13:25) *
Это не критично. Синхронный сброс не требует присутствия сигнала RESET в списке чувствительности. Главное не пропустить самый важный...


Для синтезатора это вообще без разницы, но расхождение в симуляции и поведении готового устройства - легко.

Цитата
Этот топик как раз говорит о том, что присутствие кирилицы лишает синтезатор привычной магии. Варнинги сыпятся "не по делу". Тут может быть все что угодно...


С кириллицей не экспериментировал, вставлял только сам процесс. Варнинг про список чувствительности с кириллицей никак не связан - это стандартное предупреждение, когда в списке чувствительности асинхронного процесса участвую не все сигналы. В VHDL2008 можно использоваться (all), чтобы этого избежать в дальнейшем.

Цитата
Проект прошел проверку на симуляторе. Грубые ошибки исправляются на этом этапе. Вот синтезатору кириллица все ставит на уши...


Честно говоря, этот самый процесс в симуляторе у меня так и не завелся.
Error: (vsim-3601) Iteration limit reached at time 10 ns.

Так что не понимаю, почему вы продолжаете грешить на шрифт, игнорируя проблему непонятной конструкции.
Go to the top of the page
 
+Quote Post
Мур
сообщение Feb 9 2017, 18:57
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Tausinov @ Feb 9 2017, 13:49) *
...Так что не понимаю, почему вы продолжаете грешить на шрифт, игнорируя проблему непонятной конструкции.

Мне проще всего. Результат виден сразу. Именно исправления в имени порта модуля сразу дало результат. Причем без единого предупреждения. А прогноз был Maximum Frequency: 712MHz. Это ли не доказательство!?
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Feb 10 2017, 01:59
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(Мур @ Feb 10 2017, 01:57) *
Мне проще всего. Результат виден сразу. Именно исправления в имени порта модуля сразу дало результат. Причем без единого предупреждения. А прогноз был Maximum Frequency: 712MHz. Это ли не доказательство!?

Нет, это - не доказательство! Там у вас в итоге вообще может получиться какая-то асинхронная хрень. Потому что написано криво. И вам об этом уже раз пять сказали, а вы продолжаете упорствовать в стиле "ну в симуляторе же прокатило". Симулятор и синтезатор могут по-разному интерпретировать такие вот "кривые" конструкции. Убедитесь, что после синтеза в RTL у вас получилось то, что нужно - тогда можно будет о чем-то говорить.
Go to the top of the page
 
+Quote Post
Мур
сообщение Feb 10 2017, 06:14
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Bad0512 @ Feb 10 2017, 04:59) *
Нет, это - не доказательство! Там у вас в итоге вообще может получиться какая-то асинхронная хрень. Потому что написано криво. И вам об этом уже раз пять сказали, а вы продолжаете упорствовать в стиле "ну в симуляторе же прокатило". Симулятор и синтезатор могут по-разному интерпретировать такие вот "кривые" конструкции. Убедитесь, что после синтеза в RTL у вас получилось то, что нужно - тогда можно будет о чем-то говорить.

Там Все синхронно. Успокойтесь. Исправления в 2х местах было достаточно. Я Всегда пишу синхронно. В случает появления критических цепей это видно в отчете синтезатора.
Буду вам благодарен указать место, где по-вашему есть ХРЕНЬ
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Feb 10 2017, 11:23
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(Мур @ Feb 10 2017, 13:14) *
Буду вам благодарен указать место, где по-вашему есть ХРЕНЬ

Вот :
Код
if (clk'event and clk='1') then
elsif reset = '0' then
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Мур   Волюнтаризм ISE   Feb 7 2017, 19:45
- - iosifk   Цитата(Мур @ Feb 7 2017, 22:45) Собрал пр...   Feb 7 2017, 19:57
- - Мур   Эх спешка.... Не тыцнул ЗАГРУЗИТЬ. Извините...   Feb 8 2017, 05:09
|- - Timmy   Не могли бы вы подробно прокомментировать вот эту ...   Feb 8 2017, 07:45
|- - Мур   Цитата(Timmy @ Feb 8 2017, 10:45) Не могл...   Feb 8 2017, 10:32
|- - andrew_b   Цитата(Мур @ Feb 8 2017, 13:32) К конечно...   Feb 8 2017, 10:57
|- - Мур   Цитата(andrew_b @ Feb 8 2017, 13:57) Даща...   Feb 8 2017, 11:14
- - Мур   Наконец-то добрался до домашнего компа... Резул...   Feb 8 2017, 19:32
|- - Bad0512   Цитата(Мур @ Feb 9 2017, 02:32) Наконец-т...   Feb 9 2017, 02:07
- - Flip-fl0p   Решил удволетворить своё любопытство и посмотреть ...   Feb 9 2017, 04:54
|- - Мур   Цитата(Flip-fl0p @ Feb 9 2017, 07:54...   Feb 9 2017, 05:38
|- - Flip-fl0p   Цитата(Мур @ Feb 9 2017, 08:38) Спасибо...   Feb 9 2017, 05:54
- - Мур   Цитата(Bad0512 @ Feb 10 2017, 14:23) Вот ...   Feb 10 2017, 12:24
- - Raven   Так и приведите последний, актуальный код. Чтобы ...   Feb 10 2017, 13:18
- - Мур   Цитата(Raven @ Feb 10 2017, 17:18) Так и ...   Feb 11 2017, 08:02


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

 


RSS Текстовая версия Сейчас: 24th June 2025 - 13:09
Рейтинг@Mail.ru


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