55set_property BITSTREAM.GENERAL.COMPRESS true [current_design]
66
77# System clocks
8- # 125 MHz
98#
10- # The 125 MHz clock signal is a standard reference clock frequency used
11- # in many Ethernet PHYs. This clock signal is used as a timing reference
12- # for the PHY's internal circuitry, including the serializer/deserializer
13- # (SERDES) components that convert digital data to analog signals for
14- # transmission over the physical medium and vice versa. The SERDES components
15- # require a precise clock signal to ensure accurate timing of the transmitted
16- # and received data.
17- #
18- # NOTE: the GTH transceivers need a free-running clock.
19- #
20-
21- # # Option 1: use the 125 MHz clock from the U87 chip
22- # # GTR pins, connected to the PS, cannot use directly
23- # set_property -dict {LOC C47 IOSTANDARD LVDS_25} [get_ports clk_125mhz_p]
24- # set_property -dict {LOC C48 IOSTANDARD LVDS_25} [get_ports clk_125mhz_n]
25- # create_clock -period 8.000 -name clk_125mhz [get_ports clk_125mhz_p]
26-
27- # # Option 2: use the 156.25 MHz MGT reference clock
28- # # GTH pins, connected to the PL, however:
29- # #
30- # # The MGT (Multi-Gigabit Transceiver) reference clock inputs and GTH (Gigabit Transceiver)
31- # # pins are designed for different types of clock signals, and connecting them together can
32- # # result in damage to the circuitry or a non-functioning design.
33- # #
34- # # Connecting the MGT reference clock inputs to GTH pins can result in damage to the
35- # # circuitry or a non-functioning design because the MGT reference clock signal has different
36- # # voltage and timing requirements than the GTH system clock. The MGT reference clock signal
37- # # requires a dedicated input buffer, such as the IBUFDS_GTE2 or IBUFDS_GTH, to properly
38- # # receive the clock signal and perform the necessary signal conditioning before it can be
39- # # used by the MGT transceiver. The GTH pins, on the other hand, require a specific input
40- # # buffer, such as the IBUFDS_GTE2 or IBUFDS_GTH, to properly receive the system clock signal
41- # # and perform the necessary signal conditioning before it can be used for data transfer.
42- # #
43- # set_property -dict {LOC Y6 IOSTANDARD LVDS_25} [get_ports clk_125mhz_p] ;# GTH_REFCLK0_C2M_P via U90, SOM240_2 C3
44- # set_property -dict {LOC Y5 IOSTANDARD LVDS_25} [get_ports clk_125mhz_n] ;# GTH_REFCLK0_C2M_N via U90, SOM240_2 C4
45- # create_clock -period 6.400 -name clk_125mhz [get_ports clk_125mhz_p]
46-
47- # Option 3: use the 25 MHz clock outputs to the PL from U91
9+ # use the 25 MHz clock outputs to the PL from U91
4810# and feed that into a PLL to convert it to 125 MHz
4911set_property -dict {LOC C3 IOSTANDARD LVCMOS18} [get_ports clk_25mhz_ref] ;# HPA_CLK0P_CLK, HPA_CLK0_P, via U91, SOM240_1 A6
5012create_clock -period 40.000 -name clk_25mhz [get_ports clk_25mhz_ref]
@@ -56,62 +18,6 @@ set_property -dict {LOC E8 IOSTANDARD LVCMOS18 SLEW SLOW DRIVE 8} [get_ports {le
5618set_false_path -to [get_ports {led[*]}]
5719set_output_delay 0 [get_ports {led[*]}]
5820
59- # # Reset button
60- # # PS_POR_L, note schematics hints C15 is PS_POR_B (Power-on Reset) signal
61- # # whereas the "Kria SOM Carrier Card Design Guide" says C15 is PS_POR_L.
62- # #
63- # # Signal is pulled up to 1.8V through a 4.70 KΩ resistor on the SOM, LVCMOS18
64- # #
65- # # NOTE: Connected to the PS, not accessible to the PL
66- # #
67- # # see https://docs.xilinx.com/r/en-US/ug1091-carrier-card-design/Sideband-Signals
68- # set_property -dict {LOC P16 IOSTANDARD LVCMOS18} [get_ports reset] ;# som240_1_c15, PS_POR_B, PS_POR_L
69- #
70- # set_false_path -from [get_ports {reset}]
71- # set_input_delay 0 [get_ports {reset}]
72-
73- # No push buttons in KR260
74- # FWEN is used for other features
75- #
76- # set_property -dict {LOC AG15 IOSTANDARD LVCMOS33} [get_ports btnu]
77- # set_property -dict {LOC AF15 IOSTANDARD LVCMOS33} [get_ports btnl]
78- # set_property -dict {LOC AE15 IOSTANDARD LVCMOS33} [get_ports btnd]
79- # set_property -dict {LOC AE14 IOSTANDARD LVCMOS33} [get_ports btnr]
80- # set_property -dict {LOC AG13 IOSTANDARD LVCMOS33} [get_ports btnc]
81- #
82- # set_false_path -from [get_ports {btnu btnl btnd btnr btnc}]
83- # set_input_delay 0 [get_ports {btnu btnl btnd btnr btnc}]
84-
85- # No DIP switches in KR260
86- #
87- # set_property -dict {LOC AN14 IOSTANDARD LVCMOS33} [get_ports {sw[0]}]
88- #
89- # set_false_path -from [get_ports {sw[*]}]
90- # set_input_delay 0 [get_ports {sw[*]}]
91-
92- # No PL-Side UART available from default banks
93- #
94- # set_property -dict {LOC F13 IOSTANDARD LVCMOS33 SLEW SLOW DRIVE 8} [get_ports uart_txd]
95- # set_property -dict {LOC E13 IOSTANDARD LVCMOS33} [get_ports uart_rxd]
96- # set_property -dict {LOC D12 IOSTANDARD LVCMOS33} [get_ports uart_rts]
97- # set_property -dict {LOC E12 IOSTANDARD LVCMOS33 SLEW SLOW DRIVE 8} [get_ports uart_cts]
98- #
99- # set_false_path -to [get_ports {uart_txd uart_cts}]
100- # set_output_delay 0 [get_ports {uart_txd uart_cts}]
101- # set_false_path -from [get_ports {uart_rxd uart_rts}]
102- # set_input_delay 0 [get_ports {uart_rxd uart_rts}]
103-
104- # No PL-I2C interfaces
105- # set_property -dict {LOC J10 IOSTANDARD LVCMOS33 SLEW SLOW DRIVE 8} [get_ports i2c0_scl]
106- # set_property -dict {LOC J11 IOSTANDARD LVCMOS33 SLEW SLOW DRIVE 8} [get_ports i2c0_sda]
107- # set_property -dict {LOC K20 IOSTANDARD LVCMOS33 SLEW SLOW DRIVE 8} [get_ports i2c1_scl]
108- # set_property -dict {LOC L20 IOSTANDARD LVCMOS33 SLEW SLOW DRIVE 8} [get_ports i2c1_sda]
109-
110- # set_false_path -to [get_ports {i2c1_sda i2c1_scl}]
111- # set_output_delay 0 [get_ports {i2c1_sda i2c1_scl}]
112- # set_false_path -from [get_ports {i2c1_sda i2c1_scl}]
113- # set_input_delay 0 [get_ports {i2c1_sda i2c1_scl}]
114-
11521# SFP+ Interface
11622set_property -dict {LOC T2 } [get_ports sfp0_rx_p] ;# GTH_DP2_C2M_P, som240_2_b1
11723set_property -dict {LOC T1 } [get_ports sfp0_rx_n] ;# GTH_DP2_C2M_N, som240_2_b2
0 commit comments