| /* |
| ############################################################### |
| # Generated by: Cadence Innovus 20.10-p004_1 |
| # OS: Linux x86_64(Host ID merl-HP-Z840) |
| # Generated on: Fri Jun 3 13:52:32 2022 |
| # Design: azadi_soc_top_caravel |
| # Command: write_netlist azadi_soc_top_caravel.v -include_pg_ports -exclude_leaf_cells -top_module_first |
| ############################################################### |
| */ |
| module azadi_soc_top_caravel ( |
| wb_clk_i, |
| wb_rst_i, |
| wbs_stb_i, |
| wbs_cyc_i, |
| wbs_we_i, |
| wbs_sel_i, |
| wbs_dat_i, |
| wbs_adr_i, |
| wbs_ack_o, |
| wbs_dat_o, |
| la_data_in, |
| la_data_out, |
| la_oenb, |
| io_in, |
| io_out, |
| io_oeb, |
| analog_io, |
| user_clock2, |
| user_irq, |
| vccd1, |
| vssd1); |
| input wb_clk_i; |
| input wb_rst_i; |
| input wbs_stb_i; |
| input wbs_cyc_i; |
| input wbs_we_i; |
| input [3:0] wbs_sel_i; |
| input [31:0] wbs_dat_i; |
| input [31:0] wbs_adr_i; |
| output wbs_ack_o; |
| output [31:0] wbs_dat_o; |
| input [127:0] la_data_in; |
| output [127:0] la_data_out; |
| input [127:0] la_oenb; |
| input [37:0] io_in; |
| output [37:0] io_out; |
| output [37:0] io_oeb; |
| inout [28:0] analog_io; |
| input user_clock2; |
| output [2:0] user_irq; |
| inout vccd1; |
| inout vssd1; |
| |
| // Internal wires |
| wire FE_RN_123; |
| wire FE_OFN0_io_oeb_0; |
| wire [13:0] gpio_oe; |
| wire [3:0] qsd_oe; |
| wire n_0; |
| wire pwm1_oe; |
| wire pwm2_oe; |
| wire sd_oe; |
| |
| assign io_oeb[0] = FE_RN_123 ; |
| assign io_oeb[2] = io_oeb[13] ; |
| assign io_oeb[3] = FE_RN_123 ; |
| assign io_oeb[4] = FE_RN_123 ; |
| assign io_oeb[5] = io_oeb[13] ; |
| assign io_oeb[6] = FE_RN_123 ; |
| assign io_oeb[7] = io_oeb[13] ; |
| assign io_oeb[10] = io_oeb[13] ; |
| assign io_oeb[11] = io_oeb[13] ; |
| assign io_oeb[12] = io_oeb[13] ; |
| assign io_oeb[37] = FE_RN_123 ; |
| assign io_out[2] = FE_RN_123 ; |
| assign io_out[5] = FE_RN_123 ; |
| assign io_out[7] = FE_RN_123 ; |
| assign io_out[10] = FE_RN_123 ; |
| assign io_out[11] = FE_RN_123 ; |
| assign io_out[12] = FE_RN_123 ; |
| assign io_out[13] = FE_RN_123 ; |
| assign la_data_out[0] = FE_RN_123 ; |
| assign la_data_out[1] = FE_RN_123 ; |
| assign la_data_out[2] = FE_RN_123 ; |
| assign la_data_out[3] = FE_RN_123 ; |
| assign la_data_out[4] = FE_RN_123 ; |
| assign la_data_out[5] = FE_RN_123 ; |
| assign la_data_out[6] = FE_RN_123 ; |
| assign la_data_out[7] = FE_RN_123 ; |
| assign la_data_out[8] = FE_RN_123 ; |
| assign la_data_out[9] = FE_RN_123 ; |
| assign la_data_out[10] = FE_RN_123 ; |
| assign la_data_out[11] = FE_RN_123 ; |
| assign la_data_out[12] = FE_RN_123 ; |
| assign la_data_out[13] = FE_RN_123 ; |
| assign la_data_out[14] = FE_RN_123 ; |
| assign la_data_out[16] = la_data_out[15] ; |
| assign la_data_out[17] = la_data_out[15] ; |
| assign la_data_out[18] = la_data_out[15] ; |
| assign la_data_out[19] = la_data_out[15] ; |
| assign la_data_out[20] = la_data_out[15] ; |
| assign la_data_out[21] = la_data_out[15] ; |
| assign la_data_out[22] = la_data_out[15] ; |
| assign la_data_out[23] = la_data_out[15] ; |
| assign la_data_out[24] = la_data_out[15] ; |
| assign la_data_out[25] = la_data_out[15] ; |
| assign la_data_out[26] = la_data_out[15] ; |
| assign la_data_out[27] = la_data_out[15] ; |
| assign la_data_out[28] = la_data_out[15] ; |
| assign la_data_out[29] = la_data_out[15] ; |
| assign la_data_out[30] = la_data_out[15] ; |
| assign la_data_out[31] = la_data_out[15] ; |
| assign la_data_out[32] = la_data_out[15] ; |
| assign la_data_out[33] = la_data_out[15] ; |
| assign la_data_out[34] = la_data_out[15] ; |
| assign la_data_out[35] = la_data_out[15] ; |
| assign la_data_out[36] = la_data_out[15] ; |
| assign la_data_out[37] = la_data_out[15] ; |
| assign la_data_out[38] = la_data_out[15] ; |
| assign la_data_out[39] = la_data_out[15] ; |
| assign la_data_out[40] = la_data_out[15] ; |
| assign la_data_out[41] = la_data_out[15] ; |
| assign la_data_out[42] = la_data_out[15] ; |
| assign la_data_out[43] = la_data_out[15] ; |
| assign la_data_out[44] = la_data_out[15] ; |
| assign la_data_out[45] = la_data_out[15] ; |
| assign la_data_out[46] = la_data_out[15] ; |
| assign la_data_out[47] = la_data_out[15] ; |
| assign la_data_out[48] = la_data_out[15] ; |
| assign la_data_out[49] = la_data_out[15] ; |
| assign la_data_out[50] = la_data_out[15] ; |
| assign la_data_out[51] = la_data_out[15] ; |
| assign la_data_out[52] = la_data_out[15] ; |
| assign la_data_out[53] = la_data_out[15] ; |
| assign la_data_out[54] = la_data_out[15] ; |
| assign la_data_out[55] = la_data_out[15] ; |
| assign la_data_out[56] = la_data_out[15] ; |
| assign la_data_out[57] = la_data_out[15] ; |
| assign la_data_out[58] = la_data_out[15] ; |
| assign la_data_out[59] = la_data_out[15] ; |
| assign la_data_out[60] = la_data_out[15] ; |
| assign la_data_out[61] = la_data_out[15] ; |
| assign la_data_out[62] = la_data_out[15] ; |
| assign la_data_out[63] = la_data_out[15] ; |
| assign la_data_out[64] = la_data_out[15] ; |
| assign la_data_out[65] = la_data_out[15] ; |
| assign la_data_out[66] = la_data_out[15] ; |
| assign la_data_out[67] = la_data_out[15] ; |
| assign la_data_out[68] = la_data_out[15] ; |
| assign la_data_out[69] = la_data_out[15] ; |
| assign la_data_out[70] = la_data_out[15] ; |
| assign la_data_out[71] = la_data_out[15] ; |
| assign la_data_out[72] = la_data_out[15] ; |
| assign la_data_out[73] = la_data_out[15] ; |
| assign la_data_out[74] = la_data_out[15] ; |
| assign la_data_out[75] = la_data_out[15] ; |
| assign la_data_out[76] = la_data_out[15] ; |
| assign la_data_out[77] = la_data_out[15] ; |
| assign la_data_out[78] = la_data_out[15] ; |
| assign la_data_out[79] = la_data_out[15] ; |
| assign la_data_out[80] = la_data_out[15] ; |
| assign la_data_out[81] = la_data_out[15] ; |
| assign la_data_out[82] = la_data_out[15] ; |
| assign la_data_out[83] = la_data_out[15] ; |
| assign la_data_out[84] = la_data_out[15] ; |
| assign la_data_out[85] = la_data_out[15] ; |
| assign la_data_out[86] = la_data_out[15] ; |
| assign la_data_out[87] = la_data_out[15] ; |
| assign la_data_out[88] = la_data_out[15] ; |
| assign io_oeb[14] = io_oeb[15] ; |
| assign io_out[37] = io_oeb[15] ; |
| assign io_oeb[32] = io_oeb[15] ; |
| assign io_oeb[31] = io_oeb[15] ; |
| assign io_oeb[30] = io_oeb[15] ; |
| assign la_data_out[90] = la_data_out[89] ; |
| assign la_data_out[91] = la_data_out[89] ; |
| assign la_data_out[92] = la_data_out[89] ; |
| assign la_data_out[93] = la_data_out[89] ; |
| assign la_data_out[94] = la_data_out[89] ; |
| assign la_data_out[95] = la_data_out[89] ; |
| assign la_data_out[96] = la_data_out[89] ; |
| assign la_data_out[97] = la_data_out[89] ; |
| assign la_data_out[98] = la_data_out[89] ; |
| assign la_data_out[99] = la_data_out[89] ; |
| assign la_data_out[100] = la_data_out[89] ; |
| assign la_data_out[101] = la_data_out[89] ; |
| assign la_data_out[102] = la_data_out[89] ; |
| assign la_data_out[103] = la_data_out[89] ; |
| assign la_data_out[104] = la_data_out[89] ; |
| assign la_data_out[105] = la_data_out[89] ; |
| assign la_data_out[106] = la_data_out[89] ; |
| assign la_data_out[107] = la_data_out[89] ; |
| assign la_data_out[108] = la_data_out[89] ; |
| assign la_data_out[109] = la_data_out[89] ; |
| assign la_data_out[110] = la_data_out[89] ; |
| assign la_data_out[111] = la_data_out[89] ; |
| assign la_data_out[112] = la_data_out[89] ; |
| assign la_data_out[113] = la_data_out[89] ; |
| assign la_data_out[114] = la_data_out[89] ; |
| assign la_data_out[115] = la_data_out[89] ; |
| assign la_data_out[116] = la_data_out[89] ; |
| assign la_data_out[117] = la_data_out[89] ; |
| assign la_data_out[118] = la_data_out[89] ; |
| assign la_data_out[119] = la_data_out[89] ; |
| assign la_data_out[120] = la_data_out[89] ; |
| assign la_data_out[121] = la_data_out[89] ; |
| assign la_data_out[122] = la_data_out[89] ; |
| assign la_data_out[123] = la_data_out[89] ; |
| assign la_data_out[124] = la_data_out[89] ; |
| assign la_data_out[125] = la_data_out[89] ; |
| assign la_data_out[126] = la_data_out[89] ; |
| assign la_data_out[127] = la_data_out[89] ; |
| assign user_irq[0] = la_data_out[89] ; |
| assign user_irq[1] = la_data_out[89] ; |
| assign user_irq[2] = la_data_out[89] ; |
| assign wbs_ack_o = la_data_out[89] ; |
| assign wbs_dat_o[0] = la_data_out[89] ; |
| assign wbs_dat_o[1] = la_data_out[89] ; |
| assign wbs_dat_o[2] = la_data_out[89] ; |
| assign wbs_dat_o[3] = la_data_out[89] ; |
| assign wbs_dat_o[4] = la_data_out[89] ; |
| assign wbs_dat_o[5] = la_data_out[89] ; |
| assign wbs_dat_o[6] = la_data_out[89] ; |
| assign wbs_dat_o[7] = la_data_out[89] ; |
| assign wbs_dat_o[8] = la_data_out[89] ; |
| assign wbs_dat_o[9] = la_data_out[89] ; |
| assign wbs_dat_o[10] = la_data_out[89] ; |
| assign wbs_dat_o[11] = la_data_out[89] ; |
| assign wbs_dat_o[12] = la_data_out[89] ; |
| assign wbs_dat_o[13] = la_data_out[89] ; |
| assign wbs_dat_o[14] = la_data_out[89] ; |
| assign wbs_dat_o[15] = la_data_out[89] ; |
| assign wbs_dat_o[16] = la_data_out[89] ; |
| assign wbs_dat_o[17] = la_data_out[89] ; |
| assign wbs_dat_o[18] = la_data_out[89] ; |
| assign wbs_dat_o[19] = la_data_out[89] ; |
| assign wbs_dat_o[20] = la_data_out[89] ; |
| assign wbs_dat_o[21] = la_data_out[89] ; |
| assign wbs_dat_o[22] = la_data_out[89] ; |
| assign wbs_dat_o[23] = la_data_out[89] ; |
| assign wbs_dat_o[24] = la_data_out[89] ; |
| assign wbs_dat_o[25] = la_data_out[89] ; |
| assign wbs_dat_o[26] = la_data_out[89] ; |
| assign wbs_dat_o[27] = la_data_out[89] ; |
| assign wbs_dat_o[28] = la_data_out[89] ; |
| assign wbs_dat_o[29] = la_data_out[89] ; |
| assign wbs_dat_o[30] = la_data_out[89] ; |
| assign wbs_dat_o[31] = la_data_out[89] ; |
| |
| // Module instantiations |
| sky130_fd_sc_hd__diode_2 DIODE_4 ( |
| .DIODE(io_oeb[0]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__diode_2 DIODE_3 ( |
| .DIODE(qsd_oe[3]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__diode_2 DIODE_2 ( |
| .DIODE(pwm1_oe), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__diode_2 DIODE_1 ( |
| .DIODE(gpio_oe[11]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__clkbuf_4 FE_OFC3_io_oeb_0 ( |
| .A(la_data_out[15]), |
| .X(la_data_out[89]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_6 FE_OFC2_io_oeb_0 ( |
| .A(FE_OFN0_io_oeb_0), |
| .Y(io_oeb[15]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__clkbuf_1 FE_OFC1_io_oeb_0 ( |
| .A(io_oeb[0]), |
| .X(la_data_out[15]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_2 FE_OFC0_io_oeb_0 ( |
| .A(io_oeb[0]), |
| .Y(FE_OFN0_io_oeb_0), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| azadi_soc_top soc_top ( |
| .uart_tx(io_out[6]), |
| .uart_rx(io_in[5]), |
| .ss_o({ io_out[4], |
| io_out[3] }), |
| .sd_oe(sd_oe), |
| .sd_o(io_out[1]), |
| .sd_i(io_in[2]), |
| .sclk_o(io_out[0]), |
| .rst_ni(n_0), |
| .qsd_oe(qsd_oe), |
| .qsd_o({ io_out[36], |
| io_out[35], |
| io_out[34], |
| io_out[33] }), |
| .qsd_i({ io_in[36], |
| io_in[35], |
| io_in[34], |
| io_in[33] }), |
| .qsclk_o(io_out[32]), |
| .qcs_o(io_out[31]), |
| .pwm_o_2(io_out[9]), |
| .pwm_o(io_out[8]), |
| .pwm2_oe(pwm2_oe), |
| .pwm1_oe(pwm1_oe), |
| .prog(io_in[7]), |
| .gpio_oe({ FE_UNCONNECTEDZ_0, |
| FE_UNCONNECTEDZ_1, |
| FE_UNCONNECTEDZ_2, |
| FE_UNCONNECTEDZ_3, |
| FE_UNCONNECTEDZ_4, |
| FE_UNCONNECTEDZ_5, |
| gpio_oe }), |
| .gpio_o({ FE_UNCONNECTEDZ_6, |
| FE_UNCONNECTEDZ_7, |
| FE_UNCONNECTEDZ_8, |
| FE_UNCONNECTEDZ_9, |
| FE_UNCONNECTEDZ_10, |
| FE_UNCONNECTEDZ_11, |
| io_out[29], |
| io_out[28], |
| io_out[27], |
| io_out[26], |
| io_out[25], |
| io_out[24], |
| io_out[23], |
| io_out[22], |
| io_out[21], |
| io_out[20], |
| io_out[19], |
| io_out[18], |
| io_out[17], |
| io_out[16] }), |
| .gpio_i({ FE_UNCONNECTEDZ_12, |
| FE_UNCONNECTEDZ_13, |
| FE_UNCONNECTEDZ_14, |
| FE_UNCONNECTEDZ_15, |
| FE_UNCONNECTEDZ_16, |
| FE_UNCONNECTEDZ_17, |
| io_in[29], |
| io_in[28], |
| io_in[27], |
| io_in[26], |
| io_in[25], |
| io_in[24], |
| io_in[23], |
| io_in[22], |
| io_in[21], |
| io_in[20], |
| io_in[19], |
| io_in[18], |
| io_in[17], |
| io_in[16] }), |
| .clks_per_bit({ la_data_in[15], |
| la_data_in[14], |
| la_data_in[13], |
| la_data_in[12], |
| la_data_in[11], |
| la_data_in[10], |
| la_data_in[9], |
| la_data_in[8], |
| la_data_in[7], |
| la_data_in[6], |
| la_data_in[5], |
| la_data_in[4], |
| la_data_in[3], |
| la_data_in[2], |
| la_data_in[1], |
| la_data_in[0] }), |
| .clk_i(wb_clk_i), |
| .boot_led(io_out[30]), |
| .TM(io_in[11]), |
| .SO1(io_out[15]), |
| .SO0(io_out[14]), |
| .SI1(io_in[13]), |
| .SI0(io_in[12]), |
| .SE(io_in[10]), |
| .vssd1(vssd1), |
| .vccd1(vccd1)); |
| sky130_fd_sc_hd__inv_1 g232 ( |
| .A(gpio_oe[10]), |
| .Y(io_oeb[26]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g233 ( |
| .A(gpio_oe[11]), |
| .Y(io_oeb[27]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g234 ( |
| .A(gpio_oe[12]), |
| .Y(io_oeb[28]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g235 ( |
| .A(gpio_oe[13]), |
| .Y(io_oeb[29]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g236 ( |
| .A(qsd_oe[0]), |
| .Y(io_oeb[33]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g237 ( |
| .A(qsd_oe[1]), |
| .Y(io_oeb[34]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g238 ( |
| .A(qsd_oe[2]), |
| .Y(io_oeb[35]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g239 ( |
| .A(qsd_oe[3]), |
| .Y(io_oeb[36]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g240 ( |
| .A(gpio_oe[0]), |
| .Y(io_oeb[16]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g241 ( |
| .A(gpio_oe[3]), |
| .Y(io_oeb[19]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g242 ( |
| .A(pwm2_oe), |
| .Y(io_oeb[9]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g243 ( |
| .A(sd_oe), |
| .Y(io_oeb[1]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g244 ( |
| .A(pwm1_oe), |
| .Y(io_oeb[8]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g245 ( |
| .A(gpio_oe[1]), |
| .Y(io_oeb[17]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g246 ( |
| .A(gpio_oe[2]), |
| .Y(io_oeb[18]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g247 ( |
| .A(gpio_oe[4]), |
| .Y(io_oeb[20]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g248 ( |
| .A(gpio_oe[5]), |
| .Y(io_oeb[21]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g249 ( |
| .A(gpio_oe[6]), |
| .Y(io_oeb[22]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_2 g250 ( |
| .A(gpio_oe[7]), |
| .Y(io_oeb[23]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_2 g251 ( |
| .A(gpio_oe[8]), |
| .Y(io_oeb[24]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_1 g252 ( |
| .A(gpio_oe[9]), |
| .Y(io_oeb[25]), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__inv_4 g253 ( |
| .A(wb_rst_i), |
| .Y(n_0), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| sky130_fd_sc_hd__conb_1 tie_0_cell ( |
| .HI(io_oeb[13]), |
| .LO(FE_RN_123), |
| .VPWR(vccd1), |
| .VPB(vccd1), |
| .VNB(vssd1), |
| .VGND(vssd1)); |
| endmodule |
| |