Project

General

Profile

[logo] 
 
Home
News
Activity
About/Contact
Major Tools
  Dinotrace
  Verilator
  Verilog-mode
  Verilog-Perl
Other Tools
  BugVise
  CovVise
  Force-Gate-Sim
  Gspice
  IPC::Locker
  Rsvn
  SVN::S4
  Voneline
  WFH
General Info
  Papers

Issue #1122

Incorrect code generation for traced array of packed struct

Added by Andrew Bardsley 3 months ago. Updated 2 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
TranslationError
% Done:

0%


Description

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.

t_trace_packed_struct.pl View - Regression driver for this test (494 Bytes) Andrew Bardsley, 01/06/2017 02:27 PM

t_trace_packed_struct.v - Verilog source for this test (1.13 KB) Andrew Bardsley, 01/06/2017 02:27 PM

History

#1 Updated by Wilson Snyder 3 months ago

  • Status changed from New to Resolved
  • Assignee set to Wilson Snyder

Fixed in git towards 3.892.

#2 Updated by Wilson Snyder 2 months ago

  • Status changed from Resolved to Closed

In 3.900.

Also available in: Atom