mirror of
https://github.com/fpganinja/taxi.git
synced 2025-12-09 17:08:38 -08:00
example: Clean up and annotate USB UART connections
Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
@@ -16,6 +16,7 @@ The design places looped-back MACs on the BASE-T and QSFP28 ports as well as a l
|
||||
## Board details
|
||||
|
||||
* FPGA: xcvu9p-flga2104-2L-e
|
||||
* USB UART: Silicon Labs CP2105 SCI
|
||||
* 1000BASE-T PHY: TI DP83867ISRGZ via SGMII
|
||||
* 25GBASE-R PHY: Soft PCS with GTY transceivers
|
||||
|
||||
|
||||
@@ -112,16 +112,16 @@ set_input_delay 0 [get_ports {sw[*]}]
|
||||
#set_false_path -to [get_ports {pmod1[*]}]
|
||||
#set_output_delay 0 [get_ports {pmod1[*]}]
|
||||
|
||||
# UART
|
||||
set_property -dict {LOC BB21 IOSTANDARD LVCMOS18 SLEW SLOW DRIVE 8} [get_ports {uart_txd}]
|
||||
set_property -dict {LOC AW25 IOSTANDARD LVCMOS18} [get_ports {uart_rxd}]
|
||||
set_property -dict {LOC BB22 IOSTANDARD LVCMOS18 SLEW SLOW DRIVE 8} [get_ports {uart_rts}]
|
||||
set_property -dict {LOC AY25 IOSTANDARD LVCMOS18} [get_ports {uart_cts}]
|
||||
# UART (U34 CP2105 SCI)
|
||||
set_property -dict {LOC BB21 IOSTANDARD LVCMOS18 SLEW SLOW DRIVE 8} [get_ports {uart_txd}] ;# U34.20 RXD_SCI_I
|
||||
set_property -dict {LOC AW25 IOSTANDARD LVCMOS18} [get_ports {uart_rxd}] ;# U34.21 TXD_SCI_O
|
||||
set_property -dict {LOC BB22 IOSTANDARD LVCMOS18} [get_ports {uart_rts}] ;# U34.19 RTS_SCI_O
|
||||
set_property -dict {LOC AY25 IOSTANDARD LVCMOS18 SLEW SLOW DRIVE 8} [get_ports {uart_cts}] ;# U34.18 CTS_SCI_I
|
||||
|
||||
set_false_path -to [get_ports {uart_txd uart_rts}]
|
||||
set_output_delay 0 [get_ports {uart_txd uart_rts}]
|
||||
set_false_path -from [get_ports {uart_rxd uart_cts}]
|
||||
set_input_delay 0 [get_ports {uart_rxd uart_cts}]
|
||||
set_false_path -to [get_ports {uart_txd uart_cts}]
|
||||
set_output_delay 0 [get_ports {uart_txd uart_cts}]
|
||||
set_false_path -from [get_ports {uart_rxd uart_rts}]
|
||||
set_input_delay 0 [get_ports {uart_rxd uart_rts}]
|
||||
|
||||
# Gigabit Ethernet SGMII PHY
|
||||
set_property -dict {LOC AU24 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports {phy_sgmii_rx_p}]
|
||||
|
||||
@@ -52,8 +52,8 @@ module fpga #
|
||||
*/
|
||||
input wire logic uart_rxd,
|
||||
output wire logic uart_txd,
|
||||
output wire logic uart_rts,
|
||||
input wire logic uart_cts,
|
||||
input wire logic uart_rts,
|
||||
output wire logic uart_cts,
|
||||
|
||||
/*
|
||||
* Ethernet: 1000BASE-T SGMII
|
||||
@@ -252,7 +252,7 @@ debounce_switch_inst (
|
||||
);
|
||||
|
||||
wire uart_rxd_int;
|
||||
wire uart_cts_int;
|
||||
wire uart_rts_int;
|
||||
|
||||
taxi_sync_signal #(
|
||||
.WIDTH(2),
|
||||
@@ -260,8 +260,8 @@ taxi_sync_signal #(
|
||||
)
|
||||
sync_signal_inst (
|
||||
.clk(clk_125mhz_int),
|
||||
.in({uart_rxd, uart_cts}),
|
||||
.out({uart_rxd_int, uart_cts_int})
|
||||
.in({uart_rxd, uart_rts}),
|
||||
.out({uart_rxd_int, uart_rts_int})
|
||||
);
|
||||
|
||||
// SI570 I2C
|
||||
@@ -466,8 +466,8 @@ core_inst (
|
||||
*/
|
||||
.uart_rxd(uart_rxd_int),
|
||||
.uart_txd(uart_txd),
|
||||
.uart_rts(uart_rts),
|
||||
.uart_cts(uart_cts_int),
|
||||
.uart_rts(uart_rts_int),
|
||||
.uart_cts(uart_cts),
|
||||
|
||||
/*
|
||||
* Ethernet: 1000BASE-T SGMII
|
||||
|
||||
@@ -45,8 +45,8 @@ module fpga_core #
|
||||
*/
|
||||
input wire logic uart_rxd,
|
||||
output wire logic uart_txd,
|
||||
output wire logic uart_rts,
|
||||
input wire logic uart_cts,
|
||||
input wire logic uart_rts,
|
||||
output wire logic uart_cts,
|
||||
|
||||
/*
|
||||
* Ethernet: 1000BASE-T SGMII
|
||||
@@ -106,7 +106,7 @@ module fpga_core #
|
||||
// assign led = 8'(sw);
|
||||
|
||||
// UART
|
||||
assign uart_rts = 0;
|
||||
assign uart_cts = 1'b0;
|
||||
|
||||
taxi_axis_if #(.DATA_W(8)) axis_uart();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user