Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AUTOINSTing an interface create illegal code #540

Closed
veripoolbot opened this issue Jul 31, 2012 · 1 comment
Closed

AUTOINSTing an interface create illegal code #540

veripoolbot opened this issue Jul 31, 2012 · 1 comment
Assignees
Labels

Comments

@veripoolbot
Copy link
Collaborator


Author Name: Brad Dobbie
Original Redmine Issue: 540 from https://www.veripool.org
Original Date: 2012-07-31
Original Assignee: Wilson Snyder (@wsnyder)


I'm not sure if this was intended behavior, but when AUTOINSTing an interface illegal code is generated.

Given an interface:

interface auto_intf
(  input logic          clk,
    input logic          rst_n  );

    logic                req_val;
    logic [63:0]         req_data;
    logic                req_credit;
    logic [1:0]          rsp_cmd;
    logic [63:0]         rsp_data;
    logic                rsp_credit;

endinterface

AUTOINST generates the following:

    auto_intf auto_i
      (/*AUTOINST*/
       // Interfaced
       .req_val                          (req_val),
       .req_data                         (req_data[63:0]),
       .req_credit                       (req_credit),
       .rsp_cmd                          (rsp_cmd[1:0]),
       .rsp_data                         (rsp_data[63:0]),
       .rsp_credit                       (rsp_credit),
       // Inputs
       .clk                              (clk),
       .rst_n                            (rst_n));

The signals marked as "Interfaced" are not declared as ports and cannot be connected via instantiation.

Error-[UPIMI-E] Undefined port in module instantiation
project/verif/vkits/iox/auto_module.v, 21
  Port "req_val" is not defined in interface 'auto_intf' defined in 
  "project/verif/vkits/iox/auto_intf.sv", 4
  Interface instance: auto_intf auto_i( .req_val (req_val),  .req_data 
  (req_data[63:0]),  .req_credit (req_credit),  .rsp_cmd (rsp_cmd[1:0]),  
  .rsp_data (rsp_data[63:0]),  .rsp_cre ...

@veripoolbot
Copy link
Collaborator Author


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2012-08-21T00:27:46Z


'verilog-auto-inst-interfaced-ports' already controls this. I've changed the default to nil.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants