Line 153... |
Line 153... |
default: assert (0);
|
default: assert (0);
|
}
|
}
|
}
|
}
|
} else if (ii->index == II_LRBB) {
|
} else if (ii->index == II_LRBB) {
|
GEN (" if (rst) t%x_%x <= #Tp 1'b0;\n", b, i);
|
GEN (" if (rst) t%x_%x <= #Tp 1'b0;\n", b, i);
|
assert (f->bb[b].prev[0] >= 0 && f->bb[b].prev[0] != BBID_END);
|
assert (f->bb[b].prev[0] >= 0);
|
|
if (f->bb[b].prev[0] == BBID_START)
|
|
GEN (" else if (bb_start[%i]) t%x_%x <= #Tp start_i;\n", b, b, i);
|
|
else
|
GEN (" else if (bb_start[%i]) t%x_%x <= #Tp bb_stb[%i];\n", b, b, i, f->bb[b].prev[0]);
|
GEN (" else if (bb_start[%i]) t%x_%x <= #Tp bb_stb[%i];\n", b, b, i, f->bb[b].prev[0]);
|
} else if (ii->index == II_REG) {
|
} else if (ii->index == II_REG) {
|
assert (ii->opt[1] == OPT_REF);
|
assert (ii->opt[1] == OPT_REF);
|
GEN (" if (");
|
GEN (" if (");
|
if (f->bb[b].mdep) print_deps (fo, f, b, f->bb[b].mdep, 0);
|
if (f->bb[b].mdep) print_deps (fo, f, b, f->bb[b].mdep, 0);
|
Line 470... |
Line 473... |
|
|
GEN ("\n/* Basic block triggers */\n");
|
GEN ("\n/* Basic block triggers */\n");
|
GEN ("wire [%2i:0] bb_start = {\n", f->num_bb - 1);
|
GEN ("wire [%2i:0] bb_start = {\n", f->num_bb - 1);
|
for (b = f->num_bb - 1; b >= 0; b--) {
|
for (b = f->num_bb - 1; b >= 0; b--) {
|
GEN (" /* bb_start[%2i] */ ", b);
|
GEN (" /* bb_start[%2i] */ ", b);
|
for (i = 0; i < 2; i++) if (f->bb[b].prev[i] >= 0) {
|
for (i = 0; i < 2; i++) if (f->bb[b].prev[i] >= 0 && f->bb[b].prev[i] != BBID_START) {
|
cuc_bb *prev = &f->bb[f->bb[b].prev[i]];
|
cuc_bb *prev = &f->bb[f->bb[b].prev[i]];
|
int t;
|
int t;
|
if (i) GEN ("\n || ");
|
if (i) GEN ("\n || ");
|
if (prev->mdep) {
|
if (prev->mdep) {
|
print_deps (fo, f, f->bb[b].prev[i], prev->mdep, 0);
|
print_deps (fo, f, f->bb[b].prev[i], prev->mdep, 0);
|