Skip to content

Commit

Permalink
Constraints: add clock groups
Browse files Browse the repository at this point in the history
Added async clock domain constraints for timing analysis
  • Loading branch information
hughbreslin committed Oct 19, 2022
1 parent 8af0ec5 commit 7a48fa3
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 3 deletions.
31 changes: 28 additions & 3 deletions MPFS_ICICLE_KIT_REFERENCE_DESIGN.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -191,12 +191,19 @@ import_files \
-io_pdc "${constraint_path}/ICICLE_I2C_LOOPBACK.pdc" \
-io_pdc "${constraint_path}/ICICLE_SPI_LOOPBACK.pdc" \
-io_pdc "${constraint_path}/ICICLE_RPi_MICRON_QSPI.pdc" \
-fp_pdc "${constraint_path}/NW_PLL.pdc"
-fp_pdc "${constraint_path}/NW_PLL.pdc" \
-sdc "${constraint_path}/fic_clocks.sdc"

#
# // Associate imported constraints with the design flow
#

organize_tool_files \
-tool {SYNTHESIZE} \
-file "${project_dir}/constraint/fic_clocks.sdc" \
-module {MPFS_ICICLE_KIT_BASE_DESIGN::work} \
-input_type {constraint}

if {[info exists MICRON_QSPI]} {
organize_tool_files \
-tool {PLACEROUTE} \
Expand All @@ -213,6 +220,7 @@ if {[info exists MICRON_QSPI]} {
-file "${project_dir}/constraint/io/ICICLE_MMUART2.pdc" \
-file "${project_dir}/constraint/io/ICICLE_RPi_MICRON_QSPI.pdc" \
-file "${project_dir}/constraint/fp/NW_PLL.pdc" \
-file "${project_dir}/constraint/fic_clocks.sdc" \
-module {MPFS_ICICLE_KIT_BASE_DESIGN::work} \
-input_type {constraint}
} else {
Expand All @@ -231,15 +239,25 @@ if {[info exists MICRON_QSPI]} {
-file "${project_dir}/constraint/io/ICICLE_MMUART2.pdc" \
-file "${project_dir}/constraint/io/ICICLE_RPi.pdc" \
-file "${project_dir}/constraint/fp/NW_PLL.pdc" \
-file "${project_dir}/constraint/fic_clocks.sdc" \
-module {MPFS_ICICLE_KIT_BASE_DESIGN::work} \
-input_type {constraint}
}

organize_tool_files \
-tool {VERIFYTIMING} \
-file "${project_dir}/constraint/fic_clocks.sdc" \
-module {MPFS_ICICLE_KIT_BASE_DESIGN::work} \
-input_type {constraint}


#
# // Derive timing constraints
# // Build hierarchy before progressing
#

build_design_hierarchy
derive_constraints_sdc



#
# // Apply additional design configurations
Expand Down Expand Up @@ -312,6 +330,13 @@ save_smartdesign -sd_name {MSS_WRAPPER}
sd_reset_layout -sd_name {MPFS_ICICLE_KIT_BASE_DESIGN}
save_smartdesign -sd_name {MPFS_ICICLE_KIT_BASE_DESIGN}

#
# // Derive timing constraints
#

build_design_hierarchy
derive_constraints_sdc

#
# // Run the design flow and add eNVM clients if required
#
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,6 @@ organize_tool_files \
-file "${project_dir}/constraint/io/ICICLE_MMUART2.pdc" \
-file "${project_dir}/constraint/io/ICICLE_I2C_LOOPBACK.pdc" \
-file "${project_dir}/constraint/fp/NW_PLL.pdc" \
-file "${project_dir}/constraint/fic_clocks.sdc" \
-module {MPFS_ICICLE_KIT_BASE_DESIGN::work} \
-input_type {constraint}
Original file line number Diff line number Diff line change
Expand Up @@ -53,5 +53,6 @@ organize_tool_files \
-file "${project_dir}/constraint/io/ICICLE_MMUART3.pdc" \
-file "${project_dir}/constraint/io/ICICLE_SPI_LOOPBACK.pdc" \
-file "${project_dir}/constraint/fp/NW_PLL.pdc" \
-file "${project_dir}/constraint/fic_clocks.sdc" \
-module {MPFS_ICICLE_KIT_BASE_DESIGN::work} \
-input_type {constraint}
4 changes: 4 additions & 0 deletions script_support/constraints/fic_clocks.sdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
set_clock_groups -name {FIC0_clks} -asynchronous -group [ get_clocks { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT0 } ]
set_clock_groups -name {FIC1_clks} -asynchronous -group [ get_clocks { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT1 } ]
set_clock_groups -name {FIC2_clks} -asynchronous -group [ get_clocks { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT2 } ]
set_clock_groups -name {FIC3_clks} -asynchronous -group [ get_clocks { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT3 } ]

0 comments on commit 7a48fa3

Please sign in to comment.