Elektroda.de
Elektroda.de
X

DIY-A586 v1.9 von piotr_go

piotr_go 8733 41
This content has been translated flag-pl » flag-de View the original version here.
  • DIY-A586 v1.9 von piotr_go DIY-A586 v1.9 von piotr_go

    Hallo,
    ich möchte die Version 1.9 DIY-A586 vorstellen, mit den Änderungen, die mir im Laufe der Jahre in den Sinn gekommen sind. Ich habe ein paar Nummern übersprungen, damit ich nicht von einer anderen v1.x von XC6SLX9 in Versuchung geführt würde :) .
    Unterschiede: 32MB RAM, JOY1/2 ohne Multiplexing, 2 Flopps ohne Zusatzschaltungen, 18,432MHz Generator, Platz für THT LEDs, 5k1 USB-C Pulldowns, diverse kleinere Fixes.

    Die Platine hat:
    - FPGA-Spartan6 XC6SLX9
    - 32 MB 16-Bit-SDRAM-Speicher
    - 16 MB Flash für Kern und ROMs
    - HDMI-Ausgang
    - analoger Audioausgang + Eingang für Tonbandgerät
    - SD-Steckplatz
    -RS232
    - 2 * Joystick-Anschluss
    - 2 * PS / 2
    - A500-Tastaturanschluss
    - Anschlüsse für Diskettenlaufwerke
    - 2 Tasten (Menü und Reset)
    - 2 LEDs
    - 5-V-USB-C-Steckdose
    - Abmessungen 100 x 100 mm

    Es gibt bis zu 30 Konfigurationen im Flash, die in ein FPGA geladen werden können.

    DIY-A586 v1.9 von piotr_go DIY-A586 v1.9 von piotr_go DIY-A586 v1.9 von piotr_go DIY-A586 v1.9 von piotr_go





    Mikan-Kern (8 MB CHIP, 23,5 MB SCHNELL) :
    DIY-A586 v1.9 von piotr_go DIY-A586 v1.9 von piotr_go
    Ich dachte, es würde scheitern, aber irgendwie kam der 8 MB DMA-CHIP rein.

    Schaltplan und Gerber im Anhang.
    Kommerzielle Nutzung verboten.
    Anhänge:

    Cool? DIY-Rangliste
    Über den Autor
    piotr_go
    DIY Elektronikdesigner
    Offline 
    piotr_go hat 2533 Beiträge geschrieben mit der Bewertung 2802 geschrieben, und dabei 88 Mal geholfen. Er ist seit 2003 bei uns.
  • #2
    Baskhaal
    Niveau 17  
    Coole Sache! Ich beschäftige mich mit dem Thema in meiner Freizeit.
    Wenn du eine Masseproduktion machen willst ;) dann lass es mich wissen, ich mache und SMT und THT zu einem guten Preis.
  • #5
    tronics
    Niveau 38  
    Softcore-CPU und Chipsatz, wie ich es verstehe? Ist die CPU mit einer der vorhandenen Lösungen?
  • #6
    katakrowa
    Niveau 22  
    piotr_go hat geschrieben:
    Eigener Kern.

    Alles inklusive eigener CPU-Implementierung?
  • #7
    piotr_go
    DIY Elektronikdesigner
    TG68, wie in Core mit Minimig, alles andere ist mein.
    Wenn ich Zeit finde, werde ich es durch etwas Eigenes ersetzen.
  • #8
    katakrowa
    Niveau 22  
    piotr_go hat geschrieben:
    Wenn ich Zeit finde, werde ich es durch etwas Eigenes ersetzen.

    M68000 ist allerdings kein Z80, dass man an drei Nachmittagen seine eigene Implementierung schreiben kann, aber ich wünsche dir Durchhaltevermögen und viel Spaß beim Schreiben :-)
  • #9
    piotr_go
    DIY Elektronikdesigner
    katakrowa hat geschrieben:
    M68000 ist allerdings kein Z80, dass man an drei Nachmittagen seine eigene Implementierung schreiben kann

    Es ist ziemlich einfach im Vergleich zum "Spielen" mit der Zykluskonsistenz des Rests des Kerns.
  • #10
    tronics
    Niveau 38  
    Und wie ist die Kompatibilität im Moment? Gibt es Fehler in Demos oder Spielen, oder läuft alles in Ordnung?
  • #11
    piotr_go
    DIY Elektronikdesigner
    Was die Spiele betrifft, habe ich behoben, was mir aufgefallen ist.
    Die Demos habe ich nicht getestet.
  • #12
    Macosmail
    Niveau 34  
    Ein sehr schönes Gerät :-) SysInfo zeigt nur 2 MIPS bei 98 MHz? Workbench arbeitet recht munter. Bildschirmoperationen schneller als Original-ECS/AGA-Chips?
  • #13
    piotr_go
    DIY Elektronikdesigner
    Macosmail hat geschrieben:
    SysInfo zeigt nur 2 MIPS bei 98 MHz?

    Ich vermute, es liegt am schnelleren Speicher. Im Original nimmt DMA den größten Teil der Bandbreite ein.

    Macosmail hat geschrieben:
    Bildschirmoperationen schneller als Original-ECS/AGA-Chips?

    Ich hatte auch so einen Eindruck (im Vergleich zur nackten 1200).
    Lotus III läuft ziemlich reibungslos.
  • #14
    samowitsch
    Niveau 6  
    Hi Piotr. Ist zwingend ein Winbond W9825G6KH-5 nötig oder kann es auch ein W9825G6KH-6 sein?
    LG
  • #15
    Ondo
    Niveau 11  
    Schöne Arbeit, auf den ersten Blick dachte ich, es wäre ein Virtex, und der Spartan war genug. Wie viele FPGAs benötigt das gesamte Projekt?
  • #17
    Ondo
    Niveau 11  
    100 % FPGA-Ressourcen? Bei allem Respekt, Sie sind wahrscheinlich ein Wundertäter, gute Projekte, die auf bestimmte FPGA-Blöcke zugeschnitten sind, erreichen 60-70% der Ressourcen.
  • #18
    piotr_go
    DIY Elektronikdesigner
    samowitsch hat geschrieben:
    Ist zwingend ein Winbond W9825G6KH-5 nötig oder kann es auch ein W9825G6KH-6 sein?

    Es sollte funktionieren, aber ich habe es nicht getestet.

    Ondo hat geschrieben:
    100 % FPGA-Ressourcen?

    Meist passt es nicht, hängt von der Laune der Synthese ab.
  • #19
    Ondo
    Niveau 11  
    piotr_go hat geschrieben:
    Ondo hat geschrieben:
    100 % FPGA-Ressourcen?

    Meist passt es nicht, hängt von der Laune der Synthese ab.
    Es ist normal zuschneiden zu müssen, aber ich meine die Auslastung des Chips, die ISE spuckt ein Syntheseergebnis aus, das zeigt, wie viel Prozent der Ressourcen aufgrund von fehlendem Routing oder ungenutzten Ressourcen (Speicher, Multiplikatoren, DCM usw.) ungenutzt sind. Es bedeutet ein bisschen, wie ein Design für ein bestimmtes FPGA optimiert ist oder wie gut ein bestimmtes FPGA für eine bestimmte Aufgabe ist.
  • #20
    piotr_go
    DIY Elektronikdesigner
    Ondo hat geschrieben:
    Es ist normal zuschneiden zu müssen

    Oft reicht es aus, ein Signal umzubenennen oder eine andere unsinnige Modifikation vorzunehmen.

    Ondo hat geschrieben:
    ich meine die Auslastung des Chips

    Code: dos
    Melde dich an, um den Code zu sehen
  • #21
    __Grzegorz__
    Niveau 29  
    Projekte in ISE können über "Project" -> "Design Goals and Strategies" mit dem "Schuh" vollgestopft werden.
    Es gibt eine Option "Area", die manchmal Wunder wirkt.
    Es verdirbt das Timing ein wenig, aber... es ist da :)

    Es erlaubte, ein Projekt in den SLX9 zu stopfen, das nach der Synthese 111 % der Ressourcenbelegung hatte :)

    Man kann kombinieren mit
    - Synthese: "Optimization Goal" (geändert in Area),
    - Mapping: "Combinatorial Logic Optimalization" (einschalten)
    - Mapping: "Global Optimization" auf "Area" setzten
    - Mapping: "Allow Logic Optimization Across Hierarchy"
    - Zuordnung: "LUT Combining" auf "Area" setzen
    - Mapping: "Maximum compression" - kann leider ewig dauern
    - Mapping: "Map Slice Logic into unused BlockRAM" - solange freier BLOCKRAM vorhanden ist
  • #22
    piotr_go
    DIY Elektronikdesigner
    __Grzegorz__ hat geschrieben:
    Es gibt eine Option "Area", die manchmal Wunder wirkt.

    Diese Besetzung ist nach diesem Wunder :)
  • #23
    samowitsch
    Niveau 6  
    piotr_go hat geschrieben:
    samowitsch hat geschrieben:
    Ist zwingend ein Winbond W9825G6KH-5 nötig oder kann es auch ein W9825G6KH-6 sein?

    Es sollte funktionieren, aber ich habe es nicht getestet.

    Hi. Wo hast Du den Speicher bekommen?
  • #24
    piotr_go
    DIY Elektronikdesigner
    Mouser. Ich habe letztes Jahr ein paar Stück gekauft.
  • #25
    mopplayer6
    Niveau 2  
    Hallo piotr_go
    Ich verwende Lichee Tang Primer, um HDMI mit Audio zu übertragen, aber Pakete scheinen einige Probleme zu haben. Könnten Sie bitte mitteilen, wie Sie Audio über HDMI zu Lichee Tang Primer übertragen?
  • #26
    __Grzegorz__
    Niveau 29  
    Und auch bezüglich der FPGA-Belegung:
    Anstelle des XC6SLX9 schlage ich vor, den EFINIX T20Q144 zu verwenden.

    Ich übertrage gerade meine Projekte auf diesen Chip.
    Es hat ~50% mehr Logik, was ich in den SLX9 stopfen musste, geht ohne Probleme in den T20Q144.
    Leichte Umgebung, kein Simulator, aber wenn Sie Modelsim organisieren, kein Problem :)
    Der Chip verfügt über dedizierte LVDS-I/O, die nur eingeschränkt als I/O genutzt werden können, und etwas weniger dedizierte Clock-Eingänge.

    T20Q144 sind in Digikeyu, gegen "normales" Geld.
  • #27
    piotr_go
    DIY Elektronikdesigner
    @__Grzegorz__
    Es sieht interessant aus, aber nicht genug IO. In meiner Freizeit lese ich über ihn. Gibt es die Software für die Linux-Version?
    Ich habe mir versprochen, dass die nächste Version 1.xx nicht erstellt wird und die Versionen 2.xx viel Vorrat haben werden, auch mit AGA + 68020.
    Im Moment ist 2.0 auf Cyclone 4 (22320 LEs). Arrow-Starter warten in der Warteschlange, mit noch größeren FPGAs, die in der Aktion für ein paar Cent gekauft wurden.

    @mopplayer6
    Ich sende analog, weniger Probleme :)
    Was ist das Problem?
  • #28
    __Grzegorz__
    Niveau 29  
    piotr_go hat geschrieben:
    Gibt es die Software für die Linux-Version?

    Es gibt.
    Zitat:
    Linux environments:
    – Operating system:
    – Ubuntu v18.04 or later
    – Red Hat Enterprise x86-64 v7.4 or later
    – CentOS x86-64 v7.4 or later
  • #29
    mopplayer6
    Niveau 2  
    Hallo @piotr_go
    Mein Problem ist, dass die niedrigste Auflösung im HDMI-Standard 640x480 ist.
    Das NES war 512x480, wie könnte ich das Audiopaket und HDMI-Anforderung senden?
    Wie ich sehe, funktioniert Ihr Video möglicherweise richtig. Können Sie uns bitte mitteilen, wie es geht?
  • #30
    piotr_go
    DIY Elektronikdesigner
    Ich vermute, bei 640 x 480 haben Sie keinen Platz für Audiopakete?
    Versuchen Sie, die NES-Uhr auf jeder Zeile (vor oder nach dem Bild) anzuhalten, um sie länger zu machen :) Ich habe genau das getan.