Завданням курсового проекту передбачений синтез БФР як на елементах малої й середньої так і високого ступеню інтеграції.
1. Вибір варіанта завдання
У даній курсовій роботі необхідно спроектувати багатофункціональний регістр (БФР), що виконує заданий набір мікрооперацій, що і буде основним вузлом синтезованого операційного автомата.
Список мікрооперацій:
Для варіанта №10 заданий наступний список мікрооперацій
4, 5, 10, 14(n1=2, n2=4), 24, 30, 34, 40(n1=3), 46
Операція виконувана схемою контролю:
x1:R <= m; x2:R = 1...1…1, де m - двійкове представлення суми варіанту по списку й числа 23.№ варіанта - 10, отже m=10+23=33=001000012
Зміст мікрооперацій:
y1: R:=A1+m
y2R:=A1+R
y3: R:=A1
Ry4: R:= (A2(1:2)&R(1:2).~R(3:4).A2(5:8))
y5: R:=R(5:8).000
y6: R:=~R1.R(2).~R(3).R(4) .~R(5).R(6) .~R(7) .R(8)
y7: R:=ЯКЩО(R1)
A1(1) ТЕ (R-1) ІНАКШЕ (R+1)y8: B=(R(1:3).~R(4:8))
A3y9: B=ЯКЩО A3(1) *A3(2) *A3(3) *A3(4) ТЕ ~R ІНАКШЕ R
Синтез буде виконаються на елементах серії К555 малого, середнього й великого ступеня інтеграції. В якості тригерів для синтезу застосовуємо JK-тригери.
2. Опис функціонування БФР
В загальному випадку регістр R виконує множину МО
. У кожному машинному такті регістр може виконувати тільки одну МО. Множину можна умовно розділити на 3 підмножини, що не перетинаються: . До першої підмножини відносяться такі МО, в результаті виконання яких проходить змінення змісту регістра. Ці МО описуються оператором присвоювання ,де - деяка функція від значень слів, що поступають по вхідним шинам - .До них, наприклад, відносять МО наступного виду:
- занесення у регістр констант, зокрема, коду 00….0 (R:=00…0) ;
- прийом коду з шини А (R:=A).
До підмножини
відносять такі МО, в результаті виконання яких не відбувається зміна змісту регістра, але відбувається передача в деяку сукупність вихідних шин кодів, що залежать, в загальному випадку, від змісту регістра , та від кодів на вхідних шинах. Вони описуються оператором присвоювання виду: ,де -множина вихідних шин; - деяка функція від змісту регістра та вхідних шин .До них відносять, наприклад, наступні:
- передача у вихідну шину
змісту регістра ( );- передача у шину
кон’юнкції від змісту регістра та вихідної шини .Прикладом є передача старого коду з регістра у вихідну шину
з одночасним занесенням нового коду в регістр з вхідної шини .Структурну схему пристрою, що розробляється, представлено на рисунку 3.1.
Рисунок 3.1 – Структурна схема пристрою, що розробляється.
Пристрій складатимется з чотирьох блоків, кожний з я ких виконіватиме свою задачу, а саме:
- КС1 – комбінаційна схема 1, що виконуватиме МО, які змінюють стан регістра, вхідними данними для неї є слова: А1, котре приходить з зовнішньої шини, та А2, котре є вхідною змінною, а також попереднє значення регістра;
- КС2 – комбінаційна схема 2, що виконуватиме МО, що націлені на формування вихідної шини В, вхідними данними є вхадне слово А3 та значення регістра;
- КС3 – комбінаційна схема 3, що генерує контрольні сигнали, вхідними данними є значення регістра;
- Рег– регістр – вузол, що призначений для зберігання інформації та зміну свого стану в залежності від КС1;
- ШФ – шинний формувач, призначений для передачі данних з шини В у загальну шину та прийому слова А1 з загальної шини.
3. Синтез комбінаційних схем БФР
3.1 Розбивка безлічі МО на підмножини, cегментация
Безліч виконуваних регістром мікрооперацій Y={y1,,y2, y3, y4, y5, y6, y7, y8, y9} умовно можна розбити на дві підмножини: Y1={y1, y2, y3, y4, y5, y6, y7} і Y2={y8, y9}.
Перша множина містить у собі такі МО, у результаті виконання яких відбуваються зміна вмісту регістра. Ці МО описуються оператором присвоювання R:=f(A1, A2,...Ak, R), де f - деяка функція від значень слів, що надходять по вхідних шинах - A1, A2,...Ak, а також від вмісту регістра R, що існував в ньому до моменту виконання даної МО.
До підмножини Y2 віднесемо такі МО, у результаті виконання яких не відбувається зміна вмісту регістру, але здійснюється передача в деяку сукупність вихідних шин кодів, які залежать, у загальному випадку, і від умісту регістра R, і від кодів на вхідних шинах.
Сегментація для КС1: Сегментація для КС1:
у1:
1 8 |
у2:
1 8 |
y3:
1 8 |
y4:
1 2 | 3 4 | 5 8 |
y5:
1 5 | 6 8 |
y6:
1 8 |
y7:
1 8 |
Сегментація для КС2
у8:
1 3 | 4 8 |
у9:
1 8 |
3.2 Формування функцій збудження
3.2.1 Формування функцій збудження для КС1 (для JK-тригера)
Функції збудження для кожної МО
У серії використаємо синхронний JK - тригер, що має наступну таблицю переходів:
Таблиця 4.1 - таблиця переходів JK - тригеру
Q(t) | Q(t+1) | J(t) | K(t) |
0 | 0 | 0 | X |
0 | 1 | 1 | X |
1 | 0 | X | 1 |
1 | 1 | X | 0 |
Синтез виконувався по наступному принципу:
1) Одержуємо те значення в яке необхідно встановити регістр (наприклад A1&R або суму 2A2+R на суматорі )
2) Мультиплексором робимо вибірку потрібного значення залежно від використовуваної мікрооперації.
3) Значення розряду регістра отримане на виході мультиплексора необхідно подати на відповідний розряд тригера. До речі необхідно відзначити й те, що якщо не діє жодна з мікрооперацій, регістр повинен зберігати своє значення.
- для мікрооперації y1:
, дані функції збудження будуть реалізовані на суматорі. На вхід першого операнду подається А1(1:8) на вхід другого операнда число m в двійковому вигляді.Таблиця 4.2 – Таблиця переключення тригерів БФР для МО у1
Sm1 | R | R | J | K |
0 | 0 | 0 | 0 | X |
0 | 1 | 0 | X | 1 |
1 | 0 | 1 | 1 | X |
1 | 1 | 1 | X | 0 |
- для мікрооперації у2:
функції збудження реалізовані аналогічно мікрооперації у1, але на вхід першого доданка подається A1, а на другий вхід подаємо R.Таблиця 4.3 – Таблиця переключення тригерів БФР для МО у2