boards/platforms/kc705: add sma/sfp/xadc ios
This commit is contained in:
parent
60f7e9c14f
commit
9774cbd20e
|
@ -27,14 +27,16 @@ _io = [
|
||||||
("user_dip_btn", 3, Pins("Y28"), IOStandard("LVCMOS25")),
|
("user_dip_btn", 3, Pins("Y28"), IOStandard("LVCMOS25")),
|
||||||
|
|
||||||
("user_sma_clock", 0,
|
("user_sma_clock", 0,
|
||||||
Subsignal("p", Pins("L25"), IOStandard("LVDS_25")),
|
Subsignal("p", Pins("L25"), IOStandard("LVDS_25"),
|
||||||
Subsignal("n", Pins("K25"), IOStandard("LVDS_25"))
|
Misc("DIFF_TERM=TRUE")),
|
||||||
|
Subsignal("n", Pins("K25"), IOStandard("LVDS_25"),
|
||||||
|
Misc("DIFF_TERM=TRUE"))
|
||||||
),
|
),
|
||||||
("user_sma_clock_p", 0, Pins("L25"), IOStandard("LVCMOS25")),
|
("user_sma_clock_p", 0, Pins("L25"), IOStandard("LVCMOS25")),
|
||||||
("user_sma_clock_n", 0, Pins("K25"), IOStandard("LVCMOS25")),
|
("user_sma_clock_n", 0, Pins("K25"), IOStandard("LVCMOS25")),
|
||||||
|
|
||||||
("user_sma_gpio_p", 0, Pins("Y23"), IOStandard("LVCMOS33")),
|
("user_sma_gpio_p", 0, Pins("Y23"), IOStandard("LVCMOS25")),
|
||||||
("user_sma_gpio_n", 0, Pins("Y24"), IOStandard("LVCMOS33")),
|
("user_sma_gpio_n", 0, Pins("Y24"), IOStandard("LVCMOS25")),
|
||||||
|
|
||||||
("clk200", 0,
|
("clk200", 0,
|
||||||
Subsignal("p", Pins("AD12"), IOStandard("LVDS")),
|
Subsignal("p", Pins("AD12"), IOStandard("LVDS")),
|
||||||
|
@ -188,9 +190,49 @@ _io = [
|
||||||
Subsignal("rx_n", Pins("M5 P5 R3 T5 V5 W3 Y5 AA3")),
|
Subsignal("rx_n", Pins("M5 P5 R3 T5 V5 W3 Y5 AA3")),
|
||||||
Subsignal("tx_p", Pins("L4 M2 N4 P2 T2 U4 V2 Y2")),
|
Subsignal("tx_p", Pins("L4 M2 N4 P2 T2 U4 V2 Y2")),
|
||||||
Subsignal("tx_n", Pins("L3 M1 N3 P1 T1 U3 V1 Y1"))
|
Subsignal("tx_n", Pins("L3 M1 N3 P1 T1 U3 V1 Y1"))
|
||||||
)
|
),
|
||||||
|
|
||||||
|
("vadj_on_b", 0, Pins("J27"), IOStandard("LVCMOS25")),
|
||||||
|
|
||||||
|
("sgmii_clock", 0,
|
||||||
|
Subsignal("p", Pins("G8")),
|
||||||
|
Subsignal("n", Pins("G7"))
|
||||||
|
),
|
||||||
|
|
||||||
|
("user_sma_mgt_tx", 0,
|
||||||
|
Subsignal("p", Pins("K2")),
|
||||||
|
Subsignal("n", Pins("K1"))
|
||||||
|
),
|
||||||
|
("user_sma_mgt_rx", 0,
|
||||||
|
Subsignal("p", Pins("K6")),
|
||||||
|
Subsignal("n", Pins("K5"))
|
||||||
|
),
|
||||||
|
|
||||||
|
("sfp_tx", 0,
|
||||||
|
Subsignal("p", Pins("H2")),
|
||||||
|
Subsignal("n", Pins("H1"))
|
||||||
|
),
|
||||||
|
("sfp_rx", 0,
|
||||||
|
Subsignal("p", Pins("G4")),
|
||||||
|
Subsignal("n", Pins("G3"))
|
||||||
|
),
|
||||||
|
("sfp_tx_disable_n", 0, Pins("Y20"), IOStandard("LVCMOS25")),
|
||||||
|
|
||||||
|
("si5324", 0,
|
||||||
|
Subsignal("rst_n", Pins("AE20"), IOStandard("LVCMOS25")),
|
||||||
|
Subsignal("int", Pins("AG24"), IOStandard("LVCMOS25"))
|
||||||
|
),
|
||||||
|
("si5324_clkin", 0,
|
||||||
|
Subsignal("p", Pins("W27"), IOStandard("LVDS_25")),
|
||||||
|
Subsignal("n", Pins("W28"), IOStandard("LVDS_25"))
|
||||||
|
),
|
||||||
|
("si5324_clkout", 0,
|
||||||
|
Subsignal("p", Pins("L8")),
|
||||||
|
Subsignal("n", Pins("L7"))
|
||||||
|
),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
_connectors = [
|
_connectors = [
|
||||||
("HPC", {
|
("HPC", {
|
||||||
"DP1_M2C_P": "D6",
|
"DP1_M2C_P": "D6",
|
||||||
|
@ -413,12 +455,22 @@ _connectors = [
|
||||||
"LA33_P": "AC29",
|
"LA33_P": "AC29",
|
||||||
"LA33_N": "AC30",
|
"LA33_N": "AC30",
|
||||||
}
|
}
|
||||||
)
|
),
|
||||||
|
("XADC", {
|
||||||
|
"GPIO0": "AB25",
|
||||||
|
"GPIO1": "AA25",
|
||||||
|
"GPIO2": "AB28",
|
||||||
|
"GPIO3": "AA27",
|
||||||
|
"VAUX0_N": "J24",
|
||||||
|
"VAUX0_P": "J23",
|
||||||
|
"VAUX8_N": "L23",
|
||||||
|
"VAUX8_P": "L22",
|
||||||
|
}
|
||||||
|
),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class Platform(XilinxPlatform):
|
class Platform(XilinxPlatform):
|
||||||
identifier = 0x4B37
|
|
||||||
default_clk_name = "clk156"
|
default_clk_name = "clk156"
|
||||||
default_clk_period = 6.4
|
default_clk_period = 6.4
|
||||||
|
|
||||||
|
@ -428,6 +480,10 @@ class Platform(XilinxPlatform):
|
||||||
if toolchain == "ise":
|
if toolchain == "ise":
|
||||||
self.toolchain.bitgen_opt = "-g LCK_cycle:6 -g Binary:Yes -w -g ConfigRate:12 -g SPI_buswidth:4"
|
self.toolchain.bitgen_opt = "-g LCK_cycle:6 -g Binary:Yes -w -g ConfigRate:12 -g SPI_buswidth:4"
|
||||||
elif toolchain == "vivado":
|
elif toolchain == "vivado":
|
||||||
|
self.add_platform_command("""
|
||||||
|
set_property CFGBVS VCCO [current_design]
|
||||||
|
set_property CONFIG_VOLTAGE 2.5 [current_design]
|
||||||
|
""")
|
||||||
self.toolchain.bitstream_commands = ["set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]"]
|
self.toolchain.bitstream_commands = ["set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]"]
|
||||||
self.toolchain.additional_commands = ["write_cfgmem -force -format bin -interface spix4 -size 16 -loadbit \"up 0x0 {build_name}.bit\" -file {build_name}.bin"]
|
self.toolchain.additional_commands = ["write_cfgmem -force -format bin -interface spix4 -size 16 -loadbit \"up 0x0 {build_name}.bit\" -file {build_name}.bin"]
|
||||||
self.programmer = programmer
|
self.programmer = programmer
|
||||||
|
@ -452,6 +508,10 @@ class Platform(XilinxPlatform):
|
||||||
self.add_period_constraint(self.lookup_request("eth_clocks").rx, 8.0)
|
self.add_period_constraint(self.lookup_request("eth_clocks").rx, 8.0)
|
||||||
except ConstraintError:
|
except ConstraintError:
|
||||||
pass
|
pass
|
||||||
|
try:
|
||||||
|
self.add_period_constraint(self.lookup_request("eth_clocks").tx, 8.0)
|
||||||
|
except ConstraintError:
|
||||||
|
pass
|
||||||
if isinstance(self.toolchain, XilinxISEToolchain):
|
if isinstance(self.toolchain, XilinxISEToolchain):
|
||||||
self.add_platform_command("CONFIG DCI_CASCADE = \"33 32 34\";")
|
self.add_platform_command("CONFIG DCI_CASCADE = \"33 32 34\";")
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue