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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Два клока в списке чувствительности, Наличие двух клоков в списке чувствительности приводит к ошибке
aBoomest
сообщение Jun 4 2015, 05:15
Сообщение #1


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

Группа: Участник
Сообщений: 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 уважением!
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Jun 4 2015, 05:54
Сообщение #2


Знающий
****

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



Цитата(aBoomest @ Jun 4 2015, 11: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кГц. Но как то это кажется странным. Не помню чтоб раньше среда разработки ругалась на наличие в списке чувствительности нескольких клоков.

Срочно в школу! Учить букварь на тему "синтезируемое подмножество языка" и "архитектура логических ячеек целевой ПЛИС". Ну а когда всё это изучите, можно перейти к разделу "что такое gated clock и почему его надо избегать".
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jun 4 2015, 06:38
Сообщение #3


Гуру
******

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



Цитата(Bad0512 @ Jun 4 2015, 08:54) *
Срочно в школу! Учить букварь на тему "синтезируемое подмножество языка" и "архитектура логических ячеек целевой ПЛИС". Ну а когда всё это изучите, можно перейти к разделу "что такое gated clock и почему его надо избегать".


Абсолютно верно!
Зачем вводить второй клок, если есть сигнал "разрешения". Вот его сделайте длительностью в 1 период от 50 МГц, с периодом в 40 кГц и еще один в 1 Гц... И все!


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 4 2015, 10:41
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(aBoomest @ Jun 4 2015, 08:15) *
Что-то я не пойму, если мне надо описать реакцию схемы и на тот и на другой клок, то теперь никак не сделать это.
Как только найдете в Spartan3 триггера с двумя клоковыми входами, срочно сообщите фирме Xilinx - они похоже не в курсе rolleyes.gif
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jun 4 2015, 10:55
Сообщение #5


я только учусь...
******

Группа: Модераторы
Сообщений: 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.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
sallador
сообщение Jun 4 2015, 10:56
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 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. заметил, что старожилы любят издеваться, хоть и дают ответы начинающим. вспомните себя, сами тоже когда-то такими были sm.gif

Сообщение отредактировал sallador - Jun 4 2015, 10:56
Go to the top of the page
 
+Quote Post
aBoomest
сообщение Jun 4 2015, 12:36
Сообщение #7


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

Группа: Участник
Сообщений: 167
Регистрация: 24-12-08
Из: Россия
Пользователь №: 42 714



Всем спасибо, разобрал данную проблему.


--------------------
C уважением!
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jun 4 2015, 12:44
Сообщение #8


Гуру
******

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



Цитата(sallador @ Jun 4 2015, 13:56) *
p.s. заметил, что старожилы любят издеваться, хоть и дают ответы начинающим. вспомните себя, сами тоже когда-то такими были sm.gif

Это еще кто над кем, большой вопрос. просто я знаю, что "два клока" или "по обоим фронтам" всплывает один раз в месяц или раз в два месяца точно...
так что, поискать по форуму - это проблема?
А на самом деле, я непрерывно удивляюсь, почему таким очевидным вещам не учат...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
sallador
сообщение Jun 4 2015, 13:16
Сообщение #9


Участник
*

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



Цитата(iosifk @ Jun 4 2015, 16:44) *
Это еще кто над кем, большой вопрос. просто я знаю, что "два клока" или "по обоим фронтам" всплывает один раз в месяц или раз в два месяца точно...
так что, поискать по форуму - это проблема?
А на самом деле, я непрерывно удивляюсь, почему таким очевидным вещам не учат...


По большей части такие вопросы задают студенты. Принцип "как можно быстрее найти ответ". А как это сделать? - конечно же спросить, тут вон сколько грамотных инженеров сидит. Искать по форуму - это непросто и лень.

Оффтоп:

По поводу учат или нет: учат конечно же. Стоит учитывать, что многим просто не под силу освоить огромный пласт материала. а делать что-то дома - опять же лень. Говорю по собственному опыту преподавания курса по ПЛИС. Из года в год студенты хуже, не хотят сами разбираться и учиться.
Например, у нас на занятиях есть доступ в интернет. На вводных лабах дается возможность познакомиться со средой, синтезировать первый триггер и помигать лампочкой.
Поражает то, что можно без проблем вбить в гугл "FD VHDL example" или "Led spartan3e starter-kit" и простым копи-пастом сдать вводную лабораторку (благо, она из референс дизайнов от xilinx). Но даже этого никто не хочет делать, увы.
Go to the top of the page
 
+Quote Post
aBoomest
сообщение Jun 4 2015, 13:26
Сообщение #10


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

Группа: Участник
Сообщений: 167
Регистрация: 24-12-08
Из: Россия
Пользователь №: 42 714



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


--------------------
C уважением!
Go to the top of the page
 
+Quote Post
sallador
сообщение Jun 4 2015, 13:33
Сообщение #11


Участник
*

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



Цитата(aBoomest @ Jun 4 2015, 17:26) *
Не хочу разводить полемику, однако:
1. Хоть и не недавно с ФПГА работаю, однако был связан только с частью кода, которая, скажем так, больше математику описывала, а часть взаимодействия с периферией было у другого. Однако все равно приношу извинения за глупый вопрос. Никак не могу абстрагироваться от обычного программирования. Даже не беря во внимание то сколько сегодня прочитал о данной проблеме, даже просто посидеть поразмыслить - вполне можно понимать что "два клока" - это не верно. Мысленный эксперимент помогает. sm.gif
2. А на счет "не учат" . . .
Я не помню тех времен уже когда в университетах чему-то учили. Как сказал один мой друг: "Если б я знал только то чему учат в университете, то я бы был тупым."
Когда сам учился - на половину фигня была полная а не учеба. А сейчас - на мой взгляд многие студенты принципиально ничего не делают.


Конечно. В институтах дают лишь часть знаний, которых явно не хватит, чтобы по выпуску называть себя "инженером".
Многое приходится учить самому, сидеть ночами, разбираться, спрашивать у старших товарищей и т.д. - на это не все готовы. После окончания обучения многие считают, что все - учеба закончилась, больше нового знать ничего не нужно.

Но самое главное - ВУЗ должен учить "учиться" и грамотно применять накопленные знания.
Звучит немного пафосно, но на практике так и получается.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jun 4 2015, 13:55
Сообщение #12


Гуру
******

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



Цитата(sallador @ Jun 4 2015, 16:33) *
Но самое главное - ВУЗ должен учить "учиться" и грамотно применять накопленные знания.
Звучит немного пафосно, но на практике так и получается.

А я ЛЭТИ закончил в 1976г. когда не было ничего, кроме триггеров 155 серии и усилителей 1ут402... Смешно?
Однако кое-что выучил...
А вот по поводу "Никак не могу абстрагироваться от обычного программирования" могу объяснить, но по скайпу голосом... Буквами лень...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
aBoomest
сообщение Jun 5 2015, 03:54
Сообщение #13


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

Группа: Участник
Сообщений: 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 уважением!
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jun 5 2015, 07:05
Сообщение #14


Гуру
******

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



Цитата(aBoomest @ Jun 5 2015, 06:54) *
Огромное спасибо за предложение, очень буду рад этому (последнему).


мой скайп адрес в личной страничке на форуме. Подключайте камеру, микрофон и звоните...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Torpeda
сообщение Jun 5 2015, 07:52
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Цитата(iosifk @ Jun 4 2015, 15:44) *
Это еще кто над кем, большой вопрос. просто я знаю, что "два клока" или "по обоим фронтам" всплывает один раз в месяц или раз в два месяца точно...
так что, поискать по форуму - это проблема?
А на самом деле, я непрерывно удивляюсь, почему таким очевидным вещам не учат...

потому, что не учат бекэнду...
а не учат - потому что его почти никто не делает - зелёная-же кнопка в ксайлинксе есть sm.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:55
Рейтинг@Mail.ru


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