Рисунок 1.3.2 – Входная часть На рисунке 1.3.3 представлен операционный блок. Сверху представлен
блок для вычисления логической функции . Чуть ниже представлен блок для вычисления арифметического сложения, основанный на мультиплексоре.
На оба этих блока идут данные A, B. Третий блок в операционном блоке – это мультиплексор для кодирования 4b5b-кода. На него подается код.
Все три устройства имеют выходы, которые идут на один мультиплексор,
который за счет кода операции выбирает, какая операция пойдет на выход.
11
Рисунок 1.3.3 – Операционный блок На рисунке 1.3.4 представлена выходная часть. Так как вывод должен
быть последовательным, на lpm_mux3 – поступают данные с другого мультиплексора, который является частью операционного блока. Lpm_mux3
отвечает за то, какой из номеров сигнала шины пойдет на выход. Чтение происходит через jk-триггер, на который фиксирует сигнал «read», который не будет обновляться, пока не выйдут все необходимые данные. С этого триггера на T-триггер идет разрешающий сигнал, который переключается за счет внутреннего синхроимпульса. Его переключение по заднему фронту воздействует на счетчик, который считает сигналы. Ниже представлена конструкция, которая отвечает за сброс триггеров и счетчика. Также в этой конструкции присутствует костыль, который сделан для синхронизации сброса.
12
Рисунок 1.3.4 – Выходная часть
13
1.4МОДЕЛИРОВАНИЕ
Втаблице 1.5 представлен план моделирования для вычислительного
блока.
Таблица 1.5 – План моделирования
План моделирования
|
|
|
Входы |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
Выходы |
|
||
|
Код |
|
|
|
Данные |
|
|
Сброс |
|
|
|||||
№Сигнала |
операции |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
C7 |
C6 |
D5 |
D4 |
|
D3 |
D2 |
D1 |
D0 |
R |
Q4 |
Q3 |
Q2 |
Q1 |
Q0 |
1 |
0 |
1 |
X |
X |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
|
2 |
0 |
1 |
X |
X |
|
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
3 |
1 |
0 |
1 |
0 |
|
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
- |
- |
4 |
1 |
0 |
0 |
0 |
|
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
- |
- |
5 |
1 |
1 |
1 |
0 |
|
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
- |
6 |
1 |
1 |
1 |
0 |
|
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
- |
7 |
0 |
0 |
X |
X |
X |
X |
X |
X |
0 |
0 |
0 |
1 |
1 |
1 |
|
8 |
X |
X |
X |
X |
X |
X |
X |
X |
1 |
0 |
0 |
0 |
0 |
0 |
|
9 |
0 |
0 |
X |
X |
X |
X |
X |
X |
0 |
0 |
0 |
0 |
0 |
1 |
|
На рисунках 1.4.1 – 1.4.4 представлены результаты моделирования в режиме Timing. На рисунках 1.4.5 – 1.4.8 представлены результаты моделирования в режиме Functional. В промежуток 0-1400нс представлена работа первого сигнала, 2000-3200нс – второго, 4000-4800нс – третьего, 5950-
6800нс – четвертого, 10000-11000нс – пятого, 12000-13000нс – шестого, 14000-
15200нс – седьмого, 16000-17150нс – восьмого, 17700-19100нс – девятого.
Рисунок 1.4.1 – Моделирование в режиме Timing
14
Рисунок 1.4.2 – Моделирование в режиме Timing
Рисунок 1.4.3 – Моделирование в режиме Timing
Рисунок 1.4.4 – Моделирование в режиме Timing
Рисунок 1.4.5 – Моделирование в режиме Functional
15