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 #366

Support sensitivity of arrayed variables

Added by Joe Eiler almost 8 years ago. Updated almost 8 years ago.

Status:
Feature
Priority:
Normal
Assignee:
-
Category:
Unsupported
% Done:

0%


Description

We have some code that is in a generate loop trying to connect up some modules in what is basically a ring network. We are hitting an "Unsupported" error:

Unsupported: Can't detect changes on arrayed variable (probably with UNOPTFLAT warning suppressed

I wrote a simple test to just aggravate the Error without the generate, it is attached. I know we could work around it by not using arrayed wires but due to some non-technical reasons that isn't really an acceptable option.

Any guidance you could provide as to the difficulty of adding support for this would be appreciated. I was thinking of something along the lines of treating all unpacked dimensions as individual variable instances but haven't looked at the code to see if this would be easy to do.

t_unopt_chain_bad.pl View (1.41 KB) Joe Eiler, 07/12/2011 12:49 PM

t_unopt_chain.v (1.29 KB) Joe Eiler, 07/12/2011 12:49 PM

History

#1 Updated by Wilson Snyder almost 8 years ago

  • Status changed from New to Assigned

I think unpacking dimensions would be the easiest way to work around this. Of course if the user ever had a non-constant index (after constant propagation) this wouldn't work, but most cases I've seen don't.

This would best be in V3Gate or something similar, so it would work across port boundaries.

This has unfortunately been on the wish list for a while, as it's both a good chunk of work and not something that has bothered my designs yet. If you're willing to start tackling it I'll provide tips.

Also available in: Atom