O Projeto Eletrônica
Por: ana.pinho0 • 1/12/2022 • Trabalho acadêmico • 5.395 Palavras (22 Páginas) • 120 Visualizações
*****PROJETO*****
módulo WaterPumpSystem (Clock, Reset, S1, S2, S3, S4, B1, B2);
relógio de entrada , reset, S1, S2, S3, S4;
registro de saída B1, B2;
reg [ 1 : 0 ] Estado, EstadoFuturo, Estado2, EstadoFuturo2;
parâmetro Vazio = 2'b00 ,
Preenchimento = 2'b01 ,
Completo = 2'b10 ,
Esvaziamento = 2'b11 ;
sempre @ (S1 ou S2 ou Estado)
começar
EstadoFuturo = Vazio;
B1 = 1'b0 ;
caso (estado)
Vazio: caso ({S2, S1})
2'b00 : início
EstadoFuturo = Vazio;
B1 = 1'b1 ;
B2 = 1'b0 ;
fim
2'b01 : início
FutureState = Preenchimento;
B1 = 1'b1 ;
B2 = 1'b1 ;
fim
2'b10 : início
EstadoFuturo = Vazio;
B1 = 1'b0 ;
B2 = 1'b0 ;
fim
2'b11 : começar
EstadoFuturo = Vazio;
B1 = 1'b0 ;
B2 = 1'b0 ;
fim
caixa final
Preenchimento: caixa ({S2, S1})
2'b00 : início
FutureState = Preenchimento;
B1 = 1'b0 ;
B2 = 1'b0 ;
fim
2'b01 : início
FutureState = Preenchimento;
B1 = 1'b1 ;
B2 = 1'b1 ;
fim
2'b10 : início
FutureState = Preenchimento;
B1 = 1'b0 ;
B2 = 1'b0 ;
fim
2'b11 : começar
FutureState = Completo;
B1 = 1'b0 ;
B2 = 1'b1 ;
fim
caixa final
Full: case ({S2, S1})
2'b00: begin
FutureState = Full;
B1 = 1'b0;
B2 = 1'b0;
end
2'b01: begin
FutureState = Emptying;
B1 = 1'b0;
B2 = 1'b1;
end
2'b10: begin
FutureState = Full;
B1 = 1'b0;
B2 = 1'b0;
end
2'b11: begin
FutureState = Full;
B1 = 1'b0;
B2 = 1'b1;
end
endcase
Emptying: case ({S2, S1})
2'b00: begin
FutureState = Empty;
B1 = 1'b0;
B2 = 1'b0;
end
2'b01: begin
FutureState = Emptying;
B1 = 1'b0;
B2 = 1'b0;
end
2'b10: begin
FutureState = Emptying;
B1 = 1'b0;
B2 = 1'b0;
end
2'b11: begin
FutureState
...