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

ПР-7

.pdf
Скачиваний:
0
Добавлен:
19.03.2025
Размер:
341.14 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение высшего образования

«МИРЭА - Российский технологический университет»

РТУ МИРЭА

Институт Информационных Технологий Кафедра Вычислительной Техники (ВТ)

ОТЧЁТ ПО ПРАКТИЧЕСКОЙ РАБОТЕ № 7

«Реализация конечных автоматов, заданных автоматным графом.»

по дисциплине

«Архитектура вычислительных машин и систем»

Выполнил студент группы

Воеводский А.В.

ИВБО-20-23

 

Принял ассистент кафедры ВТ

Дуксина И.И.

Практическая работа выполнена

« __ » _______ 2024 г.

«Зачтено»

« __ » _______ 2024 г.

Москва 2024

АННОТАЦИЯ

Данная работа включает в себя 2 рисунка, 3 листинга. Количество страниц

в работе — 12.

 

СОДЕРЖАНИЕ

 

1 ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ.....................................................

5

1.1

Реализация модулей счетчика и делителя частоты .................................

5

1.2

Реализация тестового модуля ....................................................................

6

2 ТЕСТИРОВАНИЕ ..........................................................................................

9

ЗАКЛЮЧЕНИЕ ...............................................................................................

11

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ .....................................

12

3

ВВЕДЕНИЕ

Автомат Мура - синхронный автомат, у которого значения выхода определяются только состоянием автомата в тот же дискретный момент времени. При этом комбинационная схема, вычисляющая выходное значение, не связана непосредственно с входными сигналами.

Автомат Мили - синхронный автомат, у которого вход и выход не развязаны во времени, т.е. хотя бы один выход зависит от текущего значения на входе.

Автоматы Мура и Мили широко применяются при проектировании цифровых устройств на основе программируемых логических интегральных схем (ПЛИС).

Основное преимущество использования автомата Мили заключается в возможности реакции автомата в течение текущего такта, что обусловлено зависимостью текущей выходной комбинации от текущей входной комбинации.

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

Также автоматы Мура и взаимодействующие автоматы Мили используются в генетическом программировании (например, для решения задачи об "Умном муравье"). [1]

4

1 ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ

1.1 Реализация модулей автомата Мили и Мура

Реализация модуля автомата Мили представлена в Листинге 1.1.[2]

Листинг 1.1 — Реализация модуля автомата Мили

`timescale 1ns / 1ps module mealy(

input clk, input [2:0] a,

output reg [1:0] b, output reg d

); initial begin

b = 0;

end

always @(posedge clk) begin

case (b) 2'b00: begin

if (a[0] == 1) b <= 2'b11;

else

b <= 2'b10;

d = ~a[2] | a[0]; end

2'b01: begin

if (a[0] == 1) b <= 2'b10;

else

b <= 2'b00; d = a[2] | a[1]; end

2'b10: begin casex (a)

3'bx1x: b <= 2'b00; 3'bx00: b <= 2'b10; 3'bx01: b <= 2'b01;

endcase

d = (~a[2] & a[0]) | (a[2] & ~a[0]); end

2'b11: begin

if (a[1] == 1) b <= 2'b10;

else

b <= 2'b01; d = a[2] & a[1]; end

endcase

end endmodule

Реализация модуля автомата Мура представлена в Листинге 1.2. 5

Листинг 1.2 — Реализация модуля автомата Мура

`timescale 1ns / 1ps module moore(

input clk, input [2:0] a,

output reg [2:0] b, output d

); initial begin

b = 0;

end

assign d = (b[2] & b[1] ) | b[0]; always @(posedge clk)

begin

casex (b) 3'b00x: begin casex (a)

3'b0x0: b <= 5; 3'bxx1: b <= 6; 3'b1x0: b <= 4;

endcase end 3'b01x: begin casex (a)

3'b000: b <= 0; 3'bxx0: b <= 1; 3'b001: b <= 4; 3'bxx1: b <= 5;

endcase end 3'b10x: begin casex (a)

3'b000: b <= 4; 3'b001: b <= 3; 3'b010: b <= 0; 3'b011: b <= 1; 3'b100: b <= 5; 3'b101: b <= 2; 3'b110: b <= 1; 3'b111: b <= 0;

endcase end

6: begin

casex (a)

3'bx0x: b <= 2; 3'b01x: b <= 4; 3'b11x: b <= 5;

endcase end

endcase

end endmodule

1.2 Реализация тестового модуля

Реализация тестового модуля представлена в Листинге 1.3. 6

Листинг 1.3 — Реализация тестового модуля

`timescale 1ns / 1ps

module main(

);

reg

clk;

 

integer cnt;

 

reg

[2:0] a;

 

wire [1:0] state_mealy; wire [2:0] state_moore; wire out_mealy, out_moore; initial

begin

clk = 0; a = 0; cnt = 0;

end

always #10 clk = ~clk;

always @(posedge clk) begin

cnt = cnt + 1; case (cnt)

1:a = 0;

2:a = 2;

3:a = 1;

4:a = 0;

5:a = 1;

6:a = 0;

7:a = 5;

8:a = 0;

9:a = 1;

10:a = 2;

11:a = 2;

12:a = 4;

13:a = 3;

14:a = 4;

15:a = 4;

16:a = 0;

17:a = 4;

18:a = 4;

19:a = 1;

20:a = 3;

21:a = 3;

22:a = 0;

23:a = 1;

24:a = 1;

25:a = 1;

26:a = 2;

27:a = 1;

28:a = 6;

29:a = 1;

30:a = 0;

31:a = 1;

32:a = 0;

33:a = 3;

34:a = 5;

35:a = 6;

default: $finish; endcase

end

mealy me(

.clk(clk),

.a(a),

7

Продолжение Листинга 1.3

.b(state_mealy),

.d(out_mealy) );

moore mo(

.clk(clk),

.a(a),

.b(state_moore),

.d(out_moore)

); endmodule

8

2 ТЕСТИРОВАНИЕ

Запустим полученную схему и произведем её верификацию. Результат выполнения представлен на Рисунке 2.1.

Рисунок 2.1 — Результат верификации полученной схемы

Граф обхода автомата Мура представлен на Рисунке 2.2.

Рисунок 2.2 — Граф обхода автомата Мура

Важно заметить, что этот же граф справедлив и для автомата Мили, если считать, что пары состояний 0 и 1, 2 и 3, 4 и 5 и состояние 6 соответствуют состояниям 0, 1, 2, 3 автомата Мили. Таким образом, из результата верификации

9

видно, что автоматы ведут себя согласно графу обхода, выходы автоматов совпадают с истинными. Таким образом, полученная схема верифицирована.

10

Соседние файлы в предмете Архитектура вычислительный машин и систем