Так ели клок общий то оба модуля можно рассматривать как один модуль и соединять там элементы согласно общим правилам построения схем, их мы рассмотрели в прошлом выпуске: ua-cam.com/video/5jG7K8IF59A/v-deo.html Там есть нюансы при построении высокочастотных схем, типа не делать параллельных шин между модулями, делать только последовательные, на входе и выходе ставить триггеры и т.п., но это уже немного другая тема.
@@ПЛИСоводство да так оно так, но я бы добавил фразу: "для выделения фронта синхронного сигнала внешним модулем добавьте в него один триггер, помнящий предыдущее состояние - этого достаточно". А то начинающие тоже начинают городить цепочки триггеров ) Ну и еще напомнил: "никогда не выводите" наружу результат логики - только через триггер. Спасибо!
24:08 есть, возможно, более дешевый вариант. использовать обратный счет и добавить старший разряд в сумматоре для получения сигнала переполнения,который будет возникать при достижении 0. правда это потребует селектор, для загрузки D триггера.
Добрый день, спасибо, очень интересно, но иногда трудно представить как это все сделать с помощью языка Verilog в квартусе. Так что ролик с примерами (в том числе общего сброса) очень был бы полезен.
25:37. На временной диаграмме видно, что CQ переключает по фронту 50МГц, а это как раз тот момент, когда на выходе ЛЭ "или" будет происходить смена значения с "1" на "0". Не будет ли надёжнее тактировать Т-триггер по спаду сигнала 50МГц?
Нет. Дело в том что все триггеры в схеме по активному фронту тактового сигнала сначала сохраняют значение, а только после этого, через какое-то время (хоть оно и не большое) выставляют его на своём выходе. Когда триггер с выходом CQ сохраняет значение, счётчик ещё не успел выдать новое, а значит и элемент ИЛИ не успел переключится и триггер запомнит состояние которое было перед сменой сигнала. Существует несколько правил синхронного проектирования схем, есть видео на эту тему ua-cam.com/video/5jG7K8IF59A/v-deo.html если конкретно, то этот вопрос рассматривается на 7.42 и 18.25.
подскажите, есть PLL в FPGA, в проекте из PLL выходят несколько клоков, они синхронизируются между собой по фронтам или хаотично работают? нужно ли их триггерами синхронизировать (на триггеры подавать вдвое большую частоту)?
Вся PLL затактирована от входящего клока, поэтому все выходящие из неё клоки так или иначе находятся во взаимосвязи между собой, но могут быть и НЕ синхронными, если отношение частот двух клоков не целое число, то если посмотреть осциллографом будет видно как один клок ползёт относительно другого. Т.е. в общем случае, надо считать, что хаотично работают. По синхронизации сложно сказать, надо смотреть по ситуации, наверно можно синхронизировать по клоку с самой высокой частотой, но только если она в несколько (3 и больше) раз выше остальных.
скажите а как прописать констрэйнт для выходного порта из PLL? то есть из плис выходит клок для SPI. Или как прописать в другом варианте если клок один а выходит из плисины он через инверсию.
Здравствуйте, спасибо вам за видео, очень полезные уроки у вас.
Отлисное видео! Спасибо 👍
круто! мне кажется один вопрос (простой, но с камнями) не рассмотрен: взаимодействие двух различных модулей, но работающих от общего клока
Так ели клок общий то оба модуля можно рассматривать как один модуль и соединять там элементы согласно общим правилам построения схем, их мы рассмотрели в прошлом выпуске:
ua-cam.com/video/5jG7K8IF59A/v-deo.html
Там есть нюансы при построении высокочастотных схем, типа не делать параллельных шин между модулями, делать только последовательные, на входе и выходе ставить триггеры и т.п., но это уже немного другая тема.
@@ПЛИСоводство да так оно так, но я бы добавил фразу: "для выделения фронта синхронного сигнала внешним модулем добавьте в него один триггер, помнящий предыдущее состояние - этого достаточно". А то начинающие тоже начинают городить цепочки триггеров ) Ну и еще напомнил: "никогда не выводите" наружу результат логики - только через триггер. Спасибо!
👍👍👍👍👍
Двухфазный FPGA Буфер, синхронизации видео на тему Буфер FIFO Двухфазный FPGA Буфер, синхронизации видео на тему Буфер FIFO
24:08 есть, возможно, более дешевый вариант. использовать обратный счет и добавить старший разряд в сумматоре для получения сигнала переполнения,который будет возникать при достижении 0. правда это потребует селектор, для загрузки D триггера.
Не совсем понял идею. Откуда в итоге берётся синхросигнал, с сумматора? Но он ведь - комбинационная схема, а на ней нельзя делать тактовые сигналы.
@@ПЛИСоводство , тактовые - нет, но счетчик то можно перезагрузить. у меня пока работает. пока xD
@@cnjzyjdheckfy быть может
Добрый день, спасибо, очень интересно, но иногда трудно представить как это все сделать с помощью языка Verilog в квартусе. Так что ролик с примерами (в том числе общего сброса) очень был бы полезен.
Если что, тут по Квартусу есть отдельный курс.
@@ПЛИСоводство Спасибо, с курсом познакомился. Самое полезное оказалось о Сигнал Тап.
25:37. На временной диаграмме видно, что CQ переключает по фронту 50МГц, а это как раз тот момент, когда на выходе ЛЭ "или" будет происходить смена значения с "1" на "0". Не будет ли надёжнее тактировать Т-триггер по спаду сигнала 50МГц?
Нет. Дело в том что все триггеры в схеме по активному фронту тактового сигнала сначала сохраняют значение, а только после этого, через какое-то время (хоть оно и не большое) выставляют его на своём выходе. Когда триггер с выходом CQ сохраняет значение, счётчик ещё не успел выдать новое, а значит и элемент ИЛИ не успел переключится и триггер запомнит состояние которое было перед сменой сигнала.
Существует несколько правил синхронного проектирования схем, есть видео на эту тему
ua-cam.com/video/5jG7K8IF59A/v-deo.html
если конкретно, то этот вопрос рассматривается на 7.42 и 18.25.
@@ПЛИСоводство спасибо за ответ!
подскажите, есть PLL в FPGA, в проекте из PLL выходят несколько клоков, они синхронизируются между собой по фронтам или хаотично работают? нужно ли их триггерами синхронизировать (на триггеры подавать вдвое большую частоту)?
Вся PLL затактирована от входящего клока, поэтому все выходящие из неё клоки так или иначе находятся во взаимосвязи между собой, но могут быть и НЕ синхронными, если отношение частот двух клоков не целое число, то если посмотреть осциллографом будет видно как один клок ползёт относительно другого. Т.е. в общем случае, надо считать, что хаотично работают. По синхронизации сложно сказать, надо смотреть по ситуации, наверно можно синхронизировать по клоку с самой высокой частотой, но только если она в несколько (3 и больше) раз выше остальных.
@@ПЛИСоводство Спасибо, в моем проекте кратные частоты , я думаю проблем быть не должно.
скажите а как прописать констрэйнт для выходного порта из PLL? то есть из плис выходит клок для SPI. Или как прописать в другом варианте если клок один а выходит из плисины он через инверсию.
@@павелчеркашенинов Вот тут есть caxapa.ru/thumbs/442268/TimeQuest_for_dummies.pdf
День добрый, как можно с вами связаться? Желательно почту. Заранее спасибо.
Jack0v@mail.ru
Через нолик, уточню на всякий случай.
звуковой фон стоит какой-то неприятный
Это от системника, вентиляторы воют, надо подумать что с ними сделать.
@@ПЛИСоводство будет неплохо если что-то придумаете
@@ПЛИСоводство как вариант можно попробовать звуковую дорожку отфильтровать, например, в матлабе