Немного О Проектировании Самосинхронных Схем

На форумах электроники периодически говорят об самосинхронных схемах, но мало кто понимает, что это такое, какими полезными свойствами обладают самосинхронные схемы и какие у них есть недостатки.

Приведенный ниже краткий текст позволит читателю ознакомиться с основами синтеза простейших самосинхронных схем и попробовать сконструировать их самостоятельно.

Сначала несколько вводных слов.

Любую схему без внешней синхронизации можно назвать асинхронной.

При этом разные типы асинхронных схем используют разные принципы работы, и самосинхронные схемы — лишь одна из их разновидностей.

Под самосинхронным обычно понимают т. н.

полумодулярные схемы, из-за возможности их представления в виде алгебраических структур, составляющих полумодулярные решетки (да простят меня математики за возможные неточности).

Одной из особенностей полумодульных (читай: самосинхронных) схем является независимость от задержек, что на практике означает работоспособность схемы при любых условиях, при которых транзисторы способны переключаться.

Однако никто не мешает вам проектировать самосинхронные схемы с использованием механических реле или любых других переключателей.

Не секрет, что разработать такие схемы очень сложно, но им не грозит выход из строя, например, из-за перегрева или последствий старения.

На этом со вступлением все, и можно переходить к практике.

По методу построения все самосинхронные схемы можно разделить на две группы — управляющие машины и схемы с большим количеством логики.

Откуда взялось это разделение? Управляющие машины — это простые устройства, такие как счетчики, защелки, триггеры или небольшие контроллеры.

Эти устройства в основном проектируются вручную с использованием сетей Петри (графового языка для описания параллельных динамических процессов), а затем синтезируются в Petrify или других инструментах.

Под схемами с большим объемом логики следует понимать знакомые всем узлы вычислительных устройств: контроллеры периферии, DMA, арифметические блоки и все, что использует умножение, сложение, сравнение, мультиплексирование и т. д. Такие схемы слишком сложны для понимания.

описываются сетями Петри и устроены по-разному (это тема отдельной серии публикаций, а то и целого учебника).

Поэтому начнем с азов, с сетей Петри.

Возьмем в качестве примера простейший самосинхронный счетный триггер.

Как и все самосинхронные схемы, он работает по тому же принципу, что и кольцевой генератор в инверторах:

Немного о проектировании самосинхронных схем

Сигнал п счетно, сигналы х0, х1, у0, у1 – внутренний, пара { q0,q1 } — выходные сигналы счетчика, а CD – индикатор окончания переходных процессов в цепи.

Если сигнал CD рядом со счетным входом п , машина будет работать бесконечно.

Любой желающий может убедиться в этом с помощью обычного моделирования: Исходный код списка соединений с тестовым стендом

   

`timescale 1ns/10ps module sim(); wire P,cd; counter dut(.

P(P), .

cd(cd)); assign P = cd; initial begin force P=0; force dut.x0=0; force dut.x1=1; #2; release P; release dut.x1; release dut.x0; end endmodule module counter(

Теги: #самосинхронные схемы #сети Петри #FPGA
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.