Date post: | 05-Apr-2015 |
Category: |
Documents |
Upload: | anneke-heimberger |
View: | 107 times |
Download: | 4 times |
[Ro]Assigment 4
[Bridge 2007]Altinger Harald, 0630936Marsalek Alexander, 0630423Pilgram Felix, 0531007Poeschko Jan, 0530941
Testbed simple_cpu
p_memory
bridge
h_c
lk
clk
p_sel0
p_en
p_write
p_sel3
p_addrp_wdata
h_rdata
h_w
rite
h_s
el
data
_tom
em
h_a
ddr
h_r
ead
yh_r
data
interrupt
Bridge
h_ready
h_addr
h_rdata
i_hready
i_write
b_reset
i_sel
i_addr
i_pready
i_rdata
h_write
h_sel
p_en
p_sel0
p_sel1
p_sel2
p_sel3
p_write
p_addr
p_wdata
p_rdata
h_w
data
p_c
lk
HBridge LBridge
h_c
lk
bridge
Ablauf
CPU an HB: Schreibbefehl mit Adresse
HB veranlasst LB reset i_pready, HB: i_hready Adresse und Operationsart liegen an LB hohlt Daten vom Speicher, setzt
i_pready LB fertig, HB h-ready an die CPU
ASM Diagram
ASM Diagram
ASM Statusnamen
Debug features
CPU „Betriebssystem“
uebung4_cpu_mem.v
schmi24f.v
CPU Handshake
uebung4_cpu_mem.v
schmi24f.v
SimulationFETCHCPU_STATE: DECODECPU_STATE: WRITECPU: schreibe 6 auf 0HIGH_SPEED_BRIDGE: schreibe auf Speicher: 0, Adresse: 0LOW_SPEED_BRIDGE: schreibe 6 auf Speicher: 0, Adresse: 0time: 23440, sel=1 en=0 write=1 addr=0 wdata= 6 m[0]= 3 m[1]= 4 m[2]= 5 m[3]= 0 int=0 rdata= xtime: 23600, sel=1 en=0 write=1 addr=0 wdata= 6 m[0]= 3 m[1]= 4 m[2]= 5 m[3]= 0 int=0 rdata= 3time: 23600, sel=1 en=1 write=1 addr=0 wdata= 6 m[0]= 3 m[1]= 4 m[2]= 5 m[3]= 0 int=0 rdata= 3LOW_SPEED_BRIDGE: fertig mit schreiben von 6 auf Speicher: 0, Adresse: 0time: 23760, sel=1 en=1 write=1 addr=0 wdata= 6 m[0]= 6 m[1]= 4 m[2]= 5 m[3]= 0 int=0 rdata= xtime: 23760, sel=0 en=0 write=0 addr=0 wdata= 0 m[0]= 6 m[1]= 4 m[2]= 5 m[3]= 0 int=0 rdata= xCPU: fertig mit schreiben von 6 auf 0
FETCHCPU_STATE: DECODECPU_STATE: READCPU: lese von 0 13251,HIGH_SPEED_BRIDGE: lese von Speicher: 0, Adresse: 0time: 13680, sel=1 en=0 write=0 addr=0 wdata= 0 m[0]= 3 m[1]= 1 m[2]= 2 m[3]= 0 int=0 rdata= xLOW_SPEED_BRIDGE: lese von Speicher: 0, Adresse: 0time: 13840, sel=1 en=0 write=0 addr=0 wdata= 0 m[0]= 3 m[1]= 1 m[2]= 2 m[3]= 0 int=0 rdata= 3time: 13840, sel=1 en=1 write=0 addr=0 wdata= 0 m[0]= 3 m[1]= 1 m[2]= 2 m[3]= 0 int=0 rdata= 3LOW_SPEED_BRIDGE: von Speicher: 0 Adresse: 0 wurde 3 eingelesentime: 14000, sel=1 en=1 write=0 addr=0 wdata= 0 m[0]= 3 m[1]= 1 m[2]= 2 m[3]= 0 int=0 rdata= xtime: 14000, sel=0 en=0 write=0 addr=0 wdata= 0 m[0]= 3 m[1]= 1 m[2]= 2 m[3]= 0 int=0 rdata= x 14151,HIGH_SPEED_BRIDGE: von Speicher:0, Adresse: 0 wurde 3 eingelesenCPU: von 0 wurde 3 eingelesen
Neue CPU Befehle
Simulation
Tests OKMemory 0:pmem0.mem[ 0]=11111110pmem0.mem[ 1]=11111111pmem0.mem[ 2]=00001001pmem0.mem[ 3]=00000000Exiting VeriLogger at simulation time 62550000 Errors, 0 WarningsCompile time = 0.00300, Load time = 0.00200, Execution time = 0.47100
Normal exit
Daten- und Controllpfad
LBridgeData
LBridgeControll
HBridgeData
HBridgeControll
h_ready
h_addr
h_rdata
i_hready
i_write
b_reset
i_sel
i_addr
i_pready
i_rdata
h_write
h_sel
p_en
p_sel0
p_sel1
p_sel2
p_sel3
p_write
p_addr
p_wdata
p_rdata
p_c
lk
HBridge LBridge
h_c
lk
bridge
Datenpfad - HB
Datenpfad - LB
Debug
Controllpath
Controllpath
Ausgangslogik
Next state Logic
Next state Logic
Zusatzaufgabe