Skip to content

Commit 438edf4

Browse files
committedAug 26, 2020
vendor.xilinx_{7series,ultrascale}: set BUFG* SIM_DEVICE as appropriate.
Fixes #438 (again).
1 parent 38b75ba commit 438edf4

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed
 

‎nmigen/vendor/xilinx_7series.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -317,10 +317,11 @@ def create_missing_domain(self, name):
317317
ready = Signal()
318318
m.submodules += Instance("STARTUPE2", o_EOS=ready)
319319
m.domains += ClockDomain("sync", reset_less=self.default_rst is None)
320-
# Actually use BUFGCTRL configured as BUFGCE, since using BUFGCE causes sim/synth
321-
# mismatches with Vivado 2019.2, and the suggested workaround (SIM_DEVICE parameter)
322-
# breaks Vivado 2017.4.
320+
# Actually use BUFGCTRL configured as BUFGCE, since using BUFGCE causes
321+
# sim/synth mismatches with Vivado 2019.2, and the suggested workaround
322+
# (SIM_DEVICE parameter) breaks Vivado 2017.4.
323323
m.submodules += Instance("BUFGCTRL",
324+
p_SIM_DEVICE="7SERIES",
324325
i_I0=clk_i, i_S0=C(1, 1), i_CE0=ready, i_IGNORE0=C(0, 1),
325326
i_I1=C(1, 1), i_S1=C(0, 1), i_CE1=C(0, 1), i_IGNORE1=C(1, 1),
326327
o_O=ClockSignal("sync")

‎nmigen/vendor/xilinx_ultrascale.py

+4-6
Original file line numberDiff line numberDiff line change
@@ -168,12 +168,10 @@ def create_missing_domain(self, name):
168168
ready = Signal()
169169
m.submodules += Instance("STARTUPE3", o_EOS=ready)
170170
m.domains += ClockDomain("sync", reset_less=self.default_rst is None)
171-
# Actually use BUFGCTRL configured as BUFGCE, since using BUFGCE causes sim/synth
172-
# mismatches with Vivado 2019.2, and the suggested workaround (SIM_DEVICE parameter)
173-
# breaks Vivado 2017.4.
174-
m.submodules += Instance("BUFGCTRL",
175-
i_I0=clk_i, i_S0=C(1, 1), i_CE0=ready, i_IGNORE0=C(0, 1),
176-
i_I1=C(1, 1), i_S1=C(0, 1), i_CE1=C(0, 1), i_IGNORE1=C(1, 1),
171+
m.submodules += Instance("BUFGCE",
172+
p_SIM_DEVICE="ULTRASCALE",
173+
i_CE=ready,
174+
i_I=clk_i,
177175
o_O=ClockSignal("sync")
178176
)
179177
if self.default_rst is not None:

0 commit comments

Comments
 (0)