8000 Undriven Interface Modport Error by nickrallison · Pull Request #419 · povik/sv-elab · GitHub
[go: up one dir, main page]

Skip to content

Undriven Interface Modport Error - #419

Draft
nickrallison wants to merge 7 commits into
masterfrom
nick/undriven-interface-output
Draft

nickrallison wants to merge 7 commits into
masterfrom
nick/undriven-interface-output

Conversation

@nickrallison
Copy link
Copy Markdown
Collaborator

Followup for #414

Getting an error for undriven / partially modport outputs was pretty simple. Handling the case where the modport variable is completely undriven I'm not sure what to do with, I think marking the port as an import has some weird effects, it seems to error out at hierarchy running this command

read_slang --keep-hierarchy << EOT
interface ifc;
  logic [1:0] x, y;
  modport mp (output x, output y);
endinterface

module user2(ifc.mp p);
  assign p.y = 2'b0;
endmodule

module top2(output logic [1:0] x, output logic [1:0] y);
  ifc p();
  user2 u(p);
  assign p.x = 2'b10;
  assign x = p.x;
  assign y = p.y;
endmodule
EOT
prep -top top2
2.2. Executing PREP pass.

2.2.1. Executing HIERARCHY pass (managing design hierarchy).

2.2.1.1. Analyzing design hierarchy..
Top module:  \top2
Used module:     \user2$top2.u
ERROR: Module `user2$top2.u' referenced in module `top2' in cell `u' does not have a port named 'p.x'.

@nickrallison
Copy link
Copy Markdown
Collaborator Author

I think the actual code should be cleaned up but figured there's no point in that until actually getting something working.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0