fpga: n3xx: Add BUFG to SPI output line to ease timing
Vivado has demonstrated difficulty meeting timing with the spi0_mosi split. To improve the chances of meeting timing, we are routing this signal through a BUFG. This makes the routing step use a more efficient net routing that eases timing closure. Original-commit: 8c49730e4cf6af172d26ee6a5d35182ed3160058
This commit is contained in:
@@ -3369,6 +3369,16 @@ module n3xx (
|
|||||||
wire [16*NUM_CHANNELS-1:0] db_gpio_in;
|
wire [16*NUM_CHANNELS-1:0] db_gpio_in;
|
||||||
wire [16*NUM_CHANNELS-1:0] db_gpio_fab;
|
wire [16*NUM_CHANNELS-1:0] db_gpio_fab;
|
||||||
|
|
||||||
|
// Vivado has demonstrated difficulty meeting timing with the spi0_mosi split.
|
||||||
|
// To improve the chances of meeting timing, we are routing this signal
|
||||||
|
// through a BUFG.
|
||||||
|
|
||||||
|
wire spi0_mosi_buf;
|
||||||
|
BUFG bufg_spi0_mosi (
|
||||||
|
.O (spi0_mosi_buf),
|
||||||
|
.I (spi0_mosi)
|
||||||
|
);
|
||||||
|
|
||||||
// DB A SPI Connections
|
// DB A SPI Connections
|
||||||
wire cpld_a_cs_n;
|
wire cpld_a_cs_n;
|
||||||
wire lmk_a_cs_n;
|
wire lmk_a_cs_n;
|
||||||
@@ -3377,10 +3387,10 @@ module n3xx (
|
|||||||
|
|
||||||
// Split out the SCLK and MOSI data to Mykonos and the CPLD.
|
// Split out the SCLK and MOSI data to Mykonos and the CPLD.
|
||||||
assign DBA_CPLD_PS_SPI_SCLK = spi0_sclk;
|
assign DBA_CPLD_PS_SPI_SCLK = spi0_sclk;
|
||||||
assign DBA_CPLD_PS_SPI_SDI = spi0_mosi;
|
assign DBA_CPLD_PS_SPI_SDI = spi0_mosi_buf;
|
||||||
|
|
||||||
assign DBA_MYK_SPI_SCLK = spi0_sclk;
|
assign DBA_MYK_SPI_SCLK = spi0_sclk;
|
||||||
assign DBA_MYK_SPI_SDIO = spi0_mosi;
|
assign DBA_MYK_SPI_SDIO = spi0_mosi_buf;
|
||||||
// Assign individual chip selects from PS SPI MASTER 0.
|
// Assign individual chip selects from PS SPI MASTER 0.
|
||||||
assign cpld_a_cs_n = spi0_ss0;
|
assign cpld_a_cs_n = spi0_ss0;
|
||||||
assign lmk_a_cs_n = spi0_ss1;
|
assign lmk_a_cs_n = spi0_ss1;
|
||||||
|
|||||||
Reference in New Issue
Block a user