به نام خدا نیم سال دوم 3141-49 طراحی سیستمهای دیجیتال مدرس :حسینی دستیار آموزشی :جهاندار مهلت تحویل 3149/2/31 : تمرین سری چهارم توصیف در سطح رفتاری دانشگاه صنعتی شریف دانشکده مهندسی کامپیوتر عدم رعایت موارد خواستهشده در گزارش و همچنین عدم رعایت فرمت گزارش موجب کسر نمره خواهد شد ،لطفاً بیشتر دقت نمایید. سؤال 1 ( دارای تحویل حضوری ) در شبکههای اترنت سریع ،از یک تراشه الیه فیزیکی به نام Ethernet Phyبرای ایجاد ارتباط نقطهبهنقطه بین دو گره شبکه استفاده میشود .این تراشه در پایینترین الیه انتقال داده قرار داشته و با الیه MACدر ارتباط است .ارتباط این تراشه با الیه MACاز طریق رابطهای RMII ، SMI ، MIIو GMIIصورت میگیرد .این تراشه در استاندارد ، 011BASE-TXدارای سرعت ارسال و دریافت 311مگابیت بر ثانیه است .دادههای ورودی و خروجی به این تراشه بهصورت قطعههای 9بیتی و با سرعت نرخ 22میلیون قطعه بر ثانیه انتقال داده میشوند (.)011Mbps = 52M * 4Bit در این تراشه جهت عملکرد صحیح مکانیسم Clock Recoveryدر مقصد از یک انکودر کننده 4B2Bدر فرستنده و یک دیکودر 2B4Bدر مقصد استفاده مینماید .کدینگ خط خروجی در حالت استفاده از زوج سیم شیلد نشده ( )3UTPترکیبی از کدینگ های NRZIو MLT-3است. در این تمرین میخواهیم بلوکهای اساسی یک تراشه Phyرا مدلسازی کنیم .این بلوکها عبارتاند از واحد تبدیل پروتکل MIIبه ، NRZواحد تبدیل NRZبه ، NRZIواحد تبدیل NRZIبه MLT-3و واحد مبدل 4B2Bکه در تمرین 2 مدلسازی کرده بودیم. در ابتدا واحد مبدل MIIبه NRZرا پیادهسازی میکنیم .این واحد قطعات داده 9بیتی ( )Nibbleرا با فرکانس 22میلیون قطعه در ثانیه از واحد MACدریافت میکند و پس از تبدیل آنها به کدهای 2بیتی ( توسط مبدل ،) 4B2Bقطعات 2بیتی را Unshielded Twisted Pair 1 با سرعت 322مگاهرتز بهصورت سریال ( کدینگ خط شبه ) NRZبه واحد بعدی میدهد .این واحد بیتهای داده را از سمت MSBبه LSBیکبهیک بر روی خط خروجی خود قرار میدهد .با توجه به فرکانس 22مگاهرتزی دادههای ورودی و تبدیل آنها به دادههای 2بیتی سرعت ارسال سریال دادهها 322مگاهرتز خواهد بود. الف) یک مبدل MIIبه NRZرا به شرحی که در ادامه آمده است مدل کنید .مبدل در ورودی یک پالس ساعت با فرکانس 322مگاهرتز دریافت کرده و آن را تقسیمبر 2کرده و بهعنوان پالس ساعت همزمانی ارسال داده ( )TX_CLKبه واحد MAC انتقال میدهد .در لبه باالرونده ،درصورتیکه ورودی TX_ENیک باشد (پایه TX_ENاز طرف واحد MACبرای اعالم شروع انتقال داده مورداستفاده قرار میگیرد) ،قطعات 9بیتی از ورودی TXDخواندهشده و بهصورت سریال در خروجی NRZ_Oقرار میگیرند .ترتیب قرارگیری دادهها در خروجی از ( MSBبهعنوان اولین بیت سریال ) به LSBاست .برای مدلسازی این بلوک از یک شیفت رجیستر با ورودی موازی ،خروجی سریال استفاده نمایید. I_521M_CLK, I_TX_EN, I_TXD, O_TX_CLK, O_NRZ (module MII_to_NRZ input input input ][3:0 output output ;) واحد بعدی در تراشه Phyمبدل NRZبه NRZIاست .فرکانس سیگنال خروجی کدینگ NRZدر بدترین حالت برابر با نصف نرخ ارسال داده یعنی 5222مگاهرتز است ( دنباله .) ... 1313131313با توجه به اینکه انتقال صحیح این سیگنال و حفظ شکل مربعی آن در طول مسیر الزامی است ،کانال ( سیم مسی ) باید توانایی انتقال حداقل 1هارمونیک فرد سیگنال فوق را بدون تضعیف چندان را داشته باشد ،اما با توجه به جنس سیمهای مسی مورداستفاده دستیابی به چنین مشخصهای بسیار سخت و پرهزینه است .از طرفی دنباله .. 1313131به عنوان سمبل IDLEدر زمان بیکاری شبکه بر روی سیم فرستاده می شود ،در صورت استفاده از کدینگ NRZو ارسال سمبل IDLEفرکانس سیگنال بر روی سیم در بدترین حالت خود یعنی 5222 مگاهرتز خواهد بود .برای کاهش فرکانس سیگنال خروجی در حالت ارسال سمبل IDLEاز یک کدینگ NRZIپس از مبدل NRZاستفاده میشود .در کدینگ NRZIبه ازای 3منطقی یک انتقال از صفر به یک و یا از یک به صفر ( بسته به وضعیت قبلی خروجی ) ،و به ازای 1منطقی انتقالی وجود نخواهد داشت .با این روش فرکانس سیگنال خروجی در زمان ارسال سمبل IDLEبرابر با 13222مگاهرتز خواهد شد. ب) یک مبدل NRZبه NRZIطراحی کنید .این مبدل با دریافت بیتهای NRZو پالس ساعت با فرکانس 322مگاهرتز کد NRZIدر خروجی تولید میکند .در کد NRZIبه ازای 3منطقی ،یک انتقال از صفر به یک و یا از یک به صفر خواهیم داشت ( طبق شکل باال ). (module NRZ_to_NRZI input I_521M_CLK, input I_NRZ, output O_NRZI ;) برای کم کردن هرچه بیشتر فرکانس خروجی سیگنال در بدترین حالت ممکن ( دنباله ) ... 131313از یک کدینگ دیگر به نام MLT-3پس از واحد NRZIاستفاده میشود .در کدینگ MLT-3بجای 2سطح ولتاژ 1سطح ولتاژ وجود دارد .در این کدینگ 3منطقی با انتقال از یک سطح به سطح ولتاژ بعدی و 1منطقی با نگهداشتن سطح قبلی مشخص میشود ( .سطوح ولتاژ -3و 1و .) +3با این تکنیک فرکانس خروجی مدار بازهم کمتر میشود. ج) یک مبدل NRZIبه MLT-3طراحی کنید .خروجی مبدل یک عدد 2بیتی است که فقط 1حالت آن مورداستفاده قرار میگیرد .در نرمافزار Modelsimنحوه نمایش باس O_MLT3را بر روی Analogقرار دهید تا انتقال ولتاژ میان سطوح مختلف دیده شود. (module NRZI_to_MLT3 input I_521M_CLK, input I_NRZI, output [5:0] O_MLT3 ;) د) بلوک مبدل MIIبه ، NRZمبدل NRZبه NRZIو مبدل NRZIبه MLT-3را بهصورت سری به یکدیگر متصل نمایید. دقت کنید ،نمونهگیری و خواندن داده ورودی در بلوکهای سری همواره بهصورت یکی در میان در لبه باالرونده /لبه پایینرونده صورت میگیرد .برای مثال درصورتیکه بلوک مبدل NRZبه NRZIدر لبه باال روند داده را از ورودی خوانده و خروجی خود را تغییر دهد ،بلوک بعدی باید در لبه پایینرونده همان پالس ساعت اعمالی به واحد قبل ،ورودیها را خوانده و خروجی مناسب تولید نماید. به ازای یک ورودی تصادفی از قطعات 9بیتی بلوکهای طراحیشده تست نمایید و نتایج و خروجیهای آنها رو باهم بر روی یک پنجره نمایش دهید .آزمایش قبل را برای یک دنباله از ... 13131313انجام دهید .و نتایج را در پنجره Wave نمایش دهید .پایه نمایش اعداد اعمالی به مبدل MIIرا بر روی Hexdecimalتنظیم کنید. ه) پس از اتصال بلوکهای فوق به یکدیگر ،توسط نرمافزار ، Xilinx ISEبلوک ساختهشده در بند د را سنتز نمایید ،تراشه FPGAرا از خانواده ، Spartan-6قطعه LX9انتخاب نمایید. و) پس از سنتز مدار ،شبیهسازی Post-Synthesisرا با استفاده از نرمافزار Modelsimانجام دهید .شبیهسازی Post- Synthesisدر جلسه حل تمرین هفته بعدی آموزش داده خواهد شد. فایلهایی که میبایست تحویل داده شوند :فایل توصیف کلیه بلوک ها و Testbenchها مواردی که میبایست در گزارش قید شود :نحوه مدل سازی بلوک ها ،تصاویر پنجره Waveبرای تست تک تک بلوک ها ( مقادیر اعمالی برای تست را به دلخواه انتخاب نمایید ) ،تصویر گزارش سنتز نرم افزار ، ISE شکل مدار در حالت های RTL Viewو Technology View تصویر تست مدار در شبیه سازی Post-Synthesis سؤال2 ( دارای تحویل حضوری ) الف) یک 35 Register Fileسلولی با سلولهای 8بیتی طراحی نمایید .این Reg. Fileباید با یک پالس ساعت همزمان بوده و دارای پایه Resetآسنکرون باشد .عملیات نوشتن و خواندن باید در لبه باالرونده پالس ساعت انجام گیرد .خروجی داده باید بهصورت رجیستر شده باشد بدین معنی که مقدار قرار شده بر روی خروجی باید تا لحظه اتمام عملیات خواندن بعدی حفظ شود .این Reg. Fileباید دارای قابلیت بار کردن موازی بهصورت بایت ( 8بیت) ،نیم کلمه ( 35بیت) و کلمه ( 12بیت) را داشته باشد .همچنین برای آدرسدهی کلمه و نیم کلمه از 2و 1بیت پایین ورودی I_ADDRاستفاده شود. برای بایتها از یک سلول ،برای نیم کلمه از دو سلول مجاور و برای کلمه از چهار سلول در یک سطر استفاده شود .برای بایت و نیم کلمه از 8و 35بیت پایین ورودی و خروجی استفاده شود .اندازه ورودی اعمالشده و یا خروجی درخواست شده باید توسط ورودی I_OP_REQ_SIZEبه اطالع Reg. Fileبرسد. [3:0] I_ADDR [31:0] O_DATA [31:0] I_DATA O_DONE 4x4 Register File [1:0] I_OP_REQ_SIZE I_CLK I_RST شکل - 3بلوک دیاگرام Register File قبل از شروع انجام هر عملیات ( خواندن و نوشتن ) ،خروجی O_DONEصفر شده و پس از اتمام عملیات این خروجی یک شده و تا زمان شروع عملیات جدید مقدار خود را حفظ میکند .در پیادهسازی این Reg. Fileباید از یک آرایه 35در 8بیتی استفاده نمایید. در ادامه عملکرد هریک از پورتها و همچنین جداول نوع چینش سلولها آورده شده است. آدرس سلول انتخابی ،برای کلمه و نیم کلمه از بیتهای پایین استفاده شود. I_ADDR داده ورودی به ، Reg. Fileبرای بایت و نیم کلمه از بیتهای پایین استفاده شود. I_DATA اندازه داده ورودی و یا درخواستی برای خروجی I_OP_REQ_SIZE پالس ساعت I_CLK پالس بازنشانی I_RST داده خروجی از ، Reg. Fileبرای بایت و نیم کلمه از بیتهای پایین استفاده شود. O_DATA نشانگر اتمام عملیات خواندن و یا نوشتن O_DONE 5-Half Word 0-Half Word 3-Byte 2-Byte 5-Byte 0-Byte 3-Half Word 2-Half Word 7-Byte 6-Byte 1-Byte 4-Byte 1-Half word 4-Half Word 55-Byte 50-Byte 9-Byte 8-Byte 7-Half word 6-Half Word 51-Byte 54-Byte 53-Byte 52-Byte 0-Word 5-Word 2-Word 3-Word ب) Reg. Fileساختهشده در بخش الف را توسط یک Testbenchآزمایش نمایید .آزمایش شما باید شامل نوشتن و خواندن بهصورت های بایت ،نیم کلمه و کلمه باشد .از سه عدد 35 ،8و 12بیتی دلخواه تصادفی بهعنوان ورودی استفاده کنید .در آزمایش خواندن و نوشتن بهصورت کلمه ،یکبار عملیات خواندن با اندازه کلمه و یکبار خواندن توسط 9عملیات خواندن بایت صورت گیرد. ج) مدار خود را توسط شبیهسازی Post-Synthesisشبیهسازی نمایید و نتایج را با شبیهسازی رفتاری مقایسه نمایید. فایلهایی که میبایست تحویل داده شوند :فایل توصیف Register Fileو Testbenchمربوط به آن مواردی که میبایست در گزارش قید شود :تصویر پنجره Waveنرم افزار Modelsimدر حالت های نوشتن و خواندن بایت ،نیم کلمه و کلمه و خواندن کلمه بصورت بایتی نکات .3کلیه گزارشها باید در قالب تعیینشده تحویل داده شوند .فایل Wordنمونه قالب تحویل تمرینها در وبسایت درس موجود است .عدم رعایت این نکته موجب کسر نمره خواهد شد. .2مهلت ارسال پاسخها تا قبل از برگزاری کالس حل تمرین است و پسازآن با توجه به حل تمرینها در کالس حل تمرین، تمرین تحویل گرفته نمیشود. .1پاسخهای خواستهشده را بهصورت یک فایل فشرده با فرمت zipو یا rarدرآورده و به آدرس ایمیل اعالمشده ارسال نمایید. .9پس از تهیه فایل فشرده حاوی گزارش و برنامههای خواستهشده ،فایل فشردهشده را با درج شماره دانشجویی در عنوان ایمیل به آدرس [email protected]ارسال نمایید. .2در صورت مشاهده کپیبرداری ،نمره فرد کپی گیرنده و کپی دهنده -311در نظر گرفته خواهد شد. .5در تحویل تمرینها دقت نمایید دقیقاً موارد خواستهشده را تحویل دهید و از تحویل فایلهای خواسته نشده بپرهیزید. .7کالس حل تمرین ،روزهای یکشنبه ساعت 32تا 31در ساختمان ابنسینا کالس 4برگزار خواهد شد .کالسها بهصورت یک هفته در میان به رفع اشکاالت و حل تمرینها اختصاص خواهند یافت .بدینصورت که هفته اول پس از آپلود تمرین مختص رفع اشکال ،و هفته دوم مختص حل تمرینها است. .8تمرینها هر دو هفته یکبار بر روی وبسایت درس قرار خواهند گرفت ،و مهلت انجام هرکدام 2هفته است. .4در صورت وجود هرگونه ابهام در صورت تمرین ،موضوع را از طریق آدرس [email protected]به اطالع استاد حل تمرین برسانید. .31جهت روشن شدن روند تصحیح پاسخها ،گزارشها و فایل های تحویلی کلیه دانشجویان ،پس از برگزاری کالس رفع اشکال و حل تمرین بر روی وبسایت درس آپلود و توسط دیگران قابلدسترس خواهد بود. .11پل ارتباطی میان شما و استاد حل تمرین؛ وبسایت درس و آدرس ایمیل واردشده در سامانه eduاست .لطفاً از صحت آدرس ایمیل خود در سامانه eduمطمئن شوید .اطالعیههای مهم در رابطه باکالس حل تمرین از طریق ایمیل به اطالع شما خواهد رسید.
© Copyright 2026 Paperzz