logo elektroda
logo elektroda
X
logo elektroda
WERBUNG
Treść została przetłumaczona Polnisch » Deutsch Zobacz oryginalną wersję tematu
📢 Anhören (AI):
  • Lila PCB namens DIY A586 mit verschiedenen elektronischen Komponenten, Anschlüssen und einer SIM-Karte. 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.

    Cool? DIY-Rangliste
    Über den Autor
    piotr_go
    DIY Elektronikdesigner
    Offline 
    piotr_go hat 2852 Beiträge geschrieben mit der Bewertung 3198, und dabei 93 Mal geholfen. Er ist seit 2003 bei uns.
  • WERBUNG
  • #2 20006751
    Baskhaal
    Niveau 19  
    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 20007809
    tronics
    Niveau 38  
    Softcore-CPU und Chipsatz, wie ich es verstehe? Ist die CPU mit einer der vorhandenen Lösungen?
  • WERBUNG
  • #6 20007825
    katakrowa
    Niveau 23  
    piotr_go hat geschrieben:
    Eigener Kern.

    Alles inklusive eigener CPU-Implementierung?
  • #7 20007834
    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 20007842
    katakrowa
    Niveau 23  
    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 20007849
    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 20007854
    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 20007860
    piotr_go
    DIY Elektronikdesigner
    Was die Spiele betrifft, habe ich behoben, was mir aufgefallen ist.
    Die Demos habe ich nicht getestet.
  • #12 20008158
    Macosmail
    Niveau 35  
    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 20008216
    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.
  • WERBUNG
  • #14 20041337
    samowitsch
    Niveau 7  
    Hi Piotr. Ist zwingend ein Winbond W9825G6KH-5 nötig oder kann es auch ein W9825G6KH-6 sein?
    LG
  • #15 20041496
    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 20041565
    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 20041804
    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 20042227
    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.
  • WERBUNG
  • #20 20042329
    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 20042349
    __Grzegorz__
    Niveau 30  
    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 20042608
    piotr_go
    DIY Elektronikdesigner
    __Grzegorz__ hat geschrieben:
    Es gibt eine Option "Area", die manchmal Wunder wirkt.

    Diese Besetzung ist nach diesem Wunder :)
  • #23 20047658
    samowitsch
    Niveau 7  
    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 20048233
    piotr_go
    DIY Elektronikdesigner
    Mouser. Ich habe letztes Jahr ein paar Stück gekauft.
  • #25 20165605
    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 20165795
    __Grzegorz__
    Niveau 30  
    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 20165930
    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 20165959
    __Grzegorz__
    Niveau 30  
    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 20167857
    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 20167885
    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.
📢 Anhören (AI):

Themenzusammenfassung

Das DIY-A586 v1.9 Projekt von piotr_go ist eine FPGA-basierte Amiga-Nachbildung mit einem Spartan6 XC6SLX9 FPGA, 32 MB 16-Bit SDRAM, 16 MB Flash, HDMI-Ausgang, analogem Audio, SD-Karten-Slot, RS232, Joystick- und PS/2-Anschlüssen sowie Diskettenlaufwerksanschlüssen. Die Version 1.9 bringt Verbesserungen wie 32 MB RAM, nicht multiplexierte Joystick-Anschlüsse, zwei Floppy-Laufwerke ohne Zusatzschaltungen, einen 18,432 MHz Quarzgenerator und USB-C mit 5,1 kΩ Pulldowns. Der Amiga-Kern basiert auf TG68 (ähnlich Minimig), mit eigenem Chipsatz und CPU-Implementierung, wobei eine vollständige eigene CPU-Implementierung geplant ist. Die Kompatibilität mit Spielen ist gut, Demos wurden weniger getestet. Flash und ROMs müssen über die SD-Karte geladen und formatiert werden, wobei spezielle ROM-Patches für Version 1.9 bereitgestellt werden. Diskettenlaufwerke können echte Amiga- oder umgebaute PC-Laufwerke sein, Gotek mit FlashFloppy wird unterstützt. Die FPGA-Ressourcenauslastung ist hoch (bis zu 99% LUTs), Optimierungen in Xilinx ISE sind notwendig, um das Design in den Spartan6 zu quetschen. Alternativ wird der Efinix T20Q144 FPGA als leistungsfähiger vorgeschlagen. Probleme mit SD-Karten größer 4 GB wurden durch PDS-Dateisystem-Unterstützung gelöst. NES/SNES-Controller benötigen einen PIC10F200 zur Takt- und Latch-Signal-Generierung, um an den Joystick-Ports zu funktionieren. Der Spectrum-Kern benötigt Kempston-kompatible Joysticks mit invertierten Signalen in Version 1.9. Version 2.0 mit AGA und 68020 ist in Planung, aber nicht bald verfügbar und benötigt größere FPGAs. Die Community diskutiert auch über Bauteilbeschaffung, Löttechniken (SMD, Heißluft), Flash-Programmierung und Platinenbestückung. Es gibt keine CPL-Datei für Bestückungsautomaten, und fertige bestückte Platinen sind selten, aber kleine Stückzahlen werden angeboten. RS232 dient als Modem/Nullmodem-Schnittstelle. Die Firmware und Kerne sind auf GitHub verfügbar, jedoch sind manche Quellen (z.B. Mikan-Core) nicht öffentlich. Das Projekt bietet eine schnelle Amiga500+ Emulation mit echter Diskettenunterstützung und vielfältigen Peripherieoptionen.
Vom Sprachmodell generierte Zusammenfassung.
WERBUNG