Red de conocimiento informático - Problemas con los teléfonos móviles - La simulación de temporización del contador VHDL es anormal

La simulación de temporización del contador VHDL es anormal

cnt debe definirse como una variable en el proceso de proceso.

if(cnt1<"111111") then

cnt1<=; cnt1+1 ;

Hay retroalimentación en con; usar <= para asignar un buen valor es una característica de la señal. Su asignación se retrasa y los resultados requeridos no se pueden obtener usando la simulación de tiempo. Se puede resolver utilizando variables y no hay demora en la asignación de valores a las variables.

El siguiente es mi contador de cuatro dígitos; preste atención a la definición de la variable y use ( := )

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164. TODOS;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTIDAD js ES

PUERTO (clk,clr: IN STD_LOGIC;

q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0));

END js;

El comportamiento de la ARQUITECTURA DE js ES

COMENZAR

PROCESO(clk ,clr)

VARIABLE q1: STD_LOGIC_VECTOR(3 DOWNTO 0);--definido como una variable

COMENZAR

SI clr = '0' ENTONCES q1: ="0000" ;

ELSIF CLK'EVENT AND CLK = '1' ENTONCES

IF q1 ="1111" ENTONCES

q1:="0000" ;

ELSE

q1 := q1 + 1;--No hay retraso para la asignación de variables: =.

TERMINAR SI;

q<=q1;

TERMINAR SI;

TERMINAR PROCESO;

FIN comportamiento;