اینتل - لوگونرم افزار محیط شبیه سازی واحد عملکردی
راهنمای کاربر

درباره این سند

این سند نحوه شبیه سازی را شرح می دهدampواحد عملکردی شتاب دهنده (AFU) با استفاده از اینتل
محیط شبیه سازی واحد عملکردی شتاب دهنده (AFU) (ASE). برای جزئیات جامع در مورد قابلیت‌های ASE و معماری داخلی، به راهنمای کاربر محیط شبیه‌سازی (ASE) واحد عملکردی شتابدهنده اینتل (AFU) مراجعه کنید.
محیط شبیه‌سازی واحد عملکردی شتابدهنده اینتل (AFU) یک محیط شبیه‌سازی سخت‌افزاری و نرم‌افزاری برای هر کارت شتاب برنامه‌پذیر FPGA اینتل (Intel FPGA PAC) است. این محیط شبیه سازی نرم افزاری در حال حاضر از PAC های FPGA اینتل پشتیبانی می کند: 10 GX FPGA

  • کارت شتاب قابل برنامه ریزی FPGA اینتل D5005
  • کارت شتاب قابل برنامه ریزی اینتل با Intel Arria®
    ASE یک مدل تراکنشی برای پروتکل Core Cache Interface (CCI-P) و یک مدل حافظه برای حافظه محلی متصل به FPGA ارائه می دهد.
    ASE همچنین انطباق واحد عملکردی شتاب دهنده (AFU) را با پروتکل ها و API های زیر تأیید می کند:
  • مشخصات پروتکل CCI-P
  • آوالون
    مشخصات رابط نقشه برداری حافظه (Avalon-MM).
  • موتور شتاب‌پذیر قابل برنامه‌ریزی باز (OPAE)®

جدول 1. مجموعه شتاب برای پردازنده Intel Xeon® با واژه نامه FPGA

مدت مخفف توضیحات
Intel Acceleration Stack برای پردازنده Intel Xeon® با FPGA پشته شتاب مجموعه‌ای از نرم‌افزار، سیستم‌افزار و ابزارهایی که اتصال بهینه‌سازی عملکرد را بین یک FPGA اینتل و یک پردازنده Intel Xeon فراهم می‌کند.
کارت شتاب قابل برنامه ریزی FPGA اینتل (Intel FPGA PAC) اینتل FPGA PAC کارت شتاب دهنده PCIe* FPGA.
حاوی یک مدیر رابط FPGA (FIM) است که با یک پردازنده Intel Xeon از طریق یک گذرگاه PCIe جفت می شود.
پلتفرم مقیاس پذیر Intel Xeon با FPGA یکپارچه پلت فرم یکپارچه FPGA پلتفرم Intel Xeon plus FPGA با Intel Xeon و FPGA در یک بسته واحد و اشتراک حافظه کش منسجم از طریق Ultra Path Interconnect (UPI).

اطلاعات مرتبط
راهنمای کاربر شبیه سازی محیط شبیه سازی واحد شتاب دهنده اینتل (AFU)

شرکت اینتل تمامی حقوق محفوظ است. اینتل، لوگوی اینتل و سایر علائم اینتل علائم تجاری Intel Corporation یا شرکت های تابعه آن هستند. اینتل عملکرد FPGA و محصولات نیمه هادی خود را با مشخصات فعلی مطابق با ضمانت استاندارد اینتل تضمین می کند، اما این حق را برای خود محفوظ می دارد که در هر زمان بدون اطلاع قبلی، در هر محصول و خدماتی تغییراتی ایجاد کند. اینتل هیچ مسئولیت یا مسئولیتی را که ناشی از کاربرد یا استفاده از هر گونه اطلاعات، محصول یا خدماتی است که در اینجا توضیح داده شده است، بر عهده نمی گیرد، مگر اینکه صراحتاً به صورت کتبی توسط اینتل موافقت شده باشد. به مشتریان اینتل توصیه می شود قبل از تکیه بر اطلاعات منتشر شده و قبل از سفارش محصولات یا خدمات، آخرین نسخه مشخصات دستگاه را دریافت کنند.
*اسامی و برندهای دیگر ممکن است به عنوان دارایی دیگران ادعا شود.
ISO 9001:2015 ثبت شده است

سیستم مورد نیاز

در اینجا سیستم مورد نیاز برای محیط شبیه سازی واحد عملکردی شتاب دهنده اینتل (AFU) (ASE) آمده است:

  • یک سیستم عامل لینوکس 64 بیتی. این نسخه سیستم عامل های زیر را تأیید می کند:
    - برای Intel FPGA PAC D5005:
  • RHEL 7.6 با هسته 3.10.0-957
    - برای Intel PAC با Intel Arria 10 GX FPGA:
  • RHEL 7.6 با هسته 3.10.0-957
  • اوبونتو 18.04 با هسته 4.15
  • یکی از شبیه سازهای زیر:
    — 64 بیتی Synopsys* VCS-MX-2016.06-SP2-1 RTL Simulator
    — 64 بیتی منتور گرافیک* Modelsim SE Simulator (نسخه 10.5c)
    - شبیه ساز 64 بیتی منتور گرافیک QuestaSim (نسخه 10.5c)
  • کامپایلر C: GCC 4.7.0 یا بالاتر
  • CMake: نسخه 2.8.12 یا بالاتر
  • کتابخانه گنو سی: نسخه 2.17 یا بالاتر
  • پایتون: نسخه 2.7
  • نرم افزار Intel Quartus® Prime Pro Edition نسخه 19.2 (1)

تنظیم محیط

قبل از اجرای ASE باید محیط شبیه سازی خود را راه اندازی کنید و نرم افزار OPAE را نصب کنید.

  1. متغیرهای محیطی زیر را برای نرم افزار شبیه سازی خود تنظیم کنید:
    • برای VCS:
    $ صادرات VCS_HOME=
    $ صادرات PATH=$VCS_HOME/bin:$PATH
    ساختار دایرکتوری نصب VCS به شرح زیر است:
    نرم افزار محیط شبیه سازی واحد عملکردی شتاب دهنده اینتل - شکل 1مطمئن شوید که سیستم شما دارای مجوز VCS معتبر است.
    • برای Modelsim SE/QuestaSim:
    $ صادرات MTI_HOME=
    $ صادرات PATH=$MTI_HOME/linux_x86_64/:$MTI_HOME/bin/:$PATH
    ساختار دایرکتوری نصب Modelsim/Questa به شرح زیر است:
    نرم افزار محیط شبیه سازی واحد عملکردی شتاب دهنده اینتل - شکل 2مطمئن شوید که سیستم شما دارای مجوز معتبر Modelsim SE/QuestaSim است.
    • برای Intel Quartus Prime Pro Edition:
    $ صادرات QUARTUS_HOME=
    ساختار دایرکتوری نصب Intel Quartus Prime به شرح زیر است:
    نرم افزار محیط شبیه سازی واحد عملکردی شتاب دهنده اینتل - شکل 3برای بررسی مجوز Modelsim، متغیر محیطی را اضافه کنید:
    صادرات $ MGLS_LICENSE_FILE=
  2. صادرات:
    صادرات $ LM_LICENSE_FILE=
  3.  آرشیو زمان اجرا را استخراج کنید fileو نصب کتابخانه های OPAE، باینری ها، شامل files و کتابخانه های ASE همانطور که در بخش توضیح داده شده است: نصب بسته نرم افزاری OPAE در راهنمای کاربر Intel Acceleration Stack Quick Start مناسب برای Intel FPGA PAC شما.

محیط شما باید به درستی برای پیکربندی و ساخت AFU تنظیم شود. به ویژه، شما باید کیت توسعه نرم افزار OPAE (SDK) را به درستی نصب کنید. اسکریپت های OPAE SDK باید روی PATH باشند و شامل شوند files و کتابخانه هایی که باید در دسترس کامپایلر C باشند. علاوه بر این، باید مطمئن شوید که متغیر محیطی OPAE_PLATFORM_ROOT تنظیم شده است. برای اطلاعات بیشتر به نصب بسته نرم افزاری OPAE مراجعه کنید.
برای اطمینان از اینکه OPAE SDK و ASE به درستی نصب شده اند، در یک پوسته، تأیید کنید که PATH شما شامل afu_sim_setup است. afu_sim_setup باید در پوشه /usr/bin یا in باشد اگر OPAE را از منبع ساخته باشید files.

اطلاعات مرتبط

  • راهنمای کاربر شبیه سازی محیط شبیه سازی واحد شتاب دهنده اینتل (AFU)
  • نصب بسته نرم افزاری OPAE
    برای Intel PAC با Intel Arria 10 GX FPGA.
  • نصب بسته نرم افزاری OPAE برای Intel FPGA PAC D5005.

شبیه سازی hello_afu در حالت Client-Server

hello_afu سابقample یک قالب ساده AFU است که رابط اصلی CCI-P را نشان می دهد. RTL حداقل الزامات یک AFU را برآورده می‌کند و به خواندن‌های ورودی/خروجی نقشه‌برداری شده با حافظه پاسخ می‌دهد تا هدر ویژگی دستگاه و UUID AFU را برگرداند.
شکل 1. hello_afu درخت فهرست

نرم افزار محیط شبیه سازی واحد عملکردی شتاب دهنده اینتل - شکل 4

توجه:
این سند استفاده می کندample> اشاره به سابقampدایرکتوری le design، مانند hello_afu در شکل بالا.
این نرم افزار حداقل الزامات اتصال به FPGA را با استفاده از OPAE نشان می دهد. RTL حداقل الزامات را برای رضایت راننده OPAE و hello_afu سابق نشان می دهدampنرم افزار le
filelist.txt را مشخص می کند files برای شبیه سازی و سنتز RTL.
برای پیکربندی و ساخت موفقیت آمیز AFU sampبنابراین، محیط شما باید به درستی تنظیم شود، همانطور که در تنظیم محیط توضیح داده شده است.

اطلاعات مرتبط

  • راهنمای کاربر شبیه سازی محیط شبیه سازی واحد شتاب دهنده اینتل (AFU)
  • تنظیم محیط در صفحه 5

توسعه AFU با OPAE SDK
در راهنمای توسعه دهنده واحد عملکردی شتاب دهنده (AFU).

4.1. شبیه سازی در حالت Client-Server

سابق زیرample flow اسکریپت های پایه ASE را معرفی می کند. شما می توانید تمام موارد قبلی را شبیه سازی کنیدampبا ASE، به جز eth_e2e_e10 و eth_e2e_e40.
شبیه سازی به دو فرآیند نرم افزاری نیاز دارد: یک فرآیند برای شبیه سازی RTL و فرآیند دوم برای اجرای نرم افزار متصل. برای ایجاد یک محیط شبیه سازی RTL، موارد زیر را در $OPAE_PLATFORM_ROOT/hw/s اجرا کنیدamples/hello_afu:
$ afu_sim_setup – منبع hw/rtl/filelist.txt build_sim
این دستور یک محیط ASE را در زیر شاخه build_sim می سازد.
برای ساخت و اجرای شبیه ساز:
$ سی دی build_sim
$ ساخت
$ ساخت سیم
شبیه ساز پیامی را چاپ می کند که برای شبیه سازی آماده است. همچنین پیامی را چاپ می کند که از شما می خواهد متغیر محیطی ASE_WORKDIR را تنظیم کنید.
یک پوسته دیگر برای شبیه سازی نرم افزار باز کنید. باید مطمئن شوید که متغیر محیطی OPAE_PLATFORM_ROOT را تنظیم کنید.
برای ساخت و اجرای نرم افزار در پوسته جدید:
$ CD $OPAE_PLATFORM_ROOT
صادرات $ ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/hello_afu/build_sim/work
$ CD $OPAE_PLATFORM_ROOT/hw/samples/hello_afu/sw
$ تمیز کردن
$ make USE_ASE=1
$ ./hello_afu

توجه:
نام مسیر خاص برای ASE_WORKDIR ممکن است متفاوت باشد. از نام مسیر ارائه شده توسط فرمان شبیه ساز استفاده کنید.
نرم افزار و شبیه ساز اجرا می شود، تراکنش ها را ثبت می کند و خارج می شود.

4.1.1. گزارش شبیه سازی Files
دایرکتوری کار شبیه سازی شکل موج، تراکنش های CCI-P و گزارش شبیه سازی را ذخیره می کند files.
مراحل زیر را کامل کنید تا view پایگاه داده شکل موج:

  1. به دایرکتوری که دستور make sim را در آن اجرا کرده اید تغییر دهید.
  2. نوع:
    $ ایجاد موج
    دستور make wave شکل موج را فراخوانی می کند viewer

4.1.2. اعلامیه های طراحی
موارد زیر file و دایرکتوری ها شبیه سازی AFU را تعریف می کنند:

  • $OPAE_PLATFORM_ROOT/hw/samples/ample>/hw/rtl/filelist.txt منابع RTL را مشخص می کند.
  • <AFU example> سابق استampدایرکتوری le همانطور که در شکل درخت دایرکتوری hello_afu نشان داده شده است.
  • filelist.txt SystemVerilog، VHDL و AFU JavaScript Object Notation را فهرست می‌کند (json.) file.
  • AFU .json رابط های مورد نیاز AFU را توصیف می کند. همچنین شامل یک UUID برای شناسایی AFU پس از دانلود در یک FPGA است.
  • hw/rtl/hello_afu.json با تنظیم afu-top-interface به ccip_std_afu، ccip_std_afu را به عنوان رابط سطح بالا تعریف می کند. ccip_std_afu رابط اصلی CCI-P شامل ساعت‌ها، تنظیم مجدد و ساختارهای CCI-P TX و RX است. سابق پیشرفته ترamples گزینه های رابط دیگر را تعریف می کند.
  • json file AFU UUID را اعلام می کند. یک اسکریپت OPAE UUID را تولید می کند. RTL UUID را از afu_json_info.vh بارگیری می کند.
  • sw/Makefile afu_json_info.h را ایجاد می کند. نرم افزار UUID را از afu_json_info.h بارگیری می کند.

4.1.3. عیب یابی شبیه سازی کلاینت-سرور
اگر دستور afu_sim_setup ناموفق بود، تأیید کنید:

  • afu_sim_setup در مسیر شما است. afu_sim_setup باید در /usr/bin یا in باشد اگر OPAE را از منبع ساخته اید files.
  • شما پایتون نسخه 2.7 یا بالاتر را نصب کرده اید.

اگر قادر به ساخت و اجرای شبیه ساز نیستید، به احتمال زیاد ابزار شبیه سازی RTL خود را به درستی نصب نکرده اید.
وقتی می‌خواهید نرم‌افزار را بسازید و اجرا کنید، اگر پیام «خطا در شمارش AFCها» را مشاهده کردید، از تنظیم USE_ASE=1 در خط فرمان make صرفنظر کرده‌اید. نرم افزار در حال جستجوی یک دستگاه FPGA فیزیکی است. برای بازیابی، مراحل دستور make clean را تکرار کنید.

سابق AFUamples

جدول 2.
سابق AFUamples
هر سابق AFUample شامل یک README مفصل است file، ارائه توضیحات عملیاتی و نکاتی در مورد نحوه شبیه سازی طرح. برای درک کامل فرآیند شبیه سازی، دوبارهview README file در هر AFU سابقampله

AFU توضیحات
سلام_مم_افو hello_mem_afu یک AFU را نشان می دهد که یک ماشین حالت ساده برای دسترسی به حافظه می سازد. دستگاه حالت قادر به چندین الگوی دسترسی به حافظه محلی است که مستقیماً به پین‌های FPGA متصل شده است، مانند DDR4 DIMM. این حافظه از حافظه میزبان قابل دسترسی از طریق CCI-P متمایز است. میزبان دستگاه حالت کنترل کننده hello_mem_afu را با استفاده از درخواست های I/O (MMIO) با نقشه حافظه برای کنترل و ثبت وضعیت (CSR) مدیریت می کند.
hello_intr_afu hello_intr_afu ویژگی وقفه برنامه را در ASE نشان می دهد.
DMA و f1.1 (2) _ dma_afu یک بلوک ساختمانی پایه DMA را برای انتقال حافظه میزبان به FPGA، FPGA به میزبان و FPGA به FPGA نشان می دهد. هنگام شبیه سازی این AFU، اندازه بافر مورد استفاده برای انتقال DMA کوچک است تا زمان شبیه سازی معقول بماند. برای اطلاعات بیشتر، به راهنمای کاربر واحد عملکردی شتاب دهنده DMA (AFU) مراجعه کنید.
nlb_mode_O nlb_mode_O یک سیستم CCI-P است که تست کپی حافظه را نشان می دهد. $0PAE_PLATFORM_ROOT/ sw/opae—cre/ease number>/sample/hello_fpga . c شامل nlb_mode_0 است.
$ sh regress.sh -a -r rtl_sim
-s < vcslmodelsimlquesta > [-i )
streaming_dma streaming_dma نحوه انتقال داده بین حافظه میزبان و پورت جریان FPGA را نشان می دهد. برای اطلاعات بیشتر، به راهنمای کاربر واحد عملکردی شتاب دهنده جریان DMA (AFU) مراجعه کنید.
سلام_افو hel lo_a fu یک AFU ساده است که رابط اصلی CCI-P را نشان می دهد. RTL حداقل الزامات یک AFU را برآورده می‌کند و به خواندن MMIO پاسخ می‌دهد تا سرصفحه ویژگی دستگاه و UUID AFU را برگرداند.

اطلاعات مرتبط

  • راهنمای کاربر واحد عملکردی شتاب دهنده DMA (AFU).
    برای اطلاعات در مورد نحوه کامپایل و اجرای dma_afu در Intel PAC خود با Intel Arria 10 GX FPGA.
  • راهنمای کاربر واحد عملکردی شتاب دهنده DMA (AFU).
    برای اطلاعات در مورد نحوه کامپایل و اجرای streaming_dma_afu در Intel PAC خود با Intel Arria 10 GX FPGA.
  • راهنمای کاربر واحد عملکردی شتاب دهنده DMA: کارت شتاب قابل برنامه ریزی Intel FPGA D5005
    برای اطلاعات در مورد نحوه کامپایل و اجرای dma_afu در Intel FPGA PAC D5005.
  • راهنمای کاربر واحد عملکردی شتاب دهنده جریان DMA: کارت شتاب قابل برنامه ریزی Intel FPGA D5005
    برای اطلاعات در مورد نحوه کامپایل و اجرای dma_afu در Intel FPGA PAC D5005.

عیب یابی

اگر خطای زیر در حین شبیه سازی ظاهر شد، با انجام مراحل زیر آن را اصلاح کنید.
پیغام خطا
# [SIM] احتمالاً یک نمونه ASE هنوز در فهرست فعلی در حال اجرا است!
# [سیم کارت] PID 28816 را بررسی کنید
# [SIM] شبیه سازی خارج می شود... می توانید از SIGKILL برای از بین بردن فرآیند شبیه سازی استفاده کنید.
# [SIM] همچنین بررسی کنید که .ase_ready.pid باشد file قبل از ادامه حذف می شود. راه حل

  1. kill ase_simv را تایپ کنید تا فرآیندهای شبیه سازی زامبی را از بین ببرید و هر گونه موقتی را حذف کنید fileتوسط فرآیندهای شبیه سازی ناموفق یا قفل شدن ها پشت سر گذاشته شده است.
  2. ase_ready.pid را حذف کنید file، در فهرست راهنمای $ASE_WORKDIR یافت می شود.

بایگانی راهنمای کاربر شروع سریع ASE

نسخه پشته شتاب اینتل راهنمای کاربر
2.0 راهنمای کاربر شروع سریع محیط شبیه سازی (ASE) واحد عملکردی شتاب دهنده اینتل (AFU)
1. راهنمای کاربر شروع سریع محیط شبیه سازی (ASE) واحد عملکردی شتاب دهنده اینتل (AFU)
1. راهنمای کاربر شروع سریع محیط شبیه سازی (ASE) واحد عملکردی شتاب دهنده اینتل (AFU)
1.0 راهنمای کاربر شروع سریع محیط شبیه سازی (ASE) واحد عملکردی شتاب دهنده اینتل (AFU)

راهنمای استفاده از تاریخچه ویرایش سند برای ASE Quick Start

نسخه سند نسخه پشته شتاب اینتل تغییرات
2020.03.06 1.2.1 و 2.0.1 موارد زیر را به روز کرد:
• سیستم مورد نیاز
2019.08.05 2.0 • نسخه Intel Quartus Prime Pro Edition را در سیستم مورد نیاز به روز کرد.
• hello_afu را در AFU Ex اضافه کردamples
• اطلاعات مربوط به شبیه سازی در حالت رگرسیون حذف شد.
• اضافه شدن یک بخش جدید: ASE Quick Start User Guide Archives.
2018.12.04 1. پشتیبانی از اوبونتو اضافه شد.
2018.08.06 1. سیستم مورد نیاز، ساختار دایرکتوری و مربوطه را به روز کرد fileنام ها
2018.04.10 1.0 انتشار اولیه

683200 | 2020.03.06
مرکز پیوند TCL HH42CV1 - نماد 8ارسال بازخورد

اسناد / منابع

نرم افزار محیط شبیه سازی واحد عملکردی شتاب دهنده اینتل [pdfراهنمای کاربر
واحد عملکردی شتاب دهنده، نرم افزار محیط شبیه سازی، محیط شبیه سازی واحد عملکردی شتاب دهنده، نرم افزار، نرم افزار محیط شبیه سازی واحد عملکردی شتاب دهنده

مراجع

نظر بدهید

آدرس ایمیل شما منتشر نخواهد شد. فیلدهای الزامی مشخص شده اند *