build/altera/quartus: allow multiple call of add_period_constraint if constraint is similar.

Similar to the changes already applied to Xilinx backend.
This commit is contained in:
Florent Kermarrec 2020-01-09 19:45:51 +01:00
parent e318287ec2
commit aba8fc5c94
1 changed files with 4 additions and 2 deletions

View File

@ -226,9 +226,11 @@ class AlteraQuartusToolchain:
def add_period_constraint(self, platform, clk, period): def add_period_constraint(self, platform, clk, period):
clk.attr.add("keep") clk.attr.add("keep")
period = math.floor(period*1e3)/1e3 # round to lowest picosecond
if clk in self.clocks: if clk in self.clocks:
raise ValueError("A period constraint already exists") if period != self.clocks[clk]:
period = math.floor(period*1e3)/1e3 # Round to lowest picosecond raise ValueError("Clock already constrained to {:.2f}ns, new constraint to {:.2f}ns"
.format(self.clocks[clk], period))
self.clocks[clk] = period self.clocks[clk] = period
def add_false_path_constraint(self, platform, from_, to): def add_false_path_constraint(self, platform, from_, to):