رفتن به مطلب

مختصری در مورد تراشه های fpga


پست های پیشنهاد شده

مختصری در مورد تراشه های FPGA

 

هر چه مدار بزرگتر و پیچیده تر باشد اشتباهات بیشتر و عیب یابی مشكلتر خواهد بود . اینجاست که نقش آی سی های FPGA نمایانتر می شود

 

1515378111962386219111301819525311255208.jpg

 

شاید تا بحال مدارهای منطقی را بوسیله گیتهای NOT , OR , AND ساخته اید . برای ساخت چنین مدارهایی ( از قبیل شمارنده ها ، کنترل کننده ها و ... ) ابتدا باید تعریفی از مدار در دسترس باشد سپس با توجه به منطق اعداد دودویی یك جدول صحت برای مدار تشكیل می شود و حالتهای مختلف مورد بررسی قرار می گیرد سپس با توجه به جدول صحت مدار توسط گیتهای منطقی مانند NAND , NOT , OR , AND طراحی می شود.

 

پس از این مرحله نوبت به پیاده سازی مدار بر روی برد توسط آی سی های منطقی می رسد و همانطور که می دانید یكی از وقتگیرترین و خسته کننده ترین مرحله ساخت یك مدار همین قسمت است . بعد از این مرحله نوبت به تست مدار جهت اطلاع از درستی مراحل کار کرد مدار می رسد . اگر در یكی از مراحل قبل دجار اشتباه شده باشیم مطمئناً در مرحله تست مدار دچار مشكل می شویم . در صورت اشتباه در مراحل قبل باید تمام مراحل را از آخر به اول یك به یك چك کنیم تا بتوانیم

 

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

 

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

-----------------------------------------------------------------------------------------------------------------------------------------------------------

آی سی هایی که با داشتن انواع گیتهای مختلف درون خود بسیاری از مشكلات ناشی از عیب یابی مدارهای منطقی را برطرف کرده است

 

لینک ارسال

اصول مدار داخلی FPLD ها

 

در مقاله قبلی در مورد آی سی های FPGA صحبت کردیم FPGA یک آی سی مدار مجتمع قابل برنامه ریزی است.

آی سی های قابل برنامه ریزی با نامهای FPGA یا CPLD ها با نام کلی FPLD ها شناخته می شوند FPLD ها شامل گیتهای منطقی و ابزارهایی جهت اتصال آنها در یك مدار مجتمع می باشند

 

238223992121593636143219131631417416813192.jpg

 

با استفاده از نرم افزار های موجود مشخص می شود که گیتهای داخل یك device مثلا یک مدار چگونه می تواند جهت ساخت یك مدار منطقی به هم وصل شوند خروجی برنامه یك فایل باینری است که داخل FPLD , download می شود تا باعث شود FPLD مانند یك مدار منطقی عمل کند سپس FPLD برنامه ریزی شده می تواند داخل یك مدار بزرگتر قرار گیرد در واقع به زبان ساده تر ما FLDP ها را برنامه ریزی می کنیم و سپس مورد استفاده قرار می دهیم

 

این device در واقع از PLA ها (programmable logic Array) نتیجه شده اند ساختمان یك PLA شامل چند گیت AND چند گیت OR و inverter ها می باشد که از طریق آرایه سوئیچها به هم متصل می شوند . در یك PLA هر ورودی و معكوس شده آن توسط سیستمهای افقی از داخل یك گیت AND عبور داده می شوند . گیتهای AND ورودیها را از طریق به هم بستن سیستمهای افقی و عمودی دریافت می کنند . سیستمهای عمودی خروجیهای گیتهای AND را وارد آرایة گیتهای OR می کنند . در این قسمتها سیمهای افقی که ورودیها را به گیتهای OR می برند به این سیمهای عمودی متصل می شوند . گاهی اوقات از آرایه منطقی قابل برنامه ریزی PAL ساده تری استفاده می کنند مدارات PLA و PAL برای منطق ترکیبی موثرند ولی برای منطق ترتیبی بدون اضافه کردن فلیپ فلاپهای خارجی قابل استفاده نیستند . در FPGA ها سه LUT و دو فلیپ فلاپ و بعضی مدارهای اضافی جهت ایجاد یك CLB به هم متصل می شوند.

 

شاید کمی به نظر کسانی که با مدارات قابل برنامه ریزی کار نکرده باشند گنگ به نظر برسد ولی در ادامه به بررسی مفصل تر و کاربرد های این نوع مدارات خواهیم پرداخت که قابل فهم تر گردد.

لینک ارسال
  • 5 months later...
  • 5 months later...

FPGA چیست ؟

FPGA ها نسل جدید مدارهای مجتمع دیجیتال قابل برنامه ریزی هستند که عبارت FPGA از سر کلمه های Field Programmable Logic Gate Array گرفته شده است . سرعت اجرای توابع منطقی در FPGA ها بسیار بالا و در حد نانو ثانیه است . اگر بخواهیم FPGA ها را به طور ساده تشریح کنیم ، عبارت است از یک تراشه که از تعداد بالایی بلوک منطقی - LB (Logic Block) ، خطوط ارتباطی و پایه های ورودی / خروجی (IOB) تشکیل شده است که به صورت آرایه ای در کنار یکدیگر قرار دارند . خطوط ارتباطی که وظیفهء آنها ارتباط بین بلوک های منطقی است از سوئیچ های قابل برنامه ریزی تشکیل شده اند . این سوئیچ ها بسته به نوعی که دارند ، برخی تنها یکبار قابل برنامه ریزی هستند و برخی به تعداد دفعات زیادی برنامه ریزی می شوند .

بلوک های منطقی نیز دارای انواع مختلفی هستند که عموما توسط المانی پایه ، تمامی توابع منطقی را ایجاد می کنند . به عنوان مثال بلوک های منطقی در خانواده ACT-1 از شرکت Actel ، با پایهء مالتی پلکسری عمل می کنند . به این معنا که توسط مالتی پلکسر ، توانایی ایجاد توابع منطقی مختلف را دارند .

البته تعداد ورودی های هر بلوک منطقی متفاوت است و به نوع FPGA مربوط می شود . به عنوان مثال بلوک های منطقی در خانوادهء ACT-1 ، از نوع 8 ورودی است . البته در برخی موارد به بلوک های منطقی ، سلول های منطقی نیز گفته می شود (LC) .

بلوک دیاگرام یک FPGA به طور ساده در شکل زیر نشان داده شده است .

 

 

fpga_001.gif

 

 

 

البته بسیاری از سلول های منطقی بر اساس جداول LUT ساخته می شوند . LUT از تعدادی سلولهای حافظه SRAM تشکیل می شود که در هنگام برنامه ریزی FPGA ، مقدار دهی می شوند . به طور خلاصه LUT عبارت است از تولید توابع آماده برای استفاده در سلول های منطقی .

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

 

 

fpga_002.gif

 

 

نکته :

 

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

علاوه بر اجزای گفته شده ، ممکن است برخی قسمت های داخلی نیز برای FPGA تعبیه شده باشد ، نظیر ALU و ... که بستگی به طراحی شرکت سازنده دارد .

 

 

 

کاربرد FPGA :

 

FPGA در پیاده سازی توابع نسبتا پیچیده و پیچیدهء دیجیتال به کار می روند که نیاز به سرعت پردازش بالایی دارد . علاوه بر این کاهش سخت افزار مورد نیاز و همچنین برنامه نویسی ساده و استاندارد نیز از دیگر مزیت های استفاده از FPGA است .

 

 

برنامه نویسی و طراحی با FPGA :

 

برنامه نویسی و طراحی مدارات با FPGA ها به طور کلی به 2 صورت انجام می شود .

- با استفاده از زبان های توصیف سخت افزاری مانند VHDL ، AHDL ، HDL و ...

- با استفاده از طراحی مدار

 

این عمل توسط نرم افزارها و ابزارهای برنامه ریزی مختص به هر خانواده انجام می شود که توسط شرکت های سازنده در اختیار طراحان قرار می گیرد . به عنوان نمونه MAX + Plus || و QUARTUS || ابزار های برنامه ریزی FPGA های ساخت شرکت ALTERA هستند

لینک ارسال
  • 5 years later...

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...