es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Chisel3’s printf genera salida en la terminal al simular el verilog emitido?

Estaba investigando sobre “Chiffre” como una opción para inyección de fallas en mi diseño y noté algunos declaraciones “when” con “printf” dentro de ellas.

when (enabled && RegNext(!enabled)) {
    printf(s"""|

$name enabled |

- seed: 0x%x |

- difficulty: 0x%x |""".stripMargin, seed, difficulty) } when (!enabled && RegNext(enabled)) { printf(s"

$name disabled\n") }

Encontré esto un poco extraño, así que comencé a investigar. Hasta ahora, sé que chisel3 tiene una función “printf”, y la documentación dice que “imprime un mensaje en la simulación”. ¿Esto se aplica a simulaciones de Verilog, simulaciones de Scala o ambas? Si uso el “printf” de chisel3, ¿esto resulta en declaraciones de “$display” en Verilog?

Tags:  

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en Chisel, puedo proporcionar la siguiente respuesta:

    La función printf de Chisel se utiliza para imprimir mensajes durante las simulaciones. Esto se aplica tanto a las simulaciones en Verilog como en Scala. Cuando se utiliza printf en Chisel, genera declaraciones $display en el código Verilog. Estas declaraciones $display pueden luego ser utilizadas para ver los mensajes de simulación cuando el código se ejecuta a través de un simulador Verilog. Por lo tanto, utilizar la función printf de Chisel puede ser una forma efectiva de depurar y ver los mensajes de simulación durante el proceso de desarrollo.

Comments are closed.