Correction to the explicit Verilog for FPGAs above 2x2
This commit is contained in:
parent
0a5546e43c
commit
0b46adb5ef
|
@ -789,14 +789,15 @@ void dump_compact_verilog_defined_one_switch_box(t_sram_orgz_info* cur_sram_orgz
|
||||||
for (size_t side = 0; side < rr_sb.get_num_sides(); ++side) {
|
for (size_t side = 0; side < rr_sb.get_num_sides(); ++side) {
|
||||||
Side side_manager(side);
|
Side side_manager(side);
|
||||||
DeviceCoordinator chan_coordinator = rr_sb.get_side_block_coordinator(side_manager.get_side());
|
DeviceCoordinator chan_coordinator = rr_sb.get_side_block_coordinator(side_manager.get_side());
|
||||||
|
DeviceCoordinator unique_chan_coordinator = unique_mirror.get_side_block_coordinator(side_manager.get_side());
|
||||||
|
|
||||||
fprintf(fp, "//----- %s side channel ports-----\n", side_manager.c_str());
|
fprintf(fp, "//----- %s side channel ports-----\n", side_manager.c_str());
|
||||||
for (size_t itrack = 0; itrack < rr_sb.get_chan_width(side_manager.get_side()); ++itrack) {
|
for (size_t itrack = 0; itrack < rr_sb.get_chan_width(side_manager.get_side()); ++itrack) {
|
||||||
if (true == is_explicit_mapping) {
|
if (true == is_explicit_mapping) {
|
||||||
fprintf(fp, ".%s(",
|
fprintf(fp, ".%s(",
|
||||||
gen_verilog_routing_channel_one_pin_name(rr_sb.get_chan_node(side_manager.get_side(), itrack),
|
gen_verilog_routing_channel_one_pin_name(unique_mirror.get_chan_node(side_manager.get_side(), itrack),
|
||||||
chan_coordinator.get_x(), chan_coordinator.get_y(), itrack,
|
unique_chan_coordinator.get_x(), unique_chan_coordinator.get_y(), itrack,
|
||||||
rr_sb.get_chan_node_direction(side_manager.get_side(), itrack)));
|
unique_mirror.get_chan_node_direction(side_manager.get_side(), itrack)));
|
||||||
}
|
}
|
||||||
fprintf(fp, "%s",
|
fprintf(fp, "%s",
|
||||||
gen_verilog_routing_channel_one_pin_name(rr_sb.get_chan_node(side_manager.get_side(), itrack),
|
gen_verilog_routing_channel_one_pin_name(rr_sb.get_chan_node(side_manager.get_side(), itrack),
|
||||||
|
@ -815,6 +816,8 @@ void dump_compact_verilog_defined_one_switch_box(t_sram_orgz_info* cur_sram_orgz
|
||||||
rr_sb.get_opin_node_grid_side(side_manager.get_side(), inode),
|
rr_sb.get_opin_node_grid_side(side_manager.get_side(), inode),
|
||||||
rr_sb.get_opin_node(side_manager.get_side(), inode)->xlow,
|
rr_sb.get_opin_node(side_manager.get_side(), inode)->xlow,
|
||||||
rr_sb.get_opin_node(side_manager.get_side(), inode)->ylow,
|
rr_sb.get_opin_node(side_manager.get_side(), inode)->ylow,
|
||||||
|
unique_mirror.get_opin_node(side_manager.get_side(), inode)->xlow,
|
||||||
|
unique_mirror.get_opin_node(side_manager.get_side(), inode)->ylow,
|
||||||
FALSE, is_explicit_mapping); /* Do not specify the direction of port */
|
FALSE, is_explicit_mapping); /* Do not specify the direction of port */
|
||||||
fprintf(fp, ",\n");
|
fprintf(fp, ",\n");
|
||||||
}
|
}
|
||||||
|
@ -964,6 +967,8 @@ void dump_compact_verilog_defined_one_connection_box(t_sram_orgz_info* cur_sram_
|
||||||
rr_gsb.get_ipin_node_grid_side(cb_ipin_side, inode),
|
rr_gsb.get_ipin_node_grid_side(cb_ipin_side, inode),
|
||||||
cur_ipin_node->xlow,
|
cur_ipin_node->xlow,
|
||||||
cur_ipin_node->ylow,
|
cur_ipin_node->ylow,
|
||||||
|
0, /*explicit mapping is false*/
|
||||||
|
0, /*explicit mapping is false*/
|
||||||
FALSE, false); /* Do not specify direction of port */
|
FALSE, false); /* Do not specify direction of port */
|
||||||
if (true == is_explicit_mapping) {
|
if (true == is_explicit_mapping) {
|
||||||
fprintf(fp, ")");
|
fprintf(fp, ")");
|
||||||
|
|
|
@ -313,6 +313,7 @@ void dump_verilog_routing_chan_subckt(char* verilog_dir,
|
||||||
void dump_verilog_grid_side_pin_with_given_index(FILE* fp, t_rr_type pin_type,
|
void dump_verilog_grid_side_pin_with_given_index(FILE* fp, t_rr_type pin_type,
|
||||||
int pin_index, int side,
|
int pin_index, int side,
|
||||||
int x, int y,
|
int x, int y,
|
||||||
|
int unique_x, int unique_y, /* If explicit, needs the coordinates of the mirror*/
|
||||||
boolean dump_port_type,
|
boolean dump_port_type,
|
||||||
bool is_explicit_mapping) {
|
bool is_explicit_mapping) {
|
||||||
int height;
|
int height;
|
||||||
|
@ -360,7 +361,7 @@ void dump_verilog_grid_side_pin_with_given_index(FILE* fp, t_rr_type pin_type,
|
||||||
is_explicit_mapping = false; /* Both cannot be true at the same time */
|
is_explicit_mapping = false; /* Both cannot be true at the same time */
|
||||||
}
|
}
|
||||||
if (true == is_explicit_mapping) {
|
if (true == is_explicit_mapping) {
|
||||||
fprintf(fp, ".%s(", gen_verilog_grid_one_pin_name(x, y, height, side, pin_index, TRUE));
|
fprintf(fp, ".%s(", gen_verilog_grid_one_pin_name(unique_x, unique_y, height, side, pin_index, TRUE));
|
||||||
}
|
}
|
||||||
fprintf(fp, "%s", gen_verilog_grid_one_pin_name(x, y, height, side, pin_index, TRUE));
|
fprintf(fp, "%s", gen_verilog_grid_one_pin_name(x, y, height, side, pin_index, TRUE));
|
||||||
if (true == is_explicit_mapping) {
|
if (true == is_explicit_mapping) {
|
||||||
|
@ -565,6 +566,7 @@ void dump_verilog_unique_switch_box_short_interc(FILE* fp,
|
||||||
drive_rr_node->ptc_num,
|
drive_rr_node->ptc_num,
|
||||||
rr_sb.get_opin_node_grid_side(drive_rr_node),
|
rr_sb.get_opin_node_grid_side(drive_rr_node),
|
||||||
grid_x, grid_y,
|
grid_x, grid_y,
|
||||||
|
0, 0, /* No explicit mapping*/
|
||||||
FALSE, false); /* Do not dump the direction of the port! */
|
FALSE, false); /* Do not dump the direction of the port! */
|
||||||
break;
|
break;
|
||||||
case CHANX:
|
case CHANX:
|
||||||
|
@ -667,6 +669,8 @@ void dump_verilog_switch_box_short_interc(FILE* fp,
|
||||||
drive_rr_node->ptc_num,
|
drive_rr_node->ptc_num,
|
||||||
cur_sb_info->opin_rr_node_grid_side[side][index],
|
cur_sb_info->opin_rr_node_grid_side[side][index],
|
||||||
grid_x, grid_y,
|
grid_x, grid_y,
|
||||||
|
0, /*Used in more recent version*/
|
||||||
|
0, /*Used in more recent version*/
|
||||||
FALSE, is_explicit_mapping); /* Do not dump the direction of the port! */
|
FALSE, is_explicit_mapping); /* Do not dump the direction of the port! */
|
||||||
break;
|
break;
|
||||||
case CHANX:
|
case CHANX:
|
||||||
|
@ -767,12 +771,16 @@ void dump_verilog_switch_box_mux(t_sram_orgz_info* cur_sram_orgz_info,
|
||||||
/* Find grid_x and grid_y */
|
/* Find grid_x and grid_y */
|
||||||
grid_x = drive_rr_nodes[inode]->xlow;
|
grid_x = drive_rr_nodes[inode]->xlow;
|
||||||
grid_y = drive_rr_nodes[inode]->ylow; /*Plus the offset in function fprint_grid_side_pin_with_given_index */
|
grid_y = drive_rr_nodes[inode]->ylow; /*Plus the offset in function fprint_grid_side_pin_with_given_index */
|
||||||
|
//const RRGSB& unique_mirror = device_rr_gsb.get_cb_unique_module(cb_type, coordinator);
|
||||||
/* Print a grid pin */
|
/* Print a grid pin */
|
||||||
fprintf(fp, "assign %s_size%d_%d_inbus[%d] = ",
|
fprintf(fp, "assign %s_size%d_%d_inbus[%d] = ",
|
||||||
verilog_model->prefix, mux_size, verilog_model->cnt, input_cnt);
|
verilog_model->prefix, mux_size, verilog_model->cnt, input_cnt);
|
||||||
dump_verilog_grid_side_pin_with_given_index(fp, IPIN, drive_rr_nodes[inode]->ptc_num,
|
dump_verilog_grid_side_pin_with_given_index(fp, IPIN, drive_rr_nodes[inode]->ptc_num,
|
||||||
cur_sb_info->opin_rr_node_grid_side[side][index],
|
cur_sb_info->opin_rr_node_grid_side[side][index],
|
||||||
grid_x, grid_y, FALSE, is_explicit_mapping);
|
grid_x, grid_y,
|
||||||
|
0,/*Used in more recent version*/
|
||||||
|
0,/*Used in more recent version*/
|
||||||
|
FALSE, is_explicit_mapping);
|
||||||
fprintf(fp, ";\n");
|
fprintf(fp, ";\n");
|
||||||
input_cnt++;
|
input_cnt++;
|
||||||
break;
|
break;
|
||||||
|
@ -1029,7 +1037,9 @@ void dump_verilog_unique_switch_box_mux(t_sram_orgz_info* cur_sram_orgz_info,
|
||||||
verilog_model->prefix, mux_size, verilog_model->cnt, input_cnt);
|
verilog_model->prefix, mux_size, verilog_model->cnt, input_cnt);
|
||||||
dump_verilog_grid_side_pin_with_given_index(fp, IPIN, drive_rr_nodes[inode]->ptc_num,
|
dump_verilog_grid_side_pin_with_given_index(fp, IPIN, drive_rr_nodes[inode]->ptc_num,
|
||||||
rr_sb.get_opin_node_grid_side(drive_rr_nodes[inode]),
|
rr_sb.get_opin_node_grid_side(drive_rr_nodes[inode]),
|
||||||
grid_x, grid_y, FALSE, false);
|
grid_x, grid_y,
|
||||||
|
0,0,/*No explicit mapping */
|
||||||
|
FALSE, false);
|
||||||
fprintf(fp, ";\n");
|
fprintf(fp, ";\n");
|
||||||
input_cnt++;
|
input_cnt++;
|
||||||
break;
|
break;
|
||||||
|
@ -1803,6 +1813,7 @@ void dump_verilog_routing_switch_box_unique_side_subckt_portmap(FILE* fp,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Dump OPINs of adjacent CLBs */
|
/* Dump OPINs of adjacent CLBs */
|
||||||
|
//const RRGSB& unique_mirror = device_rr_gsb.get_cb_unique_module(port_coordinator);
|
||||||
for (size_t inode = 0; inode < rr_sb.get_num_opin_nodes(side_manager.get_side()); ++inode) {
|
for (size_t inode = 0; inode < rr_sb.get_num_opin_nodes(side_manager.get_side()); ++inode) {
|
||||||
fprintf(fp, " ");
|
fprintf(fp, " ");
|
||||||
dump_verilog_grid_side_pin_with_given_index(fp, OPIN, /* This is an input of a SB */
|
dump_verilog_grid_side_pin_with_given_index(fp, OPIN, /* This is an input of a SB */
|
||||||
|
@ -1810,6 +1821,8 @@ void dump_verilog_routing_switch_box_unique_side_subckt_portmap(FILE* fp,
|
||||||
rr_sb.get_opin_node_grid_side(side_manager.get_side(), inode),
|
rr_sb.get_opin_node_grid_side(side_manager.get_side(), inode),
|
||||||
rr_sb.get_opin_node(side_manager.get_side(), inode)->xlow,
|
rr_sb.get_opin_node(side_manager.get_side(), inode)->xlow,
|
||||||
rr_sb.get_opin_node(side_manager.get_side(), inode)->ylow,
|
rr_sb.get_opin_node(side_manager.get_side(), inode)->ylow,
|
||||||
|
rr_sb.get_opin_node(side_manager.get_side(), inode)->xlow,
|
||||||
|
rr_sb.get_opin_node(side_manager.get_side(), inode)->ylow,
|
||||||
dump_port_type, is_explicit_mapping); /* Dump the direction of the port ! */
|
dump_port_type, is_explicit_mapping); /* Dump the direction of the port ! */
|
||||||
if (FALSE == dump_port_type) {
|
if (FALSE == dump_port_type) {
|
||||||
fprintf(fp, ",\n");
|
fprintf(fp, ",\n");
|
||||||
|
@ -2078,7 +2091,8 @@ void dump_verilog_routing_switch_box_unique_module(t_sram_orgz_info* cur_sram_or
|
||||||
rr_gsb.get_opin_node_grid_side(side_manager.get_side(), inode),
|
rr_gsb.get_opin_node_grid_side(side_manager.get_side(), inode),
|
||||||
rr_gsb.get_opin_node(side_manager.get_side(), inode)->xlow,
|
rr_gsb.get_opin_node(side_manager.get_side(), inode)->xlow,
|
||||||
rr_gsb.get_opin_node(side_manager.get_side(), inode)->ylow,
|
rr_gsb.get_opin_node(side_manager.get_side(), inode)->ylow,
|
||||||
TRUE, is_explicit_mapping); /* Dump the direction of the port ! */
|
0,0, /*No explicit mapping */
|
||||||
|
TRUE, false); /* Dump the direction of the port ! */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2315,6 +2329,8 @@ void dump_verilog_routing_switch_box_unique_subckt(t_sram_orgz_info* cur_sram_or
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Dump OPINs of adjacent CLBs */
|
/* Dump OPINs of adjacent CLBs */
|
||||||
|
puts("CHECK4");
|
||||||
|
const RRGSB& unique_mirror = device_rr_gsb.get_sb_unique_module(port_coordinator);
|
||||||
for (size_t inode = 0; inode < rr_gsb.get_num_opin_nodes(side_manager.get_side()); ++inode) {
|
for (size_t inode = 0; inode < rr_gsb.get_num_opin_nodes(side_manager.get_side()); ++inode) {
|
||||||
fprintf(fp, " ");
|
fprintf(fp, " ");
|
||||||
dump_verilog_grid_side_pin_with_given_index(fp, OPIN, /* This is an input of a SB */
|
dump_verilog_grid_side_pin_with_given_index(fp, OPIN, /* This is an input of a SB */
|
||||||
|
@ -2322,6 +2338,8 @@ void dump_verilog_routing_switch_box_unique_subckt(t_sram_orgz_info* cur_sram_or
|
||||||
rr_gsb.get_opin_node_grid_side(side_manager.get_side(), inode),
|
rr_gsb.get_opin_node_grid_side(side_manager.get_side(), inode),
|
||||||
rr_gsb.get_opin_node(side_manager.get_side(), inode)->xlow,
|
rr_gsb.get_opin_node(side_manager.get_side(), inode)->xlow,
|
||||||
rr_gsb.get_opin_node(side_manager.get_side(), inode)->ylow,
|
rr_gsb.get_opin_node(side_manager.get_side(), inode)->ylow,
|
||||||
|
unique_mirror.get_opin_node(side_manager.get_side(), inode)->xlow,
|
||||||
|
unique_mirror.get_opin_node(side_manager.get_side(), inode)->ylow,
|
||||||
TRUE, is_explicit_mapping); /* Dump the direction of the port ! */
|
TRUE, is_explicit_mapping); /* Dump the direction of the port ! */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2524,6 +2542,8 @@ void dump_verilog_routing_switch_box_subckt(t_sram_orgz_info* cur_sram_orgz_info
|
||||||
cur_sb_info->opin_rr_node_grid_side[side][inode],
|
cur_sb_info->opin_rr_node_grid_side[side][inode],
|
||||||
cur_sb_info->opin_rr_node[side][inode]->xlow,
|
cur_sb_info->opin_rr_node[side][inode]->xlow,
|
||||||
cur_sb_info->opin_rr_node[side][inode]->ylow,
|
cur_sb_info->opin_rr_node[side][inode]->ylow,
|
||||||
|
0,/*used in more recent version*/
|
||||||
|
0,/*used in more recent version*/
|
||||||
TRUE, is_explicit_mapping); /* Dump the direction of the port ! */
|
TRUE, is_explicit_mapping); /* Dump the direction of the port ! */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2772,6 +2792,7 @@ void dump_verilog_connection_box_short_interc(FILE* fp,
|
||||||
rr_gsb.get_ipin_node(side, index)->ptc_num,
|
rr_gsb.get_ipin_node(side, index)->ptc_num,
|
||||||
rr_gsb.get_ipin_node_grid_side(side, index),
|
rr_gsb.get_ipin_node_grid_side(side, index),
|
||||||
xlow, ylow, /* Coordinator of Grid */
|
xlow, ylow, /* Coordinator of Grid */
|
||||||
|
0,0, /*No explicit mapping */
|
||||||
FALSE, false); /* Do not specify the direction of this pin */
|
FALSE, false); /* Do not specify the direction of this pin */
|
||||||
|
|
||||||
/* End */
|
/* End */
|
||||||
|
@ -2849,6 +2870,7 @@ void dump_verilog_connection_box_short_interc(FILE* fp,
|
||||||
cur_cb_info->ipin_rr_node[side][index]->ptc_num,
|
cur_cb_info->ipin_rr_node[side][index]->ptc_num,
|
||||||
cur_cb_info->ipin_rr_node_grid_side[side][index],
|
cur_cb_info->ipin_rr_node_grid_side[side][index],
|
||||||
xlow, ylow, /* Coordinator of Grid */
|
xlow, ylow, /* Coordinator of Grid */
|
||||||
|
0,0, /*No explicit mapping */
|
||||||
FALSE, false); /* Do not specify the direction of this pin */
|
FALSE, false); /* Do not specify the direction of this pin */
|
||||||
|
|
||||||
/* End */
|
/* End */
|
||||||
|
@ -3006,6 +3028,7 @@ void dump_verilog_connection_box_mux(t_sram_orgz_info* cur_sram_orgz_info,
|
||||||
rr_gsb.get_ipin_node(side, index)->ptc_num,
|
rr_gsb.get_ipin_node(side, index)->ptc_num,
|
||||||
rr_gsb.get_ipin_node_grid_side(side, index),
|
rr_gsb.get_ipin_node_grid_side(side, index),
|
||||||
xlow, ylow, /* Coordinator of Grid */
|
xlow, ylow, /* Coordinator of Grid */
|
||||||
|
0,0, /*No explicit mapping*/
|
||||||
FALSE, false); /* Do not specify the direction of port */
|
FALSE, false); /* Do not specify the direction of port */
|
||||||
if (true == is_explicit_mapping) {
|
if (true == is_explicit_mapping) {
|
||||||
fprintf(fp, ")");
|
fprintf(fp, ")");
|
||||||
|
@ -3253,6 +3276,8 @@ void dump_verilog_connection_box_mux(t_sram_orgz_info* cur_sram_orgz_info,
|
||||||
cur_cb_info->ipin_rr_node[side][index]->ptc_num,
|
cur_cb_info->ipin_rr_node[side][index]->ptc_num,
|
||||||
cur_cb_info->ipin_rr_node_grid_side[side][index],
|
cur_cb_info->ipin_rr_node_grid_side[side][index],
|
||||||
xlow, ylow, /* Coordinator of Grid */
|
xlow, ylow, /* Coordinator of Grid */
|
||||||
|
0,/*No explicit mapping*/
|
||||||
|
0,/*No explicit mapping*/
|
||||||
FALSE, false); /* Do not specify the direction of port */
|
FALSE, false); /* Do not specify the direction of port */
|
||||||
if (true == is_explicit_mapping) {
|
if (true == is_explicit_mapping) {
|
||||||
fprintf(fp, ")");
|
fprintf(fp, ")");
|
||||||
|
@ -3582,6 +3607,8 @@ void dump_verilog_routing_connection_box_unique_module(t_sram_orgz_info* cur_sra
|
||||||
rr_gsb.get_ipin_node_grid_side(cb_ipin_side, inode),
|
rr_gsb.get_ipin_node_grid_side(cb_ipin_side, inode),
|
||||||
rr_gsb.get_ipin_node(cb_ipin_side, inode)->xlow,
|
rr_gsb.get_ipin_node(cb_ipin_side, inode)->xlow,
|
||||||
rr_gsb.get_ipin_node(cb_ipin_side, inode)->ylow,
|
rr_gsb.get_ipin_node(cb_ipin_side, inode)->ylow,
|
||||||
|
0,/*No explicit mapping */
|
||||||
|
0,/*No explicit mapping */
|
||||||
TRUE, false);
|
TRUE, false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3785,6 +3812,7 @@ void dump_verilog_routing_connection_box_subckt(t_sram_orgz_info* cur_sram_orgz_
|
||||||
assert((1 == side_cnt)||(2 == side_cnt));
|
assert((1 == side_cnt)||(2 == side_cnt));
|
||||||
|
|
||||||
side_cnt = 0;
|
side_cnt = 0;
|
||||||
|
//const RRGSB& unique_mirror = device_rr_gsb.get_cb_unique_module(cb_type, coordinator);
|
||||||
/* Print the ports of grids*/
|
/* Print the ports of grids*/
|
||||||
/* only check ipin_rr_nodes of cur_cb_info */
|
/* only check ipin_rr_nodes of cur_cb_info */
|
||||||
for (side = 0; side < cur_cb_info->num_sides; side++) {
|
for (side = 0; side < cur_cb_info->num_sides; side++) {
|
||||||
|
@ -3802,6 +3830,8 @@ void dump_verilog_routing_connection_box_subckt(t_sram_orgz_info* cur_sram_orgz_
|
||||||
cur_cb_info->ipin_rr_node_grid_side[side][inode],
|
cur_cb_info->ipin_rr_node_grid_side[side][inode],
|
||||||
cur_cb_info->ipin_rr_node[side][inode]->xlow,
|
cur_cb_info->ipin_rr_node[side][inode]->xlow,
|
||||||
cur_cb_info->ipin_rr_node[side][inode]->ylow,
|
cur_cb_info->ipin_rr_node[side][inode]->ylow,
|
||||||
|
0,/*Used in more recent version*/
|
||||||
|
0,/*Used in more recent version*/
|
||||||
TRUE, is_explicit_mapping);
|
TRUE, is_explicit_mapping);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@ void dump_verilog_routing_chan_subckt(t_sram_orgz_info* cur_sram_orgz_info,
|
||||||
void dump_verilog_grid_side_pin_with_given_index(FILE* fp, t_rr_type pin_type,
|
void dump_verilog_grid_side_pin_with_given_index(FILE* fp, t_rr_type pin_type,
|
||||||
int pin_index, int side,
|
int pin_index, int side,
|
||||||
int x, int y,
|
int x, int y,
|
||||||
|
int unique_x, int unique_y, /* If explicit, needs the coordinates of the mirror*/
|
||||||
boolean dump_port_type,
|
boolean dump_port_type,
|
||||||
bool is_explicit_mapping);
|
bool is_explicit_mapping);
|
||||||
|
|
||||||
|
|
|
@ -638,6 +638,8 @@ void verilog_generate_sdc_constrain_one_cb_path(FILE* fp,
|
||||||
des_rr_node_grid_side,
|
des_rr_node_grid_side,
|
||||||
des_rr_node->xlow,
|
des_rr_node->xlow,
|
||||||
des_rr_node->ylow,
|
des_rr_node->ylow,
|
||||||
|
0, /*explicit mapping is false*/
|
||||||
|
0, /*explicit mapping is false*/
|
||||||
FALSE, false);
|
FALSE, false);
|
||||||
|
|
||||||
/* If src_node == des_node, this is a metal wire */
|
/* If src_node == des_node, this is a metal wire */
|
||||||
|
@ -723,6 +725,8 @@ void verilog_generate_sdc_constrain_one_cb_path(FILE* fp,
|
||||||
des_rr_node_grid_side,
|
des_rr_node_grid_side,
|
||||||
mirror_ipin_node->xlow,
|
mirror_ipin_node->xlow,
|
||||||
mirror_ipin_node->ylow,
|
mirror_ipin_node->ylow,
|
||||||
|
0, /*explicit mapping is false*/
|
||||||
|
0, /*explicit mapping is false*/
|
||||||
FALSE, false);
|
FALSE, false);
|
||||||
|
|
||||||
/* If src_node == des_node, this is a metal wire */
|
/* If src_node == des_node, this is a metal wire */
|
||||||
|
@ -1769,6 +1773,8 @@ void verilog_generate_sdc_disable_one_unused_cb(FILE* fp,
|
||||||
rr_gsb.get_ipin_node_grid_side(cb_ipin_side, inode),
|
rr_gsb.get_ipin_node_grid_side(cb_ipin_side, inode),
|
||||||
ipin_node->xlow,
|
ipin_node->xlow,
|
||||||
ipin_node->ylow,
|
ipin_node->ylow,
|
||||||
|
0, /*explicit mapping is false*/
|
||||||
|
0, /*explicit mapping is false*/
|
||||||
FALSE, false); /* Do not specify direction of port */
|
FALSE, false); /* Do not specify direction of port */
|
||||||
fprintf(fp, "\n");
|
fprintf(fp, "\n");
|
||||||
}
|
}
|
||||||
|
@ -1827,6 +1833,8 @@ void verilog_generate_sdc_disable_one_unused_cb(FILE* fp,
|
||||||
cur_cb_info->ipin_rr_node_grid_side[side][inode],
|
cur_cb_info->ipin_rr_node_grid_side[side][inode],
|
||||||
cur_cb_info->ipin_rr_node[side][inode]->xlow,
|
cur_cb_info->ipin_rr_node[side][inode]->xlow,
|
||||||
cur_cb_info->ipin_rr_node[side][inode]->ylow,
|
cur_cb_info->ipin_rr_node[side][inode]->ylow,
|
||||||
|
0, /*explicit mapping is false*/
|
||||||
|
0, /*explicit mapping is false*/
|
||||||
FALSE, false); /* Do not specify direction of port */
|
FALSE, false); /* Do not specify direction of port */
|
||||||
fprintf(fp, "\n");
|
fprintf(fp, "\n");
|
||||||
}
|
}
|
||||||
|
|
|
@ -187,6 +187,8 @@ void dump_verilog_one_sb_routing_pin(FILE* fp,
|
||||||
side,
|
side,
|
||||||
mirror_node->xlow,
|
mirror_node->xlow,
|
||||||
mirror_node->ylow,
|
mirror_node->ylow,
|
||||||
|
0, /*Used in newer version*/
|
||||||
|
0, /*Used in newer version*/
|
||||||
FALSE,is_explicit_mapping); /* Do not specify direction of port */
|
FALSE,is_explicit_mapping); /* Do not specify direction of port */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -231,6 +233,8 @@ void dump_verilog_one_sb_routing_pin(FILE* fp,
|
||||||
side,
|
side,
|
||||||
cur_rr_node->xlow,
|
cur_rr_node->xlow,
|
||||||
cur_rr_node->ylow,
|
cur_rr_node->ylow,
|
||||||
|
0, /*Used in newer version*/
|
||||||
|
0, /*Used in newer version*/
|
||||||
FALSE, is_explicit_mapping); /* Do not specify direction of port */
|
FALSE, is_explicit_mapping); /* Do not specify direction of port */
|
||||||
break;
|
break;
|
||||||
case CHANX:
|
case CHANX:
|
||||||
|
|
|
@ -686,6 +686,8 @@ void dump_verilog_defined_one_connection_box(t_sram_orgz_info* cur_sram_orgz_inf
|
||||||
cur_cb_info.ipin_rr_node_grid_side[side][inode],
|
cur_cb_info.ipin_rr_node_grid_side[side][inode],
|
||||||
cur_cb_info.ipin_rr_node[side][inode]->xlow,
|
cur_cb_info.ipin_rr_node[side][inode]->xlow,
|
||||||
cur_cb_info.ipin_rr_node[side][inode]->ylow,
|
cur_cb_info.ipin_rr_node[side][inode]->ylow,
|
||||||
|
0, /*Used in newer version*/
|
||||||
|
0, /*Used in newer version*/
|
||||||
FALSE, is_explicit_mapping); /* Do not specify direction of port */
|
FALSE, is_explicit_mapping); /* Do not specify direction of port */
|
||||||
fprintf(fp, ", \n");
|
fprintf(fp, ", \n");
|
||||||
}
|
}
|
||||||
|
@ -833,6 +835,8 @@ void dump_verilog_defined_one_switch_box(t_sram_orgz_info* cur_sram_orgz_info,
|
||||||
cur_sb_info.opin_rr_node_grid_side[side][inode],
|
cur_sb_info.opin_rr_node_grid_side[side][inode],
|
||||||
cur_sb_info.opin_rr_node[side][inode]->xlow,
|
cur_sb_info.opin_rr_node[side][inode]->xlow,
|
||||||
cur_sb_info.opin_rr_node[side][inode]->ylow,
|
cur_sb_info.opin_rr_node[side][inode]->ylow,
|
||||||
|
0, /*Used in a more recent version*/
|
||||||
|
0, /*Used in a more recent version*/
|
||||||
FALSE, is_explicit_mapping); /* Do not specify the direction of port */
|
FALSE, is_explicit_mapping); /* Do not specify the direction of port */
|
||||||
fprintf(fp, ",\n");
|
fprintf(fp, ",\n");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue