VLSI - Final_Project.pdf

‫طراحی ‪)04- 353( VLSI‬‬
‫مدرس‪ :‬دکتر ارجمند‬
‫نيمسال دوم ‪09-04‬‬
‫دانشکده مهندسی کامپيوتر‬
‫پروژهی نهایی درس طراحی ‪VLSI‬‬
‫مهلت انجام ‪ – 91/4/16‬تحویل حضوری ‪91/4/71‬‬
‫اهداف پروژه‪:‬‬
‫هدف از پروژه پایانی‪ ،‬جمعبندی مطالبی است که در این درس آموختهاید و در تمرینهای عملی با آنها آشنا شدهاید‪ .‬در این پروژه‬
‫میبایست یک کتابخانهی استاندارد سل‪ 1‬کمينه را پيادهسازی نمایيد‪ .‬بعد از آن به کمک این کتابخانه طرح مورد نظر را سنتز کنيد و‬
‫پس از انجام ‪ Pre-APR Simulation‬مراحل جایابی و مسيریابی را انجام دهيد‪ ،‬و به دیگر ابزارهای شبيه سازی از صحت طرح‬
‫‪ Layout‬ایجاد شده اطمينان حاصل کنيد‪ .‬در هر مرحله الزم است از درستی طرح‪ ،‬اطمينان حاصل کنيد و گزارشهای خواسته شده‬
‫را استخراج کنيد‪.‬‬
‫تعریف و مراحل انجام پروژه‪:‬‬
‫در این پروژه قصد داریم یک ضرب کنندهی شانزده بيتی شيفت و جمع را به طور جامع پيادهسازی نمایيم‪.‬‬
‫‪ .7‬کد ‪HDL‬‬
‫یک مدار ضرب کننده ی شيفت و جمع شانزده بيتی طراحی کرده و با دادن تعداد ورودی کافی‪ ،‬از درستی کارکرد مدار خود‬
‫اطمينان حاصل کنيد‪.‬‬
‫خروجی‪ :‬کد ‪ HDL‬مدار و ‪TB‬‬
‫‪ .2‬طراحی ‪Standard Cell Library‬‬
‫یک کتابخانهی استاندارد سل با استفاده از تکنولوژی ‪ 0.25μm TSMC‬پيادهسازی کنيد‪.‬‬
‫‪ ‬طراحی شماتيک در ‪S-Edit‬‬
‫شماتيک مربوط به سلها را در نرمافزار ‪ S-Edit‬رسم کنيد‪ .‬از آنجایی که با منطق کامل ‪ NAND‬میتوان کليهی‬
‫توابع را پياده سازی نمود‪ ،‬در عين حال باید توجه داشته باشيد که در این صورت ممکن است کتابخانهی حاصل نتواند‬
‫محدودیتهای طرح شما را برآورده سازد‪ .‬در نتيجه توصيه میشود انواع گيتهای چند ورودی‪ ،‬فليپفالپ‪ ،‬لچ و نيم و‬
‫تمام جمع کنندهها را خودتان طراحی کنيد تا در کاهش مساحت و تأخير آنها آزادی عمل بيشتری داشته باشيد‪ .‬از‬
‫درستی کارکرد هر سل اطمينان حاصل کنيد‪.‬‬
‫خروجی‪( .sp :‬یا ‪ ).spc‬و ‪ Design‬کليهی گيتها‬
‫‪ ‬رسم ‪ Layout‬در ‪L-Edit‬‬
‫‪ Layout‬هر سل را با توجه به شماتيک آن رسم کنيد‪ .‬سعی کنيد طرحهایتان تا حد امکان از نظر مساحت بهينه‬
‫باشد‪ .‬سپس فایل اسپایس هر کدام را استخراج کرده و درستی عملکردشان را بررسی نمایيد‪.‬‬
‫خروجی‪ Design :‬و ‪ .sp‬کليهی سلها‬
‫‪Standard Cell Library‬‬
‫‪1‬‬
‫طراحی ‪)04- 353( VLSI‬‬
‫مدرس‪ :‬دکتر ارجمند‬
‫نيمسال دوم ‪09-04‬‬
‫دانشکده مهندسی کامپيوتر‬
‫‪ ‬انجام ‪Layout Versus Schematic‬‬
‫به کمک نرمافزار ‪ ،LVS‬فایلهای اسپایس دو مرحلهی قبل را دو به دو مقایسه کنيد‪ .‬طول و عرض ترانزیستورها‪،‬‬
‫حداقل پارامترهای الزم برای مقایسه هستند‪.‬‬
‫خروجی‪ .lvs :‬و ‪ .vdb‬هر زوج فایل‬
‫‪ ‬ساخت ‪Standard Cell Library‬‬
‫با استفاده از ‪ Layout‬و فایل اسپایس هر سل (خروجی ‪ )L-Edit‬میبایست دادههای الزم برای ساخت یک‬
‫استاندارد سل الیبری را استخراج کنید‪ .‬حداقل فایلهای الزم برای یک الیبری در ذیل آورده شده است‪.‬‬
‫توجه داشته باشید که فایلهایتان با فرمتهای استاندارد مطابقت داشته باشد‪ .‬بدین منظور به عنوان آشنایی‬
‫اولیه میتوانید محتوای فایلهای ‪ .v ، .lib‬و ‪ ...‬از مجموعه فایلهای کتابخانهی ‪ OSU025‬را مشاهده و‬
‫الگوبرداری کنید‪ .‬برای شبیهسازی سطح مدار میتوانید از ‪ HSpice‬یا نرمافزارهای مشابه مثل ‪ HSIM‬که از سرعت‬
‫باالتری برخوردارند استفاده نمایید‪.‬‬
‫‪.i‬‬
‫‪.ii‬‬
‫‪.iii‬‬
‫‪.iv‬‬
‫‪.v‬‬
‫)‪Synopsys Liberty (.lib‬‬
‫)‪Timing annotated Verilog (.v‬‬
‫)‪Spice Netlist (.sp‬‬
‫)‪Library Exchange Format (.lef‬‬
‫)‪Timing Library Format (.tlf‬‬
‫خروجی‪ :‬کليهی فایلهای ليست فوق‬
‫‪ .3‬سنتز‬
‫مدار ضرب کنندهی خود را با استفاده از کتابخانهای که طراحی کردهاید توسط ‪ Design Compiler‬سنتز کنيد‪ .‬مدار شما باید‬
‫بتواند حداقل فرکانس ‪ 100 MHz‬را پشتيبانی کند‪ .‬برای بدست آوردن ماکزیمم فرکانس کاری یا حداقل مساحت‪ ،‬قيدهای‬
‫دیگری را روی مدار اعمال نکنيد‪.‬‬
‫خروجی‪ :‬نتليست سنتز شده و نتایج مربوط به آن‪ ،‬از جمله فرکانس ماکزیمم‪ ،‬تعداد گيتها و مساحت حداقل‬
‫‪ .4‬شبيهسازی بعد از سنتز‬
‫با استفاده از ‪ Modelsim‬یا سایر ابزاری شبيهسازی و با استفاده از فایل ‪ Timing-annotated Verilog‬که در مراحل‬
‫قبل ساختيد‪ ،‬بر روی نتليست حاصل از سنتز‪ Post Synthesis Simulation ،‬انجام داده و درستی کارکرد آن را بررسی‬
‫کنيد‪ .‬به هنگام شبيهسازی الزم است فایل ‪ SDF‬خروجی ‪ Design Compiler‬را نيز ‪ Back annotate‬کنيد‪ .‬سپس با‬
‫دادن تعداد زیادی ورودی تصادفی توان مدار خود را توسط ‪ Power Compiler‬یا ‪ Power Prime‬گزارش کنيد‪.‬‬
‫خروجی‪ :‬نتایج حاصل از شبيهسازی پس از سنتز و نتایج مربوط به گزارش توان مصرفی‬
‫طراحی ‪)04- 353( VLSI‬‬
‫مدرس‪ :‬دکتر ارجمند‬
‫نيمسال دوم ‪09-04‬‬
‫دانشکده مهندسی کامپيوتر‬
‫‪ .5‬جانمایی و مسیریابی‬
‫با استفاده از نرمافزار ‪ SoC Encounter‬و فایلهای ‪ tlf, lef, lib‬که در مراحل قبل ساختهاید عمليات ‪ Place & Route‬را‬
‫بر روی نتليست سنتز شدهی خود اجرا کنيد و خروجیهای الزم از قبيل ‪ GDSII‬و نتليست خروجی و فایلهای ‪ SDF‬و‬
‫‪ SPEF‬را ذخيره کنيد‪ .‬پس از اتمام عمليات الزم است که از نمای نهایی طرح در سه ‪ view‬اصلی نرم افزار یعنی‬
‫‪ FloorPlan, Physical‬و ‪ Amoeba‬عکس گرفته و در نتایج نهایی گزارش کنيد‪.‬‬
‫خروجی‪ :‬فایل ‪ GDS, SDF, SPEF‬و نت ليست‪ ،‬نتایج حاصل از طراحی و نمای آن‬
‫‪ ‬در این مرحله باید با فعال کردن آپشنها طرح را به صورت بهينه جایابی و مسيریابی کنيد‪ .‬برای این کار الزم است که‬
‫موارد مربوط به بهينه سازی عملياتهای مختلف (که در کالس آشنایی با ابزار به آنها اشاره شد) را فعال و اجرا‬
‫نمایيد‪.‬‬
‫انجام مواردی از جمله ‪ Metal fill ،Filler Cell Placement ،Post CTS Timing Analysis‬و ‪ ...‬در حين‬
‫این مرحله‪ ،‬برای داشتن طرحی بهينه و گذراندن شبيه سازی پس از ‪ Layout‬ضروری است‪.‬‬
‫‪‬‬
‫انجام مرحلهی )‪ Design Rule Checking (DRC‬و ‪Verify Metal Density‬به کمک فایل ‪GDSII‬‬
‫خروجی‪ .‬این کار را میتوانيد توسط خود ‪ SoC‬یا دیگر ابزار های انجام دهيد‪.‬‬
‫‪ ‬اختياری‪ :‬انجام مرحلهی ‪ P&R‬با وجود ‪ IO Constraint‬برای جانمایی کردن ‪ Pad‬های مربوط به ‪( IO‬ساخت‬
‫فایل ‪ .ioc‬و ‪ import‬کردن و اضافه کردن ‪ library‬های مربوط به ‪ Pad‬ها)‬
‫‪ ‬اختياری‪ :‬انجام مرحلهی )‪ Design Rule Checking (DRC‬به کمک فایل ‪ GDSII‬خروجی به صورت کاملتر‪.‬‬
‫این کار را میتوانيد توسط دیگر ابزارها از جمله ‪ Cadence Virtuoso‬یا ‪Cadence Calibre Interactive‬‬
‫انجام دهيد‪.‬‬
‫‪ ‬اختياری‪ :‬انجام مرحلهی )‪ Layout Versus Schematics (LVS‬به کمک فایل ‪ GDSII‬و ‪ CDL‬خروجی‪ .‬این‬
‫کار را میتوانيد توسط دیگر ابزارها از جمله ‪ Cadence Virtuoso‬یا ‪ Cadence Calibre Interactive‬انجام‬
‫دهيد‪.‬‬
‫‪ .6‬شبيهسازی بعد از جانمایی‬
‫‪ ‬نتليست حاصل از مرحلهی فوق را شبيهسازی کرده )‪ (Post-Layout Simulation‬و درستی کارکرد طرح خود‬
‫را بررسی کنيد‪ .‬در این قسمت فایل ‪ SDF‬مرحلهی قبلی را نيز ‪ annotate‬کنيد‪.‬‬
‫خروجی‪ :‬نتایج حاصل از شبيهسازی‬
‫‪ ‬نتليست حاصل از مرحلهی آخر را شبيهسازی کرده و با دادن تعداد زیادی ورودی تصادفی و توليد فایل ‪ ،VCD‬توان‬
‫مدار را توسط ‪ SoC‬یا ‪ Prime Power‬اندازه بگيرید (فایل ‪ SPEF‬را نيز باید درج کنيد)‪.‬‬
‫خروجی‪ :‬گزارش توان مصرفی‬
‫‪ ‬اختياری‪ :‬عمليات ‪ Post-Layout Simulation‬را با استفاده از شبيهساز ‪( HSIM‬فایل ‪ SPEF‬نيز باید درج شود)‬
‫در سطح مدار (ترانزیستور) انجام دهيد‪.‬‬
‫طراحی ‪)04- 353( VLSI‬‬
‫مدرس‪ :‬دکتر ارجمند‬
‫نيمسال دوم ‪09-04‬‬
‫دانشکده مهندسی کامپيوتر‬
‫توجه!‬
‫‪ .7‬پروژه در قالب گروههای ‪ 2‬نفره انجام می گيرد‪ .‬لذا کسانی که هنوز گروه خود را انتخاب نکرده یا ایميل نزدهاند‬
‫هر چه سریعتر اسامی خود را به آدرس ‪ [email protected]‬ارسال نمایند‪.‬‬
‫‪ .2‬در صورت وجود ایراد یا ابهام در مورد پروژه از طریق گروه درسی اشکاالت خود را مطرح کنيد‪.‬‬
‫‪ .3‬به مهلت ارسال پروژه توجه کنيد‪.‬این تاریخ قابل تغيير نيست بنابراین به هيچ وجه انجام پروژه را به روزهای آخر‬
‫موکول نکنيد‪ .‬همه ی نتایج را تا قبل از موعد مقرر ارسال کنيد‪.‬‬
‫‪ .4‬به هنگام نمرهدهی کليهی موارد مشخص شده در هر قسمت از جهت تشابه و معتبر بودن دادهها بررسی خواهند‪.‬‬
‫شد‪ .‬لذا تسلط بر مراحل فوق در تحویل حضوری الزامی است‪.‬‬
‫‪ .5‬قسمتهای اختياری متناسب با تالش و کيفيت کار در هنگام تحویل حضوری‪ ،‬نمرهدهی خواهند شد‪.‬‬
‫با آرزوی موفقيت و بهروزی در همهی مراحل زندگی ‪‬‬
‫ایزدیراد – خالقی‬