Forum: FPGA, VHDL & Co. DataFetched : in std_logic; -- Handshake-signal: Daten übernommen


von Peter B. (funkheld)


Lesenswert?

Wer bestätigt dieses Signal oben und wie am FPGA ?
Muß hier noch eine PIN-Zuweisung erfolgen?

Danke.
Gruss

von Da D. (dieter)


Lesenswert?

Wenn ich jetzt schreibe, was ich über diese zusammenhanglose Frage 
denke, drohst du mir dann auch Gewalt an?

von Gustl B. (-gb-)


Lesenswert?

Mehr informationen bitte. Welche Schnittstelle willst du beschreiben? 
Geht das aus dem FPGA raus oder bleibt das innerhalb? Welches Gerät 
hängt auf der anderen Seite der Schnittstelle? Wie sieht der Code drum 
herum aus?

Erwartest du wirklich sinnvolle Antworten auf so eine Frage? Hast du mal 
drüber nachgedacht, wie man daraus deine Problemstellung erkennen soll?

von bko (Gast)


Lesenswert?

Im ucf-file werden dir Ports der Toplevel entity in VHDL den FPGA
Pins zugeordnen und z.b. mit Treiberstärken versehen.

 z.B.: so
NET output LOC = A1 | DRIVE = 2 | FAST;

Hier die wichtigsten UCF-Dinge unter Pinzuordnung, Ausgangstreiber
und Pullup/down
http://www.mikrocontroller.net/articles/UCF-Dateien

von Peter B. (funkheld)


Lesenswert?

Hallo, guten Tag.
Es ist die  PS2-Tastatur am DE1.

Wer setzt dieses Signal?

-------------------------
entity PS2_Keyboard is
    Port ( PS2_Data    : in  std_logic;
           PS2_Clk     : in  std_logic;
           RxData      : out std_logic_vector(7 downto 0);
           RxActive    : out std_logic;
           DataReady   : out std_logic; -- Handshake-Signal: Daten 
bereit
           DataFetched : in  std_logic; -- Handshake-signal: Daten 
übernommen
           CLK         : in  std_logic);
end PS2_Keyboard;
--------------------------

Danke.
Gruss

: Bearbeitet durch User
von Gustl B. (-gb-)


Lesenswert?

Also, da es eine entity ist, steht es dir natürlich frei welche Pins du 
da verbindest. Du solltest die des PS2 Ports verwenden, welche das sind 
steht in der Dokumentation deines Boards.

DataFetched : in  std_logic;

Weil es ein "in" ist, kommt das Signal von aussen, was aussen ist legst 
auch wieder du fest. Wie das Signal verarbeitet wird siehst du im Code 
der entity selbst. Also ob das Signal wirklich von der Tastatur kommt, 
oder von einem anderen Teil im FPGA der die Daten entgegennimmt.

Hier zur PS2 Schnittstelle:
http://de.wikipedia.org/wiki/PS/2-Schnittstelle

von Peter B. (funkheld)


Lesenswert?

Jup danke.

Das heisst wenn ich die Daten von der Tastatur empfangen habe kann ich 
ein Signal auf diesen PIN im FPGA senden?

Weil ich aber den Tastatur-Code Seriell zum PC sende mit dem DE1 , muß 
ich den aus dem Port rausnehmen und hier hinter reinsetzen:
--architecture Behavioral of PS2_Keyboard is--
damit ich den dann "DataFetched"  als Kontrollsignal für die RS232 mit 
verwenden kann.

Danke.
Gruss

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


Lesenswert?

Peter Bierbach schrieb:
> Weil ich aber den Tastatur-Code Seriell zum PC sende mit dem DE1 , muß
> ich den aus dem Port rausnehmen und hier hinter reinsetzen:
Du brauchst hier die strukturelle Beschreibungsmöglichkeit von VHDL:
due hast eine Top-Level-Entity, die die Schnittstelle zu den FPGA-Pins 
ist. In dieser Top-Level-Entity werden Komponenten eingebunden 
(instantiiert), die dann in dieser Top-Level-Entity mit Signalen 
"verdrahtet" werden.

Im einfachsten Fall ist das wie z.B. dort der Taktteiler:
http://www.lothar-miller.de/s9y/archives/61-Lauflicht.html
Der Top-Level mit den Schnittstellen nach aussen ist hier die Entity 
"Lauflicht". Diese wird dann mit einer Constraints-Datei auf Portpins 
abgebildet.
In der Entity "Lauflicht" gibt es eine Komponente namens "Clockdivider", 
die aus dem 50MHz Takt ein Clockenable für das Lauflicht generiert. Und 
dieses Clock-Enable wird mit dem Signal "clken" inerhalb des FPGAs 
verdrahtet.

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.