mirror of
https://github.com/UzixLS/zx-sizif-xxs.git
synced 2025-07-19 07:11:28 +03:00
21 lines
1.1 KiB
Tcl
Executable File
21 lines
1.1 KiB
Tcl
Executable File
create_clock -period 28MHz -name {clk28} [get_ports {clk_in}]
|
|
|
|
create_generated_clock -name {clkcpu} -divide_by 2 -source [get_ports {clk_in}] [get_registers {cpucontrol:cpucontrol0|clkcpu}]
|
|
create_generated_clock -name {hc0[1]} -divide_by 4 -source [get_ports {clk_in}] [get_registers {screen:screen0|hc0[1]}]
|
|
|
|
derive_pll_clocks
|
|
derive_clocks -period 14MHz
|
|
|
|
set_multicycle_path -from {vencode:*|*} -to {vencode:*|*} -setup 4
|
|
set_multicycle_path -from {vencode:*|*} -to {vencode:*|*} -hold 3
|
|
|
|
# One screen read cycle = ~71ns. SRAM speed = 55ns
|
|
# So we have about 16ns to setup control signals (n_vrd, n_vwr, va - 10ns) and read back data (vd - 6ns)
|
|
set_max_delay -from [get_pins -compatibility_mode screen0|*] -to [get_ports n_vrd] 10ns
|
|
set_max_delay -from [get_pins -compatibility_mode screen0|*] -to [get_ports n_vwr] 10ns
|
|
set_max_delay -from [get_pins -compatibility_mode screen0|*] -to [get_ports va[*]] 10ns
|
|
set_max_delay -from [get_ports vd[*]] -to [get_pins -compatibility_mode screen0|*] 6ns
|
|
|
|
set_false_path -from * -to [get_ports {snd_l}]
|
|
set_false_path -from * -to [get_ports {snd_r}]
|