Forum: FPGA, VHDL & Co. Quartus / Fehler bei der Compilation (VHDL)


von Alex X. (behindi)


Angehängte Dateien:

Lesenswert?

Hallo

ich bräuchte mal wieder Eure Hilfe,
Ich versuch mich gerade mit der Quartus Entwicklungsumgebung von 
Alterra.
Die Tutorials von Alterra hab ich mir brav angeguckt und waren auch 
hilfreich. Nun versuche ich ein einfaches (einfachstes) VHDL Programm zu 
compilieren, aber leider klappt dies nicht.

Es kommt immer eine Vehlermeldung (siehe Anhang)

Es wäre echt super wenn mir von Euch jemand weiterhelfen könnte:)

danke im voraus für jeden Ratschlag

mgf



Fehlermeldung

Error (12007): Top-level design entity "My_firs_project_2" is undefined
Error: Quartus II 64-Bit Analysis & Synthesis was unsuccessful. 1 error, 
0 warnings
  Error: Peak virtual memory: 484 megabytes
  Error: Processing ended: Tue Jun 18 11:32:54 2013
  Error: Elapsed time: 00:00:02
  Error: Total CPU time (on all processors): 00:00:01
Error (293001): Quartus II Full Compilation was unsuccessful. 3 errors, 
0 warnings




1
entity BUFFER_1 is
2
3
    port(    INPUT: in bit;
4
          OUTPUT: out bit);
5
          
6
    end BUFFER_1;
7
  
8
  
9
  architecture BEHAVE of BUFFER_1 is
10
  begin 
11
  
12
  OUTPUT <= INPUT;
13
  
14
  end BEHAVE;

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


Lesenswert?

> Top-level design entity "My_firs_project_2" is undefined
Da fehlt irgendwo ein -t- ...


Und: was kommt in jeder VHDL-Beschreibung VOR den Keyword entity?

von Alex X. (behindi)


Lesenswert?

Lothar Miller schrieb:
> Da fehlt irgendwo ein -t- ...

:D ja danke hab mich vertippt, aber das ist ja kein Fehler der einfluss 
auf das Programm hat :D


Lothar Miller schrieb:
> Und: was kommt in jeder VHDL-Beschreibung VOR den Keyword entity?

Hmmmmm :[,  ich lerne gerade VHDL und verwende dabei das veilfach 
empfolene Buch "VHDL-Synthese". Bin da erst auf Seite 30, hab jedoch bis 
jetzt noch nichts vor der entity entecken können ?

vieleicht das? (habs aus nen exampel von Quartus)

library ieee;
use ieee.std_logic_1164.all;


habs mal dazugegeben, aber die Fehlermeldungen bleiben noch :(,

villeicht findet er die lbr ja nicht, oder?

danke

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


Lesenswert?

simon hoen. schrieb:
> villeicht findet er die lbr ja nicht, oder?
Nein, "er" findet das Projekt nicht. Du solltest mal dein Projekt NEU 
aufsetzen. Deine Toolchain stochert irgendwo im Trüben. Du hast 
wahrscheinlich mal einen Tippfehler reingebracht.

>> fehlt ein -t-
> :D ja danke hab mich vertippt
Das musst du aber der Toolchain sagen, die sucht nach etwas ohne t ...

> Bin da erst auf Seite 30, hab jedoch bis jetzt noch nichts vor der
> entity entecken können ?
> vieleicht das? (habs aus nen exampel von Quartus)
Ja. Das fehlt garantiert.
Siehe auch http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html

von Kest (Gast)


Lesenswert?

Geh' mal auf Files, wähle deine TOP-Level Datei (buffer.vhd) -> rechte 
Maustaste -> "Set as Top-Level entity". Das war's

Kest

von GS (chromosoma)


Lesenswert?

Deine top entity soll genauso heißen wie dein Projekt.
Nenne den Buffer_1 in My_first_project_2
um

von Alex X. (behindi)


Lesenswert?

Böser Kommunist schrieb:
> Deine top entity soll genauso heißen wie dein Projekt.
> Nenne den Buffer_1 in My_first_project um

danke :):)

habs umbenannt und jetzt compiliert "es" es :)

ne frage was ist aber wenn ich in einem Project mehrere 
entity/architectuer paare hab, man kann doch nich alle entitys gleich 
benennen, wird dann nur die erste wie der Projektname benannt?

danke

mgf

von Uwe (Gast)


Lesenswert?

Deshalb ja TOP-level. In dieser kannst du natürlich andere Entyties 
instanzieren (instatiieren??? hmm).

von GS (chromosoma)


Lesenswert?

Ja, in TOP Enetity werden  andere Entities als Componente instanziert.

von P. K. (pek)


Lesenswert?

Böser Kommunist schrieb:
> Deine top entity soll genauso heißen wie dein Projekt.

Ist nicht zwingend nötig. Wichtig ist nur, dass QII die TL-Entity kennt, 
wie immer sie heisst.

von Martin S. (sirnails)


Lesenswert?

Uwe schrieb:
> instatiieren??? hmm

Angeblich wäre es so richtig und wird es so manch einem Info-Studenten 
gelehrt :-)

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


Lesenswert?


von Martin S. (sirnails)


Lesenswert?

Ach verdammt, ich war so auf das doppelte "i" fixiert, dass ich den 
Rechtschreibfehler total übersehen habe duck-und-weg

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


Lesenswert?

Martin Schwaikert schrieb:
> dass ich den Rechtschreibfehler total übersehen habe
Das fehlende -n- ist auch gar nicht das Problem, sondern das -t- ist 
falsch...

von Alex X. (behindi)


Lesenswert?

Peter K. schrieb:
> Wichtig ist nur, dass QII die TL-Entity kennt,
> wie immer sie heisst.

Wie stellt man das an ?? :)

"Set as Top-Level entity" funktioniert leider nicht (bzw. das 
anschließende compilieren)

bisher funzt es nur wenn die entity den projectnamen trägt.

von P. K. (pek)


Lesenswert?

simon hoen. schrieb:
> Wie stellt man das an ?? :)

Im File "MY_PRO.qpf" steht bei mir die Linie:
1
PROJECT_REVISION = "FPGATOP"

Dann gibt es ein File namens "FPGATOP.qsf" wo dann (unter anderem) 
drinsteht:
1
set_global_assignment -name TOP_LEVEL_ENTITY fpgatop

D.h. bei mir sind der Name des .qsf-Files und des Toplevels gleich (ob 
das nötig ist oder nicht weiss ich nicht) aber Projekt (MY_PRO) und 
Toplevel (FPGATOP) definitiv unterschiedlich.

von Alex X. (behindi)


Lesenswert?

Vielen Dank :) :)

hab jetzt die .qsf aufgemacht und an der Stelle

set_global_assignment -name TOP_LEVEL_ENTITY ...
hinten dran meine entity hingeschrieben, abgespeichert und dann hat das 
Compilieren geklappt, von daher muss das .qsf File nicht gleich heißen 
wie die "TOP_entity", bei mir heist sie gleich wie das Project.

Danke für die Erklärung :)

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.