diff --git a/ARCH/openfpga_arch_template/k4_frac_N8_register_scan_chain_skywater130nm_fdhd_cc_openfpga.xml b/ARCH/openfpga_arch_template/k4_frac_N8_register_scan_chain_skywater130nm_fdhd_cc_openfpga.xml index ae31d83..e4b1313 100644 --- a/ARCH/openfpga_arch_template/k4_frac_N8_register_scan_chain_skywater130nm_fdhd_cc_openfpga.xml +++ b/ARCH/openfpga_arch_template/k4_frac_N8_register_scan_chain_skywater130nm_fdhd_cc_openfpga.xml @@ -31,7 +31,7 @@ - + @@ -43,7 +43,7 @@ 10e-12 - + @@ -55,7 +55,7 @@ 10e-12 - + @@ -67,7 +67,7 @@ 10e-12 - + @@ -79,7 +79,7 @@ 10e-12 - + @@ -101,7 +101,7 @@ If your standard cell provider does not offer the exact truth table, you can simply swap the inputs as shown in the example below --> - + @@ -148,7 +148,7 @@ - + @@ -174,7 +174,7 @@ - + diff --git a/ARCH/vpr_arch/k4_frac_N8_tileable_register_scan_chain_nonLR_skywater130nm.xml b/ARCH/vpr_arch/k4_frac_N8_tileable_register_scan_chain_nonLR_skywater130nm.xml index 5d865fd..1d28d35 100644 --- a/ARCH/vpr_arch/k4_frac_N8_tileable_register_scan_chain_nonLR_skywater130nm.xml +++ b/ARCH/vpr_arch/k4_frac_N8_tileable_register_scan_chain_nonLR_skywater130nm.xml @@ -78,14 +78,22 @@ - - - - - - - - + + + + + + + + + + + + + + + + @@ -102,8 +110,8 @@ clb.clk clb.regin clb.scin - clb.O[7:0] clb.I0 clb.I1 clb.I2 clb.I3 - clb.regout clb.scout clb.O[15:8] clb.I4 clb.I5 clb.I6 clb.I7 + clb.O[7:0] clb.I0 clb.I0i clb.I1 clb.I1i clb.I2 clb.I2i clb.I3 clb.I3i + clb.regout clb.scout clb.O[15:8] clb.I4 clb.I4i clb.I5 clb.I5i clb.I6 clb.I6i clb.I7 clb.I7i @@ -276,24 +284,28 @@ - + - - - - - - - - + + + + + + + + + + + + + + + + @@ -534,30 +546,56 @@ - - + + + - + + - + + - + + - + + - + + - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PDK/sc_verilog/std_cell_extract.v b/PDK/sc_verilog/std_cell_extract.v new file mode 100644 index 0000000..be56f7f --- /dev/null +++ b/PDK/sc_verilog/std_cell_extract.v @@ -0,0 +1,29 @@ +`timescale 1ns/1ps + +// +// +// +// +// +// + +// +// +// + +module GPIO (A, IE, OE, Y, in, out, mem_out); + output A; + output IE; + output OE; + output Y; + input in; + output out; + input mem_out; + + assign A = in; + assign out = Y; + assign IE = mem_out; + sky130_fd_sc_hd__inv_1 ie_oe_inv ( + .A (mem_out), + .Y (OE) ); +endmodule