mirror of
https://github.com/vortexgpgpu/vortex.git
synced 2025-04-23 13:27:29 -04:00
Added a pipeline stage + fixed SM param errors
This commit is contained in:
parent
7f7d17d176
commit
70651f0340
15 changed files with 26390 additions and 24621 deletions
|
@ -258,8 +258,8 @@
|
|||
`define SHARED_MEMORY_HEIGHT ((`SHARED_MEMORY_SIZE) / (`SHARED_MEMORY_BANKS * `SHARED_MEMORY_BYTES_PER_READ))
|
||||
|
||||
`define SHARED_MEMORY_BANK_OFFSET_ST (2)
|
||||
`define SHARED_MEMORY_BANK_OFFSET_ED (2+$clog2(`DCACHE_BANKS)-1)
|
||||
`define SHARED_MEMORY_BANK_OFFSET_ED (2+$clog2(`SHARED_MEMORY_BANKS)-1)
|
||||
`define SHARED_MEMORY_BLOCK_OFFSET_ST (`SHARED_MEMORY_BANK_OFFSET_ED + 1)
|
||||
`define SHARED_MEMORY_BLOCK_OFFSET_ED (`SHARED_MEMORY_BLOCK_OFFSET_ST +$clog2(`SHARED_MEMORY_LOG_WORDS_PER_READ)-1)
|
||||
`define SHARED_MEMORY_BLOCK_OFFSET_ED (`SHARED_MEMORY_BLOCK_OFFSET_ST +`SHARED_MEMORY_LOG_WORDS_PER_READ-1)
|
||||
`define SHARED_MEMORY_INDEX_OFFSET_ST (`SHARED_MEMORY_BLOCK_OFFSET_ED + 1)
|
||||
`define SHARED_MEMORY_INDEX_OFFSET_ED (`SHARED_MEMORY_INDEX_OFFSET_ST + $clog2(`SHARED_MEMORY_HEIGHT)-1)
|
||||
|
|
68
rtl/VX_lsu.v
68
rtl/VX_lsu.v
|
@ -31,39 +31,63 @@ module VX_lsu (
|
|||
);
|
||||
|
||||
|
||||
wire[`NT_M1:0][31:0] use_address;
|
||||
wire[`NT_M1:0][31:0] use_store_data;
|
||||
wire[`NT_M1:0] use_valid;
|
||||
wire[2:0] use_mem_read;
|
||||
wire[2:0] use_mem_write;
|
||||
wire[4:0] use_rd;
|
||||
wire[`NW_M1:0] use_warp_num;
|
||||
wire[1:0] use_wb;
|
||||
wire[31:0] use_pc;
|
||||
|
||||
|
||||
|
||||
wire zero = 0;
|
||||
|
||||
VX_generic_register #(.N(308)) lsu_buffer(
|
||||
.clk (clk),
|
||||
.reset(reset),
|
||||
.stall(out_delay),
|
||||
.flush(zero),
|
||||
.in ({address , VX_lsu_req.store_data, VX_lsu_req.valid, VX_lsu_req.mem_read, VX_lsu_req.mem_write, VX_lsu_req.rd, VX_lsu_req.warp_num, VX_lsu_req.wb, VX_lsu_req.lsu_pc}),
|
||||
.out ({use_address, use_store_data , use_valid , use_mem_read , use_mem_write , use_rd , use_warp_num , use_wb , use_pc })
|
||||
);
|
||||
|
||||
|
||||
genvar index;
|
||||
for (index = 0; index <= `NT_M1; index = index + 1) begin
|
||||
assign VX_dcache_req.out_cache_driver_in_address[index] = address[index];
|
||||
assign VX_dcache_req.out_cache_driver_in_data[index] = VX_lsu_req.store_data[index];
|
||||
assign VX_dcache_req.out_cache_driver_in_valid[index] = (VX_lsu_req.valid[index]);
|
||||
assign VX_dcache_req.out_cache_driver_in_address[index] = use_address[index];
|
||||
assign VX_dcache_req.out_cache_driver_in_data[index] = use_store_data[index];
|
||||
assign VX_dcache_req.out_cache_driver_in_valid[index] = (use_valid[index]);
|
||||
|
||||
assign VX_mem_wb.loaded_data[index] = VX_dcache_rsp.in_cache_driver_out_data[index];
|
||||
end
|
||||
|
||||
assign VX_dcache_req.out_cache_driver_in_mem_read = VX_lsu_req.mem_read;
|
||||
assign VX_dcache_req.out_cache_driver_in_mem_write = VX_lsu_req.mem_write;
|
||||
assign VX_dcache_req.out_cache_driver_in_mem_read = use_mem_read;
|
||||
assign VX_dcache_req.out_cache_driver_in_mem_write = use_mem_write;
|
||||
|
||||
|
||||
assign VX_mem_wb.rd = VX_lsu_req.rd;
|
||||
assign VX_mem_wb.wb = VX_lsu_req.wb & {!VX_dcache_rsp.delay, !VX_dcache_rsp.delay};
|
||||
assign VX_mem_wb.wb_valid = VX_lsu_req.valid;
|
||||
assign VX_mem_wb.wb_warp_num = VX_lsu_req.warp_num;
|
||||
assign VX_mem_wb.rd = use_rd;
|
||||
assign VX_mem_wb.wb = use_wb & {!VX_dcache_rsp.delay, !VX_dcache_rsp.delay};
|
||||
assign VX_mem_wb.wb_valid = use_valid;
|
||||
assign VX_mem_wb.wb_warp_num = use_warp_num;
|
||||
|
||||
assign VX_mem_wb.mem_wb_pc = VX_lsu_req.lsu_pc;
|
||||
assign VX_mem_wb.mem_wb_pc = use_pc;
|
||||
|
||||
integer curr_t;
|
||||
always @(negedge clk) begin
|
||||
for (int curr_t = 0; curr_t < `NT; curr_t=curr_t+1)
|
||||
if ((VX_dcache_req.out_cache_driver_in_valid[curr_t]) && !out_delay) begin
|
||||
if (VX_dcache_req.out_cache_driver_in_mem_read != `NO_MEM_READ) begin
|
||||
$display("Reading addr: %x val: %x", address[0], VX_mem_wb.loaded_data[0]);
|
||||
end
|
||||
// integer curr_t;
|
||||
// always @(negedge clk) begin
|
||||
// for (int curr_t = 0; curr_t < `NT; curr_t=curr_t+1)
|
||||
// if ((VX_dcache_req.out_cache_driver_in_valid[curr_t]) && !out_delay) begin
|
||||
// if (VX_dcache_req.out_cache_driver_in_mem_read != `NO_MEM_READ) begin
|
||||
// $display("Reading addr: %x val: %x", address[0], VX_mem_wb.loaded_data[0]);
|
||||
// end
|
||||
|
||||
if (VX_dcache_req.out_cache_driver_in_mem_write != `NO_MEM_WRITE) begin
|
||||
$display("Writing addr: %x val: %x", address[0], VX_dcache_req.out_cache_driver_in_data[0]);
|
||||
end
|
||||
end
|
||||
end
|
||||
// if (VX_dcache_req.out_cache_driver_in_mem_write != `NO_MEM_WRITE) begin
|
||||
// $display("Writing addr: %x val: %x", address[0], VX_dcache_req.out_cache_driver_in_data[0]);
|
||||
// end
|
||||
// end
|
||||
// end
|
||||
|
||||
// wire zero_temp = 0;
|
||||
// VX_generic_register #(.N(142)) register_wb_data
|
||||
|
|
|
@ -176,7 +176,7 @@ module VX_warp_scheduler (
|
|||
|
||||
if (update_use_wspawn) begin
|
||||
use_wsapwn[warp_to_schedule] <= 0;
|
||||
thread_masks[warp_to_schedule] <= 1'b1;
|
||||
thread_masks[warp_to_schedule] <= 1;
|
||||
end
|
||||
|
||||
|
||||
|
@ -284,7 +284,7 @@ module VX_warp_scheduler (
|
|||
wire real_use_wspawn = use_wsapwn[warp_to_schedule];
|
||||
|
||||
assign warp_pc = real_use_wspawn ? use_wsapwn_pc : warp_pcs[warp_to_schedule];
|
||||
assign thread_mask = (global_stall) ? 0 : (real_use_wspawn ? 1'b1 : thread_masks[warp_to_schedule]);
|
||||
assign thread_mask = (global_stall) ? 0 : (real_use_wspawn ? `NT'b1 : thread_masks[warp_to_schedule]);
|
||||
assign warp_num = warp_to_schedule;
|
||||
|
||||
assign update_use_wspawn = use_wsapwn[warp_to_schedule] && !global_stall;
|
||||
|
|
|
@ -49,7 +49,7 @@ reg[`NT_M1:0][31:0] temp_out_data;
|
|||
reg [SM_BANKS - 1:0][$clog2(SM_HEIGHT) - 1:0] block_addr;
|
||||
reg [SM_BANKS - 1:0][SM_WORDS_PER_READ-1:0][31:0] block_wdata;
|
||||
reg [SM_BANKS - 1:0][SM_WORDS_PER_READ-1:0][31:0] block_rdata;
|
||||
reg [SM_BANKS - 1:0][SM_LOG_WORDS_PER_READ:0] block_we;
|
||||
reg [SM_BANKS - 1:0][SM_LOG_WORDS_PER_READ-1:0] block_we;
|
||||
|
||||
wire send_data;
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
|
@ -52,6 +52,7 @@ int main()
|
|||
// Main is called with all threads active of warp 0
|
||||
vx_tmc(1);
|
||||
|
||||
|
||||
vx_print_str("Simple Main\n");
|
||||
|
||||
|
||||
|
@ -69,6 +70,22 @@ int main()
|
|||
vx_print_str("test_wspawn\n");
|
||||
test_wsapwn();
|
||||
|
||||
vx_print_str("Shared Memory test\n");
|
||||
unsigned * ptr = (unsigned *) 0xFFFF0000;
|
||||
unsigned value = 0;
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
*ptr = value;
|
||||
unsigned read_valud = *ptr;
|
||||
vx_printf("ptr: ", (unsigned) ptr);
|
||||
vx_printf("Original Value: ", value);
|
||||
vx_printf("Read Value: ", read_valud);
|
||||
vx_print_str("-------------------\n");
|
||||
value++;
|
||||
ptr++;
|
||||
|
||||
}
|
||||
|
||||
vx_print_str("vx_spawnWarps mat_add_kernel\n");
|
||||
|
||||
mat_add_args_t arguments;
|
||||
|
|
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
@ -1,6 +1,6 @@
|
|||
:0200000480007A
|
||||
:100000009705000093850502130540006B10B500AD
|
||||
:10001000EF000001EF008074130500006B00050085
|
||||
:10001000EF000001EF00407C130500006B000500BD
|
||||
:10002000130540006B000500F32610029396A6010D
|
||||
:10003000732600029315A6001316260037F1FF6FF2
|
||||
:100040003301B1403301D1403301C100F326100226
|
||||
|
@ -16,130 +16,148 @@
|
|||
:1000E0002322B1008345050063880500EF00C001AD
|
||||
:1000F000130515006FF01FFF8320010083254100C9
|
||||
:100100001301C10067800000B702010023A0B20004
|
||||
:1001100067800000130101FE232E1100232C8100B3
|
||||
:10012000130401022326A4FEB70700810327C4FE9F
|
||||
:100130001317270093874715B307F70083A7070016
|
||||
:1001400013850700EFF05FF9130000008320C10161
|
||||
:10015000032481011301010267800000130101FEE5
|
||||
:10016000232E1100232C8100130401022326A4FE58
|
||||
:100170002324B4FE0325C4FEEFF01FF6032584FEFE
|
||||
:10018000EFF05FF9B707008113850704EFF0DFF4A4
|
||||
:10019000130000008320C101032481011301010227
|
||||
:1001A00067800000130101FE232E1100232C810023
|
||||
:1001B00013040102B707008183A7C72A138507002C
|
||||
:1001C000EFF09FEAB707008103A7872AB7070081EE
|
||||
:1001D00083A7472A13850700E7000700EFF0DFEA4F
|
||||
:1001E0002326A4FE8327C4FE6388070013050000AE
|
||||
:1001F000EFF09FE76F00C00013051000EFF0DFE69F
|
||||
:10020000130000008320C1010324810113010102B6
|
||||
:1002100067800000130101FE232E1100232C8100B2
|
||||
:10022000130401022326A4FE2324B4FE2322C4FEC9
|
||||
:100230002320D4FEB7070081032744FE23A4E72A26
|
||||
:10024000B7070081032704FE23A2E72AB70700812E
|
||||
:10025000032784FE23A6E72AB70700809387471A5F
|
||||
:10026000938507000325C4FEEFF09FDFEFF09FF3B7
|
||||
:10027000130000008320C101032481011301010246
|
||||
:1002800067800000130101FE232E1100232C810042
|
||||
:1002900013040102B707008113854708EFF0DFE37D
|
||||
:1002A00013054000EFF05FDCEFF09FDE2326A4FE95
|
||||
:1002B0000327C4FEB70700818326C4FE9396260059
|
||||
:1002C0009387471DB387F60023A0E70013051000AE
|
||||
:1002D000EFF09FD9B707008183A7471D138507005B
|
||||
:1002E000EFF05FE3B707008113854709EFF0DFDE2A
|
||||
:1002F000B70700819387471D83A747001385070031
|
||||
:10030000EFF05FE1B707008113854709EFF0DFDC0D
|
||||
:10031000B70700819387471D83A7870013850700D0
|
||||
:10032000EFF05FDFB707008113854709EFF0DFDAF1
|
||||
:10033000B70700819387471D83A7C7001385070070
|
||||
:10034000EFF05FDDB707008113854709EFF0DFD8D5
|
||||
:10035000130000008320C101032481011301010265
|
||||
:1003600067800000130101FE232E1100232C810061
|
||||
:1003700013040102EFF0DFD12326A4FE8327C4FE7D
|
||||
:1003800093B72700A305F4FE8347B4FE1385070047
|
||||
:10039000EFF09FCE8347B4FE638407068327C4FE35
|
||||
:1003A00093B717002305F4FE8347A4FE13850700C7
|
||||
:1003B000EFF09FCC8347A4FE63820702B70700815A
|
||||
:1003C0000327C4FE131727009387072CB307F700F2
|
||||
:1003D0001307A00023A0E7006F000002B707008109
|
||||
:1003E0000327C4FE131727009387072CB307F700D2
|
||||
:1003F0001307B00023A0E700EFF09FC86F0040068E
|
||||
:100400008327C4FE93B73700A304F4FE834794FE0A
|
||||
:1004100013850700EFF05FC6834794FE63820702EF
|
||||
:10042000B70700810327C4FE131727009387072C03
|
||||
:10043000B307F7001307C00023A0E7006F00000216
|
||||
:10044000B70700810327C4FE131727009387072CE3
|
||||
:10045000B307F7001307D00023A0E700EFF05FC257
|
||||
:10046000EFF01FC2B707008183A7072C1385070091
|
||||
:10047000EFF05FCAB707008113854709EFF0DFC5CA
|
||||
:10048000B70700819387072C83A7470013850700D0
|
||||
:10049000EFF05FC8B707008113854709EFF0DFC3AE
|
||||
:1004A000B70700819387072C83A787001385070070
|
||||
:1004B000EFF05FC6B707008113854709EFF0DFC192
|
||||
:1004C000B70700819387072C83A7C7001385070010
|
||||
:1004D000EFF05FC4B707008113854709EFF0DFBF76
|
||||
:1004E000130000008320C1010324810113010102D4
|
||||
:1004F00067800000130101FE232E1100232C8100D0
|
||||
:1005000013040102EFF05FB82326A4FEB7070081B1
|
||||
:100510000327C4FE131727009387072BB307F700A1
|
||||
:100520000327C4FE23A0E7008327C4FE63860700D9
|
||||
:1005300013050000EFF05FB3130000008320C1013A
|
||||
:10054000032481011301010267800000130101FEF1
|
||||
:10055000232E1100232C810013040102B707008011
|
||||
:100560009387474F2326F4FE8325C4FE13054000DE
|
||||
:10057000EFF01FAFEFF01FF8B707008183A7072B3D
|
||||
:1005800013850700EFF01FB9B707008113854709EE
|
||||
:10059000EFF09FB4B70700819387072B83A747002D
|
||||
:1005A00013850700EFF01FB7B707008113854709D0
|
||||
:1005B000EFF09FB2B70700819387072B83A78700CF
|
||||
:1005C00013850700EFF01FB5B707008113854709B2
|
||||
:1005D000EFF09FB0B70700819387072B83A7C70071
|
||||
:1005E00013850700EFF01FB3B70700811385470994
|
||||
:1005F000EFF09FAE130000008320C10103248101AE
|
||||
:100600001301010267800000130101FF232611007E
|
||||
:100610002324810013040101EFF0DFC6B707008136
|
||||
:1006200013858709EFF05FAB13054000EFF0DFA300
|
||||
:10063000EFF05FD313051000EFF01FA3B7070081A1
|
||||
:100640001385C70AEFF05FA9EFF05FF01300000019
|
||||
:100650008320C10003248100130101016780000091
|
||||
:10066000130101FC232E1102232C81021304010427
|
||||
:100670002326A4FC8327C4FC2326F4FEEFF0DFA08E
|
||||
:100680002324A4FEEFF0DFA02322A4FE8327C4FED0
|
||||
:1006900083A70701032784FE637EF7008327C4FE38
|
||||
:1006A00083A7C700032744FE6376F7009307100073
|
||||
:1006B0006F00800093070000A301F4FE834734FE1F
|
||||
:1006C00093F71700A301F4FE834734FE1385070058
|
||||
:1006D000EFF09F9A834734FE638607068327C4FEA4
|
||||
:1006E00003A7C700832784FEB307F702032744FE4E
|
||||
:1006F000B307F700232EF4FC8327C4FE03A70700EB
|
||||
:100700008327C4FD93972700B307F70083A607004C
|
||||
:100710008327C4FE03A747008327C4FD93972700C0
|
||||
:10072000B307F70003A707008327C4FE03A68700CB
|
||||
:100730008327C4FD93972700B307F6003387E600AD
|
||||
:1007400023A0E700EFF0DF93130000008320C10334
|
||||
:10075000032481031301010467800000130101FCDD
|
||||
:10076000232E1102232C810213040104130510000F
|
||||
:10077000EFF09F8FB70700811385870FEFF0DF95AC
|
||||
:10078000EFF05FB0B707008113858710EFF0DF94BB
|
||||
:1007900013054000EFF05F8DEFF0DFBC1305100094
|
||||
:1007A000EFF09F8CB70700811385C711EFF0DF9240
|
||||
:1007B000EFF0DFD9B70700811385C712EFF0DF91A3
|
||||
:1007C000B7070081938747222324F4FCB7070081F1
|
||||
:1007D000938747262326F4FCB70700819387072DCC
|
||||
:1007E0002328F4FC93074000232AF4FC93074000DD
|
||||
:1007F000232CF4FC930740002322F4FE93074000CF
|
||||
:100800002320F4FE032744FE832504FE930784FC83
|
||||
:1008100093860700B7070080138607661305070055
|
||||
:10082000EFF05F9F232604FE6F000008232404FEE0
|
||||
:100830006F004005032744FD8327C4FE3307F702FA
|
||||
:10084000832784FEB307F700232EF4FCB70700814B
|
||||
:100850000327C4FD131727009387072DB307F7005D
|
||||
:1008600083A7070013850700EFF0DF8AB707008131
|
||||
:100870001385C714EFF05F86832784FE93871700E4
|
||||
:100880002324F4FE032744FD832784FEE3E4E7FAF0
|
||||
:10089000B707008113850715EFF01F848327C4FE77
|
||||
:1008A000938717002326F4FE032784FD8327C4FEC5
|
||||
:1008B000E3EEE7F693070000138507008320C103EA
|
||||
:0C08C00003248103130101046780000081
|
||||
:1001100067800000130101FD2326110223248102C0
|
||||
:1001200013040103232EA4FC0327C4FD9307F0004E
|
||||
:1001300063E4E702B70700810327C4FD1317270014
|
||||
:100140009387C71AB307F70083A707001385070033
|
||||
:10015000EFF09FF86F004007930700022326F4FE9C
|
||||
:10016000A30504FE8327C4FE9387C7FF0327C4FDAE
|
||||
:10017000B357F70093F7F7002322F4FE832744FEDA
|
||||
:100180006386070093071000A305F4FE8347B4FEBF
|
||||
:1001900063820702B7070081032744FE1317270075
|
||||
:1001A0009387C71AB307F70083A7070013850700D3
|
||||
:1001B000EFF09FF28327C4FE9387C7FF2326F4FE48
|
||||
:1001C0008327C4FEE340F0FA8320C10203248102A6
|
||||
:1001D0001301010367800000130101FE232E1100AB
|
||||
:1001E000232C8100130401022326A4FE2324B4FE41
|
||||
:1001F0000325C4FEEFF05FEE032584FEEFF09FF1D0
|
||||
:10020000B707008113850704EFF01FED130000000E
|
||||
:100210008320C101032481011301010267800000D2
|
||||
:10022000130101FE232E1100232C8100130401026F
|
||||
:10023000B707008183A7473013850700EFF0DFE29F
|
||||
:10024000B707008103A70730B707008183A7C72F2F
|
||||
:1002500013850700E7000700EFF01FE32326A4FE45
|
||||
:100260008327C4FE6388070013050000EFF0DFDF7B
|
||||
:100270006F00C00013051000EFF01FDF1300000037
|
||||
:100280008320C10103248101130101026780000062
|
||||
:10029000130101FE232E1100232C810013040102FF
|
||||
:1002A0002326A4FE2324B4FE2322C4FE2320D4FE4E
|
||||
:1002B000B7070081032744FE23A0E730B70700817A
|
||||
:1002C000032704FE23AEE72EB7070081032784FE31
|
||||
:1002D00023A2E730B70700809387072293850700A2
|
||||
:1002E0000325C4FEEFF0DFD7EFF09FF3130000000B
|
||||
:1002F0008320C101032481011301010267800000F2
|
||||
:10030000130101FE232E1100232C8100130401028E
|
||||
:10031000B707008113854708EFF01FDC1305400085
|
||||
:10032000EFF09FD4EFF0DFD62326A4FE0327C4FE10
|
||||
:10033000B70700818326C4FE939626009387C722C1
|
||||
:10034000B387F60023A0E70013051000EFF0DFD11C
|
||||
:10035000B707008183A7C72213850700EFF09FDB53
|
||||
:10036000B707008113854709EFF01FD7B707008152
|
||||
:100370009387C72283A7470013850700EFF09FD913
|
||||
:10038000B707008113854709EFF01FD5B707008134
|
||||
:100390009387C72283A7870013850700EFF09FD7B5
|
||||
:1003A000B707008113854709EFF01FD3B707008116
|
||||
:1003B0009387C72283A7C70013850700EFF09FD557
|
||||
:1003C000B707008113854709EFF01FD11300000024
|
||||
:1003D0008320C10103248101130101026780000011
|
||||
:1003E000130101FE232E1100232C810013040102AE
|
||||
:1003F000EFF01FCA2326A4FE8327C4FE93B727006D
|
||||
:10040000A305F4FE8347B4FE13850700EFF0DFC6B3
|
||||
:100410008347B4FE638407068327C4FE93B717009F
|
||||
:100420002305F4FE8347A4FE13850700EFF0DFC425
|
||||
:100430008347A4FE63820702B70700810327C4FE37
|
||||
:100440001317270093878731B307F7001307A0001E
|
||||
:1004500023A0E7006F000002B70700810327C4FE56
|
||||
:100460001317270093878731B307F7001307B000EE
|
||||
:1004700023A0E700EFF0DFC06F0040068327C4FE33
|
||||
:1004800093B73700A304F4FE834794FE1385070057
|
||||
:10049000EFF09FBE834794FE63820702B707008197
|
||||
:1004A0000327C4FE1317270093878731B307F7008C
|
||||
:1004B0001307C00023A0E7006F000002B707008108
|
||||
:1004C0000327C4FE1317270093878731B307F7006C
|
||||
:1004D0001307D00023A0E700EFF09FBAEFF05FBA58
|
||||
:1004E000B707008183A7873113850700EFF09FC20C
|
||||
:1004F000B707008113854709EFF01FBEB7070081DA
|
||||
:100500009387873183A7470013850700EFF09FC0CB
|
||||
:10051000B707008113854709EFF01FBCB7070081BB
|
||||
:100520009387873183A7870013850700EFF09FBE6D
|
||||
:10053000B707008113854709EFF01FBAB70700819D
|
||||
:100540009387873183A7C70013850700EFF09FBC0F
|
||||
:10055000B707008113854709EFF01FB813000000AB
|
||||
:100560008320C1010324810113010102678000007F
|
||||
:10057000130101FE232E1100232C8100130401021C
|
||||
:10058000EFF09FB02326A4FEB70700810327C4FE27
|
||||
:100590001317270093878730B307F7000327C4FE9C
|
||||
:1005A00023A0E7008327C4FE63860700130500002D
|
||||
:1005B000EFF09FAB130000008320C10103248101F1
|
||||
:1005C0001301010267800000130101FE232E1100B8
|
||||
:1005D000232C810013040102B7070080938707577B
|
||||
:1005E0002326F4FE8325C4FE13054000EFF05FA729
|
||||
:1005F000EFF01FF8B707008183A787301385070046
|
||||
:10060000EFF05FB1B707008113854709EFF0DFAC6A
|
||||
:10061000B70700819387873083A7470013850700BA
|
||||
:10062000EFF05FAFB707008113854709EFF0DFAA4E
|
||||
:10063000B70700819387873083A78700138507005A
|
||||
:10064000EFF05FADB707008113854709EFF0DFA832
|
||||
:10065000B70700819387873083A7C70013850700FA
|
||||
:10066000EFF05FABB707008113854709EFF0DFA616
|
||||
:10067000130000008320C101032481011301010242
|
||||
:1006800067800000130101FF23261100232481004D
|
||||
:1006900013040101EFF0DFC6B70700811385870956
|
||||
:1006A000EFF09FA313054000EFF01F9CEFF05FD326
|
||||
:1006B00013051000EFF05F9BB70700811385C70A91
|
||||
:1006C000EFF09FA1EFF05FF0130000008320C10066
|
||||
:1006D000032481001301010167800000130101FC64
|
||||
:1006E000232E1102232C8102130401042326A4FCCF
|
||||
:1006F0008327C4FC2326F4FEEFF01F992324A4FED5
|
||||
:10070000EFF01F992322A4FE8327C4FE83A70701CD
|
||||
:10071000032784FE637EF7008327C4FE83A7C700F8
|
||||
:10072000032744FE6376F700930710006F008000F4
|
||||
:1007300093070000A301F4FE834734FE93F71700EC
|
||||
:10074000A301F4FE834734FE13850700EFF0DF9228
|
||||
:10075000834734FE638607068327C4FE03A7C700CA
|
||||
:10076000832784FEB307F702032744FEB307F7008D
|
||||
:10077000232EF4FC8327C4FE03A707008327C4FDB0
|
||||
:1007800093972700B307F70083A607008327C4FECB
|
||||
:1007900003A747008327C4FD93972700B307F700FB
|
||||
:1007A00003A707008327C4FE03A687008327C4FD91
|
||||
:1007B00093972700B307F6003387E60023A0E700EE
|
||||
:1007C000EFF01F8C130000008320C103032481037A
|
||||
:1007D0001301010467800000130101FB23261104AB
|
||||
:1007E000232481041304010513051000EFF0DF87B3
|
||||
:1007F000B70700811385870FEFF01F8EEFF05FB012
|
||||
:10080000B707008113858710EFF01F8D1305400097
|
||||
:10081000EFF09F85EFF0DFBC13051000EFF0DF84F1
|
||||
:10082000B70700811385C711EFF01F8BEFF0DFD9F9
|
||||
:10083000B70700811385C712EFF01F8AB707FFFFC4
|
||||
:100840002326F4FE232404FE232204FE6F00000866
|
||||
:100850008327C4FE032784FE23A0E7008327C4FE6A
|
||||
:1008600083A70700232CF4FC8327C4FE938507008D
|
||||
:10087000B707008113850714EFF01F96832584FEC8
|
||||
:10088000B707008113858714EFF01F95832584FD3A
|
||||
:10089000B70700811385C715EFF01F94B7070081D4
|
||||
:1008A0001385C716EFF05F83832784FE93871700B5
|
||||
:1008B0002324F4FE8327C4FE938747002326F4FEF7
|
||||
:1008C000832744FE938717002322F4FE032744FE68
|
||||
:1008D00093074000E3DEE7F6B7070081138547186A
|
||||
:1008E000EFF08FFFB70700819387C727232CF4FA17
|
||||
:1008F000B70700819387C72B232EF4FAB70700812F
|
||||
:10090000938787322320F4FC930740002322F4FCD2
|
||||
:10091000930740002324F4FC93074000232AF4FCAF
|
||||
:10092000930740002328F4FC032744FD832504FD9E
|
||||
:10093000930784FB93860700B70700801386C76D73
|
||||
:1009400013050700EFF0DF94232004FE6F0000087A
|
||||
:10095000232E04FC6F004005032744FC832704FE7C
|
||||
:100960003307F7028327C4FDB307F7002326F4FCFF
|
||||
:10097000B70700810327C4FC13172700938787322A
|
||||
:10098000B307F70083A7070013850700EFF08FF880
|
||||
:10099000B70700811385471AEFF00FF48327C4FDD2
|
||||
:1009A00093871700232EF4FC032744FC8327C4FD00
|
||||
:1009B000E3E4E7FAB70700811385871AEFF0CFF178
|
||||
:1009C000832704FE938717002320F4FE032784FC6B
|
||||
:1009D000832704FEE3EEE7F6930700001385070084
|
||||
:1009E0008320C104032481041301010567800000F2
|
||||
:02000004810079
|
||||
:10000000300000003100000032000000330000002A
|
||||
:10001000340000003500000036000000370000000A
|
||||
|
@ -159,30 +177,35 @@
|
|||
:1000F000650000006600000053696D706C65204D5E
|
||||
:1001000061696E0A00000000746573745F6469764B
|
||||
:10011000657267656E63650A00000000746573743C
|
||||
:100120005F77737061776E0A0000000076785F7306
|
||||
:100130007061776E5761727073206D61745F616476
|
||||
:10014000645F6B65726E656C0A0000002000000041
|
||||
:020150000A00A3
|
||||
:100154000000008104000081080000810C0000817F
|
||||
:100164001000008114000081180000811C0000812F
|
||||
:100174002000008124000081280000812C000081DF
|
||||
:100184003000008134000081380000813C0000818F
|
||||
:1001940044000081480000814C000081500000812F
|
||||
:1001A40054000081580000815C00008160000081DF
|
||||
:1001B40064000081680000816C000081700000818F
|
||||
:1001C40074000081780000817C000081800000813F
|
||||
:1001D4000500000005000000050000000500000007
|
||||
:1001E400B8000081BC000081C0000081C40000810F
|
||||
:1001F400C8000081CC000081D0000081D4000081BF
|
||||
:10020400D8000081DC000081E0000081E40000816E
|
||||
:10021400E8000081EC000081F0000081F40000811E
|
||||
:1002240005000000050000000500000005000000B6
|
||||
:1002340006000000060000000600000006000000A2
|
||||
:10024400070000000700000007000000070000008E
|
||||
:10025400080000000800000008000000080000007A
|
||||
:100264000100000001000000010000000100000086
|
||||
:100274000100000001000000010000000100000076
|
||||
:100284000100000001000000010000000100000066
|
||||
:100294000100000001000000010000000100000056
|
||||
:100120005F77737061776E0A000000005368617238
|
||||
:100130006564204D656D6F727920746573740A0073
|
||||
:100140007074723A200000004F726967696E616CCA
|
||||
:100150002056616C75653A200000000052656164AC
|
||||
:100160002056616C75653A20000000002D2D2D2D64
|
||||
:100170002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D0AD2
|
||||
:100180000000000076785F737061776E576172705F
|
||||
:1001900073206D61745F6164645F6B65726E656C22
|
||||
:0A01A0000A000000200000000A0021
|
||||
:1001AC000000008104000081080000810C00008127
|
||||
:1001BC001000008114000081180000811C000081D7
|
||||
:1001CC002000008124000081280000812C00008187
|
||||
:1001DC003000008134000081380000813C00008137
|
||||
:1001EC0044000081480000814C00008150000081D7
|
||||
:1001FC0054000081580000815C0000816000008187
|
||||
:10020C0064000081680000816C0000817000008136
|
||||
:10021C0074000081780000817C00008180000081E6
|
||||
:10022C0005000000050000000500000005000000AE
|
||||
:10023C00B8000081BC000081C0000081C4000081B6
|
||||
:10024C00C8000081CC000081D0000081D400008166
|
||||
:10025C00D8000081DC000081E0000081E400008116
|
||||
:10026C00E8000081EC000081F0000081F4000081C6
|
||||
:10027C00050000000500000005000000050000005E
|
||||
:10028C00060000000600000006000000060000004A
|
||||
:10029C000700000007000000070000000700000036
|
||||
:1002AC000800000008000000080000000800000022
|
||||
:1002BC00010000000100000001000000010000002E
|
||||
:1002CC00010000000100000001000000010000001E
|
||||
:1002DC00010000000100000001000000010000000E
|
||||
:1002EC0001000000010000000100000001000000FE
|
||||
:040000058000000077
|
||||
:00000001FF
|
||||
|
|
|
@ -27,7 +27,12 @@ void upload(char ** ptr, char * src, int size)
|
|||
{
|
||||
char * drain = *ptr;
|
||||
|
||||
*((int *) drain) = size;
|
||||
// *((int *) drain) = size;
|
||||
char * size_ptr = (char *) size;
|
||||
drain[0] = size_ptr[0];
|
||||
drain[1] = size_ptr[1];
|
||||
drain[2] = size_ptr[2];
|
||||
drain[3] = size_ptr[3];
|
||||
|
||||
drain += 4;
|
||||
|
||||
|
@ -46,11 +51,19 @@ void download(char ** ptr, char * drain)
|
|||
char * src = *ptr;
|
||||
|
||||
int size;
|
||||
size = *((int *) src);
|
||||
|
||||
// size = *((int *) src);
|
||||
char * size_ptr = (char *) size;
|
||||
size_ptr[0] = src[0];
|
||||
size_ptr[1] = src[1];
|
||||
size_ptr[2] = src[2];
|
||||
size_ptr[3] = src[3];
|
||||
|
||||
|
||||
src += 4;
|
||||
|
||||
vx_printf("newlib.c: Size of download: ", size);
|
||||
vx_printf("newlib.c: Real size: ", sizeof(struct stat));
|
||||
// vx_printf("newlib.c: Size of download: ", size);
|
||||
// vx_printf("newlib.c: Real size: ", sizeof(struct stat));
|
||||
|
||||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
|
@ -79,12 +92,24 @@ int _fstat(int file, struct stat * st)
|
|||
|
||||
char * read_buffer = (char *) FILE_IO_READ;
|
||||
|
||||
struct stat newSt;
|
||||
|
||||
download((char **) &read_buffer, (char *) &newSt);
|
||||
|
||||
st->st_mode = S_IFCHR;
|
||||
unsigned value;
|
||||
download((char **) &read_buffer, (char *) &value);
|
||||
st->st_mode = value;
|
||||
download((char **) &read_buffer, (char *) &value);
|
||||
st->st_dev = value;
|
||||
// download((char **) &read_buffer, (char *) &value);
|
||||
// st->st_uid = value;
|
||||
// download((char **) &read_buffer, (char *) &value);
|
||||
// st->st_gid = value;
|
||||
// download((char **) &read_buffer, (char *) &value);
|
||||
// st->st_size = value;
|
||||
// download((char **) &read_buffer, (char *) &value);
|
||||
// st->st_blksize = value;
|
||||
// download((char **) &read_buffer, (char *) &value);
|
||||
// st->st_blocks = value;
|
||||
|
||||
// st->st_mode = S_IFCHR;
|
||||
// st->st_mode = 33279;
|
||||
|
||||
vx_printf("st_mode: ", st->st_mode);
|
||||
vx_printf("st_dev: ", st->st_dev);
|
||||
|
|
|
@ -101,7 +101,6 @@ void Harp::reg_doWrite(Word cpuId, Word regNum) {
|
|||
Core::Core(const ArchDef &a, Decoder &d, MemoryUnit &mem, Word id):
|
||||
a(a), iDec(d), mem(mem), steps(4)
|
||||
{
|
||||
|
||||
release_warp = false;
|
||||
foundSchedule = true;
|
||||
schedule_w = 0;
|
||||
|
|
|
@ -82,7 +82,8 @@ Word signExt(Word w, Size bit, Word mask) {
|
|||
|
||||
void upload(unsigned * addr, char * src, int size, Warp & c)
|
||||
{
|
||||
// c.core->mem.write(current_addr, reg[rsrc[1]] & 0x000000FF, c.supervisorMode, 1);
|
||||
|
||||
cerr << "WRITING FINAL: " << *src << " size: " << size << "\n";
|
||||
|
||||
unsigned current_addr = *addr;
|
||||
|
||||
|
@ -93,6 +94,7 @@ void upload(unsigned * addr, char * src, int size, Warp & c)
|
|||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
unsigned value = src[i] & 0x000000FF;
|
||||
cerr << "UPLOAD: (" << hex << current_addr << dec << ") = " << hex << ( value) << dec << "\n";
|
||||
c.core->mem.write(current_addr, value, c.supervisorMode, 1);
|
||||
current_addr += 1;
|
||||
}
|
||||
|
@ -155,13 +157,18 @@ void trap_to_simulator(Warp & c)
|
|||
unsigned read_buffer = 0x71000000;
|
||||
unsigned write_buffer = 0x72000000;
|
||||
|
||||
// cerr << "RAW READ BUFFER:\n";
|
||||
// for (int i = 0; i < 10; i++)
|
||||
// {
|
||||
// unsigned new_addr = read_buffer + (4*i);
|
||||
// unsigned data_read = c.core->mem.read(new_addr, c.supervisorMode);
|
||||
// cerr << hex << new_addr << ": " << data_read << "\n";
|
||||
// }
|
||||
cerr << "RAW READ BUFFER:\n";
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
unsigned new_addr = read_buffer + (4*i);
|
||||
unsigned data_read = c.core->mem.read(new_addr, c.supervisorMode);
|
||||
cerr << hex << new_addr << ": " << data_read << "\n";
|
||||
}
|
||||
|
||||
for (int j = 0; j < 1024; j+=1)
|
||||
{
|
||||
c.core->mem.write((write_buffer+j), 0, c.supervisorMode, 1);
|
||||
}
|
||||
|
||||
int command;
|
||||
download(&read_buffer, (char *) &command, c);
|
||||
|
@ -219,18 +226,26 @@ void trap_to_simulator(Warp & c)
|
|||
|
||||
fprintf(stderr, "------------------------\n");
|
||||
fprintf(stderr, "Size of struct: %x\n", sizeof(struct stat));
|
||||
fprintf(stderr, "st_mode: %d\n", st.st_mode);
|
||||
fprintf(stderr, "st_dev: %d\n", st.st_dev);
|
||||
fprintf(stderr, "st_ino: %d\n", st.st_ino);
|
||||
fprintf(stderr, "st_uid: %d\n", st.st_uid);
|
||||
fprintf(stderr, "st_gid: %d\n", st.st_gid);
|
||||
fprintf(stderr, "st_rdev: %d\n", st.st_rdev);
|
||||
fprintf(stderr, "st_size: %d\n", st.st_size);
|
||||
fprintf(stderr, "st_blksize: %d\n", st.st_blksize);
|
||||
fprintf(stderr, "st_blocks: %d\n", st.st_blocks);
|
||||
fprintf(stderr, "st_mode: %x\n", st.st_mode);
|
||||
fprintf(stderr, "st_dev: %x\n", st.st_dev);
|
||||
fprintf(stderr, "st_ino: %x\n", st.st_ino);
|
||||
fprintf(stderr, "st_uid: %x\n", st.st_uid);
|
||||
fprintf(stderr, "st_gid: %x\n", st.st_gid);
|
||||
fprintf(stderr, "st_rdev: %x\n", st.st_rdev);
|
||||
fprintf(stderr, "st_size: %x\n", st.st_size);
|
||||
fprintf(stderr, "st_blksize: %x\n", st.st_blksize);
|
||||
fprintf(stderr, "st_blocks: %x\n", st.st_blocks);
|
||||
fprintf(stderr, "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
|
||||
|
||||
upload(&write_buffer, (char *) &st, sizeof(struct stat), c);
|
||||
upload(&write_buffer, (char *) &st.st_mode , sizeof(st.st_mode), c);
|
||||
upload(&write_buffer, (char *) &st.st_dev , sizeof(st.st_dev), c);
|
||||
// upload(&write_buffer, (char *) &st.st_uid , sizeof(st.st_uid), c);
|
||||
// upload(&write_buffer, (char *) &st.st_gid , sizeof(st.st_gid), c);
|
||||
// upload(&write_buffer, (char *) &st.st_size , sizeof(st.st_size), c);
|
||||
// upload(&write_buffer, (char *) &st.st_blksize , sizeof(st.st_blksize), c);
|
||||
// upload(&write_buffer, (char *) &st.st_blocks , sizeof(st.st_blocks), c);
|
||||
|
||||
// upload(&write_buffer, (char *) &st, sizeof(struct stat), c);
|
||||
|
||||
cerr << "RAW Write BUFFER:\n";
|
||||
unsigned original_write_buffer = 0x72000000;
|
||||
|
|
1929
syn/vortex_syn.log
1929
syn/vortex_syn.log
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue