23
[Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

[Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

Embed Size (px)

Citation preview

Page 1: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

[Ro]Assigment 4

[Bridge 2007]Altinger Harald, 0630936Marsalek Alexander, 0630423Pilgram Felix, 0531007Poeschko Jan, 0530941

Page 2: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko 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

Page 3: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

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

Page 4: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

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

Page 5: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

ASM Diagram

Page 6: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

ASM Diagram

Page 7: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

ASM Statusnamen

Page 8: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

Debug features

Page 9: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

CPU „Betriebssystem“

uebung4_cpu_mem.v

schmi24f.v

Page 10: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

CPU Handshake

uebung4_cpu_mem.v

schmi24f.v

Page 11: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

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

Page 12: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

Neue CPU Befehle

Page 13: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

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

Page 14: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

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

Page 15: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

Datenpfad - HB

Page 16: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

Datenpfad - LB

Page 17: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

Debug

Page 18: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

Controllpath

Page 19: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

Controllpath

Page 20: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

Ausgangslogik

Page 21: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

Next state Logic

Page 22: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

Next state Logic

Page 23: [Ro] Assigment 4 [Bridge 2007] Altinger Harald, 0630936 Marsalek Alexander, 0630423 Pilgram Felix, 0531007 Poeschko Jan, 0530941

Zusatzaufgabe