3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-06-22 22:03:40 +00:00

Progress in pmgen

Signed-off-by: Clifford Wolf <clifford@clifford.at>
This commit is contained in:
Clifford Wolf 2019-01-13 17:03:58 +01:00
parent 1f8e76f993
commit d45379936b
3 changed files with 139 additions and 36 deletions

View file

@ -24,17 +24,6 @@
USING_YOSYS_NAMESPACE
PRIVATE_NAMESPACE_BEGIN
void ice40_dsp_accept(ice40_dsp_pm *pm)
{
log("\n");
log("mul: %s\n", pm->st.mul ? log_id(pm->st.mul) : "--");
log("ffA: %s\n", pm->st.ffA ? log_id(pm->st.ffA) : "--");
log("ffB: %s\n", pm->st.ffB ? log_id(pm->st.ffB) : "--");
log("ffY: %s\n", pm->st.ffY ? log_id(pm->st.ffY) : "--");
pm->blacklist(pm->st.mul);
}
struct Ice40DspPass : public Pass {
Ice40DspPass() : Pass("ice40_dsp", "iCE40: map multipliers") { }
void help() YS_OVERRIDE
@ -64,7 +53,23 @@ struct Ice40DspPass : public Pass {
for (auto module : design->selected_modules())
{
ice40_dsp_pm pm(module, module->cells());
pm.run(ice40_dsp_accept);
pm.match([&]()
{
log("\n");
log("ffA: %s\n", log_id(pm.st.ffA, "--"));
log("ffB: %s\n", log_id(pm.st.ffB, "--"));
log("mul: %s\n", log_id(pm.st.mul, "--"));
log("ffY: %s\n", log_id(pm.st.ffY, "--"));
log("addAB: %s\n", log_id(pm.st.addAB, "--"));
log("muxAB: %s\n", log_id(pm.st.muxAB, "--"));
log("ffS: %s\n", log_id(pm.st.ffS, "--"));
pm.blacklist(pm.st.mul);
pm.blacklist(pm.st.ffA);
pm.blacklist(pm.st.ffB);
pm.blacklist(pm.st.ffY);
pm.blacklist(pm.st.ffS);
});
}
}
} Ice40DspPass;