برنامه نویسی

تفاوت های بین برنامه نویسی JTAG و SPI را برای FPGA توضیح دهید.

JTAG (گروه عمل تست مشترک) و SPI (رابط محیطی سریال) دو روش متداول هستند که برای برنامه نویسی FPGA استفاده می شوند. در اینجا تفکیک اختلافات آنها وجود دارد:

شرح تصویر

1. رابط و پروتکل
JTAG:

  • یک پروتکل استاندارد اسکن و اشکال زدایی مرزی.
  • از درگاه دسترسی تست (TAP) با سیگنال هایی مانند TDI (داده های تست در) ، TDO (داده های آزمایش خارج) ، TMS (انتخاب حالت تست) و TCK (ساعت تست) استفاده می کند.
  • برای دسترسی به Internals FPGA به صورت شیوه ای ثبت نام سریال فعالیت می کند.

SPI:

  • یک پروتکل ارتباطی سریال با سرعت بالا.
  • از یک معماری اصلی برده با سیگنالهایی مانند SCLK (ساعت سریال) ، MOSI (Master Out Slave In در) ، MISO (Master in Slave Out) و CS (Chip Select) استفاده می کند.
  • اغلب برای بارگیری داده های پیکربندی از یک حافظه غیر فرار (به عنوان مثال ، SPI Flash) استفاده می شود.

2. استفاده از برنامه نویسی
JTAG:

  • مورد استفاده برای پیکربندی مستقیم FPGA ، اشکال زدایی ، آزمایش اسکن مرزی و به روزرسانی های سیستم عامل.
  • برای ذخیره بیت استرث نیازی به حافظه خارجی ندارد.
  • می تواند برای اشکال زدایی در زمان واقعی و بازرسی ثبت شود.

SPI:

  • به طور معمول برای برنامه نویسی غیر فرار استفاده می شود ، جایی که FPGA پیکربندی خود را از یک حافظه SPI Flash در برق بارگذاری می کند.
  • همچنین می تواند از برنامه نویسی مستقیم FPGA پشتیبانی کند اما در درجه اول برای پیکربندی خودمختار پس از تنظیم مجدد استفاده می شود.

3. سرعت و عملکرد
JTAG:

  • سرعت متوسط ​​، معمولاً در محدوده چند مگاهرتز.
  • سرعت به دلیل ماهیت تغییر سریال پروتکل محدود است.

SPI:

  • به طور کلی سریعتر از JTAG برای بارگذاری بیت استریم.
  • SPI با سرعت بالا (Quad یا Octal SPI) می تواند زمان بوت FPGA را به میزان قابل توجهی بهبود بخشد.

4. پیچیدگی سخت افزار
JTAG:

  • نیاز به یک هدر JTAG اختصاصی و یک برنامه نویس خارجی دارد (به عنوان مثال ، کابل پلت فرم Xilinx ، Altera USB Blaster).
  • پین های بیشتری در مقایسه با SPI مورد نیاز است.

SPI:

  • به پین ​​های کمتری احتیاج دارد و می تواند مستقیماً با یک میکروکنترلر یا حافظه Flash SPI ارتباط برقرار کند.
  • اگر FPGA بتواند از یک فلاش SPI بوت شود ، نیازی به یک برنامه نویس اختصاصی نیست.

5. انعطاف پذیری
JTAG:

  • همه کاره برای اشکال زدایی ، آزمایش و برنامه نویسی مستقیم.
  • بدون نیاز به ذخیره سازی خارجی ، برنامه ریزی مجدد را امکان پذیر می کند.

SPI:

  • مناسب برای تنظیمات مستقل و مستقل.
  • به یک پردازنده تعبیه شده اجازه می دهد تا بدون نیاز به JTAG ، Bitstream را به روز کند.

6. موارد استفاده مشترک

شرح تصویر

پایان

  • از JTAG برای اشکال زدایی ، برنامه نویسی FPGA در زمان واقعی و اهداف توسعه استفاده کنید.
  • از SPI برای تولید استفاده کنید ، جایی که یک FPGA باید به صورت خودمختار پیکربندی خود را در برق بارگذاری کند.

هر روش بسته به الزامات کاربردی جای خود را دارد.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا