Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Два клока в списке чувствительности
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
aBoomest
Доброго дня!
Имеет место тактовый сигнал 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кГц. Но как то это кажется странным. Не помню чтоб раньше среда разработки ругалась на наличие в списке чувствительности нескольких клоков.
Bad0512
Цитата(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 и почему его надо избегать".
iosifk
Цитата(Bad0512 @ Jun 4 2015, 08:54) *
Срочно в школу! Учить букварь на тему "синтезируемое подмножество языка" и "архитектура логических ячеек целевой ПЛИС". Ну а когда всё это изучите, можно перейти к разделу "что такое gated clock и почему его надо избегать".


Абсолютно верно!
Зачем вводить второй клок, если есть сигнал "разрешения". Вот его сделайте длительностью в 1 период от 50 МГц, с периодом в 40 кГц и еще один в 1 Гц... И все!
XVR
Цитата(aBoomest @ Jun 4 2015, 08:15) *
Что-то я не пойму, если мне надо описать реакцию схемы и на тот и на другой клок, то теперь никак не сделать это.
Как только найдете в Spartan3 триггера с двумя клоковыми входами, срочно сообщите фирме Xilinx - они похоже не в курсе rolleyes.gif
Maverick
Цитата(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кГц. Но как то это кажется странным. Не помню чтоб раньше среда разработки ругалась на наличие в списке чувствительности нескольких клоков.

Вы не применяйте методологию проектирования цифровых схем на дискретной логике на плате (с помощью различных ИМС) - для проектирования цифровых схем на/для ПЛИС.
Они существенно отличаются...
sallador
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
aBoomest
Всем спасибо, разобрал данную проблему.
iosifk
Цитата(sallador @ Jun 4 2015, 13:56) *
p.s. заметил, что старожилы любят издеваться, хоть и дают ответы начинающим. вспомните себя, сами тоже когда-то такими были sm.gif

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


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

Оффтоп:

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


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

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

А я ЛЭТИ закончил в 1976г. когда не было ничего, кроме триггеров 155 серии и усилителей 1ут402... Смешно?
Однако кое-что выучил...
А вот по поводу "Никак не могу абстрагироваться от обычного программирования" могу объяснить, но по скайпу голосом... Буквами лень...
aBoomest
Цитата(iosifk @ Jun 4 2015, 16:55) *
А я ЛЭТИ закончил в 1976г. когда не было ничего, кроме триггеров 155 серии и усилителей 1ут402... Смешно?
Однако кое-что выучил...
А вот по поводу "Никак не могу абстрагироваться от обычного программирования" могу объяснить, но по скайпу голосом... Буквами лень...

Огромное спасибо за предложение, очень буду рад этому (последнему).

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


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

потому, что не учат бекэнду...
а не учат - потому что его почти никто не делает - зелёная-же кнопка в ксайлинксе есть sm.gif
sallador
Цитата(Torpeda @ Jun 5 2015, 11:52) *
потому, что не учат бекэнду...
а не учат - потому что его почти никто не делает - зелёная-же кнопка в ксайлинксе есть sm.gif


Кстати, на хабре опубликовали интересную статью, в которой описывается не менее интересная книга - Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера».
Полностью на русском языке, скачать можно там же.
Прочитал на одном дыхании и всегда думал - "Эх, жаль, что у меня такой не было лет 10 назад".
Для большей части новичков и студентов - идеальный вариант. Простым языком описывается все от транзисторов и логических элементов до созадния своих архитектур и законченных систем например, на С++ или SV.

В будущем семестре даже планирую всем своим студентам рекомендовать её к прочтению. sm.gif
iosifk
Цитата(sallador @ Jun 8 2015, 11:40) *
Кстати, на хабре опубликовали интересную статью, в которой описывается не менее интересная книга - Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера».
Полностью на русском языке, скачать можно там же.
Прочитал на одном дыхании и всегда думал - "Эх, жаль, что у меня такой не было лет 10 назад".
Для большей части новичков и студентов - идеальный вариант. Простым языком описывается все от транзисторов и логических элементов до созадния своих архитектур и законченных систем например, на С++ или SV.

В будущем семестре даже планирую всем своим студентам рекомендовать её к прочтению. sm.gif

А Вы не могли бы это где-нибудь выложить, чтобы без регистраций и телефонов?
Заранее благодарю...
Timmy
Цитата(iosifk @ Jun 8 2015, 11:53) *
А Вы не могли бы это где-нибудь выложить, чтобы без регистраций и телефонов?
Заранее благодарю...

Там же в камментах уже дали ссылку: https://cloud.mail.ru/public/LAqh/khU9qjNJJ
iosifk
Цитата(Timmy @ Jun 8 2015, 12:18) *
Там же в камментах уже дали ссылку: https://cloud.mail.ru/public/LAqh/khU9qjNJJ

Спасибо!
sallador
Цитата(iosifk @ Jun 8 2015, 13:29) *
Спасибо!

Опередили, но добавлю.

Если зарегистрироваться, то можно получить доступ к лабораторкам для FPGA и SOC, которые они предлагают.
А также получать интересные рассылки по новым материалам от этих ребят. sm.gif


Enthusiast
Кому лениво читать полторы тысячи страниц книги, я предлагаю просто посмотреть несколько часов видеоуроков из "Эм-Ай-Ти" тут.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.