FPGA CPU Ersatz ...

  • So, ich habe heute zufällig ein neues FPGA Board mit 5V tolerantem 40Pin DIP-Sockel gefunden. Das Modul enthält 32Mb ram und 16Mb Flash. Zudem ist ein XC3S700 integriert (auf Anfrage kann auch ein günstigerer XC3S200 geliefert werden). Das Vorgängermodell hatter kein Ram und Flash.


    Das GoDIL ist aktuell scheinbar nur schlecht lieferbar...


    Dazu dann auch noch eine neue Implementierung des 6502 mittels Mikrosequenzer. Edward hat aber auch noch dem 8086/8088 und 8051 implementiert. Der 6502 ist cycle-genau. Bei der MCL86 hat er aber gezeigt, dass diese auch ohne dieses Feature läuft und damit die Rechenleistung pro Takt stark erhöht.


    Hier auch noch eine 8088/8086 Implementierung.



    -Jonas

  • Hab "mal eben" schnell drueber geschaut.
    Eine interessante Loesung, gerade wo der GODIL anscheinend auslaeuft. Ist allerdings auch deutlich teurer.


    Die Groesse des Craignell 1 ist faszinierend. Leider sind Vcc und GND fix an Pin 40 und 20, damit fuer Prozessor-Emulation o.ae. nicht geeignet.


    Aber schaun wir mal. Noch hab ich GoDILs und bin mit denen sehr zufrieden.


    VG Flo

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)


  • Die Groesse des Craignell 1 ist faszinierend. Leider sind Vcc und GND fix an Pin 40 und 20, damit fuer Prozessor-Emulation o.ae. nicht geeignet.


    Die haben wohl die Möglichkeit die Versorgung an bestimmten pins anzulegen. Wie das nun genau läuft ist nicht ganz klar. Mal wird von 0Ohm widerständen geredet, dann wiederum von Anpassungen in der Produktion. Grundsätzlich sind wohl craitgnell 1 und 2 in 40 pin für CPU Ersatz gedacht. Z80, 6809, 8088 und 6502 wurden an anderer Stelle explizit erwähnt.


    Quote

    Craignell2-40 pins that can be 5V options – Pins 7, 8, 9, 10, 11, 12, 15, 17, 20, 21, 23, 26, 31, 40.
    Craignell2–40 pins that can be 0V / GND options – Pins 1, 7, 20, 21, 29, 30, 31.


    Für den Craignell-1 muss man sich einen Adapter bauen :-/ oder Leitungen anlöten.

  • Im Schaltplan ist beim Craitgnell 1 Pin 20 und Pin 40 (bei DIL40) fest verbaut.
    Beim Craitgnell 2 ist es ueber 0R Bruecken einstellbar, Pin 20 und 40 sind default. Ich denke die "Anpassungen in der Produktion" beziehen sich auf einfache Bestueckungsvarianten, die sich wohl nur bei groesseren Stueckzahlen lohnen werden.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Beim 8080 sollte man sowieso eine Adapterplatine einbauen, sonst haste -5V und +12V am FPGA. Und das koennen die gar nicht gut.
    Oder die haben die Platine etwas geaendert.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • verwendeten CBT3244ABQ Bus-switches beim Craignell-2


    Geht's bei der 8080 um den Craignell-2 oder -1?
    Aber egal, wenn's sein muss, kriegt man das hin.


    Ich seh gerade, ich hab mich verlesen. Aber auch egal ob 8080 oder 8088, Problem ist das gleiche.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Fuer den Arduino bestimmt ganz gut. Und guter Preis. :thumbup:
    Aber als Ersatz fuer ein DIL IC nicht zu gebrauchen: VCC und GND sind fest verdrahtet (bis DIL28 koennte man tricksen), nicht 5V kompatibel. :thumbdown:

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Fuer den Arduino bestimmt ganz gut. Und guter Preis. :thumbup:
    Aber als Ersatz fuer ein DIL IC nicht zu gebrauchen: VCC und GND sind fest verdrahtet (bis DIL28 koennte man tricksen), nicht 5V kompatibel. :thumbdown:


    Der Preis ist zwar super aber max 3,6V (3,3V) für die IO sind nicht genug. Bei alten (70er) Systemen muss man mit um die 5,5V VCC und IO im Normalbetrieb rechnen (zB. bei pull-up). Zudem kann es kurze Spitzen von bis zu 6V und größer geben (die meisten TTL können kurzzeitig bis zu 7V vertragen). So manche moderne Hardware brennt bei solchen Bedingungen einfach mal durch oder erzeugt sporadische 'Effekte'. Mit einfachen Widerstansschaltungen kommt man da nicht weiter, da man ganz schnell unterhalb von 2,4V für High-Niveau landet. Wenn dann die alte HW eine Diode auf der Leitung hat, sind wir ganz nah an der Grenze des möglichen. Lustige Dioden-Logik für Interrupts oder Prioritätsschaltungen habe ich schon gesehen und die laufen oft nur mit 3-state IO verlässlich. Pull-up/-down geht da nicht. Da ist man mit modernen FPGA/CPLD aufgeschmissen.


    -Jonas

  • Dann kannste auch direkt den GODIL oder Craignell nehmen.
    Ausserdem ist das Lattice FPGA relativ klein im Vergleich zu den Spartan3 Boards. (Ich hab aber nicht genau in den Datasheets geguckt.)

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • deutlich unter 10,-


    Klar, aber wenn du für dich noch eine Adapter Platine mit LevelShifter bauen willst, bleibt es nicht dabei.
    Ok, der Craignell kostet einiges.
    Deshalb gefällt mir der GODIL so gut. Der hat alles wie man's haben will.


    Und der Lattice sollte schon reichen für ne 6510 ode z80 CPU denk ich mal.


    Das kann ich dir wirklich nicht sagen, da ich mit den Lattice gar keine Erfahrung habe.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)