VIVADO Design Suite

محیط توسعه Vivado یک مجموعه نرم‌افزاری لایه لایه، کاملاً یکپارچه و مبتنی بر IP است که مجهز به نسل جدیدی از ابزارهای طراحی، مسیریابی و جانمایی می‌باشد. با Vivado HLx توسعه دهندگان می‌توانند بهره وری خود را با شتاب ۴ برابر افزایش دهد.

vivado-banner

سنتز، جانمایی و مسیریابی با Vivado

الگوریتم‌های پیشرفته‌ای که امروزه در اپلیکیشن‌های بیسیم و صنایع پزشکی و دفاعی مورد استفاده قرار می‌گیرند، پیچیده‌تر از گذشته هستند. ابزار Vivado-HLS به عنوان یک بروزرسانی کاربردی برای محیط توسعه Vivado، امکان ساخت‌ IP های سفارشی از این الگوریتم‌ها را با زبان‌های سطح بالاتر و استفاده مستقیم از آن‌ها در تراشه‌های قابل پیکره بندی FPGA را مهیا کرده است.

تجمیع IP ها با VIVADO IP Integrator

با استفاده از Vivado شیب کند نمودار طراحی‌های مرسوم RTL به یکباره افزایش پیدا کرد که یکی از دلایل آن معرفی IP Integrator به عنوان اولین محیط plug and play برای تجمیع سیستم‌های صنعتی بود. اتصال IP ها با استفاده از اینترفیس‌های استاندارد، بررسی اتوماتیک قواعد و اصول طراحی، در کنار رنج وسعی از فرامین Tcl شتاب فراوانی به فرایند تجمیع سیستم داده است. 

شبیه سازی با Vivado Simulator

شبیه سازی مدل سازی رفتار طراحی یک سخت افزاری RTL‌ در نرم افزار است. در محیط توسعه Vivado طراح قادر به آنالیز و بازبینی صحت عملکرد طرح در گام‌های مختلف طراحی و پیاده سازی با سیمولاتور اختصاصی Vivado Simulator است. نمایش شکل موج‌ها و سرعت اجرای شبیه سازی بهبود قابل توجهی نسبت نسل‌های قبلی دارد.

طراحی سیستم نهفته در IPI و SDK

طراحی سیستم‌های نهفته که متشکل از یک بخش نرم افزاری و یک سخت افزاری هستند، کار پیچیده‌ای است. در Vivado برای کار با پردازنده‌های سخت افزاری ARM در تراشه‌‌های Zynq و پردازنده نرم افزاری MicroBlaze از IP Integrator و Xilinx SDK به صورت توأمان استفاده می‌شود. این دو ابزار به خوبی با هم می‌شوند و فرایند طراحی و دیباگ را به شدت تسهیل می‌کنند.

پیکره بندی با VIVADO PROGRAMMER​

بعد از اتمام پیاده سازی، نوبت به پیکره بندی تراشه و تست عملکرد طرح روی FPGA می‌رسد. برای برنامه ریزیی تراشه یک محیط گرافیکی قدرتمند در کنار مجموعه کاملی از فرامین Tcl درون محیط یکپارچه Vivado تجمیع شده است. یکی از مهمترین ویژگی‌های Programmer قابلیت برنامه ریزی تراشه به صورت ریموت است.

دیباگ و خطایابی IP ها با VIO/ILA/IBERT

برای تسهیل فرایند دیباگ و خطایابی IP ها کافی است از مجموعه‌ کاملی از IP‌ ها که برای همین منظور توسعه داده شدند، استفاده کنید. لاجیک آنالیز داخلی، ورودی خروجی ‌های مجازی و اینترفیس Debug Hub بخش‌های اصلی این مجموعه نسبتاً بزرگ هستند. کار با مشخص کردن نقاط تست و پیکره بندی IP‌ ها شروع می‌شود و در نهایت با فراخوانی Vivado Logic Analyzer به اتمام می‌رسد.

معرفی Vivado Design Suite

سال ۲۰۱۰ شرکت Xilinx پس از معرفی تراشه‌های قابل پیکره‌ بندی (FPGA) سری ۷ ادعا کرد اقدامات بسیار وسیعی برای پایین آوردن قیمت، بالا بردن کارایی و کاهش توان مصرفی تراشه‌های FPGA انجام داده است و یک سال بعد اولین سری از تراشه های خانواده Zynq را که در آن تراشه FPGA با هسته پردازشی ARM تجمیع شده بود به بازار معرفی کرد. سپس در سال ۲۰۱۲ به صورت رسمی اولین نسخه از محیط توسعه یکپارچه Vivado Design Suite برای کار با این تراشه‌ها را عرضه کرد و اعلام کرد به زودی پشتیبانی از نرم افزار قدیمی خودش یعنی ISE Design Suite را خاتمه می دهد، و از کاربران درخواست کرد از این محیط جدید برای طراحی های آتی خود استفاده کنند.

از سال ۲۰۱۴ به بعد بیش از ۱۰ بروز رسانی برای Vivado ارائه شده است و اکنون که در سال ۲۰۲۰ هستیم، نسخه Vivado 2019.2 HLx Edition به عنوان آخرین نسخه مورد تأیید به بازار عرضه شده است. در طول این سال‌ها Xilinx تغییرات زیادی روی بخش‌های مختلف Vivado ارائه کرده است و باعث بهبود چشمگیر عملکرد آن در زمینه‌های مختلف شده است. هر چند تا رسیدن به بلوغی که بعد از دو دهه برای ISE Design Suite شکل گرفت، راه زیادی دارد.

در اقدامی بسیار غافلیر کننده، در سال ۲۰۱۸ محیط توسعه Vivado به عنوان زیر مجموعه‌ای از یک پکیج توسعه‌ای قدرتمندتر تحت عنوان SDx ارائه شد که از به عنوان نتیجه تلاش‌های چند ساله Xilinx برای تبدیل شدن از یک تولید کننده FPGA به یک تولید کننده Platform از آن یاد می‌شد. اما جالب اینجا بود که SDX در سال ۲۰۱۹ به شکل رسمی کنار گذاشته شد و پلتفرم توسعه نرم افزاری این شرکت یعنی Vitis Unified Software Platform جایگزین آن شد. در حال حاضر Vivado HLx هم به صورت یک پکیج نصبی مستقل و هم به عنوان بازوی توسعه سخت افزاری در پکیج نصبی در پلتفرم نرم افزاری Vitis قابل دانلود و نصب است.

 

شرکت Xilinx محیط توسعه Vivado را این چنین معرفی می‌کند

محیط توسعه Vivado Design Suite یک محیط کاملاً یکپارچه طراحی (IDE) با نسلی کاملاً جدید از  مجموعه ابزارهای مورد نیاز برای انتقال سیستم به درون یک تراشه است و شامل سنتز سطح بالا (HLS) ، سنتز سطح رجیستر (RTL) ، مسیر یابی و جانمایی تحلیلی (Place & route) و موتور کنترل زمانبندی پیشرفته مبتنی بر SDC است. این بدین معناست که توسعه دهندگان می‌توانند بهره وری خود را با شتاب ۴ برابر افزایش دهد.

مهمترین ویژگی‌های نسخه HLx محیط توسعه Vivado عبارت است از:

  • پیاده سازی ۴ برابر سریعتر نسبت به ISE Design Suite
  • تا ۲۰ درصد استفاده بهینه‌تر از منابع مصرفی روی تراشه
  • کاهش ۳۵ درصدی توان مصرفی با توجه به بهینه سازی استراتژی‌های پیاده سازی

قابلیت‌های کلیدی Vivado HLx

محیط گرافیکی Vivado در عین پیچیدگی نقطه قوت آن نیز محسوب می‌شود. تمامی ابزارها و تنظیمات مرتبط با این ابزارها با استفاده از Tcl نوشته شده‌اند. این بدان معناست که استفاده توأمان از محیط گرافیکی (GUI) و خط فرمان Tcl امکان پذیر است. در Vivado‌ تمامی اطلاعات پروژه در یک دیتابیس ذخیره می‌شود و از این رو امکان آنالیز و بازبینی طرح در تمامی مراحل طراحی و پیاده سازی وجود دارد و الگوریتم‌های بهینه سازی شده آن امکان بالابردن بهره وری طرح را برای کاربر فراهم آورده‌اند. مواردی همچون 

  • طراحی در سطح رجیستر (RTL) با استفاده از SystemVerilog , Verilog و VHDL
  • طراحی و تجمیع سیستم با مجموعه‌ای از هسته‌های نرم افزاری (IP Core) و IP Integrator
  • شبیه سازی رفتاری و زمانی سیستم با استفاده از Vivado Simulator
  • سنتز طرح با استفاده از Vivado Synthesizer
  • پیاده سازی، جانمایی و مسیریابی طرح با استفاده از Vivado implementation tools
  • دیباگ طرح با استفاده از Vivado serial I/O and logic analyzer
  • تخمین توان مصرفی با Vivado Power Analyzer
  • آنالیز زمانبندی ایستا با استفاده از موتور قدرتمند XDC که مبتنی بر SDC است 
  • دیباگ و خطایابی IP ها با استفاده از  VIO/ILA/IBERT و Vivado Logic Analyzer
  •  ساخت بیت فایل و پیکره بندی و دیباگ با  Vivado Programming tools
در محیط گرافیکی Vivado‌ از مفهومی به نام Open Design استفاده می‌شود که با استفاده از آن نت لیست طرح درون حافظه لود می‌شود. با این کار مجموعه ابزارها و پروسس‌هایی که در هر گام از جریان طراحی RTL مورد نیاز باشند، به صورت اتوماتیک فراخوانی و فعال می‌شوند. 

جریان طراحی در Vivado HLx

جریان سطح بالای طراحی در Vivado Design Suite در شکل زیر قابل مشاهده است. در این مدل چندین فاز برای طراحی وجود دارد و در هر فاز مجموعه‌ای از ابزارها و مفاهیم طراحی بکار گرفته می شوند. جریان طراحی در Vivado  از دو بخش اصلی تشکیل شده است. 

  • جریان طراحی مرسوم متکی بر کدهای RTL: در این مدل، طراحی با استفاده از سورس فایل‌های سطح رجیستر یا همان RTL انجام می‌شود. در این الگوی طراحی می‌توان از سورس فایل‌های Verilog ، VHDL ، SystemVerilog و XDC به شکل نامحدودی، استفاده کرد. سنتز، پیاده سازی، ارزیابی و آنالیز کدها به صورت کامل پشتیبانی می‌شود. علاوه بر این با استفاده از کتابخانه‌ها و IP Core های آماده Xilinx فرایند طراحی به شکل قابل قبولی تسهیل می‌شود.
  • جریان‌های طراحی جایگزین که عبارتند از:
    • طراحی سیستم‌های نهفته با Embedded Processor Design
    • طراحی و مدل سازی سطح بالا با Model Composer
    • طراحی و مدل سازی  بلوکی با System Generator
    • طراحی و سنتز سطح بالا با Vivado HLS
هر کدام از این شیوه‌های طراحی نیازمند بکارگیری یکی از ابزار‌های رویکردی کاملاً متفاوت نسبت به دیگری دارند و Xilinx سعی کرده است حداکثر انعطاف پذیری را به مجموعه نرم افزاری خودش تزریق کند. جریان‌های طراحی جایگزین از زبان‌های سطح بالاتر C و Matlab استفاده می‌کنند. و به عنوان یک راه حل جایگزین برای طراحان نرم افزار که همواره از پیچیدگی‌های طراحی RTL گلایه مند بودند، معرفی شده‌اند.

با توجه به نیازهای متفاوت کاربران در زمان بکارگیری جریان‌های متفاوت طراحی، بخش‌های مختلفی در پکیج نصبی محیط توسعه Vivado تجمیع شده است، که برخی از آن‌ها به صورت اجباری و برخی دیگر به صورت اختیاری قابل نصب هستند.

استانداردهای صنعتی

محیط توسعه Vivado از استاندارهای صنعتی زیر پشتیبانی می‌کند:

  • زبان برنامه نویسی سطح بالا و دینامیک TCL مخفف Tool Command Language
  • استاندارد AXI4 و IP-XACT
  • قیود طراحی Synopsys  یا SDC که مخفف عبارت Synopsys Design Constraint 
  • زبان‌های توصیف سخت افزار VHDL ، Verilog و VHDL-2008 و SystemVerilog

از کجا شروع کنم

مقالات آموزشی

مطالب آموزشی به شکل دسته بندی شده توسط تیم هگزالینکس تألیف و گردآوری شده‌اند. از مقدماتی تا پیشرفته تقریباً همه نیازها پوشش داده شده است.

دانشنامه فارسی

گذاره‌های مهم، مفاهیم کلیدی و کاربردی، همگی در قالب دانشنامه منتشر شده است. کلید واژه خودتان را جستجو کنید و پاسخ خود را دریافت کنید.

پروژه‌های کاربردی

مجموعه‌ای از پروژه‌های کاربردی در اختیار شماست. به عنوان یک نقطه شروع برای انجام طراحی‌های سفارشی خودتان استفاده کنید.

ویدئوهای آموزشی

ویدئوهی آموزشی به صورت انحصاری توسط تیم هگزالینکس تألیف یا ترجمه شده‌اند. فقط روی موضوع مورد علاقه خودتان تمرکز کنید.

کتاب‌های انگلیسی

برای دانلود و دسترسی به بهترین کتاب‌های آموزشی کافی است سری به کتابخانه هگزالینکس بزنید، تنها با چند کلیک می‌توانید آن‌ها را دانلود کنید.

دانلود نرم افزار

ابزارهای طراحی و شبیه سازی را دانلود کنید و به راحتی عملکرد مدار خودتان را بررسی کنید. برای استفاده از این ابزارها، آموزش‌های هگزالینکس را دنبال کنید.

دوره‌های آنلاین

آینده خود را طراحی کنید، این یک سرمایه گذاری بلند مدت است

سوألات متداول

ابزار Vivado HLS یک بروزرسانی برای محیط توسعه یکپارجه Vivado HLx است و طراحی در آن با زبان‌های سطح بالاتر C و ++C و System C انجام می‌شود. در حالی که برای طراحی در Vivado HLx نیاز به استفاده از زبان‌های توصیف سخت افزار Verilog و VHDL و یا IP Core های آماده Xilinx داریم. ابزار Vivado HLS‌ در بسته نصبی Vivado HLx قرار دارد و همراه با آن دانلود و نصب می‌شود.

خیر، محیط توسعه Vivado تنها از تراشه‌های سری ۷ به بعد پشتیبانی می‌کند. سری‌های UltraScale و +UltraScale و سری‌های جدید Versal همگی توسط Vivado HLx پشتیبانی می‌شوند.

در Vivado امکان بهره گیری از رنج وسیعی از سیمولاتورهای قدرتمند بازار وجود دارد. لیست سیمولاتورها و نسخه‌هایی که در Vivado پشتیبانی می‌شوند به صورت مداوم بروزرسانی می‌شوند. برای دسترسی بروزترین اطلاعات بهتر است به سایت Xilinx و یا سند UG900 مراجعه کنید. فهرست کاملی از سیمولاتورهایی که در نسخه Vivado HLx 2019.2 پشتیبانی می‌شوند را مشاهده می‌نمایید.

 Vivado simulator: Tightly integrated into the Vivado IDE, where each simulation launch appears as a framework of windows within the IDE.
Mentor Graphics Questa Advanced Simulator: Integrated in the Vivado IDE.
Mentor Graphics ModelSim Simulator: Integrated in the Vivado IDE
Cadence Incisive Enterprise Simulator (IES): Integrated in the Vivado IDE
Synopsys Verilog Compiler Simulator (VCS) and VCS MX: Integrated in the Vivado IDE
Aldec Rivera-PRO Simulator: Supported in the Vivado IDE
Aldec Active-HDL: Supported in the Vivado IDE
Cadence Xcelium Parallel Simulator: Integrated in the Vivado IDE

برای اینکار می‌توانید در هنگان ساخت پروژه جدید از ویزارد ساخت پروژه و گزینه Imported Project استفاده کنید. ولی با توجه به بروزرسانی‌های متعدد Vivado در صورتی که تعداد زیادی IP Core در طرح اولیه استفاده شده باشد. این کار چندان موفقیت آمیز نخواهد بود و احتمالاً طراحی باید از ابتدا انجام شود.

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

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

اسکرول به بالا