تعریف ترانزیستور BJT در hspice
حالا که با نحوه ی تعریف مقاومت ها، سلف ها و خازن ها در hspice آشنا شدیم زمان آن رسیده تا کمی بیشتر وارد قسمت جدی بحث شبیه سازی مدارات الکترونیکی با hspice شویم و به معرفی ترانزیستور ها بپردازیم. در ادامه این روند را با BJTها شروع می کنیم و قسمت بعدی را هم به ترانزیستورهای اثر میدانی اختصاص خواهیم داد.
نکته ای که خوب است از همین ابتدا به آن توجه داشته باشیم بحث مدل است. حتما از قسمت تعریف مقاومت و خازن ها به یاد دارید که در آنجا می توانستیم مدلی برای عنصر مورد نظرمان تعریف کنیم و برخی پارامترهای مربوط به شبیه سازی عنصر را در آن ذخیره کنیم و البته تعریف مدل در مورد مقاومت و خازن کاملا اختیاری بود. اما حالا که می خواهیم وارد دنیای نیمه هادی ها شویم باید بخاطر داشته باشیم که تعریف مدل برای عنصر نیمه هادی در hspice الزامی است. با این پیش زمینه ی ذهنی به سراغ دستور تعریف BTJ در hspice می رویم.
1 | Qxxx nc nb ne [ns] mname [area] |
شکل کلی دستور ساده شده ی تعریف BJT در hspice به صورت بالاست. پارامتر اول طبق روال همیشگی در hspice نام عنصر است. نام BJT لزوما باید با حرف Q شروع شود و در ادامه می تواند شامل 1023 کاراکتر حرفی-عددی باشد. بعد از آن نام گره های کلکتور، بیس و امیتر به ترتیب می آیند. پارامتر پنجم در دستور تعریف BJT یعنی همان ns یک پارامتر اختیاری است و برای اتصال زیرلایه ی ترانزیستور به یکی از گره های مدار استفاده می شود. این پارامتر تنها در مدارهای مجتمع ممکن است مورد استفاده قرار بگیرد. بعد هم نوبت به mname می رسد که طبق انتظار ما مدل ترانزیستور را مشخص می کند. اما در انتهای دستور یک پارامتر اختیاری دیگر هم دیده می شود. این پارامتر در واقع مربوط به سطح مقطع بیس ترانزیستور است. در ادامه هم چند مثال برای روشن تر شدن موضوع خواهیم دید.
مثال1: تعریف یک ترانزیستور ساده
1 | Q1 1 2 3 model_1 |
دستور ساده ی بالا یک ترانزیستور به نام Q1 تعریف می کنیم که کلکتور آن به گره1، بیس آن به گره2 و امیتر آن به گره 3 وصل شده است. مدلی هم که برای شبیه سازی رفتار این ترانزیستور مورد استفاده قرار خواهد گرفت model_1 نام دارد که در جای دیگری از نت لیست معرفی شده است.
مثال 2: اتصال زیرلایه ی ترانزیستور به یک گره از مدار
1 | Q23 nc_23 nb_23 nb_45 n_sub q_npn |
در قطعه کد بالا ترانزیستور با مدل q_npn تعریف کرده ایم و زیرلایه ی آن را به گره n_sub وصل کرده ایم.
مثال 3: استفاده از پارامتر سطح مقطع بیس
1 | q1 1 2 3 q_npn 3 |
2 | q2 1 2 3 q_npn 1 |
در این مثال ساده دو ترانزیستور q1 و q2 را می بینیم که کاملا مشابه هم تعریف شده اند و فقط در پارمتر سطح مقطع بیس با هم تفاوت دارند. تحت این شرایط سطح مقطع بیس q1 سه برابر سطح مقطع بیس q2 است. در مورد پارامتر سطح مقطع بیس باید دقت کنیم که این پارامتر یک مقدار عددی نیست و تنها ضریبی است که سطح مقطع بیس در آن ضرب می شود و مقدار عددی سطح مقطع بیس توسط پارمترهای مدل تعیین می شود.
حالا که صحبت از مدل به میان آمد بد نیست مدل های ترانزیستورهای BJT را هم مطالعه کنیم. در ادامه نمونه ی مدل ترانزیستور 2n2222a را که در راهنمای hspice آمده می بینیم.
01 | .MODEL t2n2222a NPN |
02 | + ISS=0. XTF= 1. NS = 1.00000 |
03 | + CJS=0. VJS= 0.50000 PTF= 0. |
04 | + MJS=0. EG = 1.10000 AF = 1. |
05 | + ITF=0.50000 VTF= 1.00000 |
06 | + BR =40.00000 IS = 1.6339e-14 VAF=103.40529 |
07 | + VAR=17.77498 IKF= 1.00000 |
08 | + NE =1.31919 IKR= 1.00000 ISC= 3.6856e-13 |
09 | + NC =1.10024 IRB= 4.3646e-05 NF = 1.00531 |
10 | + NR =1.00688 RBM= 1.0000e-02 RB =71.82988 |
11 | + RC =0.42753 RE = 3.0503e-03 MJE= 0.32339 |
12 | + MJC=0.34700 VJE= 0.67373 VJC= 0.47372 |
13 | + TF =9.693e-10 TR =380.00e-9 CJE= 2.6734e-11 |
14 | + CJC=1.4040e-11 FC = 0.95000 XCJC=0.94518 |
همانطور که در قطعه کد بالا مشاهده می شود تعریف مدل با دستور MODEL شروع می شود و بلافاصله بعد از آن باید نام مدل آورده شود. پارامتر بعدی نوع ترانزیستور BJT تعریف شده توسط مدل را مشخص می کند که در اینجا npn است و بعد هم پارامترهای مدل ذکر می شوند.
حالا ممکن است این سوال پیش بیاید که آیا باید خودمان برای ترانزیستورها مدل بنویسیم یا نه و اگر نه، چطور باید به مدل دست پیدا کنیم. در واقع پارامترهای موجود در مدل مربوط به تکنولوژی ساخت ترانزیستور هستند و از همین رو معمولا کارخانه ی سازنده اقدام به انتشار مدل مربوط به قطعات خود می کند. در مورد مدارات مجتمع اما بحث اندکی فرق می کند و کارخانه ی سازنده معمولا مشخصات فرآیند ساخت را در اختیار طراح می گذارد و طراح باید خودش با استفاده از اطلاعات داده شده مدل را بنویسد.