www.mikrocontroller.net

Forum: FPGA, VHDL & Co. PCI BUS DEKODER mit FPGA


Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für alle die an den FPGA Grundlagen für PCI Dekodern Intresse haben.
http://www.tu-chemnitz.de/informatik/RA/news/stack...

Ist das IDSEL (BUS-PIN-A26) Signal nur bei der "eimaligen" Konfiguration
selektiert, oder auch bei dem normalem R/W Betrieb ??? .

Gruss Holger.

Autor: Mathi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das IdSel Signal wird nur für die Konfiguration verwendet. Zur Zeit der 
Konfiguration kann ein PCI-Gerät nicht über Adressen im I/O oder 
Memory-Adressraum angesprochen werden. Deshalb geschieht das über die 
IdSel Leitung.
Der Start-up-Code (gewöhnlich das Bios) geht alle Adressleitungen durch 
und versucht so die einzelnen Geräte zu erkennen.
Später wird ein IdSel-Signal nur bei Configuration-Read/Write verwendet.

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte mich für die Antwort bedanken.

Ich habe mir an einer fertigen PCI Ethernetkarte mit
Infineon AN983B PCI-CHIP zu schaffen gemacht.
Bzw. RTL8139D.
Somit gehe ich der Pinbelegung reverse nach,
da unser Praktikant immer so Fehler in die Shematics
macht.
IDSEL ist eindeutig PIN A26 am PCI-BUS.

Gruss Holger.

Autor: Sab (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das PCI-Bus-Pinning habe ich für den Dekoder gefunden.
Hoffentlich ist da kein Fehler drin, aber vegleich das mal
mit der Platine und dem CHIP-Datenblatt.

Gruss Sab.

Autor: Sab (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Holger.

input idsel; // PCI-BUS PIN(A-26)
//-------------------------------------------------
inout [31:0] ad;   // BIDIR ADDR-DATA-PORT
input [3:0]  cbe;  // COMMAND Byte ENABLE Inputs


parameter CFGREAD  = 4'b1010;
parameter CFGWRITE = 4'b1011;

Gleichung:
wire cfg_hit = ( idsel && ad[1:0] == 2'b00 && (cbe == CFGREAD || cbe == 
CFGWRITE) );

Das Signal "cfg_hit" ist nur HIGH zu setzen wenn IDSEL und die zwei LSBs 
von Adresse gleich NULL
sind UND-VERKNÜPFUNG mit den 4 cbe-Inputs
auf   CFGREAD bzw  CFGWRITE.
Anmerkung:
IDSEL ist für jeden PCI-Bus-Slot "seperat" rausgeführt.
Ich habe auch ein Schaubild dazu im Anhang.

Gruss Sab.

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist das wirklich so einfach einen einfachen PCI-Dekoder zu bauen ???
http://elm-chan.org/works/pci/report_e.html

Autor: Mathi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Holger:
Ich habe das jetzt nur überflogen und kann Dir sagen: Nein, ist es 
nicht. Das ist ein Dekoder der nicht die PCI-Spec erfüllt. Nicht einmal 
mit den Einschränkungen die für "feste" PCI-Systeme gemacht werden 
dürfen. Dieses Design wird nur in sehr begrenzten Fällen korrekt 
funktionieren.

Autor: Lupinus Digitalus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn Du einen PCI Target benötigst, schau Dir doch mal das folgende 
Design an:
http://www.latticesemi.com/products/intellectualpr...

Viele Grüsse

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.