۱۳۸۷ آبان ۱۵, چهارشنبه

نمرات پايان ترم درس

ليست نمرات اسكن شده پاياني درس را مي‌توانيد در تصاوير زير مشاهده كنيد

ليست نمرات
ادامه ليست نمرات

۱۳۸۷ خرداد ۲۸, سه‌شنبه

سوال های امتحان میان ترم به همراه پاسخ

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

4JPG files, Encrypted

۱۳۸۷ خرداد ۲۵, شنبه

Physical Design Flow

اسلاید هفته گذشته (آخر جلسه کلاس) با موضوع Physical Design

encrypted, 3MB ppt file

۱۳۸۷ خرداد ۱۳, دوشنبه

جلسه هفته آینده تشکیل نمی شود

This week we don't have any class for both of Advanced Logic Design and
Microprocessor courses. Our next class will be held on Thursday the 23rd
of Khordad 1387.

۱۳۸۷ خرداد ۱۰, جمعه

افتتاح پروژه متن‌باز براي پردازنده SAYEH

پروژه Open Source جهت توسعه پردازنده SAYEH در سايت OpenCores.org افتتاح گرديد.

آدرس پروژه : http://www.opencores.org/projects.cgi/web/sayeh_processor/overview

با توجه به تجربه ارزشمند دوستان در طراحي اين پردازنده، جهت توسعه هرچه بيشتر معماري آن مي‌توان از اين محيط بهره گرفت.

۱۳۸۷ خرداد ۹, پنجشنبه

تمديد زمان تحويل تمرين شماره 3

دانشجوياني كه تمرين شماره 3 (پردازنده 16 بيتي) را تحويل نداده‌اند، با كسر 20 درصد از نمره تمرين مي‌توانند تا پايان روز دوشنبه 13 خرداد، آن را تكميل كرده و به همراه گزارش براي استاد ارسال كنند. همچنين در اولين جلسه كلاس بعد از اين تاريخ كار خود را مي‌بايست براي استاد ارائه نمايند.

۱۳۸۷ خرداد ۶, دوشنبه

ارائه تمرین شماره سه در کلاس

آقای دکتر تصمیم گرفتند به دانشجویانی که تمرین شماره 3 ( پیاده سازی پردازنده سایه) را انجام داده اند فرصتی برای ارائه مراحل انجام تمرین خود در جلسه هفته آینده مورخ 87/3/9 بدهند. بنابر این دوستانی که فایل های تمرین خود را ارسال کرده اند یا با کسر 15درصد نمره می خواهند روز پنجشنبه آن را تحویل دهند، باید در کلاس مراحل انجام آن را ارائه کنند.

متن کامل نامه ایشان :

Dear Mr. Haghdoust,

I would like to inform you and other students in Advanced Logic Design course that they are supposed to present/demonstrate their homework #3 on coming Thursday at 8 am.

Best regards,
Bijan Alizadeh

۱۳۸۷ اردیبهشت ۲۸, شنبه

نمونه سئوال برای امتحان

با موضوعات : sample

ساده سازی توابع و محاسبه تاخیر مسیرها با تغییر ورودی

پیاده سازی تابع و تشخیص هازاردها و رفع آنها

محاسبه PI های توابع

پیاده سازی توابع با MUX

پیاده سازی ماشین مور برای آشکارسازی الگو

مشخص کردن و ضعیت PLA برای پیاده سازی عبارت

اثباتهائی از BDD

و مباحث بحث شده Timing Analaysis & optimization

۱۳۸۷ اردیبهشت ۲۱, شنبه

راهنمايي جهت پياده سازي پردازنده

معماری پردازنده خواسته شده در تمرين كامپيوتري سوم، مشابه معماری پردازنده Sayeh سر نام Simple Architecture, Yet Enough Hardware می باشد، اين پردازنده در دانشگاه تهران و دانشگاه northeastern تحت نظارت دكتر نوابي طراحي و توسعه يافته است كه تا كنون نسخه‌هاي متعددي از آن توسط دانشجويان دكتر نوابي جهت کاربردهاي مختلف پياده سازي شده است.

علارقم شباهت معماري مطلوب در تمرين سوم با Sayeh، بر اساس مطالب جلسه گذشته سبک و نگرش پیاده سازی آن متفاوت با پیاده سازی های موجود sayeh می باشد، با این وجود می توان از سورس کدهای نسخه های مختلف Sayeh و مستندات آن در درک هرچه بیشتر ساختارهای پردازنده بهره برد.

كد نسخه‌ابتدايي اين پردازنده به عنوان مثال طراحي در انتهاي كتاب " طراحي مدارهاي ديجيتال با Verilog " نوشته آقاي دكتر هادي پرنده-افشار آورده شده و توضيحات مختصر اما كافي در رابطه با آن ذكر شده است. این کتاب در کتابخانه دانشکده فنی موجود می باشد.

نسخه‌هاي جديدتر اين پردازنده در كتاب‌هاي Digital Design and Implementation with Field programmable Arrays و Embedded core Design with FPGA نوشته آقاي دكتر نوابي ، با جزئيات كامل پياده سازي Verilog تشريح شده است. در نسخه‌ي جديد، تغييرات عمده‌اي در مجموعه دستوراالعل‌ها و همچنين تغييرات اندكي در بخش كنترلي مشاهده مي‌شود. تصوير معماري جديد در زير آورده شده است :


همچنين پياده سازي معماري جديد در يكي از اسلايد‌هاي درسي آقاي دكتر نوابي در دانشگاه northeastern در 86 صفحه تشريح شده است. علاوه بر اين نسخه الكترونيك كتاب Digital Design and Implantation with Field programmable Arrays نيز در كتابخانه فني دانشگاه شاهد موجود مي‌باشد.

با توجه به هماهنگي صورت گرفته با دكتر نوابي جهت انتشار مستندات اين پردازنده در قالب يك پروژه متن باز، ميتوانيم در راستاي انجام اين پروژه كلاسي، صلاحيت‌ها و توانايي‌هاي لازم جهت شركت در يك پروژه طراحي واقعي را كسب نماييم.

۱۳۸۷ اردیبهشت ۱۹, پنجشنبه

اسلاید این هفته 87/19/2

اسلاید امروز با موضوع بررسي الگوريتم سنتز سطح بالا و Scheduling آن، بررسي نگرش طراحي به سبك كنترلر- مسير داده
دریافت فایل (دارای پسوورد)

۱۳۸۷ اردیبهشت ۱۷, سه‌شنبه

تمرين كامپيوتري شماره 3

تمرين كامپيوتري شماره 3: طراحي يك پردازنده 16 بيتي به صورت ASIC

هدف از اين تمرين طراحي يك پردازنده 16 بيتي و پياده سازي ASIC آن با تكنولوژي 0.25 ميكرون است، جزئيات معماري پردازنده مطلوب به همراه مجموعه دستورالعمل‌هاي تعريف شده براي آن در فايل زير آورده شده است.

متن كامل تمرين كامپيوتري شماره 3

تاريخ تحويل 87/3/2 (هزمان با امتحان ميان‌ترم)


۱۳۸۷ اردیبهشت ۱۴, شنبه

اسلایدها و pdf های 12/2/87

پاورپوینت prog device

و leonardo PDF

۱۳۸۷ اردیبهشت ۵, پنجشنبه

اسلایدهای 2/8/87

اسلایدهای امروز 2/8/87
البته در ادامه توسط استاد کاملتر خواهد شد
Lecture6 timingOptimization

۱۳۸۷ اردیبهشت ۲, دوشنبه

تمرين‌ كامپيوتري شماره 2

در اين تمرين طراحي يك مدار ترتيبي به دو شيوه طراحي شماتيكي و طراحي مبتني بر HDL خواسته شده است كه در نهايت هر دو طراحي بر روي FPGA سنتز و پارامترهاي زماني آنها با يكديگر مي‌بايست مقايسه گردد.
ملاحظاتي كه براي كد نوشتن در جلسه قبل مطرح شد رو هم نبايد فراموش كنيم.
دانشجويان كه مايل هستند مي‌توانند با هماهنگي با مسئول آزمايشگاه‌ها طراحي‌ خود را در نهايت بر روي برد FGPA دانشگاه نيز پياده سازي كنند.

متن كامل تمرين كامپيوتري شماره 2

تاريخ تحويل 12/2/87

۱۳۸۷ فروردین ۳۰, جمعه

۱۳۸۷ فروردین ۲۸, چهارشنبه

استفده از CUDD در محيط Visual Studio

راه‌كارهاي متعددي براي اجراي برنامه‌هاي تحت لينوكس در ويندوز وجود داره كه Cygwin تنها يكي از اين راه كار ها هست، براي اجراي CUDD هم در سيستم عامل ويندوز چندين راه‌كار ديگر علاوه بر استفاده از Cygwin وجود دارد كه بهترين اونها نسخه پورت شده CUDD داخل Visual Studio 6 هست.

اين ابزار كه در واقع همون CUDD هست توسط آقاي Alan Mishchenko تبديل به يك پروژه Visual Studio 6 C++ گشته كه به سادگي مي‌توان بدون نياز به محيط لينوكس، از پكيجهاي پياده سازي BDD‌ كه CUDD در اختيار قرار مي‌دهد استفاده كرد.

براي استفاده از اين ابزار كافي است آن را دانلود كرده و مطابق راهنما داخل سايت، تنظيمات لازم را محيط VS اعمال نماييد.

ضمنا ابزار BeDD داراي تابعي است كه به كمك الگوريتم ژنتيك بهترين ترتيب متغييرها را جهت حداقل سازي BDD‌ با دقت قابل تنظيم ، پيدا مي‌كند. از اين رو بدون در نظر گرفتن قابليت‌هاي بالقوه‌اي كه BeDD به واسطه بهره‌گيري از BeanShell داره، ميتواند ROBDD را بهينه نموده و ترسيم نمايد.

با تشكر از دكتر غزنوي جهت معرفي ابزارهاي فوق‌الذكر.

بخشي از توضيحات معرف قابليت هاي اين برنامه پورت شده:


This way of using CUDD on Windows has been extensively tested since June 2000. The Windows projects used about 75% of functionality of CUDD - including the basic manipulation of {A,B,Z}DDs, dynamic variable reordering, printing, visualization of graphs via DOT files, etc. - and no problems have been observed.

۱۳۸۷ فروردین ۲۵, یکشنبه

ابزار ديگر جهت پياده سازي BDD

با توجه به اين‌كه ابزار CUDD تحت لينوكس و برمبناي خط فرمان هست و براي دانشجوياني كه با محيط لينوكس آشناي ندارند نصب و كار با آن كمي زمان بر مي‌باشد، ابزار مشابه ديگري به نام BeDD وجود دارد كه به صورت مستقل از سيستم عامل بر روي ماشين مجازي جاوا اجرا شده و با واسط گرافيكي قابليت ترسيم گراف‌هاي BDD و اجراي عمليات مختلف بر روي آنها را دارد.

بر اجراي اين برنامه تنها كافي است، بسته 640 كيلو بايتي آن را از اينجا دانلود كرده و پس از نصب ماشين مجازي جاوا بر روي كامپيوتر خود، آن را اجرا كنيد نمونه‌اي از يك BDD ترسيم شده توسط BeDD در تصوير زير نشان داده شده است.

اين ابزار توسط آقاي Mihai Munteanu توسعه داده شده است كه متاسفانه صفحه معرفي آن در اينترنت از بين رفته است اما با كيوورد، BeDD mihai مي‌توان آن صفحه را از داخل Cache گوگل مشاهده كرد. با اين وجود مستندات موجود در بسته 640 كيلوبايتي، جهت معرفي اين ابزار و چگونگي عمكلرد آن، كفايت مي‌كند.

اين ابزار را مي‌توانيد از پوشه دكتر غزنوي در سايت دانشجويان كارشناسي ارشد نيز برداريد. در ادامه بخشي از مستندات ضميمه فايل جهت معرفي اين ابزار آورده شده است:

BeDD is an application for BDD (Binary Decision Diagram) manipulation and circuit synthesis. BeDD was not designed for high performance. There are other faster and more complete BDD manipulation packages. BeDD was designed to be simple and easy to use. It is ideal as an educational tool for learning about BDDs and Java programming language. BeDD is distributed under the GNU General Public License. It means that the source code is freely-distributed and available to the general public.

The core of BeDD is not really original. The BDD representation and algorithms are based on the excellent paper An Introduction to Binary Decision Diagrams” by Henrik Reif Andersen. At this time not all algorithms described in this paper are implemented.

Main Features of BeDD

-Based on BeanShell scripting language

-Can execute standalone commands or scripts

-Builds ROBDD (Reduced Ordered BDD) based on Boolean binary functions

-Can combine more Boolean functions into a SBDD (Shared BDD)s

-Implements routines for applying operations to BDDs

-BDD size optimization using a genetic algorithm

-The number and size of the BDDs is limited only by the computer capabilities

-Draws BDDs

-Save and load BDDs

-Extensible with export plug-ins for exporting synthesized netlists

۱۳۸۷ فروردین ۲۴, شنبه

مجموعه تمرين‌هاي مبحث BDD

فایل تمرین های کامپیوتری مبحث BDD را میتوانید از اینجا دانلود کنید.
برای انجام این تمرینات به یک BDD Package نیاز داریم که در کلاس ابزار CUDD براي اين كار پيشنهاد شد، این ابزار که تحت سیستم عامل لینوکس نصب می شود را می توانید از
اینجا دانلود کنید. همچنين تمرين آخر، تعدادي از Exercise هاي منتخب An Introduction to Binary Decision Diagrams مي‌باشد.
برای نصب این برنامه تحت ویندوز میتوان از Cygwin استفاده کرد.
زمان تحویل تمرینات پنجشنبه 29 فروردین هست...
خبر جدید: بر اساس آخرین صحبتی که با آقای دکتر علیزاده در دانشگاه شریف داشتم، لزومی به استفاده از ابزارهای کامپیوتری برای حل این تمرین نیست و می توان پاسخ ها را به صورت دستی بر روی کاغذ کشید و تحویل داد همچنین از دیگر ابزارهای پیاده سازی BDD علاوه بر CUDD هم می توان برای این کار بهره برد.

۱۳۸۷ فروردین ۲۲, پنجشنبه

اسلايدها و مراجع BDD

اسلايدهاي جلسه سوم در مورد BDD را مي‌توانيد از اينجا دريافت كنيد.

مراجع استفاده شده جهت مطالعه بيشتر در داخل اسلايدها ذكر شده است كه از ميان آنها، مراجع زير را پيدا كردم كه بدون نياز به جستجو مي‌توانيد آنها را دريافت و مطالعه نماييد.

An Introduction to Binary Decision Diagrams

Efficient implementation of a BDD package

۱۳۸۶ اسفند ۱۲, یکشنبه

First Homeworkّ

what is the relation between Fan-in and Noise margin in active load digital logics ? i.e. what is the effect of increasing gate fan-in on it's noise margins ? discuss in active load gates with serial pull-down and parallel pull-down like this this gate :


Active load gate with parallel pull down. (NOR

۱۳۸۶ اسفند ۴, شنبه

Hazard Free Logic Minimization

According to our discussion in the class there isn’t exact way to find out hazard free function minimal form using Quine-McCluskey algorithm. But many exact logic minimization algorithms are based on the Quine-McCluskey algorithm. The Quine-McCluskey algorithm solves the two-level logic minimization problem.
It has three steps:
1. Generate the prime implicants of a function;
2. Construct a prime implicant table; and
3. Generate a minimal cover of this table.

In this paper by Steven M. Nowick you can find one of the two-level hazard-free logic minimization algorithm which is based on the constrained version of the Quine-McCluskey algorithm. Only certain implicants may be included in a hazard-free cover, and covering requirements are more restrictive.

Course Syllables and References

According to our first class with Dr.Alizadeh, course syllables of this course will be :
1. Introduction to logic design
2. Advanced topic to logic minimization
3.Introduction to Verilog HDL
4. Programmable logic design
5. Combinational logic circuits
6. Arithmetic logic circuit
7. Sequential logic circuit
8. FSM design and controller
9. Digital system design
10. Asynchronous circuit design
11. Introduction to formal verification
12. Introduction to Hardware/Software Co-design

The main reference book of this course is "Fundamental of digital logic with verilog design" :

The book and ebook version available in Fanni library also you can download ebook from here.

۱۳۸۶ اسفند ۳, جمعه

First post

Welcome to subsidiary blog for Advanced Logic Design class. Here you can find useful guides and references which one student, share for others.

Advanced Logic Design class arranged in spring 2008 semester at Shahed university, Tehran, Iran with Dr. B. Alizadeh Instructor.

If you are a member of our class, feel free to post here and share your valuable research result here.