[CALU] Pipeline simulation II

  • From: Günther Wimpassinger <e0525147@xxxxxxxxxxxxxxxxxxxx>
  • To: "CALU G. Wimpassinger" <calu-ss2010-tuwien@xxxxxxxxxxxxx>
  • Date: Sun, 16 May 2010 03:56:57 +0200

Hallo Kollegen,

ich habe jetzt die Skripts für die Pipeline-Simulation
(Verhaltenssimulation) erweitert. Martin hat den "asmbin" so erweitert,
dass er auch nur das "Codesegment" ausgeben kann (Parameter -c),
wodurch das HEX-File direkt in das Instruction-ROM geladen werden kann.
Das im DO-File angegebene Assembler-File wird assembliert und in das
Working-Directory kopiert und dann in das ROM geladen.

Außerdem wird ein File (pisp_ser.dat) das als Input für den UART (in
der Simulation) dient in das Working-Directory kopiert (ser_in.dat) und
jedes mal, wenn man per "ldc r0,h100001 ldb r9,r0" ein Zeichen vom UART
liest, wird es aus diesem File gelesen. In der Simulation ersetzt die
Entity "uart_sim" den "uart" im normalen Design. Schreibt man mit "stb
r0,r2" auf den UART wird das
Byte als Zeichen in "Transcript"-Window von ModelSim ausgegeben.

Für das SRAM gibt es eine Entity, welche die externen SRAM Module
simuliert (sram_sim). Diese werden bereits in pisp_sim instantiiert und
mit dem SRAM
Controller (sram) verbunden. Ich bin aber noch nicht dazu gekommen,
die Funktionalität dieser Simulation zu prüfen. Man kann diese Module
leider nicht mit Werten <> 0 initialisieren. D.h. man muss erst was
reinschreiben, bevor man etwas vernünftiges (<>0) wieder auslesen kann.
LD/ST Operationen werden bereits dekodiert und bis zur WB-Stage weiter
geleitet.

Ich habe den Assembler so erweitert, dass der Befehl "ldc" automatisch
auf "ldc, ldc12 und ldc24) erweitert wird, wenn man größere Immediates
eingibt. Beispielsweise ersetzt der asmbin automatisch ein:
"ldc r0,hAB987321" nach "ldc r0,h321 ldc12 r0,h987 ldc24 r0,hAB",
"ldc r0,h123" nach "ldc r0,h123" oder ein
"ldc r0,h123456" nach "ldc r0,h456 ldc12 r0,h123".
Negative Zahlen werden zur Zeit immer komplett expandiert (also 3 ldc Befehle)

gute nacht
Günther


Other related posts:

  • » [CALU] Pipeline simulation II - Günther Wimpassinger