Hi,
ich bin gerade dabei, den 68000er (z.B. TG68 oder WF68K00) auf FPGAs umzusetzen.
Programme laufen schonmal, in der Simulation sieht's jedenfalls gem. Specs korrekt aus,
und auf einem kleinen SOC mit VGA und UART wird Text wie erwartet ausgeben.
Zwischen Supervisor und User-Mode umzuschalten und TRAPs aufrufen ist auch kein Problem.
Am Wochenende habe ich dann mal IRQs ausprobliert, leider ohne Erfolg. Die CPU reagiert
zwar auf den IRQ (je nach gesetztem IRQ-Filter), aber der entsprechende Vector wird leider
nicht aus der Vektortabelle ausgelesen. Entweder er liest aus Addresse 0x000000/0x000002
oder er springt weiter zu 0x000012/0x000014 (für illegal Opcode?). Die Beispielprogramme
stammen von Autoren, die schon erfolgreich kleinere Systeme mit realem 68k aufgebaut
haben, ich gehe also mal von der Korrektheit des Codes aus.
Falls sich hier jemand mit dem 68000er oder deren HDL-Modellen auskennt, der auch schon
ein System nachgebaut oder entwickelt hat: Wie genau sieht der zeitliche Ablauf bei IRQs aus,
und was kann man (wie ich) falschmachen?
Gruss