Hallo, hab folgendes Problem: Ich habe dieses Array global deklariert: "architecture Behavioral of Testbench_1st is type codematrix is array (0 to 100,0 to 255) of integer;" und befülle es in einer späteren Prozedur mit Werten. Innerhalb dieser Prozedur wird eine Funktion aufgerufen, welche ebenso auf diese Codematrix zugreifen soll....passiert allerdings nicht: function summe(difsign,mid: integer ) return integer is variable e,g,x: integer:=0; variable cod: codematrix; begin cod(5,0):=12345; xy := difsign + mid; return xy; end summe; Benötige allerdings unbedingt eine Funktion um einen rekursiven Aufruf zu ermöglichen. Ist nur ein theoretisches Beispiel, soll nicht synthetisiert werden. Ich will nur diese 12345 in die Codematrix schreiben...aus der Funktion. Xilinx gibt mir auch keine Syntaxfehler aus. DANKE!!!
Hast Du denn auch ne globale Instanz des Arrays angelegt? Poste doch lieber mal Deinen Quelltext...
hab es mit: "shared variable code: codematrix" probiert-stürzt mir aber der simulator ab. übrigens hab ich mich oben verschrieben:statt procedure mein ich process. danke!!! Hier nochmal: architecture Behavioral of Testbench_1st is type codematrix is array (0 to 100,0 to 255) of integer; type rechenmatrix is array (0 to 100,0 to 255) of integer; -- shared variable code: codematrix; impure function summe(difsign,mid: integer ) return integer is variable ef,gh,xy: integer:=0; -- variable code: codematrix; begin code(5,0):=12345; xy := difsign + mid; return xy; end summe; . . . begin testlesen: process file INFILE: text open read_mode is "eingabe.txt" ; file OUTFILE: text open write_mode is "ausgabe1.txt"; variable Line1, Line2, Line3: line; variable div: rechenmatrix ; . . . for x in difsign_count-1 downto 1 loop div(1,x-1) := div(1,x) + div(0,x+1); --div(1,20) := div(1,x-1); code(2,x) := 0;--null schreiben mitte := x; exit when div(1,x-1) > 500; end loop; for i in mitte downto 0 loop code(2,i) := 1;--eins schreiben end loop; div(1,20) := summe(55,500); . . . ist allerdings erstmal ein test...den eigentlichen algorithmus (shannon-fano) muss ich wohl mit rekursiven funktionen verwirklichen, deswegen brauch ich das ganze.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.