Forum: FPGA, VHDL & Co. Funktionsdeklaration


von taska (Gast)


Lesenswert?

Hallo Leute,
kann man so eine Funktion Deklarieren?
FUNCTION counter_func(SIGNAL count :std_logic_vector; CONSTANT inc: 
std_logic_vector )RETURN std_logic_vector;

Ich dachte immer, das die Bereichsgrenzen zu den Vektoren vorgegeben 
werden müssen!?

Guten Abend

Taska

: Verschoben durch User
von Achim M. (minifloat)


Lesenswert?

taska schrieb:
> FUNCTION counter_func(SIGNAL count :std_logic_vector; CONSTANT inc:
> std_logic_vector )RETURN std_logic_vector;

Benutz doch count'RANGE und inc'RANGE, dann weißt du wie lang die 
Vektoren sind. Soll das ein einstellbarer Incrementer werden?

mfg mf

von Dussel (Gast)


Lesenswert?

Aus Interesse: Darf ich mal kurz fragen, welche Sprache das ist. Für 
mich sieht das aus wie VHDL. (Dann wäre es aber das falsche Unterforum 
;-)

von taska (Gast)


Lesenswert?

Ja, soll einstellbar sein.
Wenn ich ALLE Abhängigkeiten in der Funktion mittels 'RANGE gestalte, 
kann ich dann mit EINER Funktionsdefinion den Counter für ALLE Breiten 
der STD_Logic-Parameter beschreiben?

von taska (Gast)


Lesenswert?

Dussel schrieb:
> sieht das aus wie VHDL.

Ja sorry. Hab heute Nacht wohl nicht mehr gerafft.

von Dussel (Gast)


Lesenswert?

>Ja sorry. Hab heute Nacht wohl nicht mehr gerafft.
Für mich kein Problem. Ich war nur etwas verwundert.

von Karl H. (kbuchegg)


Lesenswert?

taska schrieb:
> Dussel schrieb:
>> sieht das aus wie VHDL.
>
> Ja sorry. Hab heute Nacht wohl nicht mehr gerafft.

verschoben

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

taska schrieb:
> kann man so eine Funktion Deklarieren?
Sieh doch einfach mal die Standard-Libs an...

http://www.csee.umbc.edu/portal/help/VHDL/packages/numeric_std.vhd
Dabei solltest du natürlich das hier nicht überlesen:
1
  type UNSIGNED is array ( NATURAL range <> ) of STD_LOGIC;
2
  type SIGNED is array ( NATURAL range <> ) of STD_LOGIC;
Und dann wirst du sehen, dass die Funktionsdeklaration mit 
uneingeschränkten Verktoren ganz normal ist.

von taska (Gast)


Lesenswert?

Dankeschön

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.