Fix timing constraints
This commit is contained in:
parent
6043108376
commit
fb532f5e92
|
@ -268,23 +268,24 @@ class XilinxVivadoToolchain:
|
||||||
# The asynchronous input to a MultiReg is a false path
|
# The asynchronous input to a MultiReg is a false path
|
||||||
platform.add_platform_command(
|
platform.add_platform_command(
|
||||||
"set_false_path -quiet "
|
"set_false_path -quiet "
|
||||||
"-to [get_nets -quiet -filter {{mr_ff == TRUE}}]"
|
"-through [get_nets -hierarchical -filter {{mr_ff == TRUE}}]"
|
||||||
)
|
)
|
||||||
# The asychronous reset input to the AsyncResetSynchronizer is a false path
|
# The asychronous reset input to the AsyncResetSynchronizer is a false path
|
||||||
platform.add_platform_command(
|
platform.add_platform_command(
|
||||||
"set_false_path -quiet "
|
"set_false_path -quiet "
|
||||||
"-to [get_pins -quiet -filter {{REF_PIN_NAME == PRE}} "
|
"-to [get_pins -filter {{REF_PIN_NAME == PRE}} "
|
||||||
"-of [get_cells -quiet -filter {{ars_ff1 == TRUE || ars_ff2 == TRUE}}]]"
|
"-of_objects [get_cells -hierarchical -filter {{ars_ff1 == TRUE || ars_ff2 == TRUE}}]]"
|
||||||
)
|
)
|
||||||
# clock_period-2ns to resolve metastability on the wire between the AsyncResetSynchronizer FFs
|
# clock_period-2ns to resolve metastability on the wire between the AsyncResetSynchronizer FFs
|
||||||
platform.add_platform_command(
|
platform.add_platform_command(
|
||||||
"set_max_delay 2 -quiet "
|
"set_max_delay 2 -quiet "
|
||||||
"-from [get_pins -quiet -filter {{REF_PIN_NAME == Q}} "
|
"-from [get_pins -filter {{REF_PIN_NAME == C}} "
|
||||||
"-of [get_cells -quiet -filter {{ars_ff1 == TRUE}}]] "
|
"-of_objects [get_cells -hierarchical -filter {{ars_ff1 == TRUE}}]] "
|
||||||
"-to [get_pins -quiet -filter {{REF_PIN_NAME == D}} "
|
"-to [get_pins -filter {{REF_PIN_NAME == D}} "
|
||||||
"-of [get_cells -quiet -filter {{ars_ff2 == TRUE}}]]"
|
"-of_objects [get_cells -hierarchical -filter {{ars_ff2 == TRUE}}]]"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def build(self, platform, fragment,
|
def build(self, platform, fragment,
|
||||||
build_dir = "build",
|
build_dir = "build",
|
||||||
build_name = "top",
|
build_name = "top",
|
||||||
|
|
Loading…
Reference in New Issue