FPGA چیست

تراشه های Field Programmable Gate Arrays یا همان FPGA برای توسعه سخت افزارهای دیجیتالی پیچیده و اجتناب از ساخت برد هایی با تراشه های گسسته به وجود آمده اند. با استفاده از تراشه های FPGA ، بردهایی که قبلا با تعداد زیادی از تراشه های دیجیتال ساخته می شدند، در یک تراشه FPGA با سرعت بالاتر و از همه مهمتر با امکان به روز رسانی Update کردن سخت افزار، پیاده سازی می شوند.
استفاده از FPGA این امکان را به ما می دهد تا طرح های سخت افزاری در ابعاد کوچکتر و با قیمت پایین تر ساخته شوند. عیب یابی طرح دیجیتالی که در داخل FPGA پیاده سازی شده به دلیل وجود نرم افزارهای شبیه سازی قدرتمند، بسیار ساده تر است. بسیاری از قطعاتی که در پروژه های دیجیتال مورد استفاده قرار می گیرند (مانند Dual port ram ، DSP Module ، Digital Synthesizer ، FIFO و انواع کدر ها و دیکدر ها ، Ethernet Core ،  FFT Module و …) به صورت Soft Core در داخل FPGA به راحتی قابل پیاده سازی بوده و در داخل کتابخانه استاندارد نرم افزار ISE وجود دارند. استفاده ازSoft Core پردازنده هایی نظیر ARM در داخل FPGA ، این تراشه را به ابزاری قدرتمند برای پیاده سازی انواع طرح های پردازش سیگنال (که نیاز به پردازش سریال دارند) تبدیل کرده است. امروزه بسیاری از شرکت های بزرگ سازنده تراشه ASIC ، طرح های خود را بر روی FPGA تست وVerify می کنند زیرا امکان سنتز مدار تا سطح ترانزیستور در تراشه های FPGA وجود دارد.
با استفاده از زبان توصیف سخت افزار ( Verilog  یا VHDL ) شما می توانید طرح و ایده سخت افزاری خود را بسته به نیاز و تبحر در سخت افزار، در یکی از سطوح توصیف رفتاری (توصیف سیستمی با ساختاری شبیه زبان C ) ، سطح Register Transfer Level یا همان RTL با استفاده از گیت ها و فیلیپ فلاپها و یا حتی در سطح ترانزیستور پیاده سازی نمایید و یا اینکه در محیط شماتیکی مدار مورد نظر خود را ترسیم و سنتز نمایید. هر تراشه FPGA دارای تعداد زیادی (بیش از 100 ) پایه ورودی خروجی I/O عمومی می باشد که هر کدام از این I/O ها می توانند به دلخواه، بسته به طرح PCB ،  برای ارتباط با دنیای خارج مورد استفاده قرار گیرند. I/O های FPGA از انواع استانداردهای ارتباطی مانند (LVCMOS ، LVTTL ، SSTL ، GTL ، HSTL ، PCI و …) پشتیبانی کرده و می توان این تراشه را بدون هیچ مدار واسطی به انواع SDRAM ها ، رم های DDR ، تراشه های DSP ، A/D ، D/A و سایر تراشه های دیجیتال متصل کرد. در عین حال می توان Soft Core  های لازم برای کنترل رم های ساخت شرکتهای مختلف را توسط MIG – Memory Interface Generator به صورت اتوماتیک تولید کرده و از آنها در داخل FPGA استفاده نمود.
برای آشنایی و کسب مهارت در طراحی دیجیتال با استفاده از FPGA نیاز به یک برد توسعه سخت افزاری (Development Board) می باشد. با استفاده از این برد و با به کارگیری انواع ماژول ها و تراشه های لازم بر روی آن، می توان از امکانات  FPGA استفاده نموده و طراحی های دیجیتالی از نوع ساده تا پیشرفته را بر روی این برد ها انجام داد.

Tags: , , ,