Forum: FPGA, VHDL & Co. VHDL 1993: Wie maximalwert eines Integer ranges aus Signal bestimmen


von M. N. (bmbl2)


Lesenswert?

Hallo,

ich habe eine Frage an die VHDL Experten, die sich mit Workarounds 
auskennen.

Ich möchte aus einem integer Signal herasubekommen, welchen maximalwert 
dieses haben kann:

In VHDL-2008 ginge das so:
1
...
2
architecture rtl of my_entity is
3
  signal sig    : integer range 0 to 31;
4
  signal is_max : std_logic; 
5
begin
6
7
is_max <= '1' when sig = sig'subtype'high else '0';
8
9
end architecture rtl;

Leider ist der VHDL Support von Synopsys so schlecht, dass der Design 
Compiler, selbst mit aktiviertem VHDL 2008 mode, das Attribut 'subtype 
nicht kennt.

Gibt es eine Möglichkeit anders an das Maximum des Signals zu kommen? 
Alternativ müsste ich anderen code sonst umbauen lassen, sodass das 
maximum als Konstante definiert wird, oder der integer Type separat als 
subtype definiert wird, sodass ich mit 'high an das Maximum komme.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.