
- •Логические функции (1,2,3 выводные). Законы де Моргана.
- •Минимизация функций алгебры логики (фал). Разложение фал в различных базисах.
- •Язык конфигурирования программируемых логических схем Verilog.
- •Основные конструкции языка (описать, пример использования)
- •Реализация комбинационной логики на Verilog
- •Формальное определение
- •Способы задания
- •Автомат Мили
- •Автомат Мура
- •Реализация секвенциальной логики на Verilog
- •Автомат Мили
- •Автомат Мура
- •Реализация дешифраторов/шифраторов (2 варианта)
- •Реализация мультиплексоров
- •Реализация счетчиков (модули счета, пропуск состояний)
- •Реализация регистров (обычных, сдвиговых)
- •Реализация цифровых автоматов (Мура)
- •Реализация цифровых автоматов (Милли)
- •Реализация генератора последовательностей.
- •Реализация мультивибратора.
- •Реализация одновибратора.
- •Процессор виды, способы реализации. Микропроцессор. Микропроцессорная система. Трехшинная архитектура микропроцессорных систем.
- •Виды процессоров:
- •Назначение шин следующее:
- •Необходимость создания программного цифрового автомата. Гарвардская архитектура (достоинства недостатки).
- •Способы реализации стековой памяти.
- •Машинный такт, цикл. Блок- схема машинного цикла.
- •Проблема выбора структуры и формата команд.
- •Недостатки cisc архитектуры
- •Характерные особенности risc-процессоров
- •Группы команд. Реализаций групп команд в различных архитектурах.
- •Структура микроконтроллера c8051f411
Автомат Мили
В автомате Мили (англ. Mealy machine) функция выходов определяет значение выходного символа по классической схеме абстрактного автомата. Математическая модель автомата Мили и схема рекуррентных соотношений не отличаются от математической модели и схемы рекуррентных соотношений абстрактного автомата. Таким образом, можно дать следующее определение:
Конечным детерминированным автоматом типа Мили называется совокупность пяти объектов
,
где S, X и Y — конечные непустые множества, а и — отображения вида:
и
со связью элементов множеств S, X и Y в абстрактном времени T = {0, 1, 2, …} уравнениями:
(Отображения и получили названия, соответственно функции переходов и функции выходов автомата A).
Особенностью автомата Мили является то, что функция выходов является двухаргументной и символ в выходном канале y(t) обнаруживается только при наличии символа во входном канале x(t).
Автомат Мура
Зависимость выходного сигнала только от состояния представлена в автоматах типа Мура (англ. Moore machine). В автомате Мура функция выходов определяет значение выходного символа только по одному аргументу — состоянию автомата. Эту функцию называют также функцией меток, так как она каждому состоянию автомата ставит метку на выходе.
Функциональная схема автомата Мура
Конечным детерминированным автоматом типа Мура называется совокупность пяти объектов:
где S, X, Y и δ — соответствуют определению автомата типа Мили, а μ является отображением вида: μ : S → Y,
с зависимостью состояний и выходных сигналов во времени уравнением:
.
Особенностью автомата Мура является то, что символ y(t) в выходном канале существует все время, пока автомат находится в состоянии s(t).
Для любого автомата Мура существует автомат Мили, реализующий ту же самую функцию. И наоборот: для любого автомата Мили существует соответствующий автомат Мура.
Реализация дешифраторов/шифраторов (2 варианта)
Приоритетный шифратор строится с использованием оператора If-Then-Else
Пример описания на Verilog
module IF_MUX (c, d, e, f, s, pout);
input c,d, e, f;
input [1:0]s;
output pout;
reg pout;
always @(c or d or e or f or s) begin
if (s == 2'b00)
pout = c;
else if (s ==2'b01)
pout = d;
else if (s ==2'b10)
pout = e;
else pout = f;
end
endmodule
Дешифратор, пожалуй, является самым распространенным комбинационным устройством. Ниже приводиться пример дешифратора 3 в 8.
Описание дешифратора на Verilog имеет вид
module decode (Ain, En, Yout);
input En;
input [2:0] Ain;
output [7:0] Yout;
reg [7:0] Yout;
always @(En or Ain)
begin
if (!En)
Yout = 8'b0;
else
case (Ain)
3'b000 : Yout = 8'b00000001;
3'b001 : Yout = 8'b00000010;
3'b010 : Yout = 8'b00000100;
3'b011 : Yout = 8'b00001000;
3'b100 : Yout = 8'b00010000;
3'b101 : Yout = 8'b00100000;
3'b110 : Yout = 8'b01000000;
3'b111 : Yout = 8'b10000000;
default : Yout = 8'b00000000;
endcase
end
endmodule