¿Quién entiende el momento en Verilog

S

sutapanaki

Guest
Hola,

Necesito ayuda con el siguiente código Verilog.Si alguien entiende esto,
por favor, responde:
Generación de reloj:1: siempre
2: comenzar
3: # 50 clk <= 1'b0;
4: # 50 clk <= 1'b1;
5: finalEl tiempo en Verilog: caso control de tiempo:6: siempre @ (posedge clk)
7: comenzar
8: if (clk === 1'b1)
9: clk1 <= clk;

10: final

La pregunta es: en el momento 100 y en la línea 6, y 9: ¿cuál es el valor de clk?
El clk deben programarse para la transición a una al final de los tiempos # 100,
en caso de que no es cierto?

 
Creo que debería haber "bloque inicial" para determinar el valor de reloj al principio de iniciar su verylog.isn No es cierto?

 
No, no creo que necesito bloque inicial, en este caso, porque el clk fiexd se le asigna un valor de 1'b0 y 1'b1.Mi pregunta es acerca de la orden de ejecución durante un tiempo de paso.
En el código tengo que dice así:

1: siempre
2: comenzar
3: # 50 clk <= 1'b0;
4: # 50 clk <= 1'b1;
5: final6: siempre @ (posedge clk)
7: comenzar
8: if (clk === 1'b1)
9: clk1 <= clk;

10: finaltiempo 50: clk = 1'bx;
/ / la línea 3: clk scheduel es para obtener el valor 1'b0 al final de timestep 50;

tiempo 50: clk = 1'b0;
/ / la línea 4: transición 1'bx-> 1'b0 no triger @ (posedge clk) y la asignación se ejecuta al final del paso de tiempotiempo 100: clk = 1'b0;
/ / la línea 3: clk scheduel es para obtener el valor 1'b0 al final de timestep 100;

tiempo 100: clk = 1'b0;
/ / Línea 5: transición 1'b0 -> 1'b1 trigers @ (posedge clk)

tiempo 100: clk = 1'b1;
/ / Línea 6: El nuevo schedualed evento se ejecuta al mismo tiempo paso clk 100, pero ya ha cambiado un valor.¿Por qué?

En los libros que dicen que la falta de asignación de bloqueo '<=' se ejecuta como el último caso, después de todo blockin tareas schedualed para este paso de tiempo se ejecutan.Incluso el recién trigered eventos.

 
Sutapanaki,

Su reloj será indefinido (1'bx) hasta 50 unidad de los intervalos de tiempo (según lo establecido por la «Directiva de tiempo de simulación).En este punto irá bajo.Intervalos de 100 unidades el reloj transición a alto nivel ...Eso es

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sonreír" border="0" />
 
Sí, lo sé.Hoever, mi pregunta no es sobre eso.Como he dicho antes sobre la necesidad de comprender el orden de ejecución durante un tiempo de paso.
Por favor, lea mi anterior puesto hasta el final.thnx

 
He declarado y clk clk1 como reg, y corrió en Modelsim:

clk: comienza como X, en t = 50ns va de baja, en t = 100ns va de alta, en t = 150ns va de baja, y sigue cambiando para siempre a 10 MHz.

clk1: comienza como X, en t = 100ns va alto y sigue siendo alto para siempre.

Que me parece correcto.Se espera que un comportamiento diferente?

 
100 y en el momento en la línea 6, y 9: el valor de clk es'1 '
El clk deben programarse para la transición a una al final de los tiempos múltiples de la # 100.

El código que se escribió el código de comportamiento.

 
Hola echo47,

Esperar un comportamiento diferente de la manera siguiente:

1: siempre
2: comenzar
3: # 50 clk <= 1'b0;
4: # 50 clk <= 1'b1;
$ display ($ tiempo ", clk% b", clk);

/ / aquí se clk clk == 1'b0 a causa de la no asignación de bloqueo

5: final6: siempre @ (posedge clk)
7: comenzar
$ display ($ tiempo ", clk% b", clk)

/ * Lo que esperaba un comportamiento diferente aquí: Espero clk == 1'b0.
Como es arriba.
Eso es lo que esperan de una cesión, cuando no el bloqueo de la timestep (100) no ha terminado todavía.
La simulación muestra clk == 1'b1.
Por lo tanto, el bloqueo de la cesión no se ejecuta no al final del paso de tiempo, pero en algún lugar de la midle - antes de la manifestación que trigers.
Esto me sorprende * /8: if (clk === 1'b1)
9: clk1 <= clk;

10: final

 
Tengo una muy buena respuesta a mi pregunta.Para los interesados ver el enlace:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&newwindow=1&selm=sdd4qn49f4e.fsf% 40shell01.TheWorld.com

 
Usted puede disfrutar de la norma oficial Verilog, IEEE Std 1364-2001.Está lleno de esos detalles.
Es en virtud de MCU Fileman Especificaciones / IEEE.

 

Welcome to EDABoard.com

Sponsor

Back
Top