Skip to content

MultiDriverFixer breaks on picorv32 #31

@mlyoung101

Description

@mlyoung101
Done, located 7629 neighbours from 3710 cells
Running FixWalker MultiDriverFixer
Found potential candidate for MultiDriverFixer: '$shl$../tests/verilog/picorv32.v:420$99_Y[0]'. Checking further... Confirmed.
ERROR: Found error in internal cell $auto$logic_graph.cpp:213:replicate$$shl$../tests/verilog/picorv32.v:420$99__replica1_cone13__$5784 ($shl) at kernel/rtlil.cc:1315:
  attribute \tamara_cone "13"
  attribute \src "../tests/verilog/picorv32.v:420.20-420.43"
  cell $shl $auto$logic_graph.cpp:213:replicate$$shl$../tests/verilog/picorv32.v:420$99__replica1_cone13__$5784
    parameter \A_SIGNED 0
    parameter \A_WIDTH 1
    parameter \B_SIGNED 0
    parameter \B_WIDTH 2
    parameter \Y_WIDTH 4
    connect \A 1'1
    connect \B { \reg_op1[1] \reg_op1[0] }
    connect \Y $auto$fix_walker.cpp:193:reconnect$MultiDriverFixer$5917
  end
Process 391028 stopped

The backtrace points to here:

frame #11: 0x00007ffff7954c9a libtamara.so`tamara::MultiDriverFixer::reconnect(this=0x0000555557a09d60, target=0x0000555557082170, input=0x0000555557eff9d0, output=0x00005555583500a0) at fix_walker.cpp:199:20
   196              input->setPort(name, wire);
   197              output->setPort(outputCellPort, wire);
   198
-> 199              input->check();
   200              output->check();
   201              input->module->check();
   202

I think that input->setPort line is suspect.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinghighprioHigh priority

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions