Cómo usar el puerto UART para enviar el estado en verilog

0

Estoy desarrollando varios módulos Verilog con la máquina de estado para una placa fpga.

  1. Cuando hice la simulación de los módulos, usé "$ display" para obtener lo que está sucediendo en el módulo o, de lo contrario, la información de estado.

  2. Ahora estoy implementando los mismos módulos en la fpga. Como "$ display" no es compatible con el hardware que pensé utilizar UART para enviar la información de estado a un terminal en una PC o computadora.

  3. Para eso estoy usando el modelo UART verilog obtenido de opencore.org . Pero al mismo tiempo solo se puede suministrar un byte a UART para la transmisión.

  4. Pero la información de estado contiene varias longitudes de caracteres como "Prueba aprobada", "Estado de restablecimiento ingresado", etc.

  5. ¿Existe algún método fácil para enviar cadenas de longitud variable en el puerto UART de manera muy similar a una sintaxis de $ display?

pregunta Vinod kumar

1 respuesta

1

Sí, hay una máquina de estados. ¿Es fácil? Eso es para el debate. He escrito máquinas de estado que controlan uarts. No sé qué puertos tiene tu uart. Pero usualmente tienen un dato en puerto y una señal de carga. Aquí hay un ejemplo, le hago saber que es posible responder a su pregunta. Ir a leer en las máquinas de estado en verilog. Esto le dará una idea de cómo se vería una máquina de estado que controla un uart:

Inicializar estado 1) Restablecer Uart -goto Inicializar estado2

Inicializar estado 2) Establecer control reg señales param 1 (como configurar un registro interno, como para velocidad de transmisión) -goto Inicializar estado 3

Inicializar estado 3) Habilitar control de carga -goto Inicializar estado 4

Inicializar estado 4) Configurar control reg señales param 2 -goto 1er estado) Espere

1er estado) Espera Si la señal de carga X es == alta, vaya al segundo estado si desea cargar un carácter X Si la señal de carga Y = = alta, vaya al cuarto estado si desea cargar el carácter X

segundo estado) Poner X datos en la línea de carga. -goto estado 3

tercer estado) Habilitar carga -volver al estado 1

cuarto estado) Ponga los datos de Y en la línea de carga -goto estado 5

quinto estado) Habilitar carga -volver al estado 1

    
respondido por el laptop2d

Lea otras preguntas en las etiquetas