Материалы сайта
Это интересно
Прикладная теория цифровых автоматов
2.СИНТЕЗ АВТОМАТА З ПРИМУСОВОЮ АДРЕСАЦІЄЮ М(КРОКОМАНД. 2.1. Принцип роботи автомата. При примусовій адресації адреса наступної м(крокоманди задається в полі поточної м(крокоманди. Формат МК в такому випадку сл(дуючий (мал. 2.1.). 1 Y m 1 X l 1 A0 k 1 A1 k Мал. 2.1 Формат команди автомата з ПА. Тут у полі Y міститься код, що зада( набір м(крооперац(й, у пол( X-код логічної умови, що перевіряється, у полях A0 і A1- адреси переходу при невиконанн( логічної умови, що перевіряється або безумовному переході і при істинності логічної умови відповідно. Розрядн(сть полів визначається таким чином: m=]log2T[ Т- число наборів м(крооперац(й, що використовуються в ГСА, в нашому випадку Т=17, m=5 l=]log2 (L+1)[ L-число логічних умов у ГСА, в нашому випадку L=6, l=3 k=]log2 Q[ Q -кількість м(крокоманд. Структурна схема автомата приведена на мал. 2.2. Автомат функціонує таким чином. Схема запуску складається з RS -тригера і схеми “&", яка блокує надходження синхро(мпульс(в на РАМК і РМК. За сигналом “Пуск" тригер встановлюється в одиницю і відбувається запис м(крокоманд до регістру. Поле Y надходить на схему формування МО і перетворю(ться в деякий набір м(крооперац(й. Поле X надходить до схеми формування адреси, яка формує сигнал Z2, якщо перехід безумовний (X=0) або ЛУ , що перевіряється, дор(вню( 0, або сигнал Z1 у випадку істинності ЛУ. За сигналом Z1(Z2) до адресного входу ПЗП надходить значення поля A1(A0). За сигналу y0 тригер встановлюється в нуль і автомат зупиняє свою роботу. За сигналом "Пуск" до РАМК заноситься адреса початкової МК (А=0). 2.2. Перетворення початкової ГСА. Перетворення буде полягати в тому, що у всі операторн( вершини, пов'язані з кінцевою, вводиться сигнал y0, а між всіма умовними вершинами, які пов'язані з кінцевою, вводиться операторна вершина, що містить сигнал y0. Причому, ця вершина буде загальною для всіх умовних. З урахуванням вищесказаного отримаємо перетворену ГСА (мал. 2.3). У перетворен(й ГСА ми зберігаємо позначення Yi, але при цьому пам'ятаємо, що кожна м(крокоманда Yi РАМК Z1 Z2 S T & ПЗП “Пуск” С( R РМК Y X A0 A1 СФМО Z1 y0 .... yi СФА до ОА Z2 Мал.2.2. Структурна схема автомата з ПА розбива(ться на м(крооперац(( yi..yj зг(дно з табл. 2.1. Таблиця 2.1. Розподіл МО по м(крокомандам. |МК |М(крооперац(( |МК |М(крооперац(( | |Y1 |y1y2y9y10 |Y12 |y5y6y12y17y19 | |Y2 |y1y5y12y19 |Y13 |y4y6y20y21 | |Y3 |y1y6y11y20 |Y14 |y3y11y17y18y22 | |Y5 |y3y4y13y30 |Y15 |y4y5y6y18y19y23 | |Y7 |y2y6y7y16 |Y16 |y12y14y16y24 | |Y8 |y5y13y15y29 |Y17 |y2y13y25 | |Y9 |y6y17 |Y18 |y5 | |Y10|y3y4y5y18y19 |Y20 |y3y27y28 | |Y11|y7y8y17y20 | | | 2.3.Формування вмісту керуючої пам'яті. Перший етап - виділення м(крокоманд заданого формату. В автоматі з ПА в одному такті можуть виконуватися МО і перевірятися логічна умова. Тому м(крокоманда відповідає парі ОПЕРАТОРНА ВЕРШИНА - УМОВНА ВЕРШИНА. Виходячи з цього, отримаємо, що можливими є пари: ОПЕРАТОРНА ВЕРШИНА - УМОВНА ВЕРШИНА, ОПЕРАТОРНА ВЕРШИНА - БЕЗУМОВНИЙ ПЕРЕХІД, ПОРОЖНЯ ОПЕРАТОРНА - УМОВНА ВЕРШИНА. При цьому потрібно враховувати, що при виборі пари ОПЕРАТОРНА ВЕРШИНА - УМОВНА ВЕРШИНА недопустим перехід ззовні в точку між операторною і умовною вершинами, крім ситуації, коли умовна вершина входить до складу іншо( м(крокоманди. У результаті ми отримаємо сл(дуюче разбиття на м(крокоманди (мал. 2.3.). Ми отримали 38 допустимих МК. Закодуємо їх в природному порядку, привласнивши початков(й МК нульову адресу (табл.2.2). Для цього необхідно q=]log2N[ розрядів, де N- кількість МК заданого формату. У нашому випадку N=38, q=6. Таблиця 2.2 Кодування МК |МК |А1А2А3А4 А5А6 | |О1 |0 0 0 0 0 0| |О2 |0 0 0 0 0 1| |....|................| |.. |........ | |О38 |1 0 0 1 0 1| Аналогічним чином закодуємо оператори Yi, надавши нульовий код порожньому операторному полю (табл. 2.3). Таблиця 2.3 Кодування Y |Yi | T2T3T4T5T6 | |( | 00000 | |Y1 | 00001 | |Y2 | 00010 | |Y3 | 00011 | |Y5 | 00100 | |Y7 | 00101 | |Y8 | 00110 | |Y9 | 00111 | |Y10| 01000 | |Y11| 01001 | |Y12| 01010 | |Y13| 01011 | |Y14| 01100 | |Y15| 01101 | |Y16| 01110 | |Y17| 01111 | |Y18| 10000 | |Y20| 10001 | Таблиця 2.5 Вм(ст керуючо( пам`ят(. | № | A | FY | FX | FA0 | FA1 | |Оп. |A1A2A3A4A5A6|T1T2T3T4T5T6|T7T8T9|T10T11T12T13T14T|T16T17T18T19T20T| | | | | |15 |21 | |1 | 000000 | 000000 | 100 | 000001 | 001100 | |2 | 000001 | 000000 | 101 | 000010 | 011001 | |3 | 000010 | 000000 | 110 | 000011 | 001100 | |4 | 000011 | 000000 | 001 | 001100 | 000100 | |5 | 000100 | 000000 | 010 | 001001 | 000101 | |6 | 000101 | 000110 | 110 | 000111 | 000110 | |7 | 000110 | 101100 | 000 | 000000 | 000000 | |8 | 000111 | 000111 | 000 | 001000 | 000000 | |9 | 001000 | 001001 | 000 | 001110 | 000000 | |10 | 001001 | 001000 | 100 | 001010 | 011000 | |11 | 001010 | 000000 | 110 | 001110 | 001011 | |12 | 001011 | 100111 | 000 | 000000 | 000000 | |13 | 001100 | 000001 | 100 | 001101 | 001110 | |14 | 001101 | 000000 | 110 | 001001 | 010010 | |15 | 001110 | 000100 | 100 | 001111 | 010111 | |16 | 001111 | 000000 | 101 | 010001 | 010000 | |17 | 010000 | 000000 | 110 | 010100 | 010101 | |18 | 010001 | 000000 | 110 | 010010 | 011110 | |19 | 010010 | 000110 | 110 | 011111 | 010011 | |20 | 010011 | 000000 | 011 | 100011 | 001110 | |21 | 010100 | 100000 | 000 | 000000 | 000000 | |22 | 010101 | 000000 | 010 | 001001 | 010110 | |23 | 010110 | 000001 | 000 | 100101 | 000000 | |24 | 010111 | 001010 | 001 | 011000 | 010101 | |25 | 011000 | 101010 | 000 | 000000 | 000000 | |26 | 011001 | 000000 | 110 | 011011 | 011010 | |27 | 011010 | 000000 | 001 | 011111 | 100001 | |28 | 011011 | 001101 | 001 | 011100 | 011101 | |29 | 011100 | 001110 | 011 | 010100 | 001110 | |30 | 011101 | 000101 | 000 | 011110 | 000000 | |31 | 011110 | 001111 | 010 | 100001 | 100000 | |32 | 011111 | 000111 | 101 | 010100 | 100010 | |33 | 100000 | 100011 | 000 | 000000 | 000000 | |34 | 100001 | 010000 | 110 | 010100 | 100011 | |35 | 100010 | 000000 | 010 | 010100 | 100101 | |36 | 100011 | 000001 | 101 | 100100 | 011111 | |37 | 100100 | 001011 | 000 | 000101 | 000000 | |38 | 100101 | 010001 | 100 | 001110 | 001001 | 2.4. Синтез схеми автомата. Схема СФА являє собою мультиплексор, який в залежності від коду логічної умови, що перевіряється, передає на вихід Z1 значення відповідно( ЛУ. При цьому сигнал Z2 завжди є інверсією сигналу Z1. Таким чином, отримаємо сл(дуюч( вирази для Z1 і Z2: Z1=X1(T7(T8T9+X2(T7T8(T9+X3(T7T8T9+P1T7(T8(T9+P2T7(T8T9+P3T7T8(T9 Z2=(Z1 або, звівши до заданого базису (4 АБО-Н(), отримаємо Z1=( ((( ((A+B+C+D)+E+F), де A=( (( X1(T7(T8T9)=(((X1+T7+T8+(T9) B=( (( X2(T7T8(T9)=(((X2+T7+(T8+T9) C=( (( X3(T7T8T9)=(((X3+T7+(T8+(T9) D=( (( P1T7(T8(T9)=(((P1+(T7+T8+T9) E=( (( P2T7(T8T9)=(((P2+(T7+T8+(T9) F=( (( P3T7T8(T9)=(((P3+(T7+(T8+T9) Інформація, що надходить на адресні входи ПЗП формується таким чином: Ai=A0iZ1+A1iZ2 або, приводячи до заданого базису, отримуємо Ai=((((((A0i+(Z1)+(((A1i+(Z2)). Синтезуємо тепер схему дешифратора, що формує сигнали м(крооперац(й yi. Поява одиниці, відповідної кожному Y, відбувається при появі на вході дешифратора коду даного Y, тобто Yi=T2e(T3e(T4е(T5е(T6е, де е({0,1} T0=(T, T1=T. Або приводячи до заданого базису, отримаємо: Yi=((( ((T2(e+T3(e+T4(е+T5(е)+T6(е). Таким чином, схема, що формує сигнал Y з п`ятирозрядного коду виглядає таким чином(мал. 2.4) T6(e 1 1 1 Yi T2(e Мал. 2.4. Схема формування сигналу Yi. Враховуючи, що розряд T2 рівний “1" при формуванні тільки двох сигналів Y18 і Y20, то схему(мал. 2.4) будемо використовувати для формування Y1, Y20, для яких співпадають молодші чотири розряди та для Y18, для якого молодш( чотири розряди сп(впадають з кодом порожньо( операторно( вершини. А для всіх інших Y схему можна спростити (мал.2.5.). T6(e 1 Yi T3(e Мал.2.5. Спрощена схема формування сигналу Yi. Зг(дно з наведеними схемами запишемо формули для вс(х Yi. Y1=( (( ((T2+T3+T4+T5)+(T6) Y2= ((T3+T4+(T5+T6) Y3= ((T3+T4+(T5+(T6) Y5= ((T3+(T4+T5+T6) Y7= ((T3+(T4+T5+(T6) Y8= ((T3+(T4+(T5+T6) Y9= ((T3+(T4+(T5+(T6) Y10=(((T3+T4+T5+T6) Сигнали м(крооперац(й yj отримаємо, об'єднуючи по “або" виходи відповідні операторам Yi, в яких зустрічається МО yj. При цьому будемо користуватися таблицею Таблиця 2.5. Розпод(л МО за м(кро- командами | МО | номери МК | |y1 |1,2,3 | |y2 |1,7,17 | |y3 |5,10,14,20 | |y4 |5,10,13,15 | |y5 |2,8,10,12,15,| | |18 | |y6 |3,7,9,12,13,1| | |5 | |y7 |7,11 | |y8 |11 | |y9 |1 | |y10 |1 | |y11 |3,14 | |y12 |2,12,16 | |y13 |5,8,17 | |y14 |16 | |y15 |8 | |y16 |7,16 | |y17 |9,11,12,14 | |y18 |10,14,15 | |y19 |2,10,12,15 | |y20 |3,11,13 | |y21 |13 | |y22 |14 | |y23 |15 | |y24 |16 | |y25 |17 | |y27 |20 | |y28 |20 | |y29 |8 | |y30 |5 | На наступному етапі синтезуємо схеми РАМК і РМК, використовуючи (R(S тригери. Скористаємося класичним методом синтезу регістрів і заповнимо сл(дуючу таблицю (табл. 2.6.). Таблиця 2.6. Синтез РАМК та РМК |С |Ai|Qt|Qt+|Ct|(R |(S | | | | |1 | | | | |0 |0 |0 |0 |0 |* |* | |0 |0 |1 |1 |0 |* |* | |0 |1 |0 |0 |0 |* |* | |0 |1 |1 |1 |0 |* |* | |1 |0 |0 |0 |1 |* |1 | |1 |0 |1 |0 |1 |0 |1 | |1 |1 |0 |1 |1 |1 |0 | |1 |1 |1 |1 |1 |1 |* | У результат( отрима(мо сл(дуючу схему для базового елементу РАМК та РМК (мал.2.6). Ai 1 S TT Q С( C R “Reset” R (Q Мал. 2.6. Базовий елемент регістра. Схема РАМК містить 6 таких елемент(в, а схема РМК - 21. При побудові схеми сигнали (T1..(T21 будемо знімати з (нверсних виходів елемент(в регістрів. Кількість мікросхем ПЗП визначимо за формулою: NПЗП=]R/3[, де R - розрядн(сть м(крокоманди R=21, NПЗП=7. Для зберігання м(кропрограми досить однієї лінійки ПЗП, оскільки QПЗП=8, тобто одна мікросхема розрахована на зберігання 256 трьохб(тових комбінацій, а в нашому випадку потрібно тільки 38. При побудові схеми будемо записувати в РАМК інверсію адреси, а до ПЗП будемо подавати адресу з (нверсних виходів елемент(в регістра, таким чином, ми заощадимо 6 елементів-(нвертор(в у СФА. З врахуванням вищесказаного побудуємо схему автомата з примусовою адресацією м(крокоманд(мал. 2.7). ----------------------- До формування таблиц( “прошивки” ПЗП закоду(мо також лог(чн( умови, надавши нульовой код безумовному переходу(табл.2.4). Таблиця 2.4 Кодування ЛУ |ЛУ |T7T8T9 | |( |0 0 0 | |X1 |0 0 1 | |X2 |0 1 0 | |X3 |0 1 1 | |P1 |1 0 0 | |P2 |1 0 1 | |P3 |1 1 0 | На наступному етап( сформу(мо вм(ст керуючо( пам`ят( (табл.2.5.). Прицьому передбачимо для сигналу y0 cв(й розряд T1. Y11=(((T3+T4+T5+(T6) Y12=(((T3+T4+(T5+T6) Y13= (((T3+T4+(T5+(T6) Y14= (((T3+(T4+T5+T6) Y15= (((T3+(T4+T5+(T6) Y16= (((T3+(T4+(T5+T6) Y17= (((T3+(T4+(T5+(T6) Y18=( (( (((T2+T3+T4+T5)+T6) Y20=( (( (((T2+T3+T4+T5)+(T6) Запишемо формули для отримання сигнал(в yi. y1=( ((Y1+Y2+Y3) y2=( ((Y1+Y7+Y17) y3=( ((Y5+Y10+Y14+Y20) y4=( ((Y5+Y10+Y13+Y15) y5=( ((( ((Y2+Y8+Y10+Y12)+Y15+Y18) y6=( ((( ((Y3+Y7+Y9+Y12)+Y13+Y15) y7=( ((Y7+Y11) y8=Y11 y9=Y1 y10=Y1 y11=( ((Y3+Y14) y12=( ((Y2+Y12+Y16) y13=( ((Y5+Y8+Y17) y14=Y16 y15=Y8 y16=( ((Y7+Y16) y17=( ((Y9+Y11+Y12+Y14) y18=( ((Y10+Y14+Y15) y19=( ((Y2+Y10+Y12+Y15) y20=( ((Y3+Y11+Y13) y21=Y13 y22=Y14 y23=Y15 y24=Y16 y25=Y17 y27=Y20 y28=Y20 y29=Y8 y30=Y5 Заповнимо карти Карно: Qt\Ai 0 1 | 0|* |1 | (R=Ai | | 1|0 |1 | | Qt\Ai 0 1 | 0|1 |0 | (S=(Ai | | 1|1 |* | |