8 votos

Detectar registros que no son de restablecimiento de

Cuando la escritura Verilog, yo uso una variedad de "pelusa" que va a dar errores y advertencias. Estos son mis simulador (ModelSim), el compilador (Quartus II), junto con una desfibradora (Verilator). Juntos, tengo buena cobertura por riesgos comunes, tales como el tamaño del bus desajustes y se infiere pestillos.

Desafortunadamente, ninguna de las tres herramientas detecta los registros que no se restablezca. A ver lo que quiero decir, considerar el siguiente.

reg a;
reg b;

always @(posedge clk_i or posedge rst_i) begin
  if(rst_i) begin
    a <= 1'b0; // Reset a
    // Ooops, forgot to reset b
  end else begin
    // Do stuff with a and b
  end
end

¿Cómo puedo tener mis herramientas de detectar automáticamente los registros que no están siendo reset?

3voto

Louise Puntos 16

Ninguno de los instrumentos mencionados es un verdadero dejan mucho menos mota herramienta. Estas herramientas no están pensados para dar una buena cobertura dejan mucho menos mota.

Vi a dos comerciales que dejan mucho menos mota herramientas y ambos tenían reglas para la detección de la no-reset flops.

Veo tres opciones:

  1. Si la respuesta de David Kessner trabaja para usted camino a seguir.
  2. Obtener una decente dejan mucho menos mota herramienta que hará el trabajo.
  3. Escribir un script que detecta el no restablecimiento de flops.

Ahora, #2 no puede ser así de simple. No sé si hay buenas libre de pelusa, y de ahí el profesional son caros y va a tomar un montón de tiempo para el programa de instalación.

#3 es el enfoque que yo usaría. Si sabes de algún lenguaje de scripting (Perl, Python, ...) que le llevará un día a la mayoría de escribir un script que busca sin restablecimiento flops. Si usted no sabe cualquier lenguaje de secuencias de comandos, no es StackOverflow donde puedes pedir un par de días y listo. Esto también agregar otra herramienta en su caja de herramientas personal que es muy valorada entre los front-end de los diseñadores de escritura de procesamiento de texto de scripts.

Buena suerte!

1voto

Flory Puntos 1911

Me baso en pruebas funcionales en lugar de que dejan mucho menos mota herramientas para ello, que tienden a alternar reset y volver a jugar de partes del banco de pruebas. Si el dispositivo funciona correctamente después de reiniciar, entonces has restablecer el espacio de estado suficientemente, o su banco de pruebas no es bueno!

0voto

Duncan Smart Puntos 9195

A veces las herramientas de diseño de salida será de una serie de informes que proporcionan todo tipo de información interesante. Por ejemplo, Xilinx podría llamar a esto un Mapa de Informe, que indica qué componentes lógicos fueron asignadas a lo que los componentes físicos.

En el ejemplo anterior, reg podría ser asignada a un FDCE (Flip-flop, D, con asincrónica Claro, y Activar el reloj), mientras reg b se asignan a una FDE (Flip-flop, D, y Activar el reloj). Esto le dirá a usted que reg b no tiene ningún reset.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X