-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
improve timing constraints with multicycle paths
- Loading branch information
1 parent
6323586
commit f885090
Showing
9 changed files
with
43 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,16 @@ | ||
|
||
// NES clocks | ||
create_clock -name clk -period 37.04 [get_nets {sys_clk}] // 27 Mhz | ||
//create_generated_clock -name clk -source [get_nets {fclk}] -master_clock pclk -divide_by 3 [get_nets {clk}] // 32.25 Mhz | ||
|
||
// USB clock | ||
//create_clock -name clk_usb -period 83.33 [get_nets {clk_usb}] // 12 Mhz | ||
create_clock -name sys_clk -period 37.04 [get_nets {sys_clk}] // 27 Mhz | ||
create_clock -name fclk -period 15.43 [get_nets {fclk}] // 64.8 Mhz | ||
create_generated_clock -name clk -source [get_nets {fclk}] -divide_by 3 [get_nets {clk}] // 21.6 Mhz | ||
|
||
// HDMI clocks | ||
create_clock -name hclk5 -period 2.6936 [get_nets {hclk5}] // 371.25 Mhz | ||
//create_generated_clock -name clk_p -source [get_nets {clk_p}] -master_clock clk_p5 -divide_by 5 [get_nets {clk_p}] // 74.25 Mhz: 720p pixel clock | ||
|
||
//set_clock_groups -asynchronous -group [get_clocks {pclk} get_clocks{clk}] -group [get_clocks {clk_p5} get_clocks{clk_p}] | ||
report_timing -hold -from_clock [get_clocks {clk*}] -to_clock [get_clocks {clk*}] -max_paths 25 -max_common_paths 1 | ||
report_timing -setup -from_clock [get_clocks {clk*}] -to_clock [get_clocks {clk*}] -max_paths 25 -max_common_paths 1 | ||
// NES/iosys to SDRAM, 3 fclk cycles | ||
set_multicycle_path 3 -end -setup -from [get_clocks {clk}] -to [get_clocks {fclk}] | ||
set_multicycle_path 2 -end -hold -from [get_clocks {clk}] -to [get_clocks {fclk}] | ||
|
||
// SDRAM to NES/iosys, 2 fclk cycles | ||
set_multicycle_path 2 -start -setup -from [get_clocks {fclk}] -to [get_clocks {clk}] | ||
set_multicycle_path 1 -start -hold -from [get_clocks {fclk}] -to [get_clocks {clk}] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,18 @@ | ||
|
||
// NES clocks | ||
create_clock -name clk -period 20 [get_nets {sys_clk}] // 50 Mhz | ||
//create_generated_clock -name clk -source [get_nets {pclk}] -master_clock pclk -divide_by 3 [get_nets {clk}] // 32.25 Mhz | ||
|
||
// USB clock | ||
//create_clock -name clk_usb -period 83.33 [get_nets {clk_usb}] // 12 Mhz | ||
create_clock -name sys_clk -period 20 [get_nets {sys_clk}] // 50 Mhz | ||
create_clock -name fclk -period 15.51 [get_nets {fclk}] // 64.4737 Mhz | ||
create_generated_clock -name clk -source [get_nets {fclk}] -divide_by 3 [get_nets {clk}] // 21.4912 Mhz | ||
|
||
// HDMI clocks | ||
create_clock -name hclk5 -period 2.6936 [get_nets {hclk5}] // 371.25 Mhz | ||
//create_generated_clock -name clk_p -source [get_nets {clk_p}] -master_clock clk_p5 -divide_by 5 [get_nets {clk_p}] // 74.25 Mhz: 720p pixel clock | ||
create_clock -name hclk5 -period 2.6936 [get_nets {hclk5}] // 371.25 Mhz | ||
|
||
// NES/iosys to SDRAM, 3 fclk cycles | ||
set_multicycle_path 3 -end -setup -from [get_clocks {clk}] -to [get_clocks {fclk}] | ||
set_multicycle_path 2 -end -hold -from [get_clocks {clk}] -to [get_clocks {fclk}] | ||
|
||
// SDRAM to NES/iosys, 2 fclk cycles | ||
set_multicycle_path 2 -start -setup -from [get_clocks {fclk}] -to [get_clocks {clk}] | ||
set_multicycle_path 1 -start -hold -from [get_clocks {fclk}] -to [get_clocks {clk}] | ||
|
||
//set_clock_groups -asynchronous -group [get_clocks {pclk} get_clocks{clk}] -group [get_clocks {clk_p5} get_clocks{clk_p}] | ||
report_timing -hold -from_clock [get_clocks {clk*}] -to_clock [get_clocks {clk*}] -max_paths 25 -max_common_paths 1 | ||
report_timing -setup -from_clock [get_clocks {clk*}] -to_clock [get_clocks {clk*}] -max_paths 25 -max_common_paths 1 | ||
# report_timing -hold -from_clock [get_clocks {clk*}] -to_clock [get_clocks {clk*}] -max_paths 25 -max_common_paths 1 | ||
# report_timing -setup -from_clock [get_clocks {clk*}] -to_clock [get_clocks {clk*}] -max_paths 25 -max_common_paths 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters