Utilizo el comando vcd files
en ModelSim para grabar archivos vcd para diferentes pasos de simulación algo como esto:
vcd files ../vcd/_my401.vcd
vcd add -file ../vcd/_my401.vcd -r testbench/*
run 2us
vcd off ../vcd/_my401.vcd
vcd flush ../vcd/_my401.vcd
vcd files ../vcd/_my402.vcd
vcd add -file ../vcd/_my402.vcd -r testbench/*
run 2us
vcd off ../vcd/_my402.vcd
vcd flush ../vcd/_my402.vcd
Como puede ver este simulador de ejecución de script para 2us y luego guardar el volcado de onda en _my401.vcd
y vaciarlo y luego ejecutar 2us y dumpt los resultados en otro archivo _my402.vcd
.
Noté que al ejecutar una simulación con muchos archivos .vcd definidos (por ejemplo, archivos de 10K vcd), se degrada el rendimiento de la simulación. Así que quiero saber:
- ¿Hay algún método para cerrar cada archivo vcd y abrir uno nuevo que no afecte el rendimiento?
2. Actualmente, divido mi tiempo de ejecución de la gran simulación en ventanas de tiempo más pequeñas. Por ejemplo, en lugar de ejecutarlo durante 1 segundo y crear 500000 archivos vcd, corro 1000 ventanas de tiempo de 1 ms y en cada uno de ellos uso 500 archivos vcd para capturar los cambios de señal. Pero necesito reiniciar la simulación desde 0 segundos y ejecutar desde el inicio hasta el inicio de esa ventana de tiempo nuevamente para capturar los resultados en esa ventana de tiempo. Quiero saber si hay algún método para guardar el estado del circuito al final de cada ventana de tiempo y usarlo como punto de partida para el inicio de la siguiente ventana de tiempo.