Haz una pregunta
  Foros de Electrónica » Diseño digital » Circuitos lógicos combinacionales y secuenciales
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

12/05/2014 #1


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.
13/05/2014 #2


quizas es una bobada pero se me olvido dejar el dibujito de la maquina.
13/05/2014 #3

Avatar de chclau

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.
15/05/2014 #4


Gracias estoy viendo como se hace el tech bench en xilinx sufriendo mucho para entender eso si pero ahí voy
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Circuitos lógicos combinacionales y secuenciales

Compuertas, flips flops, registros, PLDs, codificadores, contadores, multiplexores, ...

Cerrar
Foros de Electrónica » Diseño digital » Circuitos lógicos combinacionales y secuenciales

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.