Serhiy_UA 1 29 апреля, 2015 Опубликовано 29 апреля, 2015 · Жалоба Может, у кого есть схема с логическими элементами внутри D-триггера c входами С и ENA (Clock Enable), то просьба поделиться, а то не могу никак найти. Ситуация с переключениями на входе С при постоянных уровнях 0 или 1 на входе ENA понятна по определению самих этих входов. Но интересует такая вещь. Как будет вести себя D-триггер при переключениях на входе ENA, при постоянных уровнях 0 или 1 на входе С… Провожу небольшой курс по синтезу цифровых автоматов, вот и запнулся… Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Amurak 0 29 апреля, 2015 Опубликовано 29 апреля, 2015 · Жалоба https://www.fairchildsemi.com/datasheets/74/74F377.pdf Внутри есть схема. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Александр77 1 29 апреля, 2015 Опубликовано 29 апреля, 2015 · Жалоба Как будет вести себя D-триггер при переключениях на входе ENA, при постоянных уровнях 0 или 1 на входе С… А разве он может вести себя иначе, чем просто хранить одно и тоже состояние?! Ведь предпосылок для переключения (фронтов на входе С) нет никаких. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 30 апреля, 2015 Опубликовано 30 апреля, 2015 · Жалоба Внутри есть схема. Спасибо! Теперь понятно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 20 мая, 2015 Опубликовано 20 мая, 2015 · Жалоба вот тут книжку триггеры советовали: https://disk.yandex.ru/public/?hash=NTX%2B1...0Ye3OY3izHyY%3D Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 22 мая, 2015 Опубликовано 22 мая, 2015 · Жалоба вот тут книжку триггеры советовали: https://disk.yandex.ru/public/?hash=NTX%2B1...0Ye3OY3izHyY%3D В этой книге искомого D-триггера нет, хотя книга хорошая. Речь была немного о другом. Посмотрите на рисунок, там два D-триггера, они работают почти одинаково, но второй, что с коммутатором, удобней при синтезе цифровых автоматов (ЦА). Под ЦА понимается совокупность конечного автомата (КА) и операционного устройства (ОУ). Преимущество второго из D-триггеров в том, что синхронизировать микрооперации в ОУ можно одной и той же фазой, что в КА. В то время, как для первого D-триггера потребовалась бы многофазная синхронизация, иначе были бы гонки. Просто в ПЛИС при синтезе FSM используется именно второй из этих триггеров. А когда я в свое время проектировал ЦА на микросхемах, я использовал первый из них, а о втором не догадывался, по этому применял многофазную синхронизацию… Такие вот тонкости... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 10 июня, 2015 Опубликовано 10 июня, 2015 · Жалоба Поздно увидел сообщение. В ПЛИС по первой схеме вообще не принято делать триггеры, т.е. должна быть идеология синхронного дизайна. На это даже синтезатор должен ругнуться и сказать, что это gated clock или ripple clock. Т.е. тактовая должна подаваться всегда прямо на тактовый вход, безо всяких комбинационных схем. Аналогичную идеологию синхронного дизайна можно применять и для цифровых микросхем Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lerk 0 10 июня, 2015 Опубликовано 10 июня, 2015 · Жалоба Вообще для gated-clock есть совершенно "безопасный" дизайн, поэтому не вижу причин его не использовать. Картинка из Титце Шенка. Ну и все таки 'clock enable' это одно, а mux на входе - совсем другое. И собственно изменение данных на выходе mux'a в момент фронта тактового импульса может привести к самым разным последствиям. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 11 июня, 2015 Опубликовано 11 июня, 2015 · Жалоба Вообще для gated-clock есть совершенно "безопасный" дизайн, поэтому не вижу причин его не использоватьи в ПЛИС тоже? Это всё устарело )) безопасный он до тех пор, пока задержки не начинают быть сравнимы с периодом сигналов. Ну и все таки 'clock enable' это одно, а mux на входе - совсем другоеПо какому параметру совсем другое? Понятно, что буквы названия другие. А по потреблению ресурсов - примерно та же байда )) И собственно изменение данных на выходе mux'a в момент фронта тактового импульса может привести к самым разным последствиям.Дак по идеологии синхронного дизайна не надо так делать (в момент фронта). Либо ставьте на сигнал управления мультиплексором такой же синхронизатор, как на Вашей картинке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lerk 0 11 июня, 2015 Опубликовано 11 июня, 2015 · Жалоба и в ПЛИС тоже? Это всё устарело )) безопасный он до тех пор, пока задержки не начинают быть сравнимы с периодом сигналов. По какому параметру совсем другое? Понятно, что буквы названия другие. А по потреблению ресурсов - примерно та же байда )) Дак по идеологии синхронного дизайна не надо так делать (в момент фронта). Либо ставьте на сигнал управления мультиплексором такой же синхронизатор, как на Вашей картинке. Не надо сравнивать ПЛИС с ASIC'ами. У ПЛИС много плюсов, но не надо ориентироваться на применяемые там решения, как на парадигму. Совсем другое оно по смыслу. У вас от этого клока может быть целый блок затактирован, и гораздо проще(и выгоднее) управлять одним клоком блока, чем всеми входами этого блока, не находите? Что касается синхронного дизайна, то автор о нем не упоминал. А я же скажу так: всякий инструмент нужен к месту. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 11 июня, 2015 Опубликовано 11 июня, 2015 · Жалоба Не надо сравнивать ПЛИС с ASIC'амиА в асиках не так как в плисах? Насколько я знаю, логика для асиков сначала отлаживается на плис, следовательно, применяются все те же методологии, в т.ч. и синхронного дизайна. Совсем другое оно по смыслу. У вас от этого клока может быть целый блок затактирован, и гораздо проще(и выгоднее) управлять одним клоком блока, чем всеми входами этого блока, не находите?Выгоднее, но в доках от производителей плис рекомендуется всё же обходиться без gated clock. А там где это действительно требуется - существует специальный элемент типа BUFGCE, который обеспечивает примерно то же, что на Вашей картинке. Тем более речь идёт об одном триггере, о его схеме с CE. Что касается синхронного дизайна, то автор о нем не упоминал.Я так думаю, если не упоминал - то это хуже. Скорее всего, для него это открытие )) Зато я упоминал, что асинхронщина устарела. А не устарел - синхронный дизайн. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lerk 0 11 июня, 2015 Опубликовано 11 июня, 2015 · Жалоба А в асиках не так как в плисах? Насколько я знаю, логика для асиков сначала отлаживается на плис, следовательно, применяются все те же методологии, в т.ч. и синхронного дизайна. Не надо мешать в кучу логику и схемотехнику. Выгоднее, но в доках от производителей плис рекомендуется всё же обходиться без gated clock. А там где это действительно требуется - существует специальный элемент типа BUFGCE, который обеспечивает примерно то же, что на Вашей картинке. Тем более речь идёт об одном триггере, о его схеме с CE. Да мне, в общем, не важно, что там рекомендуют производители плис: у самого голова на плечах есть. Я так думаю, если не упоминал - то это хуже. Скорее всего, для него это открытие )) Зато я упоминал, что асинхронщина устарела. А не устарел - синхронный дизайн. Вы слишком категоричны. Асинхронный дизайн может быть в десятки раз компактнее, чем синхронный, и при этом не проигрывать по скорости. Просто это сложнее и менее предсказуемо. Вот только когда вы ограничены сверху по емкости кристалла, как в случае с БМК, то вы сразу наплюёте на свои убеждения о асинхронном дизайне. Потому что работа должна быть сделана, и в конечном итоге роляет только одно: деньги. И если можно на маленьком и дешевом БМК сделать то же самое, что на большом и дорогом, то выбор вполне очевиден. Разве что вы сами себе начальник и можете себе позволить тратить лишние бабки на угоду своим убеждениям. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 11 июня, 2015 Опубликовано 11 июня, 2015 · Жалоба Как обустроен D-триггер для синхронных FSM мне уже понятно: там перед его D-входом двухвходовой коммутатор, управляемый сигналом микрооперации. Понятно и то, что период синхроимпульсов должен быть таким, что бы исключить гонки. При этом синтез FSM на HDL построен так, что пользователь об этом коммутаторе может даже и не знать, все делается за него. Не понятным остается только вопрос, как распределяется синхросигнал на все синхровходы D-триггеров для больших FSM, ведь там этих триггеров может быть несколько сотен и даже тысяч. А фаза при этом должна быть у всех одинакова. И так для каждой из FSM, работающей на своей частоте, которых в ПЛИС тоже может быть немало. Понятно, что среда программирования делает все автоматически, но на каких идеях… Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 11 июня, 2015 Опубликовано 11 июня, 2015 · Жалоба Как обустроен D-триггер для синхронных FSM мне уже понятно: там перед его D-входом двухвходовой коммутатор, управляемый сигналом микрооперации. Понятно и то, что период синхроимпульсов должен быть таким, что бы исключить гонки. При этом синтез FSM на HDL построен так, что пользователь об этом коммутаторе может даже и не знать, все делается за него. Не понятным остается только вопрос, как распределяется синхросигнал на все синхровходы D-триггеров для больших FSM, ведь там этих триггеров может быть несколько сотен и даже тысяч. А фаза при этом должна быть у всех одинакова. И так для каждой из FSM, работающей на своей частоте, которых в ПЛИС тоже может быть немало. Понятно, что среда программирования делает все автоматически, но на каких идеях… как это делает среда разработки находится под большим секретом (мое мнение) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lerk 0 11 июня, 2015 Опубликовано 11 июня, 2015 · Жалоба Не понятным остается только вопрос, как распределяется синхросигнал на все синхровходы D-триггеров для больших FSM, ведь там этих триггеров может быть несколько сотен и даже тысяч. А фаза при этом должна быть у всех одинакова. И так для каждой из FSM, работающей на своей частоте, которых в ПЛИС тоже может быть немало. Понятно, что среда программирования делает все автоматически, но на каких идеях… Очень многое на плисине уже сделано архитектурно. Можете почитать гугл на тему 'clock distribution network' - достаточно много интересных материалов есть в открытом доступе. Так что зная параметры тех. процесса программе остается сделать не так много. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться