From c1cdca61b56eb913586c58282683277e333007fd Mon Sep 17 00:00:00 2001 From: tangxifan Date: Fri, 11 Dec 2020 10:59:28 -0700 Subject: [PATCH] [HDL] Critical Patch on the digital I/O cell which now outputs 'Z' when input mode is selected --- HDL/common/digital_io_hd.v | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/HDL/common/digital_io_hd.v b/HDL/common/digital_io_hd.v index b88390b..2035066 100644 --- a/HDL/common/digital_io_hd.v +++ b/HDL/common/digital_io_hd.v @@ -32,25 +32,30 @@ module EMBEDDED_IO_HD ( ); wire SOC_DIR_N; + wire SOC_DIR_WIRE; // Use drive-strength 4 for a high fan-out from SoC components - sky130_fd_sc_hd__or2b_4 ISOL_EN_GATE (.B_N(IO_ISOL_N), + sky130_fd_sc_hd__or2b_1 ISOL_EN_GATE (.B_N(IO_ISOL_N), .A(FPGA_DIR), - .X(SOC_DIR) + .X(SOC_DIR_WIRE) ); + sky130_fd_sc_hd__ebufn_4 DIR_PROTECT_GATE (.TE_B(SOC_DIR), + .A(SOC_DIR), + .Z(SOC_DIR) + ); // Use drive-strength 4 for a high fan-out from global routing architecture - sky130_fd_sc_hd__inv_1 INV_SOC_DIR (.A(SOC_DIR), .Y(SOC_DIR_N)); + sky130_fd_sc_hd__inv_1 INV_SOC_DIR (.A(SOC_DIR_WIRE), .Y(SOC_DIR_N)); sky130_fd_sc_hd__ebufn_4 IN_PROTECT_GATE (.TE_B(SOC_DIR_N), .A(SOC_IN), .Z(FPGA_IN) - ); + ); // Use drive-strength 4 for a potential high fan-out from SoC components - sky130_fd_sc_hd__ebufn_4 OUT_PROTECT_GATE (.TE_B(SOC_DIR), + sky130_fd_sc_hd__ebufn_4 OUT_PROTECT_GATE (.TE_B(SOC_DIR_WIRE), .A(FPGA_OUT), .Z(SOC_OUT) - ); + ); endmodule