Prozessor als FPGA testen

Oct 25, 2006 2 Replies

Hallo,



gibt es Schema oder eine bestimmte Vorgehensweise um einen Prozessor zu testen, der als FPGA "nachgebaut" worden ist. Die Wahrscheinlichkeit das alle Befehle von Anfang an richtig arbeiten ist eher, gering aber wie könnte ein vernüftiges Schema zum Testen der Befehle aussehen ?



Vielen Dank und schönen Abend. Tobias


Wenn der Prozessor "neu entworfen" wurde hat man typisch vorher ein Programm in einer hardwarenahen Programmiersprache ( FORTH, eventuell C ) gemacht um ihn bitgenau zu simulieren. Wenn CPU weil "nachgebaut" schon als Hardware vorliegt würde der Schritt entfallen können. Ist aber eher ungünstig, weil man dann eben das bitgenaue Verhalten nicht definiert vorliegen hat.

Wenn es eine konventionelle, simple CPU ist, wird man die FPGA-Hardware einzeln mit Opcode und Operanden füttern können und kann danach im Flagregister, den Registern, im RAM des Hauptspeichers prüfen ob der Opcode funktioniert hat. Und man kann das typisch langsam in single-step-Modus machen.

Muß man also nur beide Teile, Softwaresimulator & FPGA parallel laufen lassen und prüfen ob die Ergebnisse identisch sind.

Es ergibt sich immer das Problem, daß man nicht alle Bytes als Testmuster komplett durchtesten kann: irgendwelche Extremwerte wie 00, FF nehmen und einige Zufallszahlen dazwischen reicht meist. Übliche Fehler melden sich sofort.

MfG JRD

"Rafael Deliano" schrieb im Newsbeitrag news: snipped-for-privacy@t-online.de...

1.) Du hast dir eine fertigen Prozessor also einen FPGA bitstream - Dann benutzt man einen on/off Chip Logic Analyzer und schreibt/besorgt sich eine Monitorprogramm und/oder einen Debugger. 2.) Man entwirft eine Cpu von neu dann nützt ein Simulator auch nicht soviel. Es gibt AFAIK kein Programm, dass eine selbstgeschriebene Simulation in einen FPGA bitstream umsetzt. Also gewünschte Funktionalität in Module zerlegen. Module mit Simulation in VHDL coden und testen. Sinnvollerweise nimmt man sich ein viel grösseres FPGA und baut sich einen "bond out" Chip von der CPU. Weiterhin ist ein Hardwaremonitor in dem FPGA auch keine schlechte Idee. Dann alles zusammen packen in FPGA laden und mit 1.) weiter.

Genau das macht man mit einem Debugger/Monitor.

Und wer hat die Simulation verifiziert und was ist mit Timing ? Eine Cpu zu testen besteht nicht nur aus abarbeiten von op-code.

Toll, da kann man die Zufallswerte im Ram benutzen ;-) Bei CPU op-code sind 00 und FF keine Extremwerte, sondern werden wegen der einfachen Dekodierung gerne benutzt.

Gruß

Hans-Georg

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required