From 538ca59ab6094608d9e84fef3988a590b78367d9 Mon Sep 17 00:00:00 2001 From: Florent Kermarrec Date: Mon, 15 Apr 2019 10:51:17 +0200 Subject: [PATCH] build/xilinx/vivado: round period constraints to lowest picosecond Vivado will do the opposite if we don't do it, with this change we ensure the applied period constraints will always be >= to the requested constraint. --- litex/build/xilinx/vivado.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/litex/build/xilinx/vivado.py b/litex/build/xilinx/vivado.py index 54bbfe85e..b9750bba5 100644 --- a/litex/build/xilinx/vivado.py +++ b/litex/build/xilinx/vivado.py @@ -4,6 +4,7 @@ import os import subprocess import sys +import math from migen.fhdl.structure import _Fragment @@ -250,6 +251,7 @@ class XilinxVivadoToolchain: def add_period_constraint(self, platform, clk, period): if clk in self.clocks: raise ValueError("A period constraint already exists") + period = math.floor(period*1e3)/1e3 # round to lowest picosecond self.clocks[clk] = period def add_false_path_constraint(self, platform, from_, to):