Так ели клок общий то оба модуля можно рассматривать как один модуль и соединять там элементы согласно общим правилам построения схем, их мы рассмотрели в прошлом выпуске: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-5jG7K8IF59A.html Там есть нюансы при построении высокочастотных схем, типа не делать параллельных шин между модулями, делать только последовательные, на входе и выходе ставить триггеры и т.п., но это уже немного другая тема.
@@ПЛИСоводство да так оно так, но я бы добавил фразу: "для выделения фронта синхронного сигнала внешним модулем добавьте в него один триггер, помнящий предыдущее состояние - этого достаточно". А то начинающие тоже начинают городить цепочки триггеров ) Ну и еще напомнил: "никогда не выводите" наружу результат логики - только через триггер. Спасибо!
Добрый день, спасибо, очень интересно, но иногда трудно представить как это все сделать с помощью языка Verilog в квартусе. Так что ролик с примерами (в том числе общего сброса) очень был бы полезен.
24:08 есть, возможно, более дешевый вариант. использовать обратный счет и добавить старший разряд в сумматоре для получения сигнала переполнения,который будет возникать при достижении 0. правда это потребует селектор, для загрузки D триггера.
25:37. На временной диаграмме видно, что CQ переключает по фронту 50МГц, а это как раз тот момент, когда на выходе ЛЭ "или" будет происходить смена значения с "1" на "0". Не будет ли надёжнее тактировать Т-триггер по спаду сигнала 50МГц?
Нет. Дело в том что все триггеры в схеме по активному фронту тактового сигнала сначала сохраняют значение, а только после этого, через какое-то время (хоть оно и не большое) выставляют его на своём выходе. Когда триггер с выходом CQ сохраняет значение, счётчик ещё не успел выдать новое, а значит и элемент ИЛИ не успел переключится и триггер запомнит состояние которое было перед сменой сигнала. Существует несколько правил синхронного проектирования схем, есть видео на эту тему ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-5jG7K8IF59A.html если конкретно, то этот вопрос рассматривается на 7.42 и 18.25.
подскажите, есть PLL в FPGA, в проекте из PLL выходят несколько клоков, они синхронизируются между собой по фронтам или хаотично работают? нужно ли их триггерами синхронизировать (на триггеры подавать вдвое большую частоту)?
Вся PLL затактирована от входящего клока, поэтому все выходящие из неё клоки так или иначе находятся во взаимосвязи между собой, но могут быть и НЕ синхронными, если отношение частот двух клоков не целое число, то если посмотреть осциллографом будет видно как один клок ползёт относительно другого. Т.е. в общем случае, надо считать, что хаотично работают. По синхронизации сложно сказать, надо смотреть по ситуации, наверно можно синхронизировать по клоку с самой высокой частотой, но только если она в несколько (3 и больше) раз выше остальных.
скажите а как прописать констрэйнт для выходного порта из PLL? то есть из плис выходит клок для SPI. Или как прописать в другом варианте если клок один а выходит из плисины он через инверсию.