update
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
|
||||
// `define SYN 1
|
||||
// `define ASIC 1
|
||||
// `define SYN_FUNC 1
|
||||
`define SYN_FUNC 1
|
||||
|
||||
`define NUM_BARRIERS 4
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ module VX_gpr_stage (
|
||||
|
||||
wire store_curr_real = !delayed_lsu_last_cycle && stall_lsu;
|
||||
|
||||
VX_generic_register #(.N(256)) lsu_data(
|
||||
VX_generic_register #(.N(`NT*32*2)) lsu_data(
|
||||
.clk (clk),
|
||||
.reset(reset),
|
||||
.stall(!store_curr_real),
|
||||
@@ -133,7 +133,7 @@ module VX_gpr_stage (
|
||||
assign VX_lsu_req.base_address = (delayed_lsu_last_cycle) ? temp_base_address : real_base_address;
|
||||
|
||||
|
||||
VX_generic_register #(.N(77 + `NW_M1 + 65*(1 + `NT))) lsu_reg(
|
||||
VX_generic_register #(.N(77 + `NW_M1 + 1 + (`NT))) lsu_reg(
|
||||
.clk (clk),
|
||||
.reset(reset),
|
||||
.stall(stall_lsu),
|
||||
@@ -142,7 +142,7 @@ module VX_gpr_stage (
|
||||
.out ({VX_lsu_req.valid , VX_lsu_req.lsu_pc ,VX_lsu_req.warp_num , VX_lsu_req.offset , VX_lsu_req.mem_read , VX_lsu_req.mem_write , VX_lsu_req.rd , VX_lsu_req.wb })
|
||||
);
|
||||
|
||||
VX_generic_register #(.N(224 + `NW_M1 + 1 + 65*(`NT))) exec_unit_reg(
|
||||
VX_generic_register #(.N(224 + `NW_M1 + 1 + (`NT))) exec_unit_reg(
|
||||
.clk (clk),
|
||||
.reset(reset),
|
||||
.stall(stall_rest),
|
||||
@@ -154,7 +154,7 @@ module VX_gpr_stage (
|
||||
assign VX_exec_unit_req.a_reg_data = real_base_address;
|
||||
assign VX_exec_unit_req.b_reg_data = real_store_data;
|
||||
|
||||
VX_generic_register #(.N(68 + `NW_M1 + 1 + 33*(`NT))) gpu_inst_reg(
|
||||
VX_generic_register #(.N(36 + `NW_M1 + 1 + (`NT))) gpu_inst_reg(
|
||||
.clk (clk),
|
||||
.reset(reset),
|
||||
.stall(stall_rest),
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
// sftp, ftp or ftps
|
||||
"type": "sftp",
|
||||
|
||||
"save_before_upload": true,
|
||||
"upload_on_save": true,
|
||||
"save_before_upload": false,
|
||||
"upload_on_save": false,
|
||||
"sync_down_on_open": false,
|
||||
"sync_skip_deletes": false,
|
||||
"sync_same_age": true,
|
||||
"sync_same_age": false,
|
||||
"confirm_downloads": false,
|
||||
"confirm_sync": true,
|
||||
"confirm_sync": false,
|
||||
"confirm_overwrite_newer": false,
|
||||
|
||||
"host": "ece-rschsrv01.ece.gatech.edu",
|
||||
|
||||
@@ -219,7 +219,13 @@ Instruction *WordDecoder::decode(const std::vector<Byte> &v, Size &idx, trace_in
|
||||
|
||||
imeed = 0 | (bits_10_1 << 1) | (bit_11 << 11) | (bits_19_12 << 12) | (bit_20 << 20);
|
||||
|
||||
inst.setSrcImm(signExt(imeed, 20, j_immed_mask));
|
||||
if (bit_20)
|
||||
{
|
||||
imeed |= ~j_immed_mask;
|
||||
}
|
||||
|
||||
// inst.setSrcImm(signExt(imeed, 20, j_immed_mask));
|
||||
inst.setSrcImm(imeed);
|
||||
usedImm = true;
|
||||
|
||||
trace_inst->valid_inst = true;
|
||||
|
||||
@@ -1507,6 +1507,8 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
Word VLMAX = (c.vtype.vlmul * c.VLEN)/c.vtype.vsew;
|
||||
|
||||
switch(func6){
|
||||
case 24: //vmandnot
|
||||
{
|
||||
@@ -1526,6 +1528,11 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint8_t * result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
for(uint8_t i = c.vl; i < VLMAX; i++){
|
||||
uint8_t *result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
|
||||
} else if(c.vtype.vsew == 16) {
|
||||
for(uint16_t i = 0; i < c.vl; i++){
|
||||
@@ -1539,6 +1546,11 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint16_t * result_ptr = (uint16_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
for(uint16_t i = c.vl; i < VLMAX; i++){
|
||||
uint16_t *result_ptr = (uint16_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
|
||||
} else if(c.vtype.vsew == 32) {
|
||||
for(uint32_t i = 0; i < c.vl; i++){
|
||||
@@ -1552,6 +1564,11 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint32_t * result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
for(Word i = c.vl; i < VLMAX; i++){
|
||||
uint32_t *result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1573,6 +1590,10 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint8_t * result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
for(uint8_t i = c.vl; i < VLMAX; i++){
|
||||
uint8_t *result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
} else if(c.vtype.vsew == 16) {
|
||||
for(uint16_t i = 0; i < c.vl; i++){
|
||||
@@ -1587,6 +1608,11 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
*result_ptr = result;
|
||||
}
|
||||
|
||||
for(uint16_t i = c.vl; i < VLMAX; i++){
|
||||
uint16_t *result_ptr = (uint16_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
} else if(c.vtype.vsew == 32) {
|
||||
for(uint32_t i = 0; i < c.vl; i++){
|
||||
uint32_t *first_ptr = (uint32_t *)vr1[i].val;
|
||||
@@ -1599,6 +1625,11 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint32_t * result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
|
||||
for(Word i = c.vl; i < VLMAX; i++){
|
||||
uint32_t *result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1620,7 +1651,13 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint8_t * result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
for(uint8_t i = c.vl; i < VLMAX; i++){
|
||||
uint8_t *result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
} else if(c.vtype.vsew == 16) {
|
||||
uint16_t *result_ptr;
|
||||
for(uint16_t i = 0; i < c.vl; i++){
|
||||
uint16_t *first_ptr = (uint16_t *)vr1[i].val;
|
||||
uint16_t *second_ptr = (uint16_t *)vr2[i].val;
|
||||
@@ -1629,11 +1666,15 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint16_t result = (first_value | second_value);
|
||||
cout << "Comparing " << *first_ptr << " + " << *second_ptr << " = " << result << '\n';
|
||||
|
||||
uint16_t * result_ptr = (uint16_t *) vd[i].val;
|
||||
result_ptr = (uint16_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
|
||||
for(uint16_t i = c.vl; i < VLMAX; i++){
|
||||
result_ptr = (uint16_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
} else if(c.vtype.vsew == 32) {
|
||||
uint32_t *result_ptr;
|
||||
for(uint32_t i = 0; i < c.vl; i++){
|
||||
uint32_t *first_ptr = (uint32_t *)vr1[i].val;
|
||||
uint32_t *second_ptr = (uint32_t *)vr2[i].val;
|
||||
@@ -1642,9 +1683,14 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint32_t result = (first_value | second_value);
|
||||
cout << "Comparing " << *first_ptr << " + " << *second_ptr << " = " << result << '\n';
|
||||
|
||||
uint32_t * result_ptr = (uint32_t *) vd[i].val;
|
||||
result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
cout << "VLMAX: " << VLMAX << endl;
|
||||
for(Word i = c.vl; i < VLMAX; i++){
|
||||
result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1655,6 +1701,7 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
vector<Reg<char *>> vr2 = c.vreg[rsrc[1]];
|
||||
vector<Reg<char *>> vd = c.vreg[rdest];
|
||||
if(c.vtype.vsew == 8){
|
||||
uint8_t *result_ptr;
|
||||
for(uint8_t i = 0; i < c.vl; i++){
|
||||
uint8_t *first_ptr = (uint8_t *)vr1[i].val;
|
||||
uint8_t *second_ptr = (uint8_t *)vr2[i].val;
|
||||
@@ -1662,12 +1709,15 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint8_t second_value = (*second_ptr & 0x1);
|
||||
uint8_t result = (first_value ^ second_value);
|
||||
cout << "Comparing " << *first_ptr << " + " << *second_ptr << " = " << result << '\n';
|
||||
|
||||
uint8_t * result_ptr = (uint8_t *) vd[i].val;
|
||||
result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
|
||||
for(uint8_t i = c.vl; i < VLMAX; i++){
|
||||
result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
} else if(c.vtype.vsew == 16) {
|
||||
uint16_t *result_ptr;
|
||||
for(uint16_t i = 0; i < c.vl; i++){
|
||||
uint16_t *first_ptr = (uint16_t *)vr1[i].val;
|
||||
uint16_t *second_ptr = (uint16_t *)vr2[i].val;
|
||||
@@ -1676,11 +1726,17 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint16_t result = (first_value ^ second_value);
|
||||
cout << "Comparing " << *first_ptr << " + " << *second_ptr << " = " << result << '\n';
|
||||
|
||||
uint16_t * result_ptr = (uint16_t *) vd[i].val;
|
||||
result_ptr = (uint16_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
for(uint16_t i = c.vl; i < VLMAX; i++){
|
||||
uint16_t *result_ptr = (uint16_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
} else if(c.vtype.vsew == 32) {
|
||||
uint32_t *result_ptr;
|
||||
|
||||
for(uint32_t i = 0; i < c.vl; i++){
|
||||
uint32_t *first_ptr = (uint32_t *)vr1[i].val;
|
||||
uint32_t *second_ptr = (uint32_t *)vr2[i].val;
|
||||
@@ -1689,9 +1745,13 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint32_t result = (first_value ^ second_value);
|
||||
cout << "Comparing " << *first_ptr << " + " << *second_ptr << " = " << result << '\n';
|
||||
|
||||
uint32_t * result_ptr = (uint32_t *) vd[i].val;
|
||||
result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
for(Word i = c.vl; i < VLMAX; i++){
|
||||
uint32_t *result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1713,7 +1773,10 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint8_t * result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
|
||||
for(uint8_t i = c.vl; i < VLMAX; i++){
|
||||
uint8_t *result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
} else if(c.vtype.vsew == 16) {
|
||||
for(uint16_t i = 0; i < c.vl; i++){
|
||||
uint16_t *first_ptr = (uint16_t *)vr1[i].val;
|
||||
@@ -1726,6 +1789,10 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint16_t * result_ptr = (uint16_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
for(uint16_t i = c.vl; i < VLMAX; i++){
|
||||
uint16_t *result_ptr = (uint16_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
} else if(c.vtype.vsew == 32) {
|
||||
for(uint32_t i = 0; i < c.vl; i++){
|
||||
@@ -1739,6 +1806,10 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint32_t * result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
for(Word i = c.vl; i < VLMAX; i++){
|
||||
uint32_t *result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1760,6 +1831,10 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint8_t * result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
for(uint8_t i = c.vl; i < VLMAX; i++){
|
||||
uint8_t *result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
} else if(c.vtype.vsew == 16) {
|
||||
for(uint16_t i = 0; i < c.vl; i++){
|
||||
@@ -1774,6 +1849,11 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
*result_ptr = result;
|
||||
}
|
||||
|
||||
for(uint16_t i = c.vl; i < VLMAX; i++){
|
||||
uint16_t *result_ptr = (uint16_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
} else if(c.vtype.vsew == 32) {
|
||||
for(uint32_t i = 0; i < c.vl; i++){
|
||||
uint32_t *first_ptr = (uint32_t *)vr1[i].val;
|
||||
@@ -1786,6 +1866,12 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint32_t * result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
|
||||
for(Word i = c.vl; i < VLMAX; i++){
|
||||
uint32_t *result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1796,6 +1882,8 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
vector<Reg<char *>> vr2 = c.vreg[rsrc[1]];
|
||||
vector<Reg<char *>> vd = c.vreg[rdest];
|
||||
if(c.vtype.vsew == 8){
|
||||
uint8_t *result_ptr;
|
||||
|
||||
for(uint8_t i = 0; i < c.vl; i++){
|
||||
uint8_t *first_ptr = (uint8_t *)vr1[i].val;
|
||||
uint8_t *second_ptr = (uint8_t *)vr2[i].val;
|
||||
@@ -1804,10 +1892,13 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint8_t result = !(first_value | second_value);
|
||||
cout << "Comparing " << *first_ptr << " + " << *second_ptr << " = " << result << '\n';
|
||||
|
||||
uint8_t * result_ptr = (uint8_t *) vd[i].val;
|
||||
result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
|
||||
for(uint8_t i = c.vl; i < VLMAX; i++){
|
||||
result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
} else if(c.vtype.vsew == 16) {
|
||||
for(uint16_t i = 0; i < c.vl; i++){
|
||||
uint16_t *first_ptr = (uint16_t *)vr1[i].val;
|
||||
@@ -1820,8 +1911,13 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint16_t * result_ptr = (uint16_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
for(uint16_t i = c.vl; i < VLMAX; i++){
|
||||
uint16_t *result_ptr = (uint16_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
} else if(c.vtype.vsew == 32) {
|
||||
|
||||
for(uint32_t i = 0; i < c.vl; i++){
|
||||
uint32_t *first_ptr = (uint32_t *)vr1[i].val;
|
||||
uint32_t *second_ptr = (uint32_t *)vr2[i].val;
|
||||
@@ -1833,12 +1929,19 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint32_t * result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
for(Word i = c.vl; i < VLMAX; i++){
|
||||
uint32_t *result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 31: //vmxnor
|
||||
{
|
||||
D(3, "vmxnor");
|
||||
uint8_t *result_ptr;
|
||||
|
||||
vector<Reg<char *>> vr1 = c.vreg[rsrc[0]];
|
||||
vector<Reg<char *>> vr2 = c.vreg[rsrc[1]];
|
||||
vector<Reg<char *>> vd = c.vreg[rdest];
|
||||
@@ -1851,11 +1954,16 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint8_t result = !(first_value ^ second_value);
|
||||
cout << "Comparing " << *first_ptr << " + " << *second_ptr << " = " << result << '\n';
|
||||
|
||||
uint8_t * result_ptr = (uint8_t *) vd[i].val;
|
||||
result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
|
||||
} else if(c.vtype.vsew == 16) {
|
||||
for(uint8_t i = c.vl; i < VLMAX; i++){
|
||||
result_ptr = (uint8_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
}
|
||||
else if(c.vtype.vsew == 16) {
|
||||
uint16_t *result_ptr;
|
||||
for(uint16_t i = 0; i < c.vl; i++){
|
||||
uint16_t *first_ptr = (uint16_t *)vr1[i].val;
|
||||
uint16_t *second_ptr = (uint16_t *)vr2[i].val;
|
||||
@@ -1864,11 +1972,17 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint16_t result = !(first_value ^ second_value);
|
||||
cout << "Comparing " << *first_ptr << " + " << *second_ptr << " = " << result << '\n';
|
||||
|
||||
uint16_t * result_ptr = (uint16_t *) vd[i].val;
|
||||
result_ptr = (uint16_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
for(uint16_t i = c.vl; i < VLMAX; i++){
|
||||
result_ptr = (uint16_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
} else if(c.vtype.vsew == 32) {
|
||||
uint32_t *result_ptr;
|
||||
|
||||
for(uint32_t i = 0; i < c.vl; i++){
|
||||
uint32_t *first_ptr = (uint32_t *)vr1[i].val;
|
||||
uint32_t *second_ptr = (uint32_t *)vr2[i].val;
|
||||
@@ -1877,9 +1991,14 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
uint32_t result = !(first_value ^ second_value);
|
||||
cout << "Comparing " << *first_ptr << " + " << *second_ptr << " = " << result << '\n';
|
||||
|
||||
uint32_t * result_ptr = (uint32_t *) vd[i].val;
|
||||
result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = result;
|
||||
}
|
||||
for(Word i = c.vl; i < VLMAX; i++){
|
||||
result_ptr = (uint32_t *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1944,10 +2063,10 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
||||
//trace_inst->is_lw = true;
|
||||
//trace_inst->mem_addresses[t] = memAddr;
|
||||
}
|
||||
for(Word i = c.vl; i < VLMAX; i++){
|
||||
/*for(Word i = c.vl; i < VLMAX; i++){
|
||||
int * result_ptr = (int *) vd[i].val;
|
||||
*result_ptr = 0;
|
||||
}
|
||||
}*/
|
||||
|
||||
D(3, "Vector Register state after addition:");
|
||||
for(int i=0; i < c.vreg.size(); i++)
|
||||
|
||||
@@ -11,7 +11,7 @@ for number_of_warps in 2 4 8 16 32; do
|
||||
echo "Warp Count: $number_of_warps Thread Count: $number_of_threads Launched"
|
||||
echo "\`define NT $number_of_threads" > ../rtl/VX_define_synth.v
|
||||
echo "\`define NW $number_of_warps" >> ../rtl/VX_define_synth.v
|
||||
make dc | tee run.log
|
||||
make dc | tee run.log 1>/dev/null
|
||||
sleep 30
|
||||
moved_filename="${number_of_warps}_Warps__${number_of_threads}_threads__400MHz.log"
|
||||
mv ./vortex_syn.log ../../$moved_filename
|
||||
|
||||
Reference in New Issue
Block a user