| import cell_fuzzers | |
| def include_cell(name, type): | |
| return type.startswith("mult_reg") | |
| def rewrite_cell_pipemode(name, type): | |
| if type.startswith("mult_reg"): | |
| return "MULT18X18D:REGS={}".format(type.split("_", 2)[2]) | |
| else: | |
| return type | |
| def rewrite_pin(name, type, pin): | |
| # All DSP pins have the same timings | |
| if not name.startswith("mult_reg"): | |
| return pin | |
| if pin[0] in "ABCP" and pin[1:].isdigit(): | |
| return pin[0] | |
| else: | |
| return pin | |
| def main(): | |
| cell_fuzzers.build_and_add(["mult_pipemode.v"], inc_cell=include_cell, rw_cell_func=rewrite_cell_pipemode, rw_pin_func=rewrite_pin) | |
| if __name__ == "__main__": | |
| main() |