diff options
author | David Shah <davey1576@gmail.com> | 2019-02-25 08:20:32 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-25 08:20:32 +0000 |
commit | 7a5699891a1a79a44f959c4d2337f2512c656ae2 (patch) | |
tree | ffadef56778f1acc3ffa47c66f2eb97045c68154 /ice40/chipdb.py | |
parent | 8c7050191233265662b4e9f15d73c0e7de44c597 (diff) | |
parent | a05f6b261ecf437f8618da6f7dc95d860b429edd (diff) | |
download | nextpnr-7a5699891a1a79a44f959c4d2337f2512c656ae2.tar.gz nextpnr-7a5699891a1a79a44f959c4d2337f2512c656ae2.tar.bz2 nextpnr-7a5699891a1a79a44f959c4d2337f2512c656ae2.zip |
Merge pull request #239 from YosysHQ/dsp_casc_dummy_wires
ice40: Add DSP SIGNEXTIN/OUT and ACCUMCI/O ports
Diffstat (limited to 'ice40/chipdb.py')
-rw-r--r-- | ice40/chipdb.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/ice40/chipdb.py b/ice40/chipdb.py index 824c3d94..93e340fb 100644 --- a/ice40/chipdb.py +++ b/ice40/chipdb.py @@ -954,6 +954,25 @@ def add_bel_ec(ec): add_pll_clock_output(bel, ec, entry) else: extra_cell_config[bel].append(entry) + if ectype == "MAC16": + if y == 5: + last_dsp_y = 0 # dummy, but the wire is needed + elif y == 10: + last_dsp_y = 5 + elif y == 15: + last_dsp_y = 10 + elif y == 23: + last_dsp_y = 23 + else: + assert False, "unknown DSP y " + str(y) + wire_signextin = add_wire(x, last_dsp_y, "dsp/signextout") + wire_signextout = add_wire(x, y, "dsp/signextout") + wire_accumci = add_wire(x, last_dsp_y, "dsp/accumco") + wire_accumco = add_wire(x, y, "dsp/accumco") + add_bel_input(bel, wire_signextin, "SIGNEXTIN") + add_bel_output(bel, wire_signextout, "SIGNEXTOUT") + add_bel_input(bel, wire_accumci, "ACCUMCI") + add_bel_output(bel, wire_accumco, "ACCUMCO") cell_timings = {} tmport_to_constids = { |