8

To test my Chisel designs I'm using Icarus with cocotb. But Icarus doesn't generate VCD traces if it's not asked explicitly in verilog module code like this :

`ifdef COCOTB_SIM
initial begin
  $dumpfile ("my_module_name.vcd");
  $dumpvars (0, my_module_name);
  #1;
end
`endif

To add this each time I generate my chisel module, I wrote a little python script named cocotbify.py that "inject" this code under the module generated.

Similarly, to add some systemVerilog assert()/assume() for Formal checking with yosys-smtbmc I have to "inject" code under each verilog modules generated. I also hacked a little python script named smtbmcify.py to inject my assert/assume codes.

I realize that is a hack, but I can't found a good way to do it directly under the Chisel module. I know that there are BlackBox, but I don't wan't to instanciate a submodule, and the function setInline create a second verilog file (I want to write in module directly).

I saw a type named ChiselAnnotation in Chisel scala code, But I'm not sure that is the things to use and I don't now how.

toolic
  • 57,801
  • 17
  • 75
  • 117
FabienM
  • 3,421
  • 23
  • 45

0 Answers0