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


von Holger (Gast)


Lesenswert?

Für alle die an den FPGA Grundlagen für PCI Dekodern Intresse haben.
http://www.tu-chemnitz.de/informatik/RA/news/stack/kompendium/vortraege_97/pci/pci3.html

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

Gruss Holger.

von Mathi (Gast)


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.

von Holger (Gast)


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.

von Sab (Gast)


Angehängte Dateien:

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.

von Sab (Gast)


Angehängte Dateien:

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.

von Holger (Gast)


Lesenswert?

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

von Mathi (Gast)


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.

von Lupinus Digitalus (Gast)


Lesenswert?

Hallo,

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

Viele Grüsse

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.