Проектирование принципиальной схемы процессора для вычисления функции sin(j) методом «цифра за цифрой», страница 13

+(/MC4*MC3*/MC2*MC1*/MC0)->S0

S2:=(RESET*MC4*MC3*/MC2*/MC1*/MC0) ->S3

+(/RESET ) ->S0

+(/MC4*MC3*/MC2*MC1*/MC0)->S0

+(RI22*RESET)-> S20

+(/RI22*RESET)->S00

S3:=(RESET*MC4*MC3*/MC2*/MC1*/MC0) ->S0

+(/RESET ) ->S0

+(/MC4*MC3*/MC2*MC1*/MC0)->S0

+(RI22*RESET)->S10

+(/RI22*RESET)->S00

S00:=(/MC4*MC3*/MC2*MC1*/MC0)->S0

S10:=(/MC4*MC3*/MC2*MC1*/MC0)->S0

S20:=(/MC4*MC3*/MC2*MC1*/MC0)->S0

EQUATIONS

OE[1:2].TRST=OE

OE[1:2].CLKF=CLK

TMP.CLKF=CLK

TMP.TRST=OE

;ОПИСЫВАЕМ СИГНАЛ S13_NOW

S13_NOW.D:=MC4*/MC3*/MC2*MC1*MC0*RESET

S13_NOW.CLKF=CLK

S13_NOW.TRST=OE

;-//- S12_NOW

S12_NOW.D:=MC4*/MC3* MC2*/MC1*/MC0*RESET

S12_NOW.CLKF=CLK

S12_NOW.TRST=OE

;ОПИСЫВАЕМ ТРИГГЕР ДЛЯ СОХРАНЕНИЯ ЗНАКА РЕГИСТРА RO НА НАЧАЛЬНОМ ЭТАПЕ

OE3.D:=(M0*MC4*MC3*/MC2*/MC1*/MC0+/(MC4*MC3*/MC2*/MC1*/MC0)*OE3)*RESET

OE3.CLKF=CLK

OE3.TRST=OE

;ОПИСЫВАЕМ СОСТОЯНИЕ ЗНАКА

SIGN.D:=((OE3*/OE1+OE2)*RI22+/RI22*OE3)*RESET

SIGN.TRST=OE

SIGN.CLKF=CLK

D_OK.D:=(/MC4*MC3*MC2*MC1*MC0)*RESET

D_OK.TRST=OE

D_OK.CLKF=CLK


Приложение 2.

Описание временных диаграмм.

После включения напряжения питания микросхема DD33 производит сброс управляющего автомата. После этого, основной автомат переходит в нулевое состояние (состояние главного автомата изображено в виде MC4…MC0) и ожидает прихода сигнала от внешнего устройства –D_READY. После сброса счетчик RI переходит в состояние 11111 –что позволяет произвести из ПЗУ (DD20-DD22) выборку константы p/2, RC в состояние 00000. После прихода сигнала достоверности происходит переход в состояние MC=1, при этом сигнал SEL принимает низкий уровень (логический «0»), т.е. происходит переключение входного мультиплексора на прием данных со входов 1-7, 9 микросхем DD1-DD6, 1DD1-1DD6, 2DD1-2DD6. На следующем такте (МС=2) происходит выдача сигнала CPRXRY, CPRO, который поступает на вход 1 микросхем DD1-DD6, 1DD1-1DD6, 2DD1-2DD6. При этом, в регистр RO (2DD1-2DD6) происходит запись аргумента, в регистр RY (1DD1-1DD6) записывается «0», в регистр RX записывается константа. На следующем такте происходит  (МС=3) снятие сигнала CPRXRY, CPRO, установка SEL  в состояние лог. «1». На тактах МС=4, МС=5, МС=22 происходит ожидание выполнения операции арифметического сложения. На такте MC=6 происходит анализ признаков RO_LOW и ROGP. Если RO_LOW=1, то происходит переход в состояние MC=16, в котором происходит выработка сигналов ОЕ1, ОЕ2, ОЕ3, SIGN, D_OK необходимых для управления буферными элементами (см. дальше). Если признак ROGP=1, то аргумент уже находится в четвертой или первой  четверти и произойдет переход в состояние МС=23 –это промежуточное состояние, необходимое чтобы после смены состояния счетчика RI  успела выбраться константа из ПЗУ. Далее происходит переход в состояние МС=8, в  котором завершается выборка константы из ПЗУ, и начинается процесс алгебраического сложения регистра RO и константы из ПЗУ, т.к. к этому времени на выходе АЛУ регистра RX (DD13-DD19) и АЛУ регистра RY (1DD13-1DD19) значение результата сложения уже установилось далее с учетом требований предустановки для регистра RO,  RY, RX, происходит ожтдание окончания суммирования и в состоянии МС=13 происходит записи в регистры RO, RY, RX, происходит увеличение счетчика RI. В соятоянии МС=14 происходит загрузка в счетчик автомата сдвигов RC значения счетчика RI, установка режима работы сдвигового регистра RX1 (DD7-DD12) и RY1(1DD7-1DD12). Далее управление как-бы передается подавтомату сдвигов (RC), и  основной автомат ожидает прихода сигнала RC11 который говорит о том, следующий сдвиг будет последним, это обусловлено тем, что режим сдвигового регистра устанавливается до прихода очередного тактового импульса, если этот сигнал пришел, то автомат переходит в состояние МС=24, которое введено для того, чтобы при дальнейшем последовательном переходе в 9, 10, 11, 12 состояние успело произойти суммирование и выполнилось время пред установки данных на вход регистров RX, RY, RO. Далее в состоянии МС=13 происходит запись данных с выхода АЛУ в регистры RO, RX, RY. В вершине МС=14 происходит анализ условия окончания работы RI22. Если RI22=0, то происходит переход в состояние МС=15 и процесс далее повторяется. Если RI22=1, то происходит переход в состояние MC=16, в котором происходит анализ причины перехода в эту вершину, если RI22=1, то переход осуществлен по причине завершения работы алгоритма, в противном случае произошел переход на окончание работы по причине того, что в регистре RO содержится достаточно малый угол, и можно не  вычислять функцию, т.к. ее значение почти совпадет с аргументом. В состоянии МС=17 происходит выдача управляющих сигналов ОЕ1…ОЕ3, и выдача сигнала знака результата, сигнала достоверности данных на выходе. После осуществляются последовательный переход в МС=18, 19, 20, 21 и находясь в состоянии МС=21 происходит установка значений управляющего автомата (ОЕ1…ОЕ3, D_OK, в исходное состояние).