Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 Семестр / Отчеты / 9 варик / 8laboratornaya_данные_удалены

.pdf
Скачиваний:
17
Добавлен:
07.06.2022
Размер:
1.27 Mб
Скачать

Рисунок 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

Рисунок 1.4.6 – Моделирование в режиме Functional

Рисунок 1.4.7 – Моделирование в режиме Functional

Рисунок 1.4.8 – Моделирование в режиме Functional

Результаты совпадают с таблицей плана моделирования, что говорит о том, что все выполнено верно. Наблюдаются задержки на выходах, которые появляются по причине того, что на обработку информации каждым логическим элементом затрачивается некоторое время. В функциональном моделировании нет задержек по причине того, что в нем всё является идеализированным и логические функции обрабатываются моментально.

16

1.5 КОД НА HDL

На рисунках 1.5.1 – 1.5.4 представлен код схемы вычислительного блока,

написанного на языке описания аппаратуры System Verilog. Схема описана поведенчески и также включает в себя три основных блока: входной блок,

операционный блок и выходной блок. Также присутствуют и пути соединения блоков.

Рисунок 1.5.1 – Код на HDL (1)

17

Рисунок 1.5.2 – Код на HDL (2)

Рисунок 1.5.3 – Код на HDL (3) 18

Рисунок 1.5.4 – Код на HDL (4)

На рисунках 1.5.5, 1.5.7, 1.5.10 и 1.5.11 представлен каждый блок кода по отдельности.

Рисунок 1.5.5 – Входной блок

19

Он записывает данные поступающие по внешнему синхроимпульсу

C_ext, а также считает количество операций по тому же синхроимпульсу. На выходе у него записанные данные, код операций, а также значение счётчика. На рисунке 1.5.6 представлена схема из RTL Viewer для данной части устройства.

Рисунок 1.5.6 – Схема из RTL Viewer входного блока

20