Duda sintaxis maquina de moore verilog

hola tengo que hacer el codigo de control de semaforo de una intersección pero una duda gigante respecto a la sintaxis del codigo no se si se pueden asignar 2 registros y quizas halla algun otro error del que no me he percatado.
Código:
//control semáforo para intersección, A1(avenida 1) A2(Avenida 2) TA(sensor de trafico 1) //TB(sensor de trafico 2). Si A1 verde y hay tráfico no pasa nada si no A1=Amarillo->rojo //&A2=Amarillo->Verde
//Estado inicial A1: Verde, A2: rojo.
//C/5seg TA y TB revisan si hay tráfico
Module semaforo (
input clk,
Input luzA,
Input LuzB,
input TA,
input TB,
output y,
output z);
//aqui ingreso los 2 estados de trafico 1 para cuando hay y cero para cuando no hay no estoy seguro de si es una entrada valida
TA=2b’10
TB=2b’10
//hago el registro de cada semaforo por separado no encontré la forma de meter todo en un solo //registro no estoy seguro de si tengo que escribir state o es solo el nombre de el ejemplo que vi //en el libro XP
Reg [2;0] state luzA, nexstate;
//		     r a v “ rojo, amarillo, verde, 1bit por cada bombilla en el parámetro” 
Parameter S0 = 3b’001
Parameter S1 = 3b’010
Parameter S2 = 3b’100
Parameter S3 = 3b’100
Reg[2;0] sate LuzB nexstate;
Parameter S0 = 3b’100
Parameter S1 = 3b’100
Parameter S2 = 3b’001
Parameter S3 = 3b’100
Always @ (posedge clk, posedge reset)
If (reset) state luzA<= S0;
	  state LuzB<= S0;
Else state luzA<= nexstate;
       State LuzB<= nexstate;
Always @ (*)
Case (state LuzA)
S0: if (TA=1) nexstate= S0;
	else  nexstate=S1;
S1: 	        nexstate= S2;
S2: 	        nexstate= S3;
S3;	        nexstate= S0;
Default nexstate S0;	
Endcase
assign z=(state==S0) //aqui no estoy seguro de si es S0 o algún Sn.

Case (state LuzA)
S0:	         nexstate=S1;
S1: 	        nexstate= S2;
S2: if (TB=1) nexstate= S2;
	else  nexstate=S3;
S3;	        nexstate= S0;
Default nexstate S0;	
endcase
assign y=(state==S0) //aqui no estoy seguro de si es S0 o algún Sn.
 
quizas es una bobada pero se me olvido dejar el dibujito de la maquina.
2nq4kmp.png
 
Tengo el Verilog un poco olvidado... lo que te diria es que te bajes alguna herramienta gratis para Verilog, compiles y simules lo que hiciste. Es la unica manera de aprender.
 
Atrás
Arriba