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

Incorrect code generation for traced array of packed struct #1122

Closed
veripoolbot opened this issue Jan 6, 2017 · 2 comments
Closed

Incorrect code generation for traced array of packed struct #1122

veripoolbot opened this issue Jan 6, 2017 · 2 comments
Assignees
Labels
resolution: fixed Closed; fixed

Comments

@veripoolbot
Copy link
Contributor


Author Name: Andrew Bardsley
Original Redmine Issue: 1122 from https://www.veripool.org

Original Assignee: Wilson Snyder (@wsnyder)


This param declaration produces uncompilable code when --trace is used:

    typedef struct packed {
        logic [2:0][31:0] a;
    } t;

    localparam t v[2:0] = '{
        '{'{32'h10000002, 32'h10000001, 32'h10000000}},
        '{'{32'h20000002, 32'h20000001, 32'h20000000}},
        '{'{32'h30000002, 32'h30000001, 32'h30000000}}
    };

The generated code (Vt_trace_packed_struct__Trace__Slow.cpp) contains this declaration:

  VL_SIGW(__Vtemp4[3],95,0,3);

Where the array sizing seem to be the topmost dimension of localparam v even though __Vtemp4 is used to only represent a single element of v.

@veripoolbot
Copy link
Contributor Author


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2017-01-06T23:45:36Z


Fixed in git towards 3.892.

@veripoolbot
Copy link
Contributor Author


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2017-01-15T17:19:05Z


In 3.900.

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

No branches or pull requests

2 participants