Difficulty with for-loops

24 views
Skip to first unread message

Bryan Arguello

unread,
May 20, 2025, 7:07:08 AM5/20/25
to VTR-Users

I am trying to run odin on the two attached modules. I run it as :

>>odin_ii -V subBytes.v sbox.v 

and get the following error:

std::Logic_error basic_string::_M_construct null not valid

If I unroll the for-loop manually, ODIN is able to generate a netlist with no problem.

I have a few other modules with for-loops that ODIN cannot process, but I am hoping that I can transfer what I learn from this issue to those modules as well.

Please let me know if you can share some guidance or provide additional details.

Thanks,

-Bryan

sbox.v
subBytes.v

Vaughn Betz

unread,
May 20, 2025, 9:41:07 AM5/20/25
to Bryan Arguello, VTR-Users
Odin-II has quite a few limitations in verilog language features. I recommend using vtr 9 or the master branch (which is even more recent) and using the default yosys+parmys synthesis engine.

Vaughn

On May 20, 2025, at 7:07 AM, Bryan Arguello <brome...@gmail.com> wrote:


--
You received this message because you are subscribed to the Google Groups "VTR-Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vtr-users+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/vtr-users/bfa4307f-9544-4ad6-84cf-c10ff2ef0d4dn%40googlegroups.com.
<sbox.v>
<subBytes.v>

Bryan Arguello

unread,
May 20, 2025, 9:57:31 AM5/20/25
to VTR-Users
Thanks Vaughn,

You are recommending that I use yosys+parmys synthesis engine instead of odin_II in the master branch?  Can you point me to documentation that can guide me in using these tools to generate a netlist from the Verilog modules?

-Bryan

Vaughn Betz

unread,
May 20, 2025, 10:13:45 AM5/20/25
to Bryan Arguello, VTR-Users
See this paper (Section 7) for an overview https://dl.acm.org/doi/epdf/10.1145/3734798 .
See https://docs.verilogtorouting.org/en/latest/quickstart/ for a walkthrough of how to run the flow, and pointers of what to read next.

Vaughn

Bryan Arguello

unread,
Jun 4, 2025, 10:14:11 AM6/4/25
to VTR-Users
I have built VTR v9, and I am trying to apply  run_vtr_flow.py to a package of Verilog scripts in a single folder.  I am passing it the top Verilog script (hoping that the flow automatically brings in the others as needed).  It errors out with an error message in parmys.out of "Duplicate definition of module DFF!".  I am not sure what this means as I have no DFF modules anywhere in my Verilog package.  I have also tried using the -yosys_script argument to supply all the Verilog scripts to yosys.  This yields the same error.

In case it helps, I am trying to obtain a netlist for the Verilog package in the following repo: https://github.com/michaelehab/AES-Verilog/tree/main

Thanks,

-Bryan

Reply all
Reply to author
Forward
0 new messages