blob: 9c8cabe7248af9c3750e8e1808853e1da7d9e125 [file] [log] [blame]
Tim Edwardsbc035512020-11-23 11:16:08 -05001`default_nettype none
2/*----------------------------------------------------------------------*/
3/* mgmt_protect_hv: */
4/* */
5/* High voltage (3.3V) part of the mgmt_protect module. Split out into */
6/* a separate module and file so that the synthesis tools can handle it */
7/* separately from the rest, since it uses a different standard cell */
8/* library. See the file mgmt_protect.v for a full description of the */
9/* whole management protection method. */
10/*----------------------------------------------------------------------*/
11
12module mgmt_protect_hv (
13 inout vccd,
14 inout vssd,
15 inout vdda1,
16 inout vssa1,
17 inout vdda2,
18 inout vssa2,
19
20 output mprj_vdd_logic1,
21 output mprj2_vdd_logic1
22
23);
24
25 wire mprj_vdd_logic1_h;
26 wire mprj2_vdd_logic1_h;
27
28 // Logic high in the VDDA (3.3V) domains
29
30 sky130_fd_sc_hvl__conb_1 mprj_logic_high_hvl (
31`ifdef USE_POWER_PINS
32 .VPWR(vdda1),
33 .VGND(vssa1),
34 .VPB(vdda1),
35 .VNB(vssa1),
36`endif
37 .HI(mprj_vdd_logic1_h),
38 .LO()
39 );
40
41 sky130_fd_sc_hvl__conb_1 mprj2_logic_high_hvl (
42`ifdef USE_POWER_PINS
43 .VPWR(vdda2),
44 .VGND(vssa2),
45 .VPB(vdda2),
46 .VNB(vssa2),
47`endif
48 .HI(mprj2_vdd_logic1_h),
49 .LO()
50 );
51
52 // Level shift the logic high signals into the 1.8V domain
53
54 sky130_fd_sc_hvl__lsbufhv2lv_1 mprj_logic_high_lv (
55`ifdef USE_POWER_PINS
56 .VPWR(vdda1),
57 .VGND(vssd),
58 .LVPWR(vccd),
59 .VPB(vdda1),
60 .VNB(vssd),
61`endif
62 .X(mprj_vdd_logic1),
63 .A(mprj_vdd_logic1_h)
64 );
65
66 sky130_fd_sc_hvl__lsbufhv2lv_1 mprj2_logic_high_lv (
67`ifdef USE_POWER_PINS
68 .VPWR(vdda2),
69 .VGND(vssd),
70 .LVPWR(vccd),
71 .VPB(vdda2),
72 .VNB(vssd),
73`endif
74 .X(mprj2_vdd_logic1),
75 .A(mprj2_vdd_logic1_h)
76 );
77
78endmodule
79`default_nettype wire