fixed gpr_ram bug + io bus arbitration
This commit is contained in:
@@ -74,30 +74,35 @@ struct scope_signal_t {
|
||||
|
||||
static const scope_signal_t scope_signals[] = {
|
||||
{ 32, "icache_req_addr" },
|
||||
{ 2 , "icache_req_tag" },
|
||||
{ 2, "icache_req_warp_num" },
|
||||
{ 2, "icache_req_tag" },
|
||||
{ 32, "icache_rsp_data" },
|
||||
{ 2 , "icache_rsp_tag" },
|
||||
{ 2, "icache_rsp_tag" },
|
||||
{ 32, "dcache_req_addr" },
|
||||
{ 2 , "dcache_req_tag" },
|
||||
{ 2, "dcache_req_warp_num" },
|
||||
{ 2, "dcache_req_tag" },
|
||||
{ 32, "dcache_rsp_data" },
|
||||
{ 2 , "dcache_rsp_tag" },
|
||||
{ 32, "dram_req_addr" },
|
||||
{ 29, "dram_req_tag" },
|
||||
{ 29, "dram_rsp_tag" },
|
||||
{ 2 , "icache_req_warp_num" },
|
||||
{ 2 , "dcache_req_warp_num" },
|
||||
{ 29, "dram_rsp_tag" },
|
||||
{ 32, "snp_req_addr" },
|
||||
{ 1, "snp_req_invalidate" },
|
||||
{ 16, "snp_req_tag" },
|
||||
{ 16, "snp_rsp_tag" },
|
||||
{ 2, "decode_warp_num" },
|
||||
{ 32, "decode_curr_PC" },
|
||||
{ 5 , "execute_rd" },
|
||||
{ 2 , "execute_warp_num" },
|
||||
{ 1, "decode_is_jal" },
|
||||
{ 5, "decode_rs1" },
|
||||
{ 5, "decode_rs2" },
|
||||
{ 2, "execute_warp_num" },
|
||||
{ 5, "execute_rd" },
|
||||
{ 32, "execute_a" },
|
||||
{ 32, "execute_b" },
|
||||
{ 5 , "writeback_rd" },
|
||||
{ 2 , "writeback_warp_num" },
|
||||
{ 32, "writeback_data" },
|
||||
{ 2 , "decode_warp_num" },
|
||||
{ 1 , "decode_is_jal" },
|
||||
{ 5 , "decode_rs1" },
|
||||
{ 5 , "decode_rs2" },
|
||||
{ 2 , "writeback_wb" },
|
||||
{ 32, "execute_b" },
|
||||
{ 2, "writeback_warp_num" },
|
||||
{ 2, "writeback_wb" },
|
||||
{ 5, "writeback_rd" },
|
||||
{ 32, "writeback_data" },
|
||||
|
||||
{ 1, "icache_req_valid" },
|
||||
{ 1, "icache_req_ready" },
|
||||
@@ -111,6 +116,10 @@ static const scope_signal_t scope_signals[] = {
|
||||
{ 1, "dram_req_ready" },
|
||||
{ 1, "dram_rsp_valid" },
|
||||
{ 1, "dram_rsp_ready" },
|
||||
{ 1, "snp_req_valid" },
|
||||
{ 1, "snp_req_ready" },
|
||||
{ 1, "snp_rsp_valid" },
|
||||
{ 1, "snp_rsp_ready" },
|
||||
{ 4, "decode_valid" },
|
||||
{ 4, "execute_valid" },
|
||||
{ 4, "writeback_valid" },
|
||||
|
||||
@@ -66,6 +66,11 @@ int run_memcopy_test(vx_buffer_h sbuf,
|
||||
((uint64_t*)vx_host_ptr(sbuf))[i] = shuffle(i, value);
|
||||
}
|
||||
|
||||
// clear dbuf data
|
||||
for (int i = 0; i < (64 * num_blocks) / 8; ++i) {
|
||||
((uint64_t*)vx_host_ptr(dbuf))[i] = 0;
|
||||
}
|
||||
|
||||
// write buffer to local memory
|
||||
std::cout << "write buffer to local memory" << std::endl;
|
||||
RT_CHECK(vx_copy_to_dev(sbuf, address, 64 * num_blocks, 0));
|
||||
@@ -112,6 +117,11 @@ int run_kernel_test(vx_device_h device,
|
||||
((uint64_t*)vx_host_ptr(sbuf))[i] = shuffle(i, seed);
|
||||
}
|
||||
|
||||
// clear dbuf data
|
||||
for (int i = 0; i < (64 * num_blocks) / 8; ++i) {
|
||||
((uint64_t*)vx_host_ptr(dbuf))[i] = 0;
|
||||
}
|
||||
|
||||
// write buffer to local memory
|
||||
std::cout << "write buffer to local memory" << std::endl;
|
||||
RT_CHECK(vx_copy_to_dev(sbuf, src_dev_addr, 64 * num_blocks, 0));
|
||||
@@ -175,11 +185,11 @@ int main(int argc, char *argv[]) {
|
||||
RT_CHECK(vx_alloc_shared_mem(device, 4096, &dbuf));
|
||||
|
||||
// run tests
|
||||
/*if (0 == test || -1 == test) {
|
||||
if (0 == test || -1 == test) {
|
||||
std::cout << "run memcopy test" << std::endl;
|
||||
RT_CHECK(run_memcopy_test(sbuf, dbuf, DEV_MEM_SRC_ADDR, 0x0badf00d00ff00ff, 1));
|
||||
RT_CHECK(run_memcopy_test(sbuf, dbuf, DEV_MEM_SRC_ADDR, 0x0badf00d40ff40ff, 64));
|
||||
}*/
|
||||
}
|
||||
|
||||
if (1 == test || -1 == test) {
|
||||
std::cout << "run kernel test" << std::endl;
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user