From aba8fc5c9457e0bb972075187c9fb157e8d3c325 Mon Sep 17 00:00:00 2001 From: Florent Kermarrec Date: Thu, 9 Jan 2020 19:45:51 +0100 Subject: [PATCH] build/altera/quartus: allow multiple call of add_period_constraint if constraint is similar. Similar to the changes already applied to Xilinx backend. --- litex/build/altera/quartus.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/litex/build/altera/quartus.py b/litex/build/altera/quartus.py index e8d01c909..b71dfd73d 100644 --- a/litex/build/altera/quartus.py +++ b/litex/build/altera/quartus.py @@ -226,9 +226,11 @@ class AlteraQuartusToolchain: def add_period_constraint(self, platform, clk, period): clk.attr.add("keep") + period = math.floor(period*1e3)/1e3 # round to lowest picosecond if clk in self.clocks: - raise ValueError("A period constraint already exists") - period = math.floor(period*1e3)/1e3 # Round to lowest picosecond + if period != self.clocks[clk]: + raise ValueError("Clock already constrained to {:.2f}ns, new constraint to {:.2f}ns" + .format(self.clocks[clk], period)) self.clocks[clk] = period def add_false_path_constraint(self, platform, from_, to):