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

V2X cannot handle directly assigned wires #17

Open
kgugala opened this issue Nov 5, 2019 · 1 comment
Open

V2X cannot handle directly assigned wires #17

kgugala opened this issue Nov 5, 2019 · 1 comment

Comments

@kgugala
Copy link
Member

kgugala commented Nov 5, 2019

e.g. processing:

`include "./outpad.sim.v"
`include "./outbuf_vpr.sim.v"

(* MODES="NO_OBUF; OBUF" *)
module IOB33 (O, T); 

    parameter MODE = "NO_OBUF";
    input wire O;
    input wire T;
    (* pack = "pack_buf2out" *)
    wire buf2out;
    wire no_obuf_O;
    assign no_obuf_O = O;

    generate
        if(MODE == "NO_OBUF") begin
            OUTPAD outpad(.outpad(no_obuf_O));
        end if(MODE == "OBUF") begin
            OUTBUF_VPR outbuf_vpr(.in(O), .tri(T), .out(buf2out));
            OUTPAD outpad(.outpad(buf2out));
        end
    endgenerate
endmodule

fails with: KeyError: 'Net id 2 not found'

The problem is caused by:

    wire no_obuf_O;
    assign no_obuf_O = O;

The no_obuf_O wire is optimized out so we cannot find it while processing the Verilog

@kgugala
Copy link
Member Author

kgugala commented Nov 5, 2019

correction: the net is not optimized out. In fact the ID has two names associated with it. This confuses the scripts.

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

No branches or pull requests

1 participant