la síntesis de

D

DAK-ju

Guest
Pls tener una mirada en el siguiente código en VHDL

if (clk'event y clk = 1) entonces
x <= y;
z <= x;
END IF;

Cuando sintetizar el código de la simulación RTL muestra z para ser un ciclo de CLK retraso de la versión, mientras que en la simulación y netlist muestra z a ciclo de dos clk retrasado la versión de y (que debería ser el caso actual.
Mi pregunta es - es el código anterior perfecto?va a causar ningún problema en la validación de los H / W o será un problema en el producto final en el silicio?

Otra observación que me gustaría compartir es que si puedo añadir "después de 1 ns" a la línea 2 y 3 del código de arriba puedo conseguir un resultado perfecto en la simulación de ambos RTL y netlist.
¿Es obligatorio añadir "después de 1 ns" para todo el diseño fracaso?

Gracias y saludos
DAK-ju

 
No hay nada malo con el código!Se debe producir el mismo resultado
tanto para RTL y simulación netlist.Esto sólo significa que hay algún
problema con el simulador con ur!No ha mensioned que simulador,
que la versión y en la que platfom que está utilizando.

 
U debe utilizar "señal" sólo para X, Y, Z.Si las variables de uso u, los resultados de la Ronda Uruguay serán diferentes.Esto es debido a los retrasos del delta.si las señales de uso, u obtendrá un resultado correcto y en el mismo, tanto en RTL y puerta de las simulaciones de nivel.

Si este no es el caso, entonces los simuladores también puede tener algún impacto sobre la base de opciones de uso u.PLS de verificación.

 
Dak Hi-ju,
la simulación de la síntesis de empleo, debe mostrar la correctresults.Usted puede ser que la simulación de pre-síntesis o modelo de conducta solamente.El modelo de síntesis posterior debe sintetizar a dos flop y estructura - x - z.

Saludos cordiales,

 
Su código es correcto para el circuito que desea.Y agregó que "después del 1 de NS" o "# 1" en Verilog se realiza sólo por los dont que comprender la forma en que la simulación de eventos basado en obras y es innecesaria.El hecho de que utiliza "<=" en lugar de ": =" muestra que ya ha utilizado correctamente las señales, no variables.

 
Creo que su simulación RTL es no tener en cuenta el bloqueo de las construcciones.Es un error.

 
los problemas que cree que es el proceso de declaración,,,, "si" es utilizado en el proceso de declaración,,, la señal dentro de un proceso no es instantáneo ...variable es la solución es dont u wanna problemas este VHACódigo:

Cuando sintetizar el código de la simulación RTL muestra z para ser un ciclo de CLK retraso de la versión, mientras que en la simulación y netlist muestra z a ciclo de dos clk retrasado la versión de y (que debería ser el caso actual.
 

Welcome to EDABoard.com

Sponsor

Back
Top