زمان کنونی: ۰۷ اردیبهشت ۱۴۰۳, ۰۷:۵۵ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

تاخیر جمع کننده ۸ بیتی با رقم نقلی

ارسال:
  

mazyar123 پرسیده:

تاخیر جمع کننده ۸ بیتی با رقم نقلی

سلام
ما میدونم که برای جمع کننده ۴ بیتی با رقم نقلی زمان تاخیر از ۸ دلتا تی به ۶ دلتا تی میرسه و معادلات رو از c=0 تا c=3 انجام میدیم
حالا سوال من اینه جمع کننده ۸ بیتی چطوری حساب میشه ؟
از صبح روی یک مسئله تمرکز کردم ولی جوابم رو پیدا نکردم .
ممنون میشم راهنمایی بشه
نقل قول این ارسال در یک پاسخ

۱
ارسال:
  

golche70 پاسخ داده:

RE: جمع کننده ۸ بیتب با تاخیر رقم تقلی

سوال شما به صورت کامل تر:
جمع کننده ی سری معمولی (ripple) با داشتن ۸ پله گیت (هر کدوم از FA ها ۲ طبقه, ۴ تا FA هم میشه ۸) دارای تأخیر ۸t هست.
حالا CLA اومد نه تنها این تأخیر رو رسوند به ۶t (بین ۴t و ۶t طبق نلسون), بلکه حاصل جمع رو به صورت صحیح تحویل سیستم داد! چون اساسا این تأخیر گیت ها باعث میشد جواب خروجی غلط باشه. (همه این قصه ها توی مانو و پوران هست)


میخواید CLA رو که با ۴ بیت متوجه شدید؛ هشت بیتش رو پیاده کنید...

پیاده سازی جمع کننده CLA هشت بیتی (جمع کننده با انتشار رقم نقلی)


مقدمه:
قبلا در جوابم گفته بودم نمیتونید طبق فرمول Pi و Gi و Ci گیت ها رو بسط بدید و یه CLA جدید ۸ بیتی بسازید... (اینطور توجیه کردم که نقلی آخر (C8) یه گیت or با هفت تا ورودی میخواد و این نشدنیه! در حالی که کاملا شدنی هست!) چرا میشه همون رو بسط بدید اما بهتره وقتی مثلا یه IC داری که CLA 4 بیتی رو پیاده میکنه؛ از همون قطعه استفاده کنید برای ساخت جمع کننده ۸ بیت. این شاید علت منطقی تری باشه...

شروع حل:
پس تا اینجا دو عدد جمع کننده ۴ بیت با انتشار رقم نقلی نیاز داریم. CLA1 باید بیت ها قسمت کم ارزش low رو جمع کنه CLA2 هم بیت های پر ارزش رو

A: a7 a6 a5 a4 , a3 a2 a1 a0
B: b7 b6 b5 b4 , b3 b2 b1 b0

CLA1: a3 a2 a1 a0 + b3 b2 b1 b0
CLA2: a7 a6 a5 a4 + b7 b6 b5 b4


یه گریزی بزنم که CLA فلسفه اش چی بود. برای اینکه معطل نقلی نشویم؛ برای هر جفت بیتی که داریم جمع میکنیم باید نقلی حاضر و آماده باشه!
این کار با یه سری محاسبات شدنیه! کافیه نقلی هر مرحله رو مدام با محاسبات تکراری برای اون مرحله ( همون ۲ بیت در حال جمع) حساب کنیم... تعداد گیت ها میره بالا، یه کار تکراری هی کپی میشه، اما موازی کاری! افزایش پیدا میکنه! در نتیجه سرعت کار بالا میره.

میدونی که بیت های دو عملوند در حال جمع، همیشه حاضر و آماده هستن و نیازی نیست برای تولیدشون صبر کرد... پس من برای هر مرحله از جمع، نقلی اون قسمت رو بر حسب بیت های دو عملوند مینویسم. این شکلی این فرمولا در اومدن:

c1 = a0b0 + (a0+b0)c0
c2 = a1b1 + (a1+b1)(a0b0) + (a0+b0)(a1+b1)c0
...

الی آخر... فرمولاش در همه کتب هست.

این عکس طراحی اولیه و ساده هست. برداشتم دو تا جمع کننده ای که ساختم رو به هم چسبوندم: (چجوری کشیدم؟ صفحه ۲۷ معماری پوران و ۱۴۰ مانو)



مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

[تصویر:  307205_25153027466748529963.jpg]

خب این طراحی یه نقص داره: جمع کننده دوم باید به اندازه تاخیر تولید رقم نقلی جمع کننده اول صبر کنه تا خروجیش رو بتونه حساب کنه!!!
یه کار خیلی قشنگ تر که پوران توضیح داده اینه که باز هم با استفاده از فلسفه! ساخت CLA؛ این دو تا جمع کننده ای که ripple شدند رو هم به یک CLA سومی تبدیل کنیم.
(یعنی چی؟) خیلی ساده مگه در هر کدوم از CLA ها رقم نقلی رو انتشار ندادیم؟ اینجا هم رقم نقلی C4 رو که نقلی ورودی برای CLA دوم هست؛ انتشار میدیم. (دقت کنید چون جمع کننده نهایی ۸ بیت هست, تنها انتشار C4 کفایت میکنه... اگه ۱۶ بیت بود برای همه نقلی ها باید این کار رو انجام میدادید... توی پوران هست)
در واقع هر دفعه که در جمع کننده دوم دو بیت رو دارم جمع میکنم، باید نقلی C4 رو از روی بیت های عملوند ها محاسبه کنم و درگیر جمعش کنم.اینجوری:

مگه C4 طبق فرمول این نبود؟
C4 = g3 + p3g2 + p3p2g1 + p3p2p1g0 + p3p2p1p0c0
میدونیم که همه مینترم ها حی و حاضر هستند (چون همه از طریق بیت عملوند ها محاسبه میشوند. نقلی اولیه هم که حاضره)
پس این C4 رو داخل تمام فرمول های g4 , g5 , g6 , g7 , p4 , p6 , p7 و در نهایت C8 میذارم تا با کشیدن گیت های اضافی و محاسبات اضافی؛ هر لحظه C4 رو برای خودم موجود داشته باشم.... فایده این کار اینه که موقع محاسبه C4 گیت های پایینی بیکار نمیمونند. (حداقل بیکاری گیت ها و حداکثر موازی کاری)


پی نوشت: نه من و نه پوران اعصاب کشیدن گیت ها رو نداشتیم! شکل همون شکل بالا خواهد بود فقط توی ClA دوم بلوک وسط تغییراتی خواهد کرد که همون گیت های اضافه شده ی C4 هستند (یعنی به جای کشیدن سیم C4 کل گیت هاشو کپی میکنیم هر جا لازمش داشتیم.)

من شکل طولانی ترین مسیر محاسبه (طولانی ترین طبقات گیت) رو براتون کشیدم که مربوط به محاسبه S4 , s5 , s6 , s7 (طبقات همه شون با هم برابره)


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

[تصویر:  307205_86661691630020102531.jpg]

دید که شد فقط ۴ طبقه گیت. در حالی که اگر دو تا CLA رو پشت هم میبستیم تاخیر طولانی ترین مسیر میشد ۶ طبقه!
حالا اینجا به نظر من شکل صفحه قبل پوران معنی پیدا میکنه: ( شکل زیری طراحی کامل از جمع کننده ۸ بیت CLA هست.)


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

[تصویر:  307205_30799965623481872046.jpg]

سطح ۱ برای هر دو جمع کننده میتونه به صورت موازی محاسبه بشه... پس هر دو هم تأخیر خواهند بود برای مدار ما... (چرا میتونن موازی محاسبه شوند؟ چون فرمول Pi و Gi مستقل از رقم نقلی ورودی است...)
سطح ۲ و ۳ جمع کننده اول بعد از ۲ طبقه گیت خروجی میده اما سطح ۲ و ۳ جمع کننده دوم باید بعد از سه طبقه گیت خروجی بده (به C7 توی شکل قبلی نگاه کنید)
حالا توی سطح ۴ ها یه طبقه گیت xor داریم که با عبور از اون خروجی ها تولید میشن... دیگه همه چی واضحه سوالی بود بگین...
ممنون که سوال به این قشنگی پرسیدین Smile

نکته خیلی مهم اینه که برای این تاخیرس ۴t شد چون من تاخیر xor رو برابر با گیت های دیگه گرفتم. اگه تاخیر xor رو بیشتر در نظر بگیرید میشه نهایت تا ۶ t.
نقل قول این ارسال در یک پاسخ

ارسال:
  

golche70 پاسخ داده:

RE: جمع کننده ۸ بیتب با تاخیر رقم تقلی

جواب قبلی من اشتباهات فجیعی داشت ! این جواب که ویرایش کردم درسته
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

mazyar123 پاسخ داده:

RE: جمع کننده ۸ بیتب با تاخیر رقم تقلی

دوستان یه جوابی چیزی لطفا HuhHuhHuhHuh
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  تعداد رشته های n بیتی hamedsos ۲ ۲,۷۳۲ ۱۸ آبان ۱۳۹۸ ۰۹:۰۶ ب.ظ
آخرین ارسال: Jooybari
  تست جمع کننده با پیش گویی رقم نقلی Sanazzz ۰ ۱,۷۱۲ ۲۹ اردیبهشت ۱۳۹۸ ۰۲:۲۴ ب.ظ
آخرین ارسال: Sanazzz
Sad جمع کننده پیش گویی رقم نقلی Sanazzz ۸ ۶,۸۸۵ ۱۹ اردیبهشت ۱۳۹۸ ۰۲:۰۴ ق.ظ
آخرین ارسال: Sanazzz
Sad پیدا کردن xای که حاصل جمع دو عدد Sanazzz ۳ ۳,۲۰۳ ۰۹ بهمن ۱۳۹۷ ۰۳:۰۴ ق.ظ
آخرین ارسال: Sanazzz
Exclamation جمع کننده با پیش گویی رقم نقلی Sanazzz ۴ ۴,۰۸۵ ۲۸ آبان ۱۳۹۷ ۰۳:۲۴ ب.ظ
آخرین ارسال: Sanazzz
  حاصل جمع مینترم و ماکسترم Yasinhss ۰ ۳,۸۲۲ ۰۳ اردیبهشت ۱۳۹۷ ۰۷:۰۳ ب.ظ
آخرین ارسال: Yasinhss
  معرفی منابع و گرایش های مرتبط با فایل های صوتی و تصویری و پخش کننده های صوت و تصویر R.g- ۴ ۳,۶۶۶ ۱۵ شهریور ۱۳۹۶ ۰۹:۳۲ ب.ظ
آخرین ارسال: blackhalo1989
  پیش بینی رقم نقلی و تاخیرها amir_ghanati ۰ ۱,۳۱۲ ۱۱ شهریور ۱۳۹۶ ۰۱:۲۵ ب.ظ
آخرین ارسال: amir_ghanati
  سوار تاکسی می‌شوی، «پاهایت را جمع کن»! H-Arshad ۰ ۲۰ ۰۶ شهریور ۱۳۹۶ ۰۶:۱۵ ق.ظ
آخرین ارسال: H-Arshad
  یافتن خروجی‌ها‌ی ALU برای دو ورودی چهار بیتی و مقادیر مختلف انتخاب و Cn. Happiness.72 ۲ ۳,۲۴۳ ۲۹ اردیبهشت ۱۳۹۶ ۰۷:۰۷ ب.ظ
آخرین ارسال: Happiness.72

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close