آموزش HLS- ساخت بلوک جمع اعداد Float با AXI Lite

در این آموزش یک تابع برای جمع اعداد float در FPGA نوشته شده است. این آموزش اهداف زیر را دمبال میکند:

  • ساخت بلوک در HLS
  • نحوه استفاده از باس AXI Lite در HLS
  • پیاده سازی محاسبات float در FPGA
  • ساخت و کامپایل از طریق اسکریپت TCL
  • استفاده از بلوک ساخته شده در VIVADO

 

پیاده سازی اعداد اعشاری در دنیای دیجیتال به دو صورت ممیز ثابت (fixed-point) و ممیز شناور (float) می باشد. در پردازنده ها اکثر زبان های برنامه نویسی از floating point پشتیبانی میکنند. اما در FPGA استفاده از اعداد FLOAT به دلیل صرف منابع زیادی از FPGA معمول نیست و زبان های HDL نیز به خودی خود از اعداد اعشاری پشتیبانی نمیکنند. در زبان سطح بالای HLS  که از فرمت زبان C++ استفاده میکند، از هر دو شکل ممیز ثابت و شناور پشتیبانی و سنتز میشود. هر چند به علت حجم بالای منابع و سرعت اجرای کم، استفاده از اعداد ممیز شناور در FPGA پیشنهاد نمیشود، اما در این مثال برای نشان دادن قابلیت های HLS از اعداد ممیز شناور استفاده شده است.

خروجی ورودی این بلوک  های با رهنمون های کامپایلر، از جنس AXI Lite تعریف شده است. باس AXI توسط شرکت ARM  طراحی شده و یکی از باس های مورد علاقه شرکت XILINX  میباشد. بگونه ای که تقریبا ورژن جدید همه IP CORE های شرکت xilinx از باس AXI استفاده میکنند. در نرم افزار ISE و VIVADO میتوانید از خروجی سنتز شده HLS استفاده کنید. اما استفاده از  HLS در نرم افزار VIVADO بسیار سادتر میباشد. نرم افزار HLS تا ورژن 15.4 از اسپارتانها پشتیابانی میکند.

تهران، دانشکده هوافضای خواجه نصیر  02173064224 info@ TakSunTec.ir

ترافیک

Today62
Yesterday71
This week458
This month1618
Total46813

Who Is Online

2
Online

خبرنامه

برای عضویت در خبرنامه ایمیل خود را وارد کنید

گالری