• 沒有找到結果。

5. C ONCLUSION AND F UTURE W ORK

5.2 F UTURE W ORK

For further efficiency improvement, we can investigate the power losses in the SMPS. The switching loss is one of the major losses in the SMPS. We can segment the power MOSFETs into parts for reducing gate drive loss [81]. We can also adjust the gate drive voltage dynamically according to the load condition [82]. These techniques can further improve conversion efficiency in light load operation at a price of increasing cost and circuit complexity.

Another interesting topic is about improving transient response. Although the proposed current-mode converter shows good transient response compared with others, it can not meet the specifications for supplying the high speed CPUs in personal computers. There are several ways to achieve faster transient response. An interesting one is nonlinear control [22], [83]. We may find other ways to control the SMPS to achieve faster response. Another straightforward method is higher switching frequency [21], [84]. This is much depending on the manufacturing process of the semiconductor power switches. Multi-phase design can also help improving transient response, but the cost is increased proportional to the number of phases they provide [21]-[22], [85]. Other purposed techniques also have their own disadvantages [86]-[90]. Except these developing techniques, we may try to find another way to achieve our goal in the future.

in frequency spectrum that is high. Adding some random jitter may reduce the height of this tone, but the spectrum may spread into a wider range. Which one of them generates less interference to other circuits can be investigated in the future. If the spread spectrum is the answer, how to inject a random jitter but not affect the stability of the converter is another interesting topic.

R

EFERENCES

[1] A. M. Trzynadlowski, Introduction to Modern Power Electronics, New York:

John Wiley & Sons, 1998.

[2] R. S. Ramshaw, Power Electronics Semiconductor Switches, London: Chapman

& Hall, 1993.

[3] O. Ferenczi, Power Supplies Part B: Switched-Mode Power Supplies, New York:

Elsevier, 1987.

[4] H. W. Whittington, B.W. Flynn, and D. E. Macpherson, Switched Mode Power Supplies. Taunton, Somerset, England: Research Studies Press Ltd., 1997.

[5] T. D. Towers, Practical Solid-State DC Power Supplies, G/L Tab books, 1977.

[6] G. Chryssis, High-Frequency Switching Power Supplies: Theory and Design, New York: McGraw-Hill, 1989.

[7] R. E. Tarter, Solid-State Power Conversion Handbook, New York: John Wiley &

Sons, 1993.

[8] M. H. Rashid, Power Electronics: Circuits, Devices, and Applications, New Jersey: Prentice-Hall, 1993.

[9] R. W. Erickson, and D. Maksimovic, Fundamentals of Power Electronics.

Norwell, MA: Kluwer Academic Publishers, 2001.

[10] A. I. Pressman, Switching Power Supply Design. New York: McGraw-Hill, 1998.

[11] K. K. Sum, Switch Mode Power Conversion – Basic Theory and Design. New

[12] M. Brown, Power Supply Cookbook. Newton, MA: Butterworth-Heinemann, 1994.

[13] C. Basso, Switch-Mode Power Supply SPICE Cookbook. New York:

McGraw-Hill, 2001.

[14] L. Geng, Z. Chen, and J. Liu, “Design of a hybrid monolithic integrated switched capacitor DC-DC step-up converter,” in Proc. 3rd Int. IEEE Power Electronics and Motion Control Conf. (IPEMC), vol. 1, Beijing, China, Aug. 15-18, 2000, pp.

263-266.

[15] V. Mehrotra, J. Sun, and S. Chandrasekaran, “Ultra compact DC-DC converters for the digital age,” in Proc. 28th IEEE Industrial Electronics Society Annual Conf. (IECON), vol. 4, Sevilla, Spain, Nov. 5-8, 2002, pp. 3232-3237.

[16] H. Wetzel, N. Frohleke, F. Meier, and P. Ide, “Comparison of low voltage topologies for voltage regulator modules,” in Proc. 37th IEEE Industry Applications Conf. (IAS), vol. 2, Pittsburgh, USA, Oct. 13-18, 2002, pp.

1323-1329.

[17] V. Kursun, S. G. Narendra, V. K. De, and E. G. Friedman, “Analysis of buck converters for on-chip integration with a dual supply voltage microprocessor,” in IEEE Tran. VLSI Syst., vol. 11, pp. 514-522, June 2003.

[18] V. Kursun, S. G. Narendram, V. K. De, and E. G. Friedman,

“Low-voltage-swing monolithic dc-dc conversion,” in IEEE Trans. Circuits Syst.

II, vol. 51, pp. 241-248, May 2004.

[19] G. Patounakis, Y. W. Li, and K. L. Shepard, “A fully integrated on-chip DC-DC conversion and power management system,” in IEEE J. Solid-State Circuits, vol.

39, pp. 443-451, Mar. 2004.

[20] A. P. Dancy, R. Amirtharajah, and A. P. Chandrakasan, “High-efficiency multiple-output DC-DC conversion for low-voltage systems,” in IEEE Trans.

VLSI Syst., vol. 8, pp. 252-263, June 2000.

[21] P. Hazucha, G. Schrom, J. Hahn, B. A. Bloechel, P. Hack, G. E. Dermer, S.

Narendra, D. Gardner, T. karnik, V. De, and S. Borkar, “ A 233-MHz 80%-87%

efficient four-phase DC-DC converter utilizing air-core inductors on package,”

in IEEE J. Solid-State Circuits, vol. 40, pp. 838-845, Apr. 2005.

[22] A. Barrado, A. Lazaro, R. Vazquez, V. Salas, and E. Olias, “The fast response double buck DC-DC converter (FRDB): operation and output filter influence,” in IEEE Trans. Power Electron., vol. 20, pp. 1261-1270, Nov. 2005.

[23] H.-W. Huang, H.-H. Ho, K.-H. Chen, and S.-Y. Kuo, “Fast Transient DC-DC Converter with On-Chip Compensated Error Amplifier,” in Proc. 32nd IEEE European Solid-State Circuits Conf. (ESSCIRC), Montreux, Switzerland, pp.

324-327, Sep. 19-21, 2006.

[24] B. Arbetter, and D. Maksimovic, “DC-DC converter with fast transient response and high efficiency for low-voltage microprocessor loads,” in Proc. 13th IEEE Applied Power Electronics Conf. (APEC), vol. 1, Anaheim, CA. USA, Feb.

15-19, 1998, pp. 156-162.

[25] Y. Panov, and M. M. Jovanovic, “Design and performance evaluation of low-voltage/high-current DC/DC on-board modules,” in IEEE Trans. Power Electron., vol. 16, pp. 26-33, Jan. 2001.

[26] C. W. Deisch, “Simple switching control method changes power converter into a

current source,” in Proc. 9th IEEE Power Electron. Specialists Conf. (PESC), Syracuse, NY. USA, Jun. 13-15, 1978, pp. 300-306.

[27] S. P. Hsu, A. Brown, L. Rensink, and R. D. Middlebrook, “Modelling and analysis of switching DC-to-DC Converters in constant-frequency current-programmed mode,” in Proc. 10th IEEE Power Electron. Specialists Conf. (PESC), San Diego, CA. USA, Jun. 18-22, 1979, pp. 284-301.

[28] R. D. Middlebrook, “Topics in multiple-loop regulators and current-mode programming,” in Proc. 16th IEEE Power Electron. Specialists Conf. (PESC), Toulouse, France, Jun. 24-28, 1985, pp. 716-732.

[29] R. Redl, and N. O. Sokal, “Current-mode control, five different types, used with the three basic classes of power converters: small-signal AC and large-signal DC characterization, stability requirements, and implementation of practical circuits,” in Proc. 16th IEEE Power Electron. Specialists Conf. (PESC), Toulouse, France, Jun. 24-28, 1985, pp. 771-785.

[30] R. D. Middlebrook, “Modeling current-programmed buck and boost regulators,”

in IEEE Trans. Power Electron., vol. 4, pp. 36-52, Jan. 1989.

[31] R. B. Ridley, “A new continuous-time model for current-mode control,” in IEEE Trans. Power Electron., vol. 6, pp. 271-280, Apr. 1991.

[32] D. J. Perreault, and G. C. Verghese, “Time-varying effects and averaging issues in models for current-mode control,” in IEEE Trans. Power Electron., vol. 12, pp.

453-461, May 1997.

[33] “Modelling, analysis and compensation of the current-mode converter,”

Application Note U-97, Texas Instruments, 1999.

[34] “Practical considerations in current mode power supplies,” Application Note U-111, Texas Instrument, 1999.

[35] L. Dixon, “Average current mode control of switching power supplies,”

Application Note U-140, Texas Instruments, 1999.

[36] R. Mammano, “Switching power supply topology voltage mode vs. current mode,” Application Note DN-62, Texas Instruments, 1994.

[37] R. B. Ridley, “Current mode or voltage mode?” in Switching Power Magazine, vol. 1, pp. 4,5,9, Oct. 2000.

[38] “Introduction to power supplies,” Application Note 556, National Semiconductor Corp., Sep. 2002.

[39] P. T. Krein, Elements of Power Electronics. New York: Oxford University Press, 1998.

[40] “DC-DC converter tutorial,” Application Note AN2031, Maxim Integrated Products, Oct. 2000.

[41] “Synchronous rectification aids low-voltage power supplies,” Application Note AN652, Maxim Integrated Products, Jan. 2001.

[42] K. H. Billings, Switchmode Power Supply Handbook. New York: McGraw-Hill, 1999.

[43] “Building a power supply that works,” Application Note AN1897, Maxim Integrated Products, Feb. 2003.

[44] L. Benini, A. Bogliolo, and G. De Micheli, “A survey of design techniques for system-level dynamic power management,” in IEEE Trans. VLSI Syst., vol. 8, pp.

299-316, Jun. 2000.

[45] H. Deng, X. Duan, N. Sun, Y. Ma, A. Q. Huang, and D. Chen, “Monolithically integrated boost converter based on 0.5-μm CMOS process,” in IEEE Trans.

Power Electron., vol. 20, pp. 628-638, May 2005.

[46] Shi-Ping Hsu, Art Brown, Loman Rensink, and R. D. Middlebrook, “Modelling and analysis of switching DC-to-DC converters in constant-frequency current-programmed mode,” in Proc. 10th IEEE Power Electron. Specialists Conf. (PESC), San Diego, CA. USA, Jun. 18-22, 1979, pp. 284-301.

[47] S. W. Bryson, T. Wong, and B. C. Lombard, “Programmable synchronous step down DC-DC converter controller,” U.S. Patent 5 943 227, Aug. 24, 1999.

[48] C. F. Lee, and P. K. T. Mok, “A monolithic current-mode CMOS DC–DC converter with on-chip current-sensing technique,” in IEEE J. Solid-State Circuits, vol. 39, pp. 3-14, Jan. 2004.

[49] C. Y. Leung, P. K. T. Mok, K. N. Leung, and M. Chan, “An integrated CMOS current-sensing circuit for low-voltage current-mode buck regulator,” in IEEE Trans. Circuits Syst. II, vol. 52, pp. 394-397, Jul. 2005.

[50] J.-J. Chen, Y.-T. Lin, H.-Y. Lin, J.-H. Su, W.-X. Chung, Y.-S. Hwang, and C.-L.

Tseng, “On-chip current sensing techniques for hysteresis current controlled DC-DC converters,” in IEE Electronics, vol. 41, pp. 95-97, Jan. 2005.

[51] C.-H. Chang, and R. C. Chang, “A novel current sensing circuit for a current-mode control CMOS DC-DC buck converter,” in Proc. IEEE int. Symp.

VLSI Design Automation and Test (VLSI-TSA-DAT), Hsinchu, Taiwan, Apr.

27-29, 2005, pp. 120-123.

[52] H. P. Forghani-zadeh, and G. A. Rincon-Mora, “Current-sensing techniques for DC-DC converters,” in Proc. 45th IEEE Midwest Symp. Circuits and Systems (MWSCAS), vol. 2, Tulsa, OK. USA, Aug. 4-7, 2002, pp. 577-580.

[53] S. Chen, and W. T. Ng, “High-efficiency operation of high-frequency DC/DC conversion for next-generation microprocessors,” in Proc. 29th Annual Conf.

IEEE Industrial Electronics Society (IECON), vol. 1, Roanoke, VA. USA, Nov.

2-6, 2003, pp. 30-35.

[54] P. K. T. Mok, “Design of power management IC – voltage reference, low-dropout regulator and switching regulator” presented at Mixed Signal IC Design Workshop, Hsinchu, Taiwan, Jun. 2005.

[55] Y. C. Ryu, and Y. W. Hwang, “A new soft-start method with abnormal over-current protection function for switching power supplies,” in Proc. IEEE Int.

Conf. Electric Machines and Drives (IEMDC), San Antonio, TX. USA, May 15-18, 2005, pp. 421-425.

[56] R. Gregorian, Introduction to CMOS Op-Amps and Comparators. New York:

Wiley, 1999.

[57] J. Rosales. (2005, Dec.) DN365 - ThinSOT switching regulator controls inrush current. Linear Tech. Corp., CA. [Online]. Available:

http://www.linear.com/pc/downloadDocument.do?navId=D7838

[58] C.-S. Shieh, “Soft start techniques for control loops that regulate DC/DC converters,” U.S. Patent 6 933 710, Aug. 23, 2005.

[59] T. Sase, F. Murabayashi, and M. Kikuchi, “Soft start circuit for switching power supply,” U.S. Patent 6 377 480, Apr. 23, 2002.

[60] M. J. Callahan, Jr., “DC-to-DC converter with soft-start error amplifier and associated method,” U.S. Patent 5 917 313, Jun. 29, 1999.

[61] G. J. Smith, “Soft-start voltage regulator circuit,” U.S. Patent 6 969 977, Nov. 29, 2005.

[62] E. M. Solie, “Soft start precharge circuit for DC power supply,” U.S. Patent 6 998 829, Feb. 14, 2006.

[63] T. Sheehan, “Versatile controller simplifies high voltage DC/DC converter designs,” in Linear Technology Magazine, pp. 28-34, Sep. 2005.

[64] R. W. Erickson, and D. Maksimovic, Fundamentals of Power Electronics.

Norwell, MA: Kluwer Academic Publishers, 2001.

[65] B. Linares-Barranco, and T. Serrano-Gotarredona, “On the design and characterization of femtoampere current-mode circuits,” in IEEE J. Solid-State Circuits, vol. 38, pp. 1353-1363, Aug. 2003.

[66] E. M. Camacho-Galeano, C. Galup-Montoro, and M. C. Schneider, “An ultra-low-power self-biased current reference,” in Proc. 17th Symp. Integreted Circuits and Systems Design (SBCCI), Porto de Galinhas, Pernambuco, Brazil, Sep. 7-11, 2004, pp. 147-150.

[67] T. Delbruck, and A. V. Schaik, “Bias current generators with wide dynamic range,” in Proc. IEEE Int. Symp. Circuits and Systems (ISCAS), vol. 1, Vancouver, Canada, May 23-26, 2004, pp. 337-340.

[68] B. A. Minch, “A low-voltage MOS cascode bias circuit for all current levels,” in Proc. IEEE Int. Symp. Circuits and Systems (ISCAS), vol. 3, Phoenix-Scottsdale, AZ. USA, May 26-29, 2002, pp. 619-622.

[69] P. R. Gray, and R. G. Meyer, Analysis and Design of Analog Integrated Circuits.

New York: Wiley, 1993.

[70] Z. Lai, and K. M. Smedley, “A general constant-frequency pulsewidth modulator and its applications,” in IEEE Trans. Circuits Syst. I, vol. 45, pp. 386-396, Apr.

1998.

[71] A. S. Sedra, and K. C. Smith, “A second-generation current conveyor and its applications,” in IEEE Transactions on Circuit Theory, vol.CT-17, pp. 132-134, February 1970.

[72] J. Kim, and M. A. Horowitz, “An efficient digital sliding controller for adaptive power-supply regulation,” in IEEE J. Solid-State Circuits, vol. 37, pp. 639-647, May 2002.

[73] D. Ma, W.-H. Ki, and C.-Y. Tsui, “An integrated one-cycle control buck converter with adaptive output and dual loops for output error correction,” in IEEE J. Solid-State Circuits, vol. 39, pp. 140-149, Jan. 2004.

[74] J. Xiao, A. V. peterchev, J. Zhang, and S. R. Sanders, “A 4-μA quiescent-current dual-mode digitally controlled buck converter IC for cellular phone applications,” in IEEE J. Solid-State Circuits, vol. 39, pp. 2342-2348, Dec. 2004.

[75] M. Y.-K. Chui, W.-H. Ki, and C.-Y. Tsui, “A programmable integrated digital controller for switching converters with dual-band switching and complex pole-zero compensation,” in IEEE J. Solid-State Circuits, vol. 40, pp. 772-780, Mar. 2005.

[76] B. Razavi, Design of Analog CMOS Integrated Circuits, New York:

McGraw-Hill, 2001.

[77] P. T. Krein, and R. M. Bass, “Autonomous control technique for high-performance switches,” in Proc. 23th IEEE Power Electronics Specialists Conf. (PESC), Toledo, Spain, Jun. 29-Jul. 3, 1992, pp. 215-222.

[78] B. Acker, C. R. Sullivan, and S. R. Sanders, “Synchronous rectification with adaptive timing control,” in Proc. 26th IEEE Power Electronics Specialists Conf.

(PESC), vol. 1, Atlanta GA. USA, Jun. 18-22, 1995, pp. 88-95.

[79] V. Yousefzadeh, and D. Maksimovic, “Sensorless optimization of dead times in DC-DC converters with synchronous rectifiers,” in IEEE Trans. Power Electron., vol. 21, pp. 994-1002, July 2006.

[80] A. Hasting, The Art of Analog Layout, New Jersey: Prentice-Hall, 2001.

[81] K.-H. Chen, C.-C. Chien, and L.-R. Huang, “Optimum Power-Saving Method for Power MOSFET Width of One-Cycle Control DC-DC Converters,” in Proc.

37th IEEE Power Electronics Specialists Conf. (PESC), Jeju, Korea, Jun. 18-22, 2006, pp. 1-5.

[82] J. A. A. Qahouq, W. Al-Hoor, L. Yao, and I. Batarseh, “Drive voltage optimization controller to improve efficiency,” in Proc. IEEE Int. Symp. Circuits and Systems (ISCAS), Island of Kos, Greece, May 21-24, 2006, pp. 2277-2280.

[83] A. Barrado, A. Lazaro, J. Pleite, R. Vazquez, J. Vazquez, and E. Olias,

“Linear-nonlinear control (LnLc) for dc-dc buck converters: stability and transient response analysis,” in Proc. 19th IEEE Applied Power Electronics Conf.

(APEC), vol. 2, Anaheim, CA. USA, Feb. 22-26, 2004, pp1329-1335.

[84] M. Alimadadi, S. Sheikhaei, G. Lemieux, S. Mirabbasi, and P. Palmer, “A 3GHz switching DC-DC converter using clock-tree charge-recycling in 90nm CMOS

with integrated output filter,” in Proc. IEEE International Solid-State Circuits Conference (ISSCC), San Francisco, CA. USA, Feb. 11-15, 2007, pp. 532-620.

[85] Z. Ye, D. Boroyevich, and F. C. Lee, “Paralleling non-isolated multi-phase PWM converters,” in Proc. 35th IEEE Industry Application Conf. (IAS), vol. 4, Rome, Italy, Oct. 8-12, 2000, pp. 2433-2439.

[86] H. Lee, P. K. T. Mok, and K. N. Leung, “Design of low-power analog drivers based on slew-rate enhancement circuits for CMOS low-dropout regulators,” in IEEE Trans. Circuits Syst. II, vol. 52, pp. 563-567, Sep. 2005.

[87] J. Roh, “High-performance error amplifier for fast transient DC-DC converters,”

in IEEE Trans. Circuits Syst. II, vol. 52, pp. 591-595, Jul. 2005.

[88] K. Yao, K. Lee, M. Xu, and F. C. Lee, “Optimal design of the active droop control method for the transient response,” in Proc. 18th IEEE Applied Power Electronics Conf. (APEC), vol. 2, Miami Beach, FL. USA, Feb. 9-13, 2003, pp.

718-723.

[89] M. Siu, P. K. T. Mok, K. N. Leung,Y.-H. Lam, and W.-H. Ki, “A voltage-mode PWM buck regulator with end-point prediction,” in IEEE Trans. Circuits Syst. II, vol. 53, pp. 294-298, Apr. 2006.

[90] L. Lipcsei, “DC-to-DC converter with improved transient response,” U.S. Patent 6 813 173, Nov. 2, 2004.

A

PPENDIX

A perl program generates SPICE netlist for calculation of RDS(ON) of power transistor

#! /usr/bin/perl/ -w

$mos_width=4.8;

$pmos="pmos_4.8u";

$nmos="nmos_4.8u";

$M2_step=4.8;

open (INPUT,"./input_g5626a_nmos_mod") || die "$!";

open (OUTPUT,">./output_g5626a_nmos_mod") || die "$!";

# Rpp_sheet = 113;

# $R_CON_P; P-type contact resistance

# $R_CON_N; N-type contact resistance

# $R_M1; Sheet resistance of M1

# $R_VIA; VIA resistance

# $R_M2; Sheet resistance of M2

# $mos_width; Unit MOS width

# $multiplier; Transfer length into integer

# $mos_w_cal; Transferred MOS width

# $mos_cal_half; 1/2 of transferred MOS width

# $polygon_m2_d; Number of DRAIN side convex polygons in M2 layer

# $polygon_m2_s; Number of SOURCE side convex polygons in M2 layer

# $polygon_m1_p; Number of POSITIVE convex polygons in M1 layer

# $polygon_m1_n; Number of NEGATIVE convex polygons in M1 layer

# $j; Reusable counting variable

# $i; Reusable counting variable

# $xi; <STDIN> x-coordinate of the M1 convex polygon

# $yi; <STDIN> y-coordinate of the M1 convex polygon

# $right; $right>0 indicates this corner point is at the left side of the line formed by previous 2 points and vice versa.

# $max_x_m2; Maximum x-coordinate of the M2 convex polygon

# $max_y_m2; Maximum y-coordinate of the M2 convex polygon

# $min_x_m2; Minimum x-coordinate of the M2 convex polygon

# $min_y_m2; Minimum y-coordinate of the M2 convex polygon

# $max_x_p; Maximum x-coordinate of the POSITIVE M1 convex polygon

# $max_y_p; Maximum y-coordinate of the POSITIVE M1 convex polygon

# $min_x_p; Minimum x-coordinate of the POSITIVE M1 convex polygon

# $min_y_p; Minimum y-coordinate of the POSITIVE M1 convex polygon

# $max_x_n; Maximum x-coordinate of the NEGATIVE M1 convex polygon

# $max_y_n; Maximum y-coordinate of the NEGATIVE M1 convex polygon

# $min_x_n; Minimum x-coordinate of the NEGATIVE M1 convex polygon

# $min_y_n; Minimum y-coordinate of the NEGATIVE M1 convex polygon

# $perpendicular; 1:polygate perpendicular to x-axis; 0:polygate parallel to x-axis

# $width_m1; Width of each M1 line

# $gap_M1; Gap between M1 lines

# $mos_type; PMOS:0, NMOS:1

# $M2_step; $M2_step indicates the distance between the nearest M2 points alone poly-silicon (in um)

# $step_x; $step_x/$multiplier indicate the distance between the nearest M2 points alone x-axis

# $step_y; $step_y/$multiplier indicate the distance between the nearest M2 points alone y-axis

# $sync_x; Used to syncronize the x-coordinate of M2 & M1 layer

# $sync_y; Used to syncronize the y-coordinate of M2 & M1 layer

# $sync_x_pad; Used to syncronize the x-coordinate of PAD & M2 layer

# $sync_y_pad; Used to syncronize the y-coordinate of PAD & M2 layer

# $x; Reusable counting x-coordinate variable

# $y; Reusable counting y-coordinate variable

# $x1; (Reusable) x-Difference of current point to the 1st point of an edge of the calculating polygon

# $y1; (Reusable) y-Difference of current point to the 1st point of an edge of the calculating pol polygon

# $x2; (Reusable) x-Difference of current point to the 2nd point of an edge of the calculating pol polygon

# $y2; (Reusable) y-Difference of current point to the 2nd point of an edge of the calculating pol polygon

# $min_max_right_m2_d; $min_max_right_m2_d<0 indicates this point is inside one of the DRAIN side M2 convex polygon

# $min_max_right_m2_s; $min_max_right_m2_s<0 indicates this point is inside one of the SOURCE side M2 convex polygon

# $max_right_n; $max_right_n>0 indicates this point is outside the NEGATIVE M1 convex polygon

# $max_right_p; $max_right_n>0 indicates this point is outside the POSITIVE M1 convex polygon

# $r_m1_count; Count for M1 resistors

# $mos_count; Count for MOS transistors

# $r_con_count; Count for CONTACTs

# $r_m2_count; Count for M2 resistors

# $x_next; (Reusable)x-coordinate of next point

# $y_next; (Reusable)x-coordinate of next point

# $pmos; Name of the sub-circuit of PMOS for SPICE netlist

# @n_m2_d[$j]; Number of corner points of the $jth M2 convex polygon at DRAIN side

# @n_m2_s[$j]; Number of corner points of the $jth M2 convex polygon at SOURCE side

# @n_m1_p[$j]; Number of corner points of the $jth POSITIVE M1 convex polygon

# @n_m1_n[$j]; Number of corner points of the $jth NEGATIVE M1 convex polygon

# @x_m2_d; List x-coordinate of the corner points of the DRAIN side M2 convex polygon without index

# @y_m2_d; List y-coordinate of the corner points of the DRAIN side M2 convex polygon without index

# @x_m2_s; List x-coordinate of the corner points of the SOURCE side M2 convex polygon without index

# @y_m2_s; List y-coordinate of the corner points of the SOURCE side M2 convex polygon without index

# @x_p; List x-coordinate of the corner points of the POSITIVE M1 convex polygon without index

# @y_p; List y-coordinate of the corner points of the POSITIVE M1 convex polygon without index

# @x_n; List x-coordinate of the corner points of the NEGATIVE M1 convex polygon without index

# @y_n; List y-coordinate of the corner points of the NEGATIVE M1 convex polygon without index

# @sort_x_m2_ls; Numerically sorted (from larger to smaller) x-coordinate of the corner points of the M2 convex polygon

# @sort_y_m2_ls; Numerically sorted (from larger to smaller) y-coordinate of the corner points of the M2 convex polygon

# @sort_x_m2_sl; Numerically sorted (from smaller to larger) x-coordinate of the corner points of the M2 convex polygon

# @sort_y_m2_sl; Numerically sorted (from smaller to larger) y-coordinate of the corner points of the M2 convex polygon

# @sort_x_p_ls; Numerically sorted (from larger to smaller) x-coordinate of the corner points of the POSITIVE M1 convex polygon

# @sort_y_p_ls; Numerically sorted (from larger to smaller) y-coordinate of the corner points of the POSITIVE M1 convex polygon

# @sort_x_p_sl; Numerically sorted (from smaller to larger) x-coordinate of the corner points of the POSITIVE M1 convex polygon

# @sort_y_p_sl; Numerically sorted (from smaller to larger) y-coordinate of the corner points of the POSITIVE M1 convex polygon

# @sort_x_n_ls; Numerically sorted (from larger to smaller) x-coordinate of the corner points of the NEGATIVE M1 convex polygon

# @sort_y_n_ls; Numerically sorted (from larger to smaller) y-coordinate of the corner points of the NEGATIVE M1 convex polygon

# @sort_x_n_sl; Numerically sorted (from smaller to larger) x-coordinate of the corner points of the NEGATIVE M1 convex polygon

# @sort_y_n_sl; Numerically sorted (from smaller to larger) y-coordinate of the corner points of the NEGATIVE M1 convex polygon

# @right_m2_d; Elements in @right_m2_d indicate if one point is at the right side of the edges of the DRAIN side M2 convex polygon

# @right_m2_s; Elements in @right_m2_s indicate if one point is at the right side of the edges of the SOURCE side M2 convex polygon

# @max_right_m2_d; Minimum value of @max_right_m2_d<0 indicates the point is inside one of the DRAIN side M2 convex polygon

# @max_right_m2_d; Minimum value of @max_right_m2_d<0 indicates the point is inside one of the DRAIN side M2 convex polygon