VIVADO HLS نرم افزار قدرتمند برنامه نویسی برای طراحی سخت افزار
داستان از زمانی شروع شد که مهندسین نرم افزار شروع به غر زدن کردند! که طراحی سخت افزار با زبان های HDL (مانند زبانهای VHDL و Verilog ) بسیار زمان بر و طاقت فرساست.
البته باید به مهندسین نرم افزار حق داد؛ افرادی که شیرینی زبان پایتون را چشیده اند، تن به برنامه نوشتن با زبانهای HDL نخواهند داد و این داستان به جایی رسید که امروز ما می توانیم بدون نوشتن حتی یک کلمه زبان HDL یک پروژه ی کامل FPGA را انجام دهیم.
سوال : اگر در این نرم افزار، برنامه نویسی به زبان HDL نیست، پس با چه زبانی است؟
جواب : زبان های برنامه نویسی سطح بالا، زبانهای SystemC و C++ , C
در واقع برنامه هایی که با زبان سطح بالا نوشته می شود ابتدا با نرم افزار VIVADO HLS به سطح سخت افزار ترجمه میشوند سپس جهت پیاده سازی در سخت افزار در نرم افزار VIVADO سنتز می شوند.
باز هم سوال : نرم افزار VIVADO HLS چه موضوعاتی را جهت طراحی، تحت الشعاع قرار می دهد؟
جواب : در زبانهای سطح بالا یک نیروی کمکی وجود دارد که باعث گسترش این زبان ها شده است، این نیروی کمکی همان کتابخانه ها هستند، 7 نوع کتابخانه ی مختلف جهت طراحی سخت افزار نوشته شده است که در ادامه به آنها اشاره می کنیم.
قبل از معرفی این 7 کتابخانه شاید برای شما سوال شود که اصلا کتابخانه چیست؟ مثلا وقتی در زبان C می نویسیم #include چه اتفاقی در پشت صحنه افتاده است؟ باید بگوییم که کتابخانه ها فقط کدهای آماده ای هستند که یک سری افراد که خداخیرشون بده از قبل نوشتن که کار ما رو راحت کنند.
7 کتابخانه نرم افزار VIVADO HLS
اما 7 کتابخانه ای که گفتیم که در واقع 7 خان رستم هستند کدامند؟
۱_ کتابخانه ی پردازش سیگنال دیجیتال (DSP).
۲_ کتابخانه ی پردازش تصویر (Opencv).
۳_ کتابخانه هایی که عرض بیت متغیرها و ورودی خروجی ها را مشخص می کنند.
۴_ کتابخانه هایی که داده ها را جهت پردازش و یا تبدیل به ماتریس در یک حافظهFIFO قرار می دهند.
۵_ کتابخانه ی توابع ریاضی (Math.h)
۶_ کتابخانه هایی که از ip های از پیش طراحی شده استفاده می کنند.
۷_ کتابخانه ی توابع جبری و ماتریسی.
![vivado hls - iranfpga](https://files.virgool.io/upload/users/244301/posts/lcc5icooar1c/yzijpes7fdyd.jpeg)