Verilog Retos: siempre @ *

C

choonlle

Guest
lo que es diferente entre @ * siempre y siempre(*)?siempre @ (*)
empezar

utilizará = bloqueo

siempre @ *
...utilizará <= (no bloqueo)

 
hola,

Asignación de procedimiento permite una alternativa, a menudo de nivel superior, de comportamiento
Descripción de lógica combinatoria.Dos declaraciones procedimiento estructurado: inicial y siempre.Edge-circuitos disparado se describen usando un bloque secuencial siempre
Ejemplo:
sel módulo combinadas (a, b,,
out);
de entrada a, b;
sel de entrada;
Salida a cabo;
reg a cabo;
siempre @ (A o B o SEL)
empezar
if (SEL) a = a;
else out = b;
final
endmodule

Secuencial siempre bloque ejemplo:
secuencial módulo (a, b, sel,
CLK, out);
de entrada a, b;
sel de entrada, clk;
Salida a cabo;
reg a cabo;
siempre @ (clk posedge)
empezar
if (SEL) a <= a;
otra cosa fuera <= b;
final
endmodule

El uso de posedge y negedge siempre hace un bloque de secuencia
(flanco).A diferencia de un bloque combinadas siempre, la lista de sensibilidad se
determinar el comportamiento de la síntesis!

El bloqueo de la misión: la evaluación y la asignación son inmediatos
ejemplo:
siempre @ (A o B o C)
empezar
x = a | b;
y = a ^ b ^ c;
z = b & ~ c;
final

Sin bloqueo de asignación: todas las asignaciones de aplazarse hasta que todos la mano derecha
partes han sido evaluadas (fin de la simulación Timestep)
Ejemplo:
siempre @ (A o B o C)
empezar
x <= a | b;
y <= a ^ b ^ c;
z <= b & ~ c;
final
A veces, como anteriormente, ambos producen el mismo resultado.A veces, no! Asignaciones de bloqueo no reflejan el comportamiento intrínseco de multi-etapa de lógica secuencial

Orientación: el uso de no bloqueo secuencial de misiones para siempre bloques

Esperamos que esta ayuda.

 
Gracias por su respuestaLuego, debe explicar lo que U es la diferencia entre siempre y siempre * @ @ (*)

 
Hola,
No tengo un gran conocimiento de la diferencia, pero, sé que verilog-2001 sugiere siempre @ * lo que hará que las señales en el lado derecho que se añade a la lista de sensibilidad.Creo que es nada tiene que ver con la no-bloqueo declaraciones.

También sé que (* ........ *) se utiliza para otros fines.comprobará y dejar u saber en (*).

Por el momento, si u desea obtener más información, consulte el artículo cumming Clifford en verilog 2001.

 

Welcome to EDABoard.com

Sponsor

Back
Top