Смекни!
smekni.com

Методичка для курсового проектирования по ПТЦА прикладная теория цифровых автоматов (стр. 5 из 5)

║ │ │ ││ ║ ││ ││ │ │ ║

║ │ │ ││ ╚════>╡│ │╞═════>╡ │ ║

║ │ │ ││ ││ ││ │ ╞═══╩═>DO

╚═══>╡D│ ││ └┴──┴┘ │ │

│ │ ││ T │ │

│ │ ││ ┌┬──┬┐ │ ╞═════>P

│ │ ││ ││RG││ │ │

│ │ │╞═════════>╡│ │╞═════>╡ │

│ │ ││ ││ ││ │ │

C W│А│ ││ C││ ││ ╔═>╡ │

─o─A┴A┴─────┴┘ ─┬┴┴──┴┘ ║ └──A──┘

SYN┘ │ ║ SYN┘ ║ ║

│ ║ ║ ║

yW YA DI═════╝ YF

ALU - арифметико-логическое устройство - комбинационная

схема с небольшим, но универсальным набором арифметических и

логических операций.

RGF - регистровый файл - адресуемая память RAM со стати-

ческой синхронизацией при записи.

RG'T' - регистр-фиксатор со статической синхронизацией.

RG'АCC' - регистр-аккумулятор с динамической синхрониза-

цией.

DI,DO - входная и выходная информационные шины.


- 14 -

Р - предикатные сигналы (флажки).

YF - сигналы управления выбором функции.

YA - адрес чтения и/или записи RGF.

yW - разрешение записи в RGF.

Память сравнительно большого объема, какой является RGF,

дешевле реализовать со статической синхронизацией. Для то-

го,чтобы такая память могла работать в замкнутом информацион-

ном кольце и при этом не возникали бы гонки, добавляется еше

один промежуточный регистр RG'T' со статической синхрониза-

цией. Если передний фронт является рабочим для регистров уп-

равляющего автомата и RG'ACC', то на первой фазе синхрониза-

ции при SYN=1 информация читается из RGF; при этом RG'T'

прозрачен. На следующей фазе синхронизации при SYN=0 информа-

ция фиксируется в RG'T', т.е. он закрыт для записи, а запись

(если она разрешена) производится в RGF. Фиксируется информа-

ция в RGF и RG'ACC' с началом следующего такта, т.е. на пе-

реднем фронте сигнала.

_ВЗАИМОДЕЙСТВИЕ ОА и УА

Для исключения гонок при взаимодействии ОА и УА будем

проектировать УА как автомат Мура. Схема их взаимодействия

может быть представлена в виде:

╔══════════════════════════╗

║┌────┐ ┌┬──┬┐ ┌────┐ ║

╚╡ CS │ ││RG││ │CS ╞<╝

│ ╞<═╦═╡│ │╞<══╡ │

┌───┤ b │ ║ ││ ││ │ c ├<────┐

│ └────┘ ║ └┴──┴┴A─ └────┘ │

│ ┌────┐ ║ └───────────┐ │

│ │CS ╞<═╝ │ │

│┌──┤ a ├<───────────────────┐ │ │

ОА ││ └────┘ │ │ │

----││----------------------------│-│-│--

УА ││РА┌────┐ ┌┬──┬┐ ┌─────┐│ │ │┐

│└─>┤ CS│ ││RG││ │ CS ├┘ │ ││

└──>┤ ╞════>╡│ │╞═>╡ ├──┘ ││Y

РВ │ │ ││ ││ │ ├────┘│

╔>╡ p │ ││ ││ │ y ╞═╗ ┘

║ └────┘ └┴──┴┘ └─────┘ ║

╚════════════════════════════╝

Отметим, что РА(t)=f(Y(t)) зависит без сдвига от сигналов

управления,

PB(t+1)=F(Y(t)) зависит со сдвигом от сигналов

управления,

где РА и РВ - предикатные перемнные.

Продолжительность такта работы схемы определяется наибо-

лее длинными цепями между регистрами. Для данной схемы, кото-

рую будем называть последовательной схемой взаимодействия,

зададимся (так чаще всего бывает), что такой критической

цепью является цепь (CSy,CSa,CSp,RG). Поэтому длительность

такта определяется:

Т > ty + ta + tp + trg,

где tj- время установления соответствующего компонента цепи.

Чтобы сократить длину этой цепи, применяют другой вари-

ант взаимодействия автоматов - конвейерный:


- 15 -

╔══════════════════════════╗

║┌────┐ ┌┬──┬┐ ┌────┐ ║

╚╡ CS │ ││RG││ │CS ╞<╝

│ ╞<═╦═╡│ │╞<══╡ │

┌───────────┤ b │ ║ ││ ││ │ c ├<────┐

│ FF └────┘ ║ └┴──┴┴A─ └────┘ │

│ ┌┬──┬┐ ┌────┐ ║ └───────────┐ │

│┌─┤│RG│╞<══╡ CS ╞<═╝ │ │

││ ││ ││ │ a ├<───────────────────┐ │ │

││ └┴──┴┴A─ └────┘ │ │ │

ОА ││ └──────────────────────────┐ │ │ │

---││----------------------------------│-│-│-│--

УА ││ MK │ │ │ │

││ PA ┌────┬────┐ ┌┬──┬┐│ │ │ │┐

│└────>┤ CS│ CS │ ││RG│├┘ │ │ ││

│ РВ │ │ │ ││ │├──┘ │ ││Y

└─────>┤ │ ╞═══════════>╡│ │├────┘ ││

│ │ │ ││ │├──────┘│

╔>╡ p │ y │ ││ │╞═╗ ┘

║ └────┴────┘ └┴──┴┘ ║

╚═══════════════════════════════╝

При этом варианте взаимодействия такой длинной цепи, как

в предыдущем случае, не возникает.Эта цепь разделена регис-

трами RG'FF' (регистр флажков) и RG'MK' (регистр микрокоман-

ды) на две цепи. Продолжительность такта становится меньше и

ее можно определить следующим образом:

T > max( ta,(tp + ty) )+ trg ,

При конвейерном варианте взаимодействия

PA(t+1)=f(Y(t)), т.е. и эти значения стали зависить со

сдвигом от сигналов управления. Тогда фрагмент микропрограммы

mS{...;pA=f(...)}

<< GO(pA;mi,mj)>>,

выполняемый в последовательной схеме за один такт, в кон-

вейерном варианте за один такт выполнен быть не может и дол-

жен быть модифицирован следующим образом:

mS{...,pA=f(...)}

mS'{нет операции}

<< GO(pA;mi,mj)>>

Таким образом, время выполнения этого фрагмента не только не

уменьшилось, но даже возросло несмотря на уменьшение продол-

жительности каждого из тактов. Зато во всех остальных случа-

ях (при безусловных переходах, при переходах по значению РВ)

время выполнения микропрограммы уменьшается.

_НАЧАЛЬНАЯ ИНИЦИАЛИЗАЦИЯ СИНХРОННОЙ СХЕМЫ

Пусть устройство, кроме сигнала синхронизации SYN, имеет

еще один сигнал Н, обозначающий начало и конец синхронной ра-

боты устройства. При Н=0 - нерабочее состояние - можно выпол-

нять начальную установку значений памяти устройства. Измене-

ние значения Н с 0 на 1 происходит в случайный момент времени

(асинхронно), но при этом начальный такт работы устройства

должен быть полным. "Затягивание" асинхронного сигнала Н в

синхронный режим происходит с помощью простейшего синхронного

автомата с диаграммой:

┌──────────┐ ┌────────┐

V 0H/CONST│ V 1H/SYN│

█▀▀▀█────────┘ █▀▀▀█──────┘

>▌ 0 ▐──────────────>▌ 1 ▐──────┐

█▄▄▄█ 1H/CONST █▄▄▄█ 0H/X │

л │

└────────────────────────────┘

У этого автомата простейшей является функция переходов, так

как диаграмма автомата совпадает с диаграммой переходов


- 16 -

D-триггера.

Схема автомата вместе с цепями условной синхронизации

выглядит следующим образом (для синхронизации по фронтам):

а)-по переднему фронту, б)- по заднему фронту:

┌──┐ ┌──┐

SYN ──┬──────────┤ 1├── CC SYN ──┬──────────┤ &├── CC

│ ┌─┬─┐ ┌─┤ │ │ ┌─┬─┐ ┌─┤ │

└─/C│T│ │ └──┘ └─&bsol;C│T│ │ └──┘

│ │ ├ │ │ │ ├──┘

┌─┤D│ │ │ ┌─┤D│ │

│ ├─┤ o──┘ │ ├─┤ o─

├─oR│ │ ├─oR│ │

H │ └─┴─┘уст. нач. зн. H │ └─┴─┘уст. нач. зн.

──┴─────────────────── ──┴───────────────────

Такая разница в цепях условной синхронизации, как уже объяс-

нялось выше, определяется тем, что первый перепад сигнала СС

не должен быть рабочим.