archivos VCD: acoplan buses a nodos individuales

0

Me preguntaba si es posible aplanar todos los buses en un archivo VCD de modo que se registrará un cambio de valor separado para cada bit, en lugar de una grabación acumulativa de la siguiente sintaxis: b<value> <identifier>

Mi objetivo es contar el número de transiciones que ocurren después de cada marca de tiempo registrada. Si todos los buses se aplanaran, esto sería sencillo ya que simplemente sería el número de cambios de valor enumerados.

Sin embargo, estos cambios de vectores en lugar de cambios de bits complican el problema. Necesitaría mantener un registro del estado anterior del vector para determinar exactamente cuántos bits en el vector hizo la transición.

Cualquier otra sugerencia para solucionar el problema es bienvenida, se agradece cualquier ayuda.

-k

    
pregunta kbarber

1 respuesta

2

Es posible aplanar un bus de este tipo mediante programación.

En lugar de escribir

$var wire 8 # data $end

Tendrá que declarar (en este caso) 8 variables individuales

$var wire 1 $ data0 $end
$var wire 1 % data1 $end
$var wire 1 & data2 $end
[...]

Y luego puede convertir cada cambio en líneas separadas:

b10000001 #

Pasará a: (sabiendo que el último estado es b01100001 )

1$
0%
0&

Por lo tanto, tendrá que analizar y reescribir el archivo VCD usando su lenguaje de programación favorito.

    
respondido por el Nippey

Lea otras preguntas en las etiquetas