Escape flop names as well
This commit is contained in:
parent
718f5b81f0
commit
f7be783a32
15
xc7/xdl.cc
15
xc7/xdl.cc
@ -75,7 +75,7 @@ void write_xdl(const Context *ctx, std::ostream &out)
|
|||||||
instPtr = ret.first->second;
|
instPtr = ret.first->second;
|
||||||
|
|
||||||
if (cell.second->type == id_SLICE_LUT6) {
|
if (cell.second->type == id_SLICE_LUT6) {
|
||||||
std::string setting, value;
|
std::string setting, name, value;
|
||||||
const std::string lut = bel_to_lut(cell.second->bel);
|
const std::string lut = bel_to_lut(cell.second->bel);
|
||||||
|
|
||||||
setting = lut + "6LUT";
|
setting = lut + "6LUT";
|
||||||
@ -125,19 +125,20 @@ void write_xdl(const Context *ctx, std::ostream &out)
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto O = get_net_or_empty(cell.second.get(), id_O);
|
auto O = get_net_or_empty(cell.second.get(), id_O);
|
||||||
std::string lut_name;
|
|
||||||
if (O)
|
if (O)
|
||||||
lut_name = O->name.str(ctx);
|
name = O->name.str(ctx);
|
||||||
else
|
else
|
||||||
lut_name = cell.second->name.str(ctx);
|
name = cell.second->name.str(ctx);
|
||||||
boost::replace_all(lut_name, ":", "\\:");
|
boost::replace_all(name, ":", "\\:");
|
||||||
instPtr->setConfig(setting, lut_name, value);
|
instPtr->setConfig(setting, name, value);
|
||||||
|
|
||||||
auto OQ = get_net_or_empty(cell.second.get(), id_OQ);
|
auto OQ = get_net_or_empty(cell.second.get(), id_OQ);
|
||||||
if (OQ) {
|
if (OQ) {
|
||||||
setting = lut;
|
setting = lut;
|
||||||
setting += "FF";
|
setting += "FF";
|
||||||
instPtr->setConfig(setting, OQ->name.c_str(ctx), "#FF");
|
name = OQ->name.str(ctx);
|
||||||
|
boost::replace_all(name, ":", "\\:");
|
||||||
|
instPtr->setConfig(setting, name, "#FF");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (cell.second->type == id_IOB33S) {
|
else if (cell.second->type == id_IOB33S) {
|
||||||
|
Loading…
Reference in New Issue
Block a user