آناتومی نت لیست در hspice

زوج تفاضلی BJTدر ادامه ی این سری نوشته ها می خواهیم کار با hspice را شروع کنیم. هدف هم تحلیل مدار ساده ی زوج تفاضلی BJT مقابل است.

قبل از هر کاری لازم است برای پروژه ی شبیه سازی خود netlist تهیه کنیم. netlist در واقع لیست تمام عناصر و گره های مدار است که طبق دستور العمل به خصوصی نوشته می شود. آن چه در این نوشته قصد بررسی آن را داریم ساختار کلی یک netlist استاندارد است با توضیح مختصری راجع به المان های مداری که می توانیم در netlist تعریف کنیم.

نکته ی اول در نوشتن یک نت لیست استاندراد این است که دقت کنیم نت لیست لزوما باید با دستور END پایان پذیرد. در غیر این صورت شبیه سازی انجام نخواهد شد.

مورد دیگری که بی توجهی به آن باعث اشکال در شبیه سازی می شود نوشتن دستور در خط اول نت لیست است. خط اول نت لیست برای ذخیره ی عنوان پروژه در نظر گرفته شده و به همین خاطر نباید از آن برای نوشتن دستور یا تعریف المان های مدار استفاده کرد.

در ادامه نت لیست مربوط به مدار زوج تفاضلی مطرح شده را مشاهده و بررسی خواهیم کرد.

Simple BTJ Differential Pair Simulation

Rc1 supply c_q1 1k
Rc2 supply c_q2 1k

Q1 c_q1 b_q1 e_q1 t2n2222a
Q2 c_q2 b_q2 e_q1 t2n2222a

Iee e_q1 0 2m
Vcc supply 0 10
vin1 b_q1 0 0
vin2 b_q2 0 0

.MODEL t2n2222a NPN
+ ISS=0. XTF= 1. NS = 1.00000
+ CJS=0. VJS= 0.50000 PTF= 0.
+ MJS=0. EG = 1.10000 AF = 1.
+ ITF=0.50000 VTF= 1.00000
+ BR =40.00000 IS = 1.6339e-14 VAF=103.40529
+ VAR=17.77498 IKF= 1.00000
+ NE =1.31919 IKR= 1.00000 ISC= 3.6856e-13
+ NC =1.10024 IRB= 4.3646e-05 NF = 1.00531
+ NR =1.00688 RBM= 1.0000e-02 RB =71.82988
+ RC =0.42753 RE = 3.0503e-03 MJE= 0.32339
+ MJC=0.34700 VJE= 0.67373 VJC= 0.47372
+ TF =9.693e-10 TR =380.00e-9 CJE= 2.6734e-11
+ CJC=1.4040e-11 FC = 0.95000 XCJC=0.94518

.op
.end

همانطور که گفتیم خط اول عنوان پروژه است. در ادامه ی نت لیست هم باید عناصر مداری را تعریف کنیم. در اینجا ما اول مقاومت ها را تعریف کرده ایم و بعد به سراغ ترانزیستورها رفتیم، در آخر هم منابع ولتاژ و جریان را تعریف شده اند. ولی رعایت این توالی ضروری نیست و به بیان دیگر ترتین تعریف عناصر کاملا اختیاری است.

نکته ای که حتما به آن دقت کرده اید سطرهای خالی موجود در نت لیست است. hspice در هنگام شبیه سازی خطوط خالی را نادیده می گیرد. پس ما می توانیم بدون نگرانی از خطوط خالی برای جداکردن قسمت های مختلف نت لیست استفاده کنیم. به علاوه فضاهای خالی بین پارامترهای مختلف هر دستور هم مقدار اختیاری دارند. یعنی ما لزوما باید یک فضای خالی یا space بین پارامترهای مختلف دستور داشته باشیم ولی پهنای آن برای hspice مهم نیست و این به ما اجازه می دهد نت لیست خود را با استفاده از spcace و tab به صورت مرتب بنویسیم.

مورد بعدی در مورد شکل دستورات است. دستورات hspice اعم از تعریف عناصر، تعریف مدل ها و همچنین دستورات شبیه سازی همه باید در یک خط نوشته شوند. البته اگر بنا به دلایلی دستور ما بیشتر از یک خط باشد می توانیم ادامه ی آن را در خط بعدی بنویسیم، به شرط آن که در ابتدای خط از + استفاده کنیم. برای روشن تر شدن موضوع دستور ۱۴ خطی بین خطوط ۱۴ تا ۲۷ مثال بالا را ببینید.

در مورد دستورات شبیه سازی مثل op یا  end هم همانطور که می بینیم باید از یک نقطه در اول دستور استفاده کنیم.

بدون شک دیدن نت لیست بالا سوالات متعددی در رابطه با چگونگی تعریف عناصر مداری و نوشتن دستورات شبیه سازی برای خواننده ایجاد می کند. این مطالب نیز به تفصیل در قسمت های بعدی مورد بررسی قرار خواهند گرفت.

36 پاسخ به “آناتومی نت لیست در hspice”

  1. امیر گفت:

    خواهش میکنم توضیح در مورد دستورات تحلیل رو زود تر بزارید ممنون میشم
    .dc
    .ac
    .tf
    .tran
    خواهشا یه مدار رو مثال بزنید که تمام اونها را شامل بشه نه اینکه برای هر تحلیل یه مدار جداگانه .ممنون میشم

  2. ghasedak گفت:

    سلام
    خیلی ممنون از توضیحاتتون
    خدا خیرتون بده

  3. رها گفت:

    سلام من پروژم رو باید با HCPICE انجام بدم ولی اطلاعاتی ندارم میشه راهنمای کنید

  4. رها گفت:

    طراحی وشبیه سازی مدار فیلتر وکدینگ در خروجی مبدل سیگما دلتا ADC هستش که باید مدار فیلتر رو با HSPICEشبیه سازی کنم

    • امیدرضا گفت:

      با سلام مجدد،
      راستش من خیلی تخصصی در این زمینه ندارم. اگر راهنمایی کلی نیاز داشته باشید شاید بتونم کمک کنم ولی در مورد جزئیات نه. یه سری هم به سایت microelectronics.ir بزنید. شاید کمک کنه.

  5. رها گفت:

    سلام
    ببینید من کار با نرم افزار بلد نیستم به خصوص قسمت netlist از این جهت میخوام راهنمایی کنید نرم افزار نصب شده رو سیستم من HSPICE(2008 هستش .برای نوشتن برنامه تو این قسمت باید از کجا بیارمش یااز کجا باید شروع کنم.ممنون میشم اگه زود جوابم بدید

    • امیدرضا گفت:

      شما می تونید نت لیست رو با هر ویرایشگر متنی بنویسید؛ حتی notepad. البته پیشنهاد خود من استفاده از notepad++ است. بعد از اینکه نت لیست رو آماده کردید باید اون رو با پسوند .sp ذخیره کنید. حالا می تونید از قسمت open نرم افزار استفاده کنید تا فایل نت لیست رو بیارید داخل hspice و شبیه سازی های مورد نظر رو روش پیاده کنید.

  6. رها گفت:

    ممنون از راهنماییتون

  7. رها گفت:

    دکمه Run HSPICEرو از کجا باید انتخاب کنم؟ چون بعضی از برنامه هام اجرا نمیشه این پیغام میده

  8. رها گفت:

    زمانی که net listرو ایجاد میکنم بعدمیارمش تو hspice ومیخوام خروجی برنامه رو ببینم با کلیک کردن روی Avanwaves خروجی رو نشون نمیده پیغام میده که RUN HSPICE رو انتخاب کن من باید رو کدوم آیکن برم که RUN بشه.این پغام RUN HSPICE رو برای بعضی از برنامه ها میده نه همشون نمیدونم ایراد کار کجاست

    • امیدرضا گفت:

      احتمالا شما avanwaves همراه نرم افزار شما نصب نشده است. مراحل نصب رو مجددا چک کنید. همچنین اگر بتونید نرم افزار spice explorer رو پیدا کنید و نصبش کنید خیلی بهتون کمک می کنه. منتهی من ندارمش.

  9. محمد گفت:

    سلام من باید این مقاله را شبیه سازی کنم
    http://scholar.google.co.in/citations?view_op=view_citation&hl=en&user=A-S4tloAAAAJ&citation_for_view=A-S4tloAAAAJ:u5HHmVD_uO8C
    نت لیستو نوشتم خطا نمیده ولی در قسمت statistic circuit آمار درستی نمیده
    Article high frequency low voltage CMOS

    M8 1 1 0 nch l=0.2u w=0.4u
    M7 2 1 0 nch l=0.2u w=0.8u
    M6 8 1 0 nch l=0.2u w=1.2u
    M1 3 9 2 nch l=0.2u w=15u
    M2 4 10 2 nch l=0.2u w=15u
    M3 3 5 6 pch l=0.4u w=3.2u
    M4 4 5 6 pch l=0.4u w=3.2u
    Mb 4 11 7 nch l=0.2u w=3.2u
    M5 8 4 6 pch l=0.2u w=6.2u
    M6 8 1 0 nch l=0.2u w=1.2u

    .model nch nmos vto=1 kp=17u lambda=0.01
    .model pch pmos vto=-1 kp=8u lambda=.02

    Cl 8 0 10f
    Cc 7 8 25f

    Vdd 6 0 dc 3
    Vin 10 9 sin 0 .25m 10k 0 0 0
    Ibias 6 8 dc 5
    vbias 11 0 dc 7
    Ib 7 0 dc 5

    Iref 6 1 dc 50u

    .dc vdd 0 5 .1
    .op
    .end

    • امیدرضا گفت:

      سلام دوست عزیز

      یه خورده این روزا سرم شلوغه. اگر فرصت شد یکبار نت لیست شما رو شبیه سازی می کنم و نتیجه رو بهتون اطلاع میدم.

  10. رها گفت:

    سلام
    ممنون میشم اگه جواب ایمیلی رو که براتون فرستادم بدیدمداری روکه فرستادم

    • امیدرضا گفت:

      سلام دوست من
      اگر امکان داره یه بار دیگه سوالتون رو مطرح کنید. خوشحال میشم اگر در توانم باشه کمکتون کنم.

  11. رها گفت:

    باسلام مجدد مدار براتون ایمیل کردم یه نگاه بندازید
    باتشکر

  12. رها گفت:

    سلام
    جوابتون رودیدم لطفا ایمیل جدیدی رو که فرستادم جواب بدید
    ممنون

  13. رها گفت:

    با سلام مجددفایل براتون ایمیل کردم

  14. رها گفت:

    سلام استادببخشید میشه یه محبت کنید جواب ایمیل من بدید
    ممنون

  15. محمد گفت:

    استاد میشه یه نگاهی به نت لیست من بندازین
    یه مقاله ساده هندیه با یه شکل مداری ساده ها
    خیلی ممنون

  16. رها گفت:

    سلام
    واحد مقاومت اگر اهم باشد در HSPICEچه طور نمایش داده می شود.

    • امیدرضا گفت:

      سلام دوست من،
      اسپایس به صورت خودکار واحد مقاومت رو اهم در نظر می گیره و لازم نیست طور خاصی براش تعریف بشه. مثلا برای یه مقاوت ۵۰ اهم نوشتن ۵۰ به تنهایی کفایت می کنه. تنها در صورتی که بخواهیم واحد دیگه ای استفاده کنیم باید صراحتا قید کنیم و مثلا برای ۵۰ کیلو اهم بنویسیم ۵۰k.

  17. رها گفت:

    سلام استاد
    میشه یه مدل ترانزیستورPNPبااطلاعاتی ازاون رو که نیاز هست در نت لیست نوشته بشه مثال بزنید مثل مدل ترانزیستورNPNکه در مثالتون هست.

  18. زهرا گفت:

    با سلام ممنون از سایت و اطلاعات مفیدتون.من نرم افزار hspice را نصب کردم اما وقتی که می خوام برای تمرین اون فایلهای مثال رو ببینم .waveviewکه اصلا فعال نمیشه با cscopeهم هیچ کدام از فایلها فعال نمیشه بجز دو تا از مثالها.حتی اونا که خودم با پسوندspذخیره کردم اگر ممکنه راهنمایی کنید.ممنون

    • امیدرضا گفت:

      سلام دوست عزیز،
      من درست متوجه منظور شما نشدم. ولی CScope و نرم افزاهای مشابه آن تنها قادر به بازکردن فایل های شکل موج مربوط به تحلیل ac و transient و … هستند و طبیعتا شما نمی تونید فایل نت لیستتون رو با اون ها مشاهده کنید.

  19. سمیرا گفت:

    با سلام و خسته نباشید
    ممنون بابت مطالب مفیدتون
    من نمیتونم شکل موجهارو ببنم یعنی cscope خطا میده کمکم کنید لطفا

  20. hooman گفت:

    با سلام و خسته نباشید.منnetlist نوشتم ولی وقتی میخوام شبیه سازی کنه اصلا کاری انجام نمیده و وقتی هم cscopeرا میزنم این پیام را میدهد cscope file doesnot exist مشکل کجاست؟ممنون میشم راهنماییم کنید با تشکر

    • امیدرضا گفت:

      سلام دوست عزیز
      در مورد کارنکردن cscope فکر می کنم اشکال از ورژن شما باشه. خود من هم به این مشکل خوردم. ظاهرا به این خاطره که cscope به همراه بسته ی نصب bundle نشده. آخرین نسخه ی به دردبخور نرم افزار رو می تونید از سایت مهندس یار دانلود کنید.
      ولی این که می فرمایید شبیه سازی انجام نمیشه اگر لطف کنید فایل نت لیستتون رو برای من بفرستید بهتر می تونم راهنماییتون کنم.

  21. hooman گفت:

    سلام اقا امید رضا خیلی ممنون که کمکم کردید مشکل شبیه سازی که انجام نمیشد را حل کردم ولی شکل موج بهم نمیده همون خطا را می دهد من هم از ساین مهندس یار دانلود کردم و نصب کردم اون ورژد روی ویندوز ۸ نصب نمی شود فایل کرکش ولی ورژن ۲۰۱۳ نصب می شود و شبیه سازی هم میکند پلی شکل موج خروجی نمیدهد.خیلی ممنپن از راهنماییتون

  22. نادر گفت:

    سلام خسته نباشین ازتون خواهش میکنم کمکم کنید نت لیست مدار full ader را میخوام اگه امکانش باشه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.