/* Generated by Yosys 0.9+3621 (git sha1 84e9fa7, gcc 8.3.1 -fPIC -Os) */

module mgmt_protect_hv(mprj2_vdd_logic1, mprj_vdd_logic1, vccd, vssd, vdda1, vssa1, vdda2, vssa2);
  output mprj2_vdd_logic1;
  wire mprj2_vdd_logic1_h;
  output mprj_vdd_logic1;
  wire mprj_vdd_logic1_h;
  input vccd;
  input vdda1;
  input vdda2;
  input vssa2;
  input vssa1;
  input vssd;
  sky130_fd_sc_hvl__decap_8 FILLER_0_0 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_104 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_112 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_120 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_128 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_136 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_144 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_152 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_16 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_160 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_168 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_176 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_184 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_192 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_200 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_208 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_216 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_224 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_232 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_24 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_240 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_248 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_256 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_264 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_272 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_280 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_288 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_4 FILLER_0_296 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__fill_2 FILLER_0_300 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_32 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_40 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_48 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_56 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_64 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_72 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_8 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_80 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_88 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_0_96 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_0 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_117 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_125 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_133 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_141 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_149 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_157 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_16 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__fill_2 FILLER_1_165 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_189 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_197 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_205 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_213 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_221 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_229 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_237 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_24 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_245 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_253 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_261 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_269 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_277 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_285 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_293 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__fill_1 FILLER_1_301 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_32 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_40 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_48 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_56 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_64 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_72 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_8 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_1_80 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_4 FILLER_1_88 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__fill_2 FILLER_1_92 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__fill_1 FILLER_1_94 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_0 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_117 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_125 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_133 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_141 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_149 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_157 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_16 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_4 FILLER_2_165 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__fill_2 FILLER_2_169 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__fill_1 FILLER_2_171 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_189 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_197 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_205 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_213 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_221 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_229 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_237 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_24 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_245 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_253 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_261 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_269 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_277 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_285 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_293 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__fill_1 FILLER_2_301 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_32 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_40 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_48 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_56 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_64 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_72 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_8 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_80 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_8 FILLER_2_88 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__decap_4 FILLER_2_96 (
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vccd),
    .VPWR(vccd)
  );
  sky130_fd_sc_hvl__conb_1 mprj2_logic_high_hvl (
    .HI(mprj2_vdd_logic1_h),
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vdda2),
    .VPWR(vdda2)
  );
  sky130_fd_sc_hvl__lsbufhv2lv_1 mprj2_logic_high_lv (
    .A(mprj2_vdd_logic1_h),
    .LVPWR(vccd),
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vdda2),
    .VPWR(vdda2),
    .X(mprj2_vdd_logic1)
  );
  sky130_fd_sc_hvl__conb_1 mprj_logic_high_hvl (
    .HI(mprj_vdd_logic1_h),
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vdda1),
    .VPWR(vdda1)
  );
  sky130_fd_sc_hvl__lsbufhv2lv_1 mprj_logic_high_lv (
    .A(mprj_vdd_logic1_h),
    .LVPWR(vccd),
    .VGND(vssd),
    .VNB(vssd),
    .VPB(vdda1),
    .VPWR(vdda1),
    .X(mprj_vdd_logic1)
  );
  assign vssd = vssa2;
  assign vssa1 = vssa2;
endmodule
