Forum: FPGA, VHDL & Co. 7-Segement Anzeige /VHDL


von Max (Gast)


Lesenswert?

1
 library ieee;
2
use ieee.std_logic_1164.all;
3
4
entity board is
5
  port ( sw: in std_logic_vector(9 downto 0);                                    -- Schalter (Eingangsvketor)
6
        hex5, hex4, hex3, hex2, hex1, hex0: out std_logic_vector (7 downto 0)  -- 7-Segment-Anzeigen (Ausgangsvektor) 
7
      );  
8
end FPGA;
9
10
architecture Verhalten of board is
11
begin
12
  process (sw) begin
13
    
14
    if sw(0)='1' then
15
  
16
  hex0 <= "11111001"; --1
17
  hex1 <= "11111001"; --1
18
  hex2 <= "11111001"; --1
19
  hex3 <= "11111001"; --1
20
  hex4 <= "11111001"; --1
21
  hex5 <= "11111001"; --1
22
  
23
  elsif sw(0) ='0' then
24
  hex0 <= "10100100"; --2
25
  hex1 <= "10100100"; --2
26
  hex2 <= "10100100"; --2
27
  hex3 <= "10100100"; --2
28
  hex4 <= "10100100"; --2
29
  hex5 <= "10100100"; --2
30
  end if; 
31
  
32
  end process;
33
end Verhalten;
Ich verstehe nicht, programm funktion nicht und ich erhalte den Fehler:
can't place node "hex1[4]" -- illegal loaction assignment PIN_A12 usw.
aber ich habe die Assignment datei importiert trotzdem meckert er...

: Bearbeitet durch Moderator
von Vancouver (Gast)


Lesenswert?

Keine Informationen über das verwendete FPGA, nichts über die Toolchain, 
kein Pinmapping mitgeliefert, im falschen Forum, vier Rechtschreibfehler 
in drei Zeilen Text. Und:
1
entity board is
2
...
3
end FPGA;

Fällt dir da etwas auf?

So wird das nix. Wenn du keinen Bock hast, ein vernünftiges Posting zu 
verfassen, dann hat hier keiner Bock, dir zu helfen.

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


Lesenswert?

Max schrieb:
> trotzdem meckert er...
Wer ist "er"?

Hast du diesen Code mal simuliert? Was kam dabei heraus?

BTW: verwende doch bitte die VHDL Tags wie in der Anleitung über jeder 
Textbox beschrieben

von Weltbester FPGA-Pongo (Gast)


Lesenswert?

Vancouver schrieb:
> Wenn du keinen Bock hast, ein vernünftiges Posting zu
> verfassen,

Das ist wohl neuerdings Standard. Im FPGA-Forum dasselbe: 2 von 3 
Fragern die irgendetwas heraushauen, kommen nie mehr wieder und 
antworten auch nicht auf Rückfragen.

von Vancouver (Gast)


Lesenswert?

Ja, so siehts leider aus. Die haben anscheinend überhaupt keine Lust zum 
Nachdenken. Stattdessen werden Anfragen in alle Foren abgesetzt, die 
ansatzweise etwas mit dem Thema zu tun haben könnten. Irgendeiner wird 
schon die fertige Lösung posten. Falls nicht und der Abgabetermin 
verstreicht, dann braucht man auch nicht mehr weiter zu fragen.

Ich lese meistens schon gar nicht mehr weiter, wenn im ersten Satz 
steht, dass der TO ein FPGA-Anfänger ist, dann 5 Zeilen 
wischi-waschi-Beschreibung des Problems folgen, und dann um Hilfe 
gebeten wird, möglichst noch mit einer Deadline ("Please post code until 
tomorrow"). Das nervt genauso wie diese unsägliche Fragerei, bei welcher 
Firma man als FH-Bachelor ohne Berufserfahrung von Anfang an einen 
Dienstwagen bekommt und 120k abgreifen kann.

Das ist eigentlich schade, ich helfe Anfängern sehr gerne weiter, wenn 
ich den Eindruck habe, dass sie sich die Grundlagen angeeignet haben, 
lernwillig sind  und an einer Stelle hängen bleiben. So ging es uns ja 
allen einmal, niemand kommt als VHDL-Guru auf die Welt.

von Gustl B. (gustl_b)


Lesenswert?

Vancouver schrieb:
> Ja, so siehts leider aus. Die haben anscheinend überhaupt keine Lust zum
> Nachdenken.

Dann sieh es doch als nette Übungsaufgaben für dich. Das macht ja doch 
auch Spaß diese ganzen Probleme zu lösen.

von J. S. (engineer) Benutzerseite


Lesenswert?

Da werden wohl Bit-Ströme zugewiesen, die aufs LCD oder Video-Display 
geschrieben werden, wie es ausschaut, wobei ich ein wenig Probleme habe, 
die Muster einer 1 und einer 2 zuzuordnen. Das Ganze ist auch kein 
VHDL-Problem meine ich. Solche Sachen haben wir schon bei der 
Sprite-Programmierung gemacht und das im Teeny-Alter, ohne Internet.

Egal ... falls jemand den thead findet und auch keine Idee hat:

Als ich mein erstes Display in VHDL geschrieben habe, bin ich so 
vorgegangen, dass ich erst die DEZ in HEX- und diese danach in ein 7-SEG 
System übersetzt hab. Dann braucht es nur eine einfache Definition für 
die "LEDs". Darunter liegt dann die Schicht, die aus einem 8x8 oder 
(doppelzeilig) einem 16x8 pixel zeilenweise gesagt bekommt, welche Pixel 
bei welchem LED-Balken aktiv sein müssen. Der Synthesizer produziert da 
eine sehr einfache Beschreibung für die einschlägigen Ziffern 0...f, 
weil es jeweils nur 8 Gleichungen mit 7 Bit Eingängen sind (3 bit für 
die X-Position im 8er Raster und 4 Bit für die Zahl). In einem heutigen 
FPGA mit breiten LUTs rechnet sich das in 2 Stufen mit maximal 3 Takten 
für 1080p60 und in mit 4 Takten läuft es sogar in UHD mit 297MHz.

von Gerald K. (geku)


Lesenswert?

Max schrieb:
> Ich verstehe nicht, programm funktion nicht und ich erhalte den Fehler

Was soll das Programm überhaupt tun?

von Gustl B. (gustl_b)


Lesenswert?

Vermutlich ein Teil einer größeren Hausaufgabe. Vielleicht Multiplexing 
von Anzeigen oder so. Als ersten Schritt versucht der TO zwischen zwei 
Ziffern umzuschalten.

Aber hier fehlt schlicht benötigte Information denn der Fehler steckt 
nicht in diesem hier hergezeigtem Code.

von Fpgakuechle K. (Gast)


Lesenswert?

Max schrieb:

> Ich verstehe nicht, programm funktion nicht und ich erhalte den Fehler:
> can't place node "hex1[4]" -- illegal loaction assignment PIN_A12 usw.
> aber ich habe die Assignment datei importiert trotzdem meckert er...

Was verstehst du unter 'assignment importiert'?  Das klingt schlau, sagt 
aber nix was du tatsächlich gemacht (oder nicht gemacht) hast.

Die Fehlermeldung klingt nach intel/Altera. Und dort nach einer 
Fehlermeldung des Fitters. Wahrscheinlich ist der FPGA-Typ falsch 
angegeben oder das pin-asignment (meist in einem *.qsf -file, oder 
*.tcl) passt nicht.

Mal im Fitter Report (*.fit.rpt) und im Pin-Report-file (*.pin) 
nachschauen.
Und das Ganze benutzen um die basics des FPGA-Designflows zu lernen.

von Markus F. (mfro)


Lesenswert?

Fpgakuechle K. schrieb:
> Wahrscheinlich ist der FPGA-Typ falsch
> angegeben oder das pin-asignment (meist in einem *.qsf -file, oder
> *.tcl) passt nicht.

+1

Fpgakuechle K. schrieb:
> Was verstehst du unter 'assignment importiert'?

Ich nehme an, es geht um Quartus und dort speziell um den Menüpunkt 
"Assignments->Import Assignments", mit dem man Pinzuordnungen von 
anderen Projekten übernehmen kann. Das funktioniert natürlich nur, wenn 
der FPGA-Typ richtig (also identisch oder kompatibel zu dem im zu 
importierenden Projekt) gesetzt wurde.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Weltbester FPGA-Pongo schrieb im Beitrag #6701603:
> Das ist wohl neuerdings Standard. Im FPGA-Forum dasselbe: 2 von 3
> Fragern die irgendetwas heraushauen, kommen nie mehr wieder und
> antworten auch nicht auf Rückfragen.

Einfach nicht auf Gast-Postings antworten.

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.