Universeller CPU Tester (8 Bit)

  • Wir sind in anderen Threads überein gekommen, dass man DRAM nur in einem richtigen Computer System "richtig" testen kann.


    Wir sind in verschiedenen Threads überein gekommen, dass der NOP Tester nur begrenzt die Funktionalität einer CPU nachweist.

    Es funktioniert wohl wahrscheinlich die Adressen Generierung und die Dekodierung des NOP Befehl.

    Allerdings gibt es noch genug Fehler Möglichkeiten die der NOP Tester nicht entdeckt ...


    Im F64 gibt es ein interessantes Projekt, das 6502 testet und auch die verschiedenen Variationen detektieren kann.

    Das funktioniert über einen speziellen Test Code der extra dafür entwickelt wurde.



    Das scheint darauf hinaus zu laufen, dass jede CPU eine spezielle Test Hardware benötigt.


    Allerdings haben alle 8-Bitter gemeinsame Gund-Anforderungen für den Testlauf:

    • Takt (verschiedene Frequenzen)
    • Reset
    • ROM
    • RAM
    • Code
    • eine Form der Anzeige

    Genau das sind die Bestandteile eines CPU Tester.



    An dem CPU Tester wird die zu testende CPU angesteckt.

    Ein CPU Board.


    Das CPU Board ist minimalistisch:

    • Sockel für CPU
    • Anpassungen zum Test Board
    • Selektion des Test Code im Flash des Test Board



    Das Testboard existiert bereits in real.

    Die Byte Machine:

    RE: Interessantes Projekt im WEB gefunden


    Folgende CPU Typen werden bereits unterstützt:

    • W65C02
    • W65C816
    • eine i8088
    • z84c00


    Weitere CPU Board können relativ einfach erstellt werden, zB. für:

    • NMOS 6502
    • 6510
    • 6509
    • 6802
    • 6809
    • 6309
    • Z80
    • ...
  • Ich halte einen "CPU-Tester" für wirklich ein ober-umständliches Ding, das sowieso nur halbwegs die Funktion einer CPU nachweisen kann.


    Ich finde, "NOP-Generator" hat ein gutes "Preis-Leistungsverhältnis".


    Alles, was weiter geht, fabriziert unverhältnismäßig hohen Aufwand mit ungenügender Testabdeckung - Wie man z.B. per HW nachweisen will, dass die CPU-Flags nach einem Befehl den richtigen Zustand annehmen, ist mir ein Rätsel (und ja, Fälle, wo das nachweislich nicht funktioniert hat, habe ich schon gesehen). Wie man die Funktion der diversen IM-Modes z.B. eines Z80 nachweisen will (ich hatte schon den Fall, dass ausser IM2 alles prima funktioniert hat) genauso.


    Ich denke, die Zielmaschine ist immer noch der beste Tester...

  • Ich finde, "NOP-Generator" hat ein gutes "Preis-Leistungsverhältnis".

    Ein NOP-Generator ist nicht dafür da, CPUs zu testen, sondern den Adressbus und die Chipselect-Generierung auf einem Microcontroller-Board.


    Das Testen von Chips scheint ja zu einem neuen Hobby geworden zu sein und entwickelt sich irgendwie gerade zum Selbstzweck.

    Ich teste meine Chips immer genau in der Schaltung, wo sie zum Einsatz kommen sollen. Denn genau diese Spezifikation müssen sie erfüllen.


    Es gibt auch Boards, da werden die Chips ziemlich am Rande und manchmal sogar außerhalb der Spezifikation betrieben. Da kann es passieren, dass Chips ok getestet sind, aber trotzdem nicht funktionieren. Und anders herum gibt es Schaltungen, die so wenig anspruchsvoll sind, dass darin noch Chips funktoinieren, die der Tester vielleicht als fehlerhaft anmeckert.


    Klar, das gibt einem ein gutes Gefühl, wenn man mal seine kompletten Bestände durchgetestet hat. Und ist ja auch eine ganz nette Beschäftigung. Aber das muss man dann auch regelmäßig tun, weil die blöden Dinger altern eben - auch wenn sie nur im Sortierkasten liegen.


    In diesem Sinne, viel Spaß beim Testen.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

    Einmal editiert, zuletzt von detlef ()