HEXALINX
516 subscribers
147 photos
4 files
74 links
این آغاز ماجراجویی شماست...
آموزش رایگان برنامه نویسی FPGA و ZYNQ و ابزارهای طراحی XILINX

پرسش و پاسخ:
@ask_linx

آدرس سایت:
hexalinx.com

آدرس کانال آپارات:
aparat.com/hexalinx

آدرس اینستاگرام:
insatagram.com/hexalinx_go
Download Telegram
#ChipScope_Pro
#ILA
#Essentials
معرفی ChipScope Pro

شرکت Xilinx برای تسهیل فرایند فراخوانی ILA IP Core در نرم افزار ISE از مجموعه ابزاری به نام ChipScope Pro استفاده می کند، این مجموعه ابزار به طراح اجازه می دهد، بعد از سنتز طرح، یک واحد مانیتورینگ ILA را به نت لیست های سنتز اضافه کند، این کار با استفاده از یک محیط گرافیکی که امکان جستجوی سیگنال ها در آن وجود دارد، انجام می شود. با فراخوانی ChipScope Pro بعد از تعیین پارامترهای مورد نیاز برای نمونه برداری، می توان بسادگی ارتباط میان ILA و کلیه سیگنال ها را برقرار کرد.

در حالت کلی ابزار ChipScope Pro متشکل از دو IP Core یا هسته است که اولی ChipScope Pro Core Inserter و دومی ChipScope Pro Analyzer نام دارد. هسته اول بعد از سنتز و دومی بعد از پیاده سازی روی سخت افزار مورد استفاده قرار می گیرد.

@Hexalinx
#Static_Leakage_Power
#Static_Power
#Dynamic_Power
#Essentials

توان مصرفی در FPGA

تراشه های FPGA به طور کلی توان مصرفی بالاتری نسبت به DSP ها و MCU ها دارند، ولی به دلیل توان پردازشی بالا استفاده از آنها در بسیاری از موارد بهترین راه حل است. توان مصرفی در FPGA از سه جز مهم تشکیل شده است که عبارتند از:

1️⃣ توان استاتیک نشتی قطعه: توان مورد نیاز برای روشن نگه داشتن قطعه پیش از پیکره بندی است. این توان مصرفی ناشی از جریان نشتی گیت ترانزیستورها است و صرف آماده پیکره بندی نگه داشتن FPGA می شود.

2️⃣ توان استاتیک طراحی: توان مصرفی قطعه زمانی که هنوز هیچ فعالیتی روی منابع وجود ندارد و هنوز قطعه زیر بار قرار نگرفته است. در این حالت علی الرغم پیکره بندی FPGA هنوز هیچ کدام از سیگنال ها و پورت های آن تغییر وضعیت نمی دهند.

3️⃣ توان دینامیک طراحی: توان مصرفی ناشی از زیر بار قرار گرفتن قطعه است و کاملا وابسته به طرح و منابع بکارگرفته شده در آن می باشد. منابع مسیر یابی و ولتاژ کاری مورد استفاده برای بخش های مختلف تراشه نیز روی مصرف توان دینامیک تاثیر می گذارند.

@Hexalinx
#Vivado
#Essentials

معرفی Vivado

سال 2010 شرکت Xilinx پس از معرفی تراشه های برنامه پذیر (FPGA) سری 7 ادعا کرد اقدامات بسیار وسیعی برای پایین آوردن قیمت، بالا بردن کارایی و کاهش توان مصرفی تراشه های FPGA انجام داده است و یک سال بعد اولین سری از تراشه های خانواده Zynq را که در آن تراشه FPGA با هسته پردازشی ARM تجمیع شده بود به بازار معرفی کرد. سپس در سال 2012 به صورت رسمی اولین نسخه از محیط توسعه یکپارچه Vivado برای کار با این تراشه ها را عرضه کرد و اعلام کرد به زودی پشتیبانی از نرم افزار قدیمی خودش یعنی ISE را خاتمه می دهد، و از کاربران درخواست کرد از این محیط جدید برای طراحی های آتی خود استفاده کنند.
شرکت Xilinx نرم افزار جدید خود را این چنین معرفی کرد.
این یک محیط کاملا یکپارچه طراحی (IDE) با نسلی کاملا جدید از ابزارهای مورد نیاز برای انتقال سیستم به درون یک تراشه است و شامل سنتز سطح بالا (HLS) ، سنتز آر تی ال (RTL) ، مسیر یابی و جانمایی تحلیلی (Place & route) و موتور کنترل زمانبندی پیشرفته مبتنی بر SDC است. این بدین معناست که توسعه دهندگان می توانند بهره وری خود را با شتاب 4 برابر افزایش دهد.

@Hexalinx
#Book
#Intermediate
معرفی و دانلود کتاب طراحی FPGA با استفاده از Vivado
@Hexalinx
#ZYNQ
#SOC
#Essentials
تراشه ZYNQ چیست؟

برخلاف تصور ZYNQ یک نوع FPGA نیست. در حقیقت یک سیستم روی تراشه (SOC) هست. این تراشه کاملا انعطاف پذیر است و در آن یک FPGA در کنار یک یا چند پردازنده ARM قرار گرفته است. علاوه بر این تمامی واسط های پرکاربرد نیز روی تراشه به صورت اختصاصی در نظر گرفته شده است. با استفاده از باس های AXI ارتباط کاملی بین بخش پردازنده و بخش برنامه پذیر شکل گرفته است و این امکان به طراح داده می شود تا هر جا نیاز به استفاده از یک شتاب دهنده در کنار پردازشگر قدرتمند داشته باشد، از این قابلیت استفاده کند.

اولین سری از این تراشه ها در سال 2012 عرضه شد و تحت عنوان ZYNQ-7000 نام گذاری شدند. و سپس سری در سال های بعد تراشه های قدرتمندتر ZYNQ-UltraScale plus عرضه شدند.

@Hexalinx
#ZYNQ
#MIO, #EMIO
#Intermediate
مفهوم MIO و EMIO در تراشه های ZYNQ

تراشه ZYNQ بیش از 20 اینترفیس دارد که برحسب نیاز قابل استفاده هستند. دسترسی این اینترفیس ها به سایر منابع روی بورد هم از طریق IO های سمت پردازنده (ARM) و هم از طریق IO های سمت برنامه پذیر (FPGA) امکان پذیر است. در حالت کلی این اینترفیس ها می توانند به صورت مستقیم از طریق یکسری مالتی پلکسر اختصاصی Multiplexed I/Os - MIO به IO های پردازنده متصل شوند. و یا با استفاده از مالتی پلکسرهای اضافی Extended Multiplexed I/Os - EMIOs به سمت بخش برنامه پذیر تراشه و IO های آن هدایت شوند.

@Hexalinx
#Xilinx_Power_Estimator
#XPE
#Intermediate
تخمین توان مصرفی

تخمین توان مصرفی قبل از اتمام فرایند طراحی و پیاده سازی کار بسیار دشواری است، اما برای دستیابی به یک طراحی سخت افزاری مناسب، مصرف توان و مشخصات دمایی تراشه های FPGA و SoC بایستی در اولین گام های چرخه طراحی مشخص شوند. آنالیز دقیق و سخت گیرانه توان مصرفی این امکان را فراهم می آورد که هم سیستم خنک گنندگی بهتر و هم مدارات تغذیه بهینه تری برای محصول نهایی در نظر گرفته شود. برای تخمین توان مصرفی یکسری فرمول نیاز است که این فرمول ها در قالب ابزار Xilinx Power Estimator- XPE توسط Xilinx ارائه شده است. این ابزار در واقع مجموعه ای از صفحات Excel است که با استفاده از آن طراح می تواند تخمینی از شرایط دمایی و مصرف توان تراشه را محاسبه کند. این ابزار کاملا با ISE و Vivado سازگار است و به صورت رایگان قابل دانلود و استفاده است.

https://www.xilinx.com/products/technology/power/xpe.html

@Hexalinx
🌐 سوالات کاربران

✳️ کاربرد شبیه سازی post synthesize چیست؟ با وجود عملکرد صحیح مدار در شبیه سازی behavioral، در شبیه سازی post synthesize سیگنال ها با کمی تاخیر شروع به تغییر وضعیت می کنند؟

در شبیه سازی post synthesize ، مدل های دقیق عناصر درون FPGA برای شبیه سازی مورد استفاده قرار می گیرند، علاوه بر این مدلی از تاخیر start up در FPGA نیز لحاظ می گردد. در حالت کلی زمانی که برنامه ریزی FPGA به اتمام می رسد، FPGA در حالت ریست باقی می ماند، دلیل تاخیر روی تغییر وضعیت سیگنال ها فراخوانی اتوماتیک واحد Global Set Reset – GSR است. تاخیر ناشی از این ریست سراسری در شبیه سازی post synthesize مدل می شود.

@ask_linx
@Hexalinx
شاید این سوال برای همه طراحان تراشه های FPGA و SoC وجود داشته باشه که چرا Xilinx تا این حد روی موضوع توسعه open source سیستم ها تمرکز داره، و چرا روز به روز حضورش در دنیای open-source پررنگ تر می شه. اگه واقعا علاقه مندید، با تاریخچه حضور این غول دنیای فناوری در جوامع open source آشنا بشید، توصیه می کنم با ما همراه باشید. 👇

@Hexalinx
🔖 با سلام و عرض ادب خدمت همراهان گرامی که به ما اعتماد کردید و اجازه دادید با مطالب علمی کوتاه در خدمتتون باشیم، ضمن تشکر از شما لازم می دونم جهت بهره برداری هر چه بهتر از مطالب ارائه شده چند نکته رو به اطلاعتون برسونم.

مطالب آموزشی غالبا به صورت پیوسته ارائه نمی شوند و برحسب نیاز منتشر می شوند، اما با توجه به هشتک ها به راحتی میشه بهشون دسترسی پیدا کرد.

تا به امروز مطالب در سه سطح ارائه شده اند

1️⃣ سطح اول که برای بیان مبانی کار و مفاهیم اولیه است #Essentials
2️⃣ سطح دوم که برای افرادی است که مدتی است در دنیای طراحی سخت افزاری حضور دارند و دنبال تکمیل مهارتهاشون هستند. #Intermediate
3️⃣ و سطح سوم که کاملا به طرح موضوعات پیشرفته و روز دنیا می پردازه و برای کسانی است که سالها در این حوزه فعالیت داشتند. #Advanced

بعلاوه اینکه با استفاده از هشتک های مناسب دسته بندی موضوعی روی نکات هم انجام شده، به عنوان مثال مهندسانی که تمایل داشته باشند در جریان کلیه اطلاعات ارائه شده در رابطه با تراشه Zynq قرار بگیرند، می توانند به راحتی با جستجوی #Zynq به نتیجه مطلوب خود برسند.

در آینده با راه اندازی کامل سایت، مقالات کاملا کاربردی و عمیق خدمتتان ارائه می گردد.

پیروز و سلامت باشید.

@Hexalinx
#High_Level_Synthesis
#HLS
#Advanced
سنتز سطح بالا چیست؟

زمان بر بودن پروسه طراحی سخت افزار در سطح رجیستر RTL و همچنین انعطاف پذیری پایین در اصلاح یک مدار از پیش طراحی شده از چالش های بزرگی هستند که طراحان سخت افزار در FPGA همواره با آن روبرو هستند، از این رو شرکت های سازنده تراشه FPGA همواره در صدد ارائه ابزاری جهت برنامه نویسی سطح بالا برای این تراشه ها بوده اند، در سالهای اخیر شرکت XILINX ابزار سنتز سطح بالای خود به نام VIVADO HLS را ارائه داده است و همچنین تلاش های فراوانی جهت توسعه هر چه بیشتر اون انجام داده. این ابزار می تواند الگوریتم های ارائه شده به زبان C و C++ را به مدارات RTL جهت پیاده سازی بر روی تراشه های FPGA تبدیل کند. در حقیقت HLS بعد از زبان های HDL که جایگزین طراحی شماتیک در سطح گیت شدند، گامی مهم دیگری در جهت کاهش پیچیدگی های طراحی و همچنین افزایش بهره وری است.

@Hexalinx
#Place_and_Route, #PAR
#Native_Circuit_Description, #NCD
#Intermediate
منظور از جانمایی و مسیر یابی در FPGA چیست؟

فرایند جانمایی و مسیر یابی یا همان place and route - PR فایل NCD تولید شده در فرایند MAP را تحویل می گیرد و با جانمایی عناصر موجود در طرح و برقراری ارتباطات و اتصالات بین آنها فایل NCD جدیدی تولید می کند که برای تولید بیت فایل خروجی توسط BitGen مورد استفاده قرار می گیرد.
فایل NCD فایلی است که توصیفی محلی از مدار طراحی شده را در خود ذخیره می کند.

@Hexalinx
#PYNQ
#Python
#Advanced
پروژه PYNQ چیست؟


پروژه PYNQ یک پروژه منبع باز یا Open-Source است که برای تسهیل فرایند طراحی سیستم های تعبیه شده (embedded) روی تراشه های ZYNQ توسط Xilinx ارائه شده است. در این پروژه طراحان با بکاگیری زبان برنامه نویسی و کتابخانه های پایتون قادر خواهند بود به بهترین شکل از مزایای بخش برنامه پذیر و پروسسور ARM موجود در تراشه ZYNQ استفاده کنند و سیستم های خود را توسعه دهند، در واقع PYNQ پروژه ای است که برای توسعه دهندگان نرم افزار (و نه سخت افزار) که علاقه مند به بهره گیری از قابلیت های ZYNQ هستند توسعه داده شده است.

@Hexalinx
HEXALINX pinned «لطفا به ما بگویید علاقه مند به کدامیک از موضوعات زیر هستید، با توجه به متفاوت بدون سطوح مهارتی اعضای کانال، به ما کمک کنید تا مطالبی متناسب با نیازهای شما ارائه بدهیم.»
🌐 سوالات کاربران

آیا برای FFT دو بعدی هم IP Core داریم؟
اگر نداریم چجوری باید پیاده سازی بشه، چون در FFT دو بعدی داده ها دو بار باید ترانهاده بشوند. نحوه ترانهاده کردن داده ها به چه صورته؟ در صورتی که داده های ما به صورت یک بعدی وارد FFT می شوند.

✳️ متاسفانه پاسخ به این سوال خیر است و برای FFT دوبعدی IP Core وجود نداره.
اما باید توجه داشت که ترانهاده کردن یک ماتریس در FPGA عملا هیچ عملیات اضافی نداره، در ماتریس ترانهاده فقط جای عناصر ماتریس با هم عوض میشه، چون در FPGA ماتریس ها همانند بردارها به صورت پشت سرهم ذخیره می شوند، عملا فقط با کنترل آدرس یک حافظه میشه یک ماتریس رو به صورت ساده یا به صورت ترانهاده از داخل یک حافظه بازخوانی کرد.

@ask_linx
@Hexalinx
#Basic
#CLB, #SLICE
معرفی Slice و CLB بخش اول

کلیه تراشه های شرکت Xilinx که بعد از Virtex-6 به بازار عرضه شدند تقریبا دارای منابع منطقی یکسانی هستند. برای آشنایی بیشتر با این منابع ادامه مطلب را در پست زیر مطالعه بفرمایید. 👇

@Hexalinx