|
Два клока в списке чувствительности, Наличие двух клоков в списке чувствительности приводит к ошибке |
|
|
|
Jun 4 2015, 05:15
|
Частый гость
 
Группа: Участник
Сообщений: 167
Регистрация: 24-12-08
Из: Россия
Пользователь №: 42 714

|
Доброго дня! Имеет место тактовый сигнал 50 МГц. (FPGA Spartan 3e) От него преобразую с помощью делителя частоты в тактовый сигнал 40 кГц. А от него аналогично в тактовый сигнал 1 Гц. Далее сделал процесс, в списке чувствительности которого есть оба сигнала 40кГц и 1Гц. ERROR:Xst:827 - ".../Main.vhd" line 121: Signal cannot be synthesized, bad synchronous description. The description style you are using to describe a synchronous element (register, memory, etc.) is not supported in the current software release. Что-то я не пойму, если мне надо описать реакцию схемы и на тот и на другой клок, то теперь никак не сделать это. Или что-то принципиально не так делаю? Можно конечно (вероятно) извернуться и добавить кучу проверок и условий и при этом в списке оставить только 40кГц. Но как то это кажется странным. Не помню чтоб раньше среда разработки ругалась на наличие в списке чувствительности нескольких клоков.
Сообщение отредактировал aBoomest - Jun 4 2015, 05:25
--------------------
C уважением!
|
|
|
|
|
Jun 4 2015, 10:55
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(aBoomest @ Jun 4 2015, 08:15)  Доброго дня! Имеет место тактовый сигнал 50 МГц. (FPGA Spartan 3e) От него преобразую с помощью делителя частоты в тактовый сигнал 40 кГц. А от него аналогично в тактовый сигнал 1 Гц. Далее сделал процесс, в списке чувствительности которого есть оба сигнала 40кГц и 1Гц. ERROR:Xst:827 - ".../Main.vhd" line 121: Signal cannot be synthesized, bad synchronous description. The description style you are using to describe a synchronous element (register, memory, etc.) is not supported in the current software release. Что-то я не пойму, если мне надо описать реакцию схемы и на тот и на другой клок, то теперь никак не сделать это. Или что-то принципиально не так делаю? Можно конечно (вероятно) извернуться и добавить кучу проверок и условий и при этом в списке оставить только 40кГц. Но как то это кажется странным. Не помню чтоб раньше среда разработки ругалась на наличие в списке чувствительности нескольких клоков. Вы не применяйте методологию проектирования цифровых схем на дискретной логике на плате (с помощью различных ИМС) - для проектирования цифровых схем на/для ПЛИС. Они существенно отличаются...
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Jun 4 2015, 10:56
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 10-05-11
Пользователь №: 64 903

|
to aBoomestКак правильно сказали выше - используйте полученные "тактовые сигналы" на 40 кГц и 1 кГц как сигналы "разрешения тактирования" частоты 50 МГц. В триггере это порт CE (clock enable). В итоге получите работоспособную схему на 50МГц, но защелкивание будет происходить с нужным периодом. Для VHDL один из примеров: Код pr_fd: process(clk, reset) is begin if reset = '0' then q <= x"00"; elsif rising_edge(clk) then if ce = '1' then -- это и есть строб разрешения q <= d; else null; end if; end if; end process; Второй пример - это взять FDE триггер из библиотеки UNISIM. Там есть вход разрешения CE. p.s. заметил, что старожилы любят издеваться, хоть и дают ответы начинающим. вспомните себя, сами тоже когда-то такими были
Сообщение отредактировал sallador - Jun 4 2015, 10:56
|
|
|
|
|
Jun 4 2015, 12:36
|
Частый гость
 
Группа: Участник
Сообщений: 167
Регистрация: 24-12-08
Из: Россия
Пользователь №: 42 714

|
Всем спасибо, разобрал данную проблему.
--------------------
C уважением!
|
|
|
|
|
Jun 4 2015, 12:44
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(sallador @ Jun 4 2015, 13:56)  p.s. заметил, что старожилы любят издеваться, хоть и дают ответы начинающим. вспомните себя, сами тоже когда-то такими были  Это еще кто над кем, большой вопрос. просто я знаю, что "два клока" или "по обоим фронтам" всплывает один раз в месяц или раз в два месяца точно... так что, поискать по форуму - это проблема? А на самом деле, я непрерывно удивляюсь, почему таким очевидным вещам не учат...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Jun 4 2015, 13:16
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 10-05-11
Пользователь №: 64 903

|
Цитата(iosifk @ Jun 4 2015, 16:44)  Это еще кто над кем, большой вопрос. просто я знаю, что "два клока" или "по обоим фронтам" всплывает один раз в месяц или раз в два месяца точно... так что, поискать по форуму - это проблема? А на самом деле, я непрерывно удивляюсь, почему таким очевидным вещам не учат... По большей части такие вопросы задают студенты. Принцип "как можно быстрее найти ответ". А как это сделать? - конечно же спросить, тут вон сколько грамотных инженеров сидит. Искать по форуму - это непросто и лень. Оффтоп: По поводу учат или нет: учат конечно же. Стоит учитывать, что многим просто не под силу освоить огромный пласт материала. а делать что-то дома - опять же лень. Говорю по собственному опыту преподавания курса по ПЛИС. Из года в год студенты хуже, не хотят сами разбираться и учиться. Например, у нас на занятиях есть доступ в интернет. На вводных лабах дается возможность познакомиться со средой, синтезировать первый триггер и помигать лампочкой. Поражает то, что можно без проблем вбить в гугл "FD VHDL example" или "Led spartan3e starter-kit" и простым копи-пастом сдать вводную лабораторку (благо, она из референс дизайнов от xilinx). Но даже этого никто не хочет делать, увы.
|
|
|
|
|
Jun 4 2015, 13:26
|
Частый гость
 
Группа: Участник
Сообщений: 167
Регистрация: 24-12-08
Из: Россия
Пользователь №: 42 714

|
Не хочу разводить полемику, однако: 1. Хоть и не недавно с ФПГА работаю, однако был связан только с частью кода, которая, скажем так, больше математику описывала, а часть взаимодействия с периферией было у другого. Однако все равно приношу извинения за глупый вопрос. Никак не могу абстрагироваться от обычного программирования. Даже не беря во внимание то сколько сегодня прочитал о данной проблеме, даже просто посидеть поразмыслить - вполне можно понимать что "два клока" - это не верно. Мысленный эксперимент помогает.  2. А на счет "не учат" . . . Я не помню тех времен уже когда в университетах чему-то учили. Как сказал один мой друг: "Если б я знал только то чему учат в университете, то я бы был тупым." Когда сам учился - на половину фигня была полная а не учеба. А сейчас - на мой взгляд многие студенты принципиально ничего не делают.
--------------------
C уважением!
|
|
|
|
|
Jun 4 2015, 13:33
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 10-05-11
Пользователь №: 64 903

|
Цитата(aBoomest @ Jun 4 2015, 17:26)  Не хочу разводить полемику, однако: 1. Хоть и не недавно с ФПГА работаю, однако был связан только с частью кода, которая, скажем так, больше математику описывала, а часть взаимодействия с периферией было у другого. Однако все равно приношу извинения за глупый вопрос. Никак не могу абстрагироваться от обычного программирования. Даже не беря во внимание то сколько сегодня прочитал о данной проблеме, даже просто посидеть поразмыслить - вполне можно понимать что "два клока" - это не верно. Мысленный эксперимент помогает.  2. А на счет "не учат" . . . Я не помню тех времен уже когда в университетах чему-то учили. Как сказал один мой друг: "Если б я знал только то чему учат в университете, то я бы был тупым." Когда сам учился - на половину фигня была полная а не учеба. А сейчас - на мой взгляд многие студенты принципиально ничего не делают. Конечно. В институтах дают лишь часть знаний, которых явно не хватит, чтобы по выпуску называть себя "инженером". Многое приходится учить самому, сидеть ночами, разбираться, спрашивать у старших товарищей и т.д. - на это не все готовы. После окончания обучения многие считают, что все - учеба закончилась, больше нового знать ничего не нужно. Но самое главное - ВУЗ должен учить "учиться" и грамотно применять накопленные знания. Звучит немного пафосно, но на практике так и получается.
|
|
|
|
|
Jun 4 2015, 13:55
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(sallador @ Jun 4 2015, 16:33)  Но самое главное - ВУЗ должен учить "учиться" и грамотно применять накопленные знания. Звучит немного пафосно, но на практике так и получается. А я ЛЭТИ закончил в 1976г. когда не было ничего, кроме триггеров 155 серии и усилителей 1ут402... Смешно? Однако кое-что выучил... А вот по поводу "Никак не могу абстрагироваться от обычного программирования" могу объяснить, но по скайпу голосом... Буквами лень...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Jun 5 2015, 03:54
|
Частый гость
 
Группа: Участник
Сообщений: 167
Регистрация: 24-12-08
Из: Россия
Пользователь №: 42 714

|
Цитата(iosifk @ Jun 4 2015, 16:55)  А я ЛЭТИ закончил в 1976г. когда не было ничего, кроме триггеров 155 серии и усилителей 1ут402... Смешно? Однако кое-что выучил... А вот по поводу "Никак не могу абстрагироваться от обычного программирования" могу объяснить, но по скайпу голосом... Буквами лень... Огромное спасибо за предложение, очень буду рад этому (последнему). PS: на счет 155 серии и про "смешно" .. и т.п. Волне серьёзно не соглашусь с вами. То что Вы говорите смешно, я бы сказал что все наоборот. 1. Что касается учебы, то лично у меня был только крохотный курс по 51 семейству МК + курс PASCAL'я. Был бы счастлив если бы у нас был хоть какой-нибудь курс по ПЛИС. А так и сигнальники и теперь ПЛИС - все изучаю самостоятельно. 2. Некоторое время назад пришлось мне поработать в течение года с неким старым устройством выпуска 2001г, (а разрабатывалось оно в 60-х годах). Вот там как раз ниче кроме тригерров, логики, транзисторов и ОУ - нэту. (на сколько помню все на 511й серии микросхем и УД2 усилителях). Считаю, что от этой работы опыта на много больше, чем от работы с МК. Глубины лучше познаются.
--------------------
C уважением!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|