PCI BUS DEKODER mit FPGA

Gast #841025
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.
Gast #841093
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.
Gast #841689
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.
Gast #842430
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.
Angehängte Dateien:
Gast #844940
@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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.