Скачиваний:
0
Добавлен:
16.06.2026
Размер:
1.75 Mб
Скачать

Распиновка

<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-диаграмма

Временная диаграмма