- •Исполнители: Модуль mealy — конечный автомат Mealy
- •* Модуль wrapper_mealy — обертка для конечного автомата Mealy
- •Распиновка
- •Исполнители
- •Модуль moore — конечный автомат Moore
- •* Модуль wrapper_moore — обертка для конечного автомата Moore
- •Исполнители
- •Модуль fsm_device — конечный автомат, имитирующий устройство
- •* Модуль wrapper_fsm_device — обертка для конечного автомата, имитирующего работу устройства
- •Исполнители заключение
Распиновка
<1> <фото платы>
|
<2> <фото платы>
|
<3> <фото платы>
|
<4> <фото платы>
|
Исполнители
<фото исполнителей>
Спонсор: розовые очки, черная маска и пара банок берна
Модуль moore — конечный автомат Moore
<Описание устройства> |
||||||
Описание на Verilog (сгенерированный код) `timescale 1ns/1ns
module More ( clock,reset,ctrl, evnt);
input clock; input reset; input ctrl; tri0 reset; tri0 ctrl; output evnt; reg evnt; reg [4:0] fstate; reg [4:0] reg_fstate; parameter START=0,A=1,B=2,C=3,D=4;
always @(posedge clock or posedge reset) begin if (reset) begin fstate <= START; end else begin fstate <= reg_fstate; end end
always @(fstate or ctrl) begin evnt <= 1'b0; case (fstate) START: begin if (ctrl) reg_fstate <= A; else if (~(ctrl)) reg_fstate <= B; // Inserting 'else' block to prevent latch inference else reg_fstate <= START;
evnt <= 1'b1; end A: begin reg_fstate <= B;
evnt <= 1'b0; end B: begin if (ctrl) reg_fstate <= C; else if (~(ctrl)) reg_fstate <= D; // Inserting 'else' block to prevent latch inference else reg_fstate <= B;
evnt <= 1'b1; end C: begin if (ctrl) reg_fstate <= D; else if (~(ctrl)) reg_fstate <= A; // Inserting 'else' block to prevent latch inference else reg_fstate <= C;
evnt <= 1'b1; end D: begin if (ctrl) reg_fstate <= A; else if (~(ctrl)) reg_fstate <= C; // Inserting 'else' block to prevent latch inference else reg_fstate <= D;
evnt <= 1'b1; end default: begin evnt <= 1'bx; $display ("Reach undefined state"); end endcase end endmodule // AAAA |
RTL-схема
|
|||||
States
|
General
|
Inputs
|
Outputs
|
Transition
|
Action
|
|
FSM-диаграмма
|
||||||
Временная диаграмма
|
||||||
