3Tilla 3844 اشتراک گذاری ارسال شده در 26 تیر، ۱۳۹۲ سلام در این تاپیک سعی داریم با مقدمات طراحی دیجیتال و شبیه سازی مدارات در نرم افزار های Quartus II و ISE و پروگرم کردن FPGA آشنا بشیم. هدف کلی پیدا کردن دید سخت افزاری و تسلط به زبان VHDL (زبان توصیف سخت افزار هست) که با اون بتونیم برنامه های سخت افزاری خودمون رو بنویسیم و تحلیل و شبیه سازی و تست کنیم. برای جلوگیری از پراکندگی مطالب و منظم بودن تاپیک سرفصلی ارائه میدم و طبق اون پله پله با هم جلو میریم سعی میکنم کاربردی باشه و تا اونجا که میشه با مثال بیان کنم که راحت تر درک بشه و تاپیک خشک و خسته کننده نباشه.در واقع برای درک بهتر مدارات دیجیتال باید یه بیت بشیم و در گیت ها و کل مدار حرکت کنیم تا ببینیم قضیه چیه به این میگن رسیدن به مرحله عرفان در دیجیتال 1-آشنایی با مدارات ترکیبی (گیت های ابتدایی و مالتی پلکسر ها و دی مالتی پلکسر ها و دیکودر و انکودر و ...) 2-مدارات ترتیبی( فلیپ فلاپ ها – شمارنده ها و ....) 3-ادغام مدارات ترکیبی و ترتیبی 4-نحوه ساخت component و استفاده آن در مدارات مختلف 5-کار با نرم افزار Quartus II و شبیه سازی با آن 6-کار با نرم افزار (ISE(Xilinx Project Navigator و پروگرم کردن FPGA مثال ها: مبدل باینری به گری شمارنده تعداد یک های موجود در یک بایت بدون نیاز به کلاک مقسم فرکانس راه اندازی نمایشگر 7 segment چهارتایی مالتی پلکس شده PWM صفحه کلید ماتریسی رمز نگار LFSR ارتباط سریال استاندارد( مجهز به Start_bit و Stop _bit و Parity) 10 لینک به دیدگاه
3Tilla 3844 مالک اشتراک گذاری ارسال شده در 27 تیر، ۱۳۹۲ اول میریم سراغ یه مقدمه ای از FPGA فرق fpga با avr البته که مقابسه کردن این دو تراشه با هم اصلا کار درستی نیست ولی برای آشنایی باید بگم fpga مثل یه IC خالیه با یه ظرفیت گیت که این ما هستیم که داخلش رو میچینیم که چطور باشه جتی اینکه کدوم یکی از پایه ها خروجی باشه رو هم ما تعیین میکنیم نه مثل avr که همه چیزش از قبل تعیین شده است و کاربر با توجه به نیازش راه انذازی میکنه به عنوان مثال تو خانواده Spartan III از بیرون با فرکانس های 5 یا 16 یا 50 Mhz و از داخل با PLL تا 280 Mhz هم بالا میاد.چیزی که تو avr نداریم. دوتا شرکت سازنده fpga که تو ایران استفاده میشن Altera و Xilinx هستن .Altera خیلی کاربرد نداره ولی کارکردن باهاش خیلی ساده تره به نسبت .ولی Xilinx کاربردی تره . ما اول با شماتیک مدار تو Quartus II کار میکنیم یه مقدار با شماتیک مدار ها و پایه ی دیجیتال آشنا میشیم بعد میریم سراغ ISE که با VHDL کد نویسی انجام بدیم و تقریبا محیط خشکی داره.من فکر میکنم اگه مستقیما با ISE کار نکنیم خیلی بهتره چون ممکنه برای کاربر خسته کننده باشه و بذاره کنار. سعی میکنم از همه ی مراحل Screenshot بگیرم که روند راحتی برای خواننده داشته باشه. رفرنس: مدار منطقی موریس مانو طراحی مدار با fpga تالیف Dr.Pedroni نرم افزار های مورد استفاده Quartus II ورژن 9.1 ISE ورژن 13.2 رفرنس ها همشون تو نت هستند و میتونید راحت دانلود کنید( بعدا لینکشونو هم میذارم) 8 لینک به دیدگاه
3Tilla 3844 مالک اشتراک گذاری ارسال شده در 30 تیر، ۱۳۹۲ اجزای یک سیستم الکترونیک دیجیتال - حافظه -میکرو پروسسور -عناصر منطقی ******عناصر منطقی برحسب نوع منطق به دو خانواده بزرگ تقسیم میشود منصق ثابت(Fixed Logic) منطق برنامه پذیر ( Programmable Logic) مدارهای منطقی برنامه پذیر دارای انواع مختلفی مثل PLA , PAL , SPLD, CPLD , MPGA, FPGA هستند که هر کدام دارای ظرفیت و سرعت و ویژگی هایی میباشند که به دلیل وجود منابع متعدد در این زمینه فقط به مقایسه FPGA و CPLD میپردازیم. CPLD یک CPLD ممکن است مدارای دارای چندین PAL داشته باشد که توسط برخی اتصالات برنامه پذیر به یکدیگر متصل باشند درحالیکه مرتبه ی پیچیدگی یک PAL در حد چند صد گیت منطقی است و مرتبه ی پیجیدگی یک CPLD حدود چند ده ها هزار گیت میباشد. CPLD را میتوان به کمک پروگرامر PAL برنامه ریزی کردو اگر روی یک برد لحیم شده باشند میتوان از طریق خط داده سریال PC هم برنامه ریزی کرد. اجزای اصلی یک CPLD: چندین SPLD ماتریس اتصالات قابل برنامه ریزی بلوک کنترل I/O هر بلوک منطقی ( LB) معادل یک PLD بوده و دارای اتصالات قابل برنامه ریزی میباشد. در این معماری از یکی ماتریس سوئیچ قابل برنامه ریزی برای اتصال بین بلوک های منطقی استفاده شده است. توسط ماتریس اتصالات: ورودی یا خروجی هریک از بلوک های منطقی قابل متصل شدن به هر بلوک منطقی دیگر است پينهاي ورودي و خروجي مستقيما قابل اتصال به ماتريس اتصالات و نيز بلوكهای منطقی هستند. هر بلوك منطقي خود شامل چندين واحد منطقي كوچكتر به نام ماكروسل می باشد. هرماكروسل معمولا شامل مجموعه اي از مينترمها (يا همان جملات حاصلضرب) – كه قابل برنامه ريزي ميشوند- و فيدبك كردن يك منطق AND توسط زيرمجموعه اي از آرايه خروجي قابل پيكره بندي ميباشد. اين منطق خروجي معمولا شامل يك گيت XOR و يك گيت OR و يك فليپ فلاپ ميباشد وروديهاي گیت OR ميتوانند شامل تعدادي يا تمام مينترمهاي توليد شده داخل ماكروسل و نيز گاها مينترمهاي توليد شده توسط ديگر ماكروسل ها باشند. کاربرد های CPLD در پست بعدی... 7 لینک به دیدگاه
3Tilla 3844 مالک اشتراک گذاری ارسال شده در 8 مرداد، ۱۳۹۲ خب من تو این پست در مورد کاربرد CPLD میگم و بعدش میریم سراغ FPGA و بعد از اون دیگه بحث خشک آشنایی با تراشه ها رو میذاریم کنار و میریم رو مبحث شیرین شبیه سازی کاربرد های CPLD: كاربردهاي منطق متصل ( Glue Logic) پیاده سازی طراجی های کنترلی و حساس و مهم مثل - کنترلر های گرافیکی - کنترل کش ( cache control) و UART ها و کنترلر های LAN تلفن های همراه همیار های دیجیتالی کاربرد های خاصی که نیاز به گیت های AND و OR است و نه فلیپ فلاپ ها کاربرد هایی که نیاز به تغییر سریع طراحی و حتی تغییر در پیکره بندی سیستم دارند مثلا در پروتکل های ارتباطی سیستم های مخابراتی آشنایی با FPGA -آرایه گیت های قابل برنامه ریزی در زمان استفاده میزان پیچیدگی CPLD ها از حدی بیشتر قابل افزایش نیست برای افزایش ظرفیت گیا های منطقی امروزه از FPGA ها و یا MPGA ها استفاده میشود.تفاوت اصلی FPGA و CPLD ها در معماری داخلی آنهاست. CPLD ها دارای تعداد بلوک های منطقی کمتر از FPGA ولی پیچیده تر از آنها میباشند. دو ویژگی بارز FPGA ها اتصالات قابل برنامه ریزی آنها و بلوک های منطقی نسبتا ساده آنهاست.-در حد یک ماکروسل- FPGA های امروزی بعضا شامل برخی توابع سطح بالا ، حافظه های درونی ،میکروپروسسور و حتی تمام ادوات لازم در یک SOPC- system on a programmable chip راشامل میباشند . مانند FPGA های Virttex-II Pro و یا Virtex 4 که شامل یک یا چند میکرو پروسسور Power PC میباشد. یک FPGA شامل آرایه ای از بلوک های منطقی می باشد که توسط کاربر قابل سازماندهی میباشد.سه بخش اصلی معماری داخلی آن شامل: آرایه ای از بلوک های منطقی اتصالات داخلی قابل برنامه ریزی بلوک های I/O بلوک های منطقی معمولا شامل تعدادی از گیت های منطقی و یا یک جدول جستجو ( lookup table) هستند که متصل به یک فلیپ فلاپ هستند. بلوک های I/O تعیین میکنن که پایه های همه منظوره FPGA به صورت ورودی یا خروجی یا دو جهته ( Bidirectional ) مورد استفاده قرار گیرند. اتصالات داخلی قابل برنامه ریزی اتصالات -دوطرفه- بین بلوک های منطقی و بلوک های I/O را برقرار میکنند.به منظور افزایش تنوع گیت های منطقی بلوک های منطقی ممکن است شامل بیش از یک LUT یا فلیپ فلاپ مانند FPGA سری XC4000 از شرکت Xilinx باشند. مطابق شکل زیر: برخی از کاربرد های FPGA : پردازش سیگنالهای دیجیتال پردازش و ذخیره سیگنال ها رادیوی تعریف شده با نرم افزار( software defined radio) نمونه سازی برای ASIC باز شناسی گفتار ( Speech Recognition ) بینایی کامپیوتر ( computer Vision ) رمزنگاری ( Cryptigraphy ) تصویر برداری پزشکی ( Medical Imaging ) سیستم های دفاعی (Defense Systems ) نمونه سازی سخت افزاری کامپیوتر محاسبه با قابلیت پیکره بندی مجدد 7 لینک به دیدگاه
ارسال های توصیه شده