Forum: FPGA, VHDL & Co. Wie wird ein Package eingelesen?


von Peter B. (funkheld)


Lesenswert?

Hallo, guten Tag.
Ich möchte bitte über ein Package Daten in eine Array laden.
Dazu habe ich ein Package erstellt.

Nun weiß ich nicht wie meine Hauptdatei an das Package kommt?
Wird das Package auch mit t_mem_pkg.vhd abgespeichert?

Danke.
Gruss


Hier ist die Hauptdatei:
1
library IEEE; 
2
use IEEE.STD_LOGIC_1164.ALL; 
3
use IEEE.NUMERIC_STD.ALL; 
4
use work.t_mem_pkg.all;
5
6
entity ram_array is
7
  port(
8
    clk : in  std_logic;
9
    );
10
end ram_array;
11
12
architecture Behavioral of ram_array is
13
14
signal t_array : t_mem := t_mem_init;
15
signal t_index : t_mem_index;
16
17
begin
18
19
process(clk)
20
begin
21
  if rising_edge(clk) then
22
    
23
  end if;
24
end process;
25
26
end Behavioral;


Hier ist das Package:
1
library ieee;
2
use ieee.std_logic_1164.all;
3
 
4
package t_mem_pkg is
5
  subtype t_mem_index is integer range 0 to 512;
6
 
7
  subtype t_byte is integer range 255 downto 0;
8
  type    t_mem is array (t_mem_index'low to t_mem_index'high) of T_BYTE;
9
 
10
constant t_mem_init : t_mem := (
11
16#ff# , 16#ff#, 16#ff#, 16#ff#, 16#ff#, 16#ff#, 16#ff#, 16#ff#, 16#ff#, 16#ff#, 16#ff#, 16#ff#, 
12
16#ff#, 16#ff#, 16#ff#, 16#ff#,16#00#, 16#ff#, 16#ff#, 16#ff#, 16#ff#, 16#ff#, 16#ff#, 16#ff#, 
13
16#ff#, 16#ff#, 16#ff#, 16#ff#, 16#ff#, 16#ff#, 16#ff#, 16#ff#);
14
end package t_mem_pkg is;

von Klaus F. (kfalser)


Lesenswert?

Peter Bierbach schrieb:
> Hallo, guten Tag.
> Ich möchte bitte über ein Package Daten in eine Array laden.
> Dazu habe ich ein Package erstellt.
>
> Nun weiß ich nicht wie meine Hauptdatei an das Package kommt?
> Wird das Package auch mit t_mem_pkg.vhd abgespeichert?

Bitte, bitte lieber Peter!
Jetzt lies doch bitte einmal Dein VHDL Buch und versuche zu verstehen, 
was Du überhaupt machst.
Lerning by doing ist schon schön und gut, aber Du suchst Dir 
irgendwelche Beispiele und änderst sie, ohne von den Grundlagen die 
geringste Ahnung zu haben.
Es sind hier alle sehr hilfsbereit und korrigieren gerne Fehler und 
Irrtümer.
Du stellst aber Fragen, bei denen man sieht, dass Du mit ausgefallenen 
Instrumenten, bei Nacht und Nebel, mit Sonnenbrille und Sonnenfinsternis 
dein Altera DE0/DE1 Spielzeugflugzeug steuerst.

Niemand will Dir die Freude und den Spieltrieb verderben, aber bitte 
lies Dich doch einmal ein bischen in Digitaltechnik und FPGAs ein, um zu 
verstehen, dass FPGA und Mikroprozessoren zu "programmieren" (Lothar, 
sei mir gnädig!), zwei komplett verschiedene Dinge sind, die sich nur 
äußerlich ein bischen ähneln.

von peter (Gast)


Lesenswert?

Hmm... es geht hier nicht um FPGA zu proggen.
Sondern es geht darum , bevor der Compiler anfängt , die Dinge an den 
Platz zu setzen wo zur Zeit die Platzhalter drin sind. Dann erst geht es 
los den gesamten Text der jetzt zusammengestellt ist zu compilieren. Das 
ist eine Vorstufe und hat nichts mit compilieren für den FPGA zu tun.
Es ist eine vorbereitende Stufe. Und es müsste doch über eine Batch 
möglich sein dieses zu erschaffen zumal man alle einzelnen Programme die 
im Ordner /bin stehen auch von der GUI von Quartus oder anderen FPGA 
compilern genutzt werden.

Ist das so schwer zu Erschaffen?

Gruss

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


Lesenswert?

peter schrieb:
> Ist das so schwer zu Erschaffen?
Ich probiere es jetzt mal mit kurzen Sätzen. Da gibt es nichts zu 
erschaffen. Es ist alles schon da. Die Stichworte "Makefile" und 
Kommandozeile" wurden genannt. Die nötigen Schritte sind vom Hersteller 
dokumentiert. Jeder Hersteller macht es anders. Du musst für deine 
Toolchain die Dokumentation lesen.

von peter (Gast)


Lesenswert?

jup,...geschafft.

Ich lege mir jetzt den Kopf in der qsf an , wo die 
Grundconfigurationsdaten drin stehen die für das Board immer gleich sind 
an.
Dann schreibe ich im Notepad++ die Pindaten rein.

Schreibe mein VHDL im Notepad++ und rufe in eine Batch dann die 5 
nötigen EXE auf aus quartus\bin : Ferig sind die ladbaren Programme für 
Das DE1.

Bevor es zur ersten compilation geht wird der Text vervollständigt über 
ein Nebenprogramm was ich geschrieben habe zb 2048 Constanten einlesen 
in den Text wo ich eine Include reingesetzt habe.

Meine ganzen Daten für RAM/ROM usw liegen jetzt extra draußen die ich 
mit Include einbinde.

Mehr wollte ich gar nicht bewirken.

Gruss

von peter (Gast)


Lesenswert?

Ich kann dafür Notepad++ empfehlen für Windows.
Von da aus wird alles compiliert und dann der Pinplaner automatisch 
gestartet.
Weiterhin kann ich dann vom Notepad++ aus alle nötigen Programme starten 
um das compilierte zu testen.

Ein herrliches Spielchen.

GRuss

von Schlaubi (Gast)


Lesenswert?

wie kompilierst du denn von Notepad++ aus?

von Christian R. (supachris)


Lesenswert?

http://sourceforge.net/projects/npp-plugins/files/NppExec/

Ich hab da auch ModelSim drinne für den Syntax Check.

von peter (Gast)


Lesenswert?

Das sind die 5 Aufrufe im NotePad++ die ich unter dem Namen 
"VHDL-Compilieren" als Macro definiert habe:
--------------------------------------------------
cd "$(CURRENT_DIRECTORY)"
d:\altera\13.0\quartus\bin\quartus_map --read_settings_files=on 
--write_settings_files=off "$(NAME_PART)"  -c "$(NAME_PART)"
d:\altera\13.0\quartus\bin\quartus_fit --read_settings_files=off 
--write_settings_files=off "$(NAME_PART)" -c "$(NAME_PART)"
d:\altera\13.0\quartus\bin\quartus_asm --read_settings_files=off 
--write_settings_files=off "$(NAME_PART)" -c "$(NAME_PART)"
d:\altera\13.0\quartus\bin\quartus_sta "$(NAME_PART)"  -c "$(NAME_PART)"
d:\altera\13.0\quartus\bin\quartus_eda --read_settings_files=off 
--write_settings_files=off "$(NAME_PART)" -c "$(NAME_PART)"
---------------------------------------------------

Gruss

von peter (Gast)


Lesenswert?

----Ich hab da auch ModelSim drinne für den Syntax Check----
Jup, da kann man viel mit machen mit dem Notepad++.

Man hat dann nicht die ganze GUI vom Quartus auf dem Schirm.Die 
Meldungen kommen im CMD-Fenster und das compilieren geht irgendwie 
schneller habe ich festgestellt.
GRuss

von Christian R. (supachris)


Lesenswert?

Ich hab dann auch das np++ gleich so eingestellt dass Warnungen und 
Fehler unterstrichen werden und man durch Doppelklick in die Zeile 
springen kann.

von W. M. (thematsche)


Lesenswert?

Klaus Falser schrieb:

> Bitte, bitte lieber Peter!

Bitte lieber Klaus, wenn du es nicht weisst, dann lass es bleiben.
Aber dieses Flamen nervt mehr als Peters fragen.

> Niemand will Dir die Freude und den Spieltrieb verderben,

sieht schon so aus...


Komischerweise, regt sich ueber diese Frage niemand auf....
Beitrag "ISE verilog includefile"

Auch ich wuerde manchmal gerne bezueglich der Altera-toolchain ein paar 
Fragen stellen,
aber die Trolle hier vermiessen es einem....

von berndl (Gast)


Lesenswert?

W. M. schrieb:
> Klaus Falser schrieb:
>
>> Bitte, bitte lieber Peter!
>
> Bitte lieber Klaus, wenn du es nicht weisst, dann lass es bleiben.
> Aber dieses Flamen nervt mehr als Peters fragen.
>
>> Niemand will Dir die Freude und den Spieltrieb verderben,
>
> sieht schon so aus...
>
> Komischerweise, regt sich ueber diese Frage niemand auf....
> Beitrag "ISE verilog includefile"
>
> Auch ich wuerde manchmal gerne bezueglich der Altera-toolchain ein paar
> Fragen stellen,
> aber die Trolle hier vermiessen es einem....

holla, du hast aber schon Peters Odysee durch VHDL hier die letzten 
Wochen verfolgt? Nein? Dann liess mal nach und ueberdenke deinen letzten 
Absatz im Post nochmal. Hier haben einige recht fitte Leute versucht, 
dem TO zu helfen. Ausser Beleidigungen und Null-Feedback war aber nix...

Und der Link auf Renes Post ist nicht wirklich zielfuehrend. Rene macht 
VHDL und muss wohl momentan mit Verilog oder mixed-design rumkaempfen. 
Ist nicht wirklich einfach...

Und wenn du zu Altera Fragen hast, einfach gut formuliert hier stellen. 
Hier gibts 'ne Menge Leute die sehr konstruktiv antworten.

Vergiss die Trolle... Da koenntest du ja auch gleich das Internet bei 
dir abschalten!

von W. M. (thematsche)


Lesenswert?

berndl schrieb:

> holla, du hast aber schon Peters Odysee durch VHDL hier die letzten
> Wochen verfolgt? Nein? Dann liess mal nach und ueberdenke deinen letzten
> Absatz im Post nochmal. Hier haben einige recht fitte Leute versucht,
> dem TO zu helfen. Ausser Beleidigungen und Null-Feedback war aber nix...
>


Er war am Anfang einfach ueberfoerdert. Auch im Umgang mit dem und im 
Netz.
Und mittlerweile liefert er ja auch. Er lernt und manchmal sind seine 
Fragen auch fuer die Profis nicht ganz leicht zu beantworten.
Wie man dann an den darauf folgenden Diskussionen sieht.
Und der Hinweis, dass alles in der Doku steht ist entbehrlich.
Wenn schon, dann wenigstens mit Links auf die Doku.
Da kann man dann auch einen bloeden Witz dazu machen.
Aber nur bloed maulen ist zu wenig.

> Und der Link auf Renes Post ist nicht wirklich zielfuehrend. Rene macht
> VHDL und muss wohl momentan mit Verilog oder mixed-design rumkaempfen.
> Ist nicht wirklich einfach...

Wieso, steht doch alles in der Doku....
Ausserdem, hab nit gwusst, dass das ein reines VHDL Forum ist.

> Und wenn du zu Altera Fragen hast, einfach gut formuliert hier stellen.
> Hier gibts 'ne Menge Leute die sehr konstruktiv antworten.

Ja, hat jemand eine uebersichtliche Doku wie man die Altera-Toolchain 
mit Makefiles automatisiert?
Bitte mit Beispielen.
Ja, auch ich bin FPGA Anfaenger und betreib das in der Freizeit.
Die Altera Dokus sind wesentlich laenger als meine Freizeit....

> Vergiss die Trolle... Da koenntest du ja auch gleich das Internet bei
> dir abschalten!

Irgendwie waer's gut, wenn die alle auf Facebook bleiben wuerden....

von peter (Gast)


Lesenswert?

Hallo Christian R wie sieht dein Macro aus von Notepad++ um zu 
compilieren mit Quartus?

Danke.
Gruss

von Christian R. (supachris)


Lesenswert?

Wo hab ich denn was von Quartus geschrieben? Ich benutze das lediglich 
um ModelSim für den Syntax-Check drüber laufen zu lassen. Notepad++ hab 
ich als externen Editor in Xilinx ISE und Vivado. Lokal baue ich die 
Designs mit der GUI von Xilinx, nach dem Einchecken ins SVN laufen die 
in der Command Line auf einem TeamCity Server.

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.