Триггер на буфферах (со стартом). Транзисторные буферы. Скорость двулинейного сумматора.
Запись от Hrethgir размещена 19.12.2024 в 23:02
Показов 2041
Комментарии 2
|
Закончена в симуляторе предположительная схема fast триггера транзисторного уровня (всё-же используется инвертор и буферы). Насколько это сработает на плате - не известно, так как триггер со стартом - его нужно запускать. Можно сделать автоматический запуск, ис корее всего так и будет сделано. Будет опробован. Анализ всех трёх схем триггеров. Первый - синтезированный средой, второй мой с другой защёлкой, третий на буфферах, под спойлером. Тестбенч завтра. [IMG]https://www.cyberforum.ru/blog_attachment.php?attachmentid=9119&stc=1&d=1734806893[/IMG] Проект и код тут [url]https://habr.com/ru/articles/854562/[/url] [IMG]https://www.cyberforum.ru/blog_attachment.php?attachmentid=9114&stc=1&d=1734717711[/IMG] Схема вынуждено изменена в связи с требованиями языка Verilog [IMG]https://www.cyberforum.ru/blog_attachment.php?attachmentid=9115&stc=1&d=1734802084[/IMG] откомпилировалось. [CODE] module Trs (input S, R, output Q); not nLr(nLr1,R); not nHs(nHs1,S); OBUF b1(Obf1_1,S); OBUF b2(Obf1_2,Obf1_1); bufif1 bf1(Q,nLr1,Obf1_2); bufif1 bf2(Obf2,nHs1,nLr1); bufif1 bf3(Q,Q,Obf2); OBUF b3(Obf2_1,R); OBUF b4(Obf2_2,Obf2_1); not n1(On1,Obf2_1); bufif1 bf4(Q,On1,Obf2_2); endmodule [/CODE] . Но возможно, что будет такая схема - даже скорее всего [IMG]https://www.cyberforum.ru/blog_attachment.php?attachmentid=9118&stc=1&d=1734804589[/IMG] . Это связано с тем, что описано тут - небольшая хитрость разработчиков, в схеме моего триггера [url]https://habr.com/ru/articles/854562/[/url] до защёклкой, это не противорчеит логике и делает триггер рабочим и при подаче сигнала установки Z. [IMG]https://www.cyberforum.ru/blog_attachment.php?attachmentid=9111&stc=1&d=1734716716[/IMG] [CODE]module andM (input in, oe, output out); TBUF nb(out, in, oe); endmodule[/CODE] [IMG]https://www.cyberforum.ru/blog_attachment.php?attachmentid=9109&stc=1&d=1734715914[/IMG] К сожалению - примитив TBUF не позволяет подавать с нескольких штук на один выход, и верятно используется чисто для отключения питания, или чего-то ещё - мне не ясно. Но компилятор не позволяет к одному выходу модуля подключить выходы с нескольких TBUF, с одного - пожалуйста, а с нескольких - нет. И кроме того, этот буфер нельзя ставить на выход с модуля, как ни странно - компилятор выдаёт тогда ошибку [QUOTE]ERROR (CV0013) : Pin(w[1]) of 'nb'(TBUF) does not connect to port[/QUOTE] По двулинейному сумматору, по расчётам тестов с обыными буферами и осцилографом Gowin Osciloscop - осталось выяснить скорость срабатывания: или 26 фемтосекунд, или 260, если программный осцилятор гонит до до 270 MHZ, то 260 фемтосекунд, если до 2.7 GHZ, то 26, такая скорость требует быстрых триггеров, иначе как-бы профит будет весь скрадываться. Считал вчера, или позавчера, не помню, так - просто кто-то сказал что 0.3 наносекунды, но по его опсианию расчёта было ясно что считает не правильно. Расчёт потом опишу, пока нет нужды. Небольшая доработка на блокировку установки единицы при сигнале сброса. |
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 2
Комментарии
-
Улучшил триггер - убрал лишнее.Запись от Hrethgir размещена 20.12.2024 в 21:31
-
Добавил анализ проекта с триггерами разного типа.Запись от Hrethgir размещена 21.12.2024 в 22:02


