-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathde1_soc_top.sdc
130 lines (121 loc) · 6.56 KB
/
de1_soc_top.sdc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#****************************************************************************
#
# SPDX-License-Identifier: MIT-0
# Copyright(c) 2013-2020 Intel Corporation.
#
#****************************************************************************
#
# Sample SDC for CV GHRD.
#
#****************************************************************************
# 50MHz board input clock
create_clock -period 20 [get_ports CLOCK_50]
# for enhancing USB BlasterII to be reliable, 25MHz
create_clock -name {altera_reserved_tck} -period 40 {altera_reserved_tck}
set_input_delay -clock altera_reserved_tck -clock_fall 3 [get_ports altera_reserved_tdi]
set_input_delay -clock altera_reserved_tck -clock_fall 3 [get_ports altera_reserved_tms]
set_output_delay -clock altera_reserved_tck 3 [get_ports altera_reserved_tdo]
# FPGA IO port constraints
set_false_path -from [get_ports {fpga_button_pio[0]}] -to *
set_false_path -from [get_ports {fpga_button_pio[1]}] -to *
set_false_path -from [get_ports {fpga_dipsw_pio[0]}] -to *
set_false_path -from [get_ports {fpga_dipsw_pio[1]}] -to *
set_false_path -from [get_ports {fpga_dipsw_pio[2]}] -to *
set_false_path -from [get_ports {fpga_dipsw_pio[3]}] -to *
set_false_path -from * -to [get_ports {fpga_led_pio[0]}]
set_false_path -from * -to [get_ports {fpga_led_pio[1]}]
set_false_path -from * -to [get_ports {fpga_led_pio[2]}]
set_false_path -from * -to [get_ports {fpga_led_pio[3]}]
# HPS peripherals port false path setting to workaround the unconstraint path (setting false_path for hps_0 ports will not affect the routing as it is hard silicon)
set_false_path -from * -to [get_ports {hps_emac1_TX_CLK}]
set_false_path -from * -to [get_ports {hps_emac1_TXD0}]
set_false_path -from * -to [get_ports {hps_emac1_TXD1}]
set_false_path -from * -to [get_ports {hps_emac1_TXD2}]
set_false_path -from * -to [get_ports {hps_emac1_TXD3}]
set_false_path -from * -to [get_ports {hps_emac1_MDC}]
set_false_path -from * -to [get_ports {hps_emac1_TX_CTL}]
set_false_path -from * -to [get_ports {hps_qspi_SS0}]
set_false_path -from * -to [get_ports {hps_qspi_CLK}]
set_false_path -from * -to [get_ports {hps_sdio_CLK}]
set_false_path -from * -to [get_ports {hps_usb1_STP}]
set_false_path -from * -to [get_ports {hps_spim0_CLK}]
set_false_path -from * -to [get_ports {hps_spim0_MOSI}]
set_false_path -from * -to [get_ports {hps_spim0_SS0}]
set_false_path -from * -to [get_ports {hps_uart0_TX}]
set_false_path -from * -to [get_ports {hps_can0_TX}]
set_false_path -from * -to [get_ports {hps_trace_CLK}]
set_false_path -from * -to [get_ports {hps_trace_D0}]
set_false_path -from * -to [get_ports {hps_trace_D1}]
set_false_path -from * -to [get_ports {hps_trace_D2}]
set_false_path -from * -to [get_ports {hps_trace_D3}]
set_false_path -from * -to [get_ports {hps_trace_D4}]
set_false_path -from * -to [get_ports {hps_trace_D5}]
set_false_path -from * -to [get_ports {hps_trace_D6}]
set_false_path -from * -to [get_ports {hps_trace_D7}]
set_false_path -from * -to [get_ports {hps_emac1_MDIO}]
set_false_path -from * -to [get_ports {hps_qspi_IO0}]
set_false_path -from * -to [get_ports {hps_qspi_IO1}]
set_false_path -from * -to [get_ports {hps_qspi_IO2}]
set_false_path -from * -to [get_ports {hps_qspi_IO3}]
set_false_path -from * -to [get_ports {hps_sdio_CMD}]
set_false_path -from * -to [get_ports {hps_sdio_D0}]
set_false_path -from * -to [get_ports {hps_sdio_D1}]
set_false_path -from * -to [get_ports {hps_sdio_D2}]
set_false_path -from * -to [get_ports {hps_sdio_D3}]
set_false_path -from * -to [get_ports {hps_usb1_D0}]
set_false_path -from * -to [get_ports {hps_usb1_D1}]
set_false_path -from * -to [get_ports {hps_usb1_D2}]
set_false_path -from * -to [get_ports {hps_usb1_D3}]
set_false_path -from * -to [get_ports {hps_usb1_D4}]
set_false_path -from * -to [get_ports {hps_usb1_D5}]
set_false_path -from * -to [get_ports {hps_usb1_D6}]
set_false_path -from * -to [get_ports {hps_usb1_D7}]
set_false_path -from * -to [get_ports {hps_i2c0_SDA}]
set_false_path -from * -to [get_ports {hps_i2c0_SCL}]
set_false_path -from * -to [get_ports {hps_gpio_GPIO09}]
set_false_path -from * -to [get_ports {hps_gpio_GPIO35}]
set_false_path -from * -to [get_ports {hps_gpio_GPIO41}]
set_false_path -from * -to [get_ports {hps_gpio_GPIO42}]
set_false_path -from * -to [get_ports {hps_gpio_GPIO43}]
set_false_path -from * -to [get_ports {hps_gpio_GPIO44}]
set_false_path -from [get_ports {hps_emac1_MDIO}] -to *
set_false_path -from [get_ports {hps_qspi_IO0}] -to *
set_false_path -from [get_ports {hps_qspi_IO1}] -to *
set_false_path -from [get_ports {hps_qspi_IO2}] -to *
set_false_path -from [get_ports {hps_qspi_IO3}] -to *
set_false_path -from [get_ports {hps_sdio_CMD}] -to *
set_false_path -from [get_ports {hps_sdio_D0}] -to *
set_false_path -from [get_ports {hps_sdio_D1}] -to *
set_false_path -from [get_ports {hps_sdio_D2}] -to *
set_false_path -from [get_ports {hps_sdio_D3}] -to *
set_false_path -from [get_ports {hps_usb1_D0}] -to *
set_false_path -from [get_ports {hps_usb1_D1}] -to *
set_false_path -from [get_ports {hps_usb1_D2}] -to *
set_false_path -from [get_ports {hps_usb1_D3}] -to *
set_false_path -from [get_ports {hps_usb1_D4}] -to *
set_false_path -from [get_ports {hps_usb1_D5}] -to *
set_false_path -from [get_ports {hps_usb1_D6}] -to *
set_false_path -from [get_ports {hps_usb1_D7}] -to *
set_false_path -from [get_ports {hps_i2c0_SDA}] -to *
set_false_path -from [get_ports {hps_i2c0_SCL}] -to *
set_false_path -from [get_ports {hps_gpio_GPIO09}] -to *
set_false_path -from [get_ports {hps_gpio_GPIO35}] -to *
set_false_path -from [get_ports {hps_gpio_GPIO41}] -to *
set_false_path -from [get_ports {hps_gpio_GPIO42}] -to *
set_false_path -from [get_ports {hps_gpio_GPIO43}] -to *
set_false_path -from [get_ports {hps_gpio_GPIO44}] -to *
set_false_path -from [get_ports {hps_emac1_RX_CTL}] -to *
set_false_path -from [get_ports {hps_emac1_RX_CLK}] -to *
set_false_path -from [get_ports {hps_emac1_RXD0}] -to *
set_false_path -from [get_ports {hps_emac1_RXD1}] -to *
set_false_path -from [get_ports {hps_emac1_RXD2}] -to *
set_false_path -from [get_ports {hps_emac1_RXD3}] -to *
set_false_path -from [get_ports {hps_usb1_CLK}] -to *
set_false_path -from [get_ports {hps_usb1_DIR}] -to *
set_false_path -from [get_ports {hps_usb1_NXT}] -to *
set_false_path -from [get_ports {hps_spim0_MISO}] -to *
set_false_path -from [get_ports {hps_uart0_RX}] -to *
set_false_path -from [get_ports {hps_can0_RX}] -to *
# create unused clock constraint for HPS I2C and usb1 to avoid misleading unconstraint clock reporting in TimeQuest
create_clock -period "1 MHz" [get_ports hps_i2c0_SCL]
create_clock -period "48 MHz" [get_ports hps_usb1_CLK]