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

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

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

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

آدرس اینستاگرام:
insatagram.com/hexalinx_go
Download Telegram
#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
🔖 با سلام و عرض ادب خدمت همراهان گرامی که به ما اعتماد کردید و اجازه دادید با مطالب علمی کوتاه در خدمتتون باشیم، ضمن تشکر از شما لازم می دونم جهت بهره برداری هر چه بهتر از مطالب ارائه شده چند نکته رو به اطلاعتون برسونم.

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

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

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

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

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

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

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

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

@Hexalinx
#FLY_BY
#DDR3
#Intermediate
تفاوت توپولوژی Fly_by و T در اتصال حافظه های DDR3/4.

✳️ در اتصال حافظه های DDR3/4 به پردازنده و FPGAها، مسیرهای کلاک، آدرس و کنترل می‌توانند به دو صورت Fly_by یا T متصل شوند.

افزایش فرکانس کاری، کاهش مقدار و طول stub های مسیر و درنتیجه بهبود SI و زمانبندی سیگنال‌های حافظه، از مزایای توپولوژی Fly_by است. بعلاوه این توپولوژی به علت انحراف بسیار اندک زمانبندی بین سیگنال‌های گروه آدرس و گروه داده باعث کاهش نویز سوئیچینگ همزمان (SSN) می‌شود.

توپولوژی T در هنگام مسیریابی و طراحی PCB بسیار پر چالش است اما با این حال این توپولوژی نیز کاربردهای خودش را دارد.

طراحی و مسیریابی Fly_by ساده‌تر از T است. اما این توپولوژی برای فعالیت‌های با ظرفیت بالا و قطعاتی مانند LPDDR3 DDP(Double die package) یا QDP خوب کار نمی‌کند. هرچند در قطعات SDP توپولوژی Fly_by راه کم دردسرتری است.
#Hexalinx
#Static_Timing_Paths
#Intermediate
تعریف مسیرهای زمانبندی ایستا (Static Timing Paths)
مسیر زمانبندی ایستا، مسیری است که
1️⃣ از یک عنصر کلاک دار شروع می شود
2️⃣ در طول تعدادی عنصر ترکیبی و نت های متصل کننده آنها منتشر می شود و
3️⃣ به یک عنصر کلاک دار ختم می شود.
عناصر کلاک دار شامل فلیپ فلاپ ها، بلوک های ضرب کننده، حافظه ها و ... هستند.
عناصر ترتیبی شامل LUT ها، مالتی پلکسرها و ... هستند.
🔖 در عمل آنالیز زمان بندی ایستا تنها برای بخشهایی از مدار که بین دو عنصر سنکرون قرار دارند صورت می پذیرد و مسیرهای فاقد عنصر سنکرون نادیده گرفته می شوند، به بیان ساده تر آنالیز زمان بندی برای مدارات ترکیبی کاملا بی معنی است.

@Hexalinx
#Clock_Skew
#Intermediate
کجی کلاک چیست و چه عملکردی روی سیستم دارد؟

✳️ واژه کجی کلاک معادل فارسی عبارت Clock Skew است که گاها کجی زمانبندی نیز نامیده می شود. پدیده ای در مدارات دیجیتال سنکرون است که در آن دو بلوک که از یک منبع کلاک تغذیه می شوند به دلیل وجود تاخیر در مسیر کلاک متصل به آن دو عنصر در دو زمان متفاوت یا با یک تاخیر کوتاه نسبت به هم به لحاظ زمانی کلاک را دریافت می کنند.
برای تحلیل کجی کلاک و از بین بردن تاثیر منفی آن در عملکرد سیستم دو آنالیز setup time و hold time انجام می شود. برای محاسبه پارامترهای setup time و hold time لازم است، اختلاف زمانی بین تاخیر سیگنال کلاک تا عنصر سنکرون مقصد نسبت به تاخیر کلاک تا عنصر سنکرون مبدا در مسیر انتقال داده محاسبه شود (به شکل مراجعه شود)

@Hexalinx
#Intermediate

✳️ براساس توصیه Xilinx برای ساخت یک کپی از کلاک روی پین‌های تراشه و استفاده از آن خارج از FPGA بهتر است از یک الگوی خاص و استاندارد استفاده شود. این الگو Clock Forwarding نام دارد.

✳️ برای این کار باید از بلوک ODDR در داخل IOB های تراشه های سری ۷ یا بلوک ODDR2 در تراشه های Spartan 6 استفاده کرد.

✳️ برای تراشه های سری ۷ کافیست پایه D1 در ورودی ODDR به مقدار منطقی ‘1’ و پایه D2 باید به مقدار منطقی ‘0’ متصل بشود و کلاکی که باید خروجی شود به پایه C متصل شود. به این ترتیب یک کپی از کلاک روی پین تراشه قرار داده می‌شود. در این بلوک پایه‌های ست و ریست (S/R) به صورت همزمان پشتیبانی نمی‌شوند.

✳️ استفاده از ODDR2 در تراشه‌های Spartan 6 تا حدودی متفاوت است، برای خروجی کردن یک کلاک روی پایه‌های تراشه‌ها باید از DCM نیز کمک بگیریم و یک کلاک با اختلاف فاز ۱۸۰ درجه تولید کنیم. کلاک اصلی به پایه C0 و کلاک تولیدی با اختلاف فاز ۱۸۰ درجه به پایه C1 متصل می‌شود. پایه های D0 و D1 مشابه پایه‌های D1 و D2 در سری 7 هستند. استفاده همزمان از ست و ریست هم توصیه نمی‌شود و ممکن است به خطا منتهی شود.

❗️عملکرد پورت فعال ساز کلاک در هر دو primitive یکسان است و می‌تواند به فراخور نیاز بکارگرفته شوند.

@Hexalinx
#Digital_Filter
#Intermediate

پیاده‌سازی فیلتر میانگین‌گیر متحرک

✳️ فیلتر میانگین‌گیر متحرک یا فیلتر moving average یکی از ساده‌ترین انواع فیلترهای دیجیتال است. این فیلتر برای مواردی همچون حذف نویز یا هموار کردن سیگنال‌ها در حوزه زمان بکار گرفته می‌شود. مشخصات فیلتر میانگین‌گیر با توجه به کاربرد مد نظر متفاوت است.

اگر علاقه دارید با نحوه پیاده سازی این فیلتر آشنا شوید. آموزش زیر را در سایت هگزالینکس مطالعه بفرمایید. 👇

http://hexalinx.com/programming/moving-average-filter/

@Hexalinx
#Intermediate
#Clock_Gating

گیت کردن کلاک یا Clock Gating چیست؟ آیا مجبوریم برای کنترل کلاک از مفهوم Clock Gating استفاده کنیم؟

✳️ مواردی وجود دارد که در یک طرح مجبوریم بین دو یا چند کلاک سوئیچ کنیم و یا برای کنترل توان مصرفی تراشه کلاک آن را در برخی زمان‌ها غیرفعال کنیم.
❗️محتمل‌ترین پاسخی که در ابتدا ممکن به است به ذهن طراحان کم تجربه‌تر برسد، فعال یا غیرفعال کردن کلاک بوسیله یک مدار کنترلی کمکی با دستورات شرطی است. این کار در اصطلاح پیاده‌سازی، تحت عنوان گیت کردن کلاک یا clock gating شناخته می‌شود؟
تا اینجا برای سوال خودمان یک راه حل ارائه دادیم و به نظر مشکل حل شد. اما کمی صبر کنید!!! از قبل می‌دانیم که کلاک‌ها درون تراشه‌های قابل‌ پیکره‌بندی یکسری مسیرهای اختصاصی دارند. این مسیرها کاملا مستقل از منابع #interconnect روی تراشه هستند. خروج کلاک از مسیرهای اختصاصی خودش ممکن است باعث بروز تاخیر و کجی کلاک شود و این یعنی تحت تاثیر قرار گرفتن عملکرد مدار و بروز مشکل زمان‌بندی در طراحی. خب حالا با این توضیحات clock gating خوب است یا بد؟ برای دریافت پاسخ کامل خود ادامه مطلب را مطالعه بفرمایید. 👇

@Hexalinx
#Intermediate
#BUFGCE, #BUFHCE

🔖 تقریبا در تمامی تراشه‌های FPGA پیش‌بینی‌های لازم برای گیت کردن کلاک در راستای کاهش توان مصرفی در نظر گرفته شده است. در تراشه‌های سری ۷ این مساله به شکل جدی‌تری مورد توجه قرار گرفته است. با استفاده از کنترل‌های در نظر گرفته شده برای این منظور می‌توان به راحتی بخشی از مدار را که نیاز به انجام عملیات خاصی ندارند، غیرفعال کرد. این کنترل‌ها برای تغییر و مالتی‌پلکس کردن دو یا چند کلاک هم می‌توانند مورد استفاده قرار بگیرند.


🔖 اگر با منابع کلاک درون تراشه‌های سری ۷ آشنا باشید حتما بافرهای کلاک را می‌شناسید و نام‌هایی مثل BUFGCE و ‌BUFHCE را شنیده‌اید. تقریبا در تمامی طراحی‌ها تعداد زیادی بافر از نوع BUFGCE و ‌BUFHCE وجود دارد که بدون استفاده رها می‌شوند. در حالت کلی هر BUFGCE می‌تواند کلاک مورد نیاز برای چندین ناحیه کلاک مختلف در تراشه را تامین کند و در نقطه مقابل هر ‌BUFHCE تنها قادر به تامین کلاک برای یک ناحیه کلاک است.
برای درک بهتر مساله اجازه بدهید مثالی از نحوه فعال یا غیرفعال کردن کلاک بزنیم. توجه شود که در اینجا مفهوم غیرفعال کردن کلاک برای یک یا چند فلیپ‌فلاپ بکار نمی‌رود و مساله کنترل کلاک بخشی از مدار پیاده‌سازی شده است. اگر تمامی مداراتی که نیاز است به طور دائم فعال باشند به شکل مناسبی با تعریف قیود مکانی در یک یا چند ناحیه کلاک محصور شده باشند، آنگاه یک BUFGCE می‌تواند برای تامین کلاک این نواحی به کار گرفته بشود. از سوی دیگر اگر اینترفیس خاصی به صورت کامل درون یک ناحیه کلاک محصور شده باشد و تنها نیاز باشد در بازه‌های زمانی کوتاه فعال باشد، می‌توان با BUFHCE کلاک ورودی به این ناحیه را گیت کرد.


🔖 کنترل پایه‌های enable این دو بافر یک روش بسیار آسان برای کنترل دینامیک توان مصرفی روی نواحی مختلف کلاک است. در مورد روش مالتی پلکس کردن کلاک‌ها نیز در آینده مطلبی ارائه خواهیم داد.


❗️اما هنوز یک نکته باقی مانده است. اگر به دلایل مختلف مجبور هستیم clock gating انجام دهیم. چگونه اینکار را انجام دهیم تا کمترین تاثیر منفی را روی طرح بگذارد؟ بهترین نقطه برای آغاز یا پایان فرایند clock gaiting دقیقا وسط بخش میانی کلاک است. دقیقا زمانی که مقدار آن صفر است. این کار معمولا با گیت and انجام می‌شود و هدف ممانعت از ایجاد #glitch در خروجی است. با رعایت این مساله در زمان روشن شدن گیت یا خاموش شدن آن در کلاک تولیدی خروجی هیچ شرایط پیش بینی نشده‌ای به وجود نمی‌آید و همینطور عرض پالس نیز کوتاه نمی‌شود.

@Hexalinx
#Intermediate
#Clock

تاخیر، جیتر، کجی و عدم قطعیت کلاک

✳️ اهمیت و عملکرد کلاک در یک سیستم دیجیتال را می‌توان مشابه نقش خون در بدن موجودات زنده در نظر گرفت. برای سالم و توامند بودن نیاز داریم دستگاه گردش خون در بدن کاملا سالم باشد. هر چند این شرط کافی نیست، اما شرط لازم است. خون در بخش‌های مختلف بدن جریان پیدا می‌کند و متابولسیم بدن را تنظیم می‌کند. مشابهاً کلاک هم در بخش‌های مختلف یک سیستم دیجیتال سنکرون جریان پیدا می‌کند و رویدادهای دیجیتال درون سیستم را کنترل می‌کند. عملکرد کلاک درون تراشه FPGA و کلیه تراشه‌های SoC نیز دقیقا به همین صورت است.

مطالعه ادامه مطلب

@Hexalinx
#XADC
#Intermediate

سیگنال آنالوگ در FPGA

✳️در کنار منابع دیجیتالی مرسوم موجود در تراشه‌های FPGA شرکت Xilinx همچون بلوک‌های منطقی قابل پیکره بندی #CLB، بلوک‌های ضرب کننده #DSP_BLOCK و بلوک‌های حافظه #BLOCK_RAM، یک بلوک کاملا آنالوگ نیز درون این تراشه‌ها وجود دارد. این بلوک برای کاربردهایی که نیاز به پردازش ترکیبی سیگنال‌های آنالوگ و دیجیتال دارند بکار گرفته می‌شود. این بلوک آنالوگ در تراشه‌های نسل قبل همچون Vitex 5 و Virtex 6 تحت عنوان System Monitor و در تراشه‌های سری ۷ به بعد تحت عنوان #XADC شناخته می‌شود.

بلوک XADC متشکل از یک ADC دو کاناله ۱۲ بیتی با حداکثر نرخ نمونه برداری 1 مگا سمپل بر ثانیه (MSPS) به همراه تعدادی سنسور و مدارات کنترلی است. در واقع XADC به عنوان یک ورودی آنالوگ همه منظوره برای FPGA‌ در نظر گرفته می‌شود و کاربردهای فراوانی را می‌توان برای آن برشمرد.

@Hexalinx
#Intermediate
#AXI, #ZYNQ

این روزها، تقریباً تمام IP های Xilinx از اینترفیس AXI استفاده می‌کنند. تراشه‌های ZYNQ و ZYNQ MP و حتی پردازنده‌های نرم افزاری میکروبلیز و پردازنده‌های قدرتمند و جدید Versal همگی از اینترفیس های AXI استفاده می‌کنند. پر واضح است که اینترفیس‌های AXI بخشی جدایی ناپذیر از هر طراحی جدید در تراشه‌های شرکت Xilinx هستند. درک صحیح مبانی AXI کمک فراوانی به افزایش بهره وری طراح در زمان طراحی و حتی خطایابی سیستم می‌کند.

در این آموزش از پایگاه دانش هگزالینکس که اولین آموزش از سری‌ آموزش‌های AXI است، مبانی و مفاهیم اینترفیس‌های AXI3/AXI4 را در تراشه‌های Xilinx خدمتتان ارائه می‌کنیم. در اولین گام محبوریم از بخش‌های کمی خسته کننده، نه چندان جذاب و البته بسیار مهم شروع کنیم. بسیاری از بخش‌های مهمتر، در قسمت‌های بعدی این سری آموزشی پوشش داده می‌شود، ولی در صورتی که به این توضیحات اولیه تسلط پیدا نکنید، در درک آن‌ها با مشکل روبرو می‌شوید.


ادامه مطلب >>

@Hexalinx
#Intermediate
#ChipScope

ابزار ChipScope Pro یک پکیج کامل از قابلیت‌های دیباگ و خطایابی را در قالب چند ابزار کمکی همچون Core Inserter و ChipScope Pro Analyzer و همینطور چند هسته نرم افزاری نظیر ILA ، ICON‌ و VIO در محیط‌های گرافیکی کاربرپسند در اختیار طراح قرار می‌دهد. در حالت کلی استفاده از آن به دو گام نیاز دارد.

❗️در گام اول نوع عملیات دیباگ و سیگنال‌هایی که باید مانیتور شوند مشخص می‌شوند.
❗️در گام دوم با استفاده از ChipScope Pro Analyzer نمایش و آنالیز سیگنال‌ها انجام می‌شود.


در بخش اول این آموزش در مورد ویژگی‌های این ابزار و اهمیت استفاده از آن در دیباگ FPGA توضیحاتی ارائه کردیم.

@Hexalinx
#Intermediate
#CDC, #Clock_Domain_Crossing

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

ادامه مطلب >>

@Hexalinx
#FIR, #FILTER, #VIVADO
#Basic, #Intermediate

✳️ دروازه ورود به دنیای پردازش سیگنال در FPGA از طریق فراگیری الفبای پیاده سازی یک فیلتر FIR در Vivado به صورت کاملاً ممیز ثابت و شبیه سازی آن با تست بنچ‌ HDL در یک قدمی شماست...
👈 چند هفته پیش بود که آموزشی در رابطه با طراحی یک فیلتر FIR با ابزار System Generator for DSP منتشر کردیم. این هفته در یک مقاله بسیار مفصل با آموزش پیاده سازی یک فیلتر میان گذر، تک کانال و تک نرخ با استفاده از FIR Compiler IP Core در Vivado به نزد شما بازگشتیم.

🔖 مطالعه ادامه مطلب >>

@Hexalinx
همراهان عزیز هگزالینکس:
برای جستجو در مطالب منتشر در کانال می‌توانید از کلید واژه‌ها یا هشتگ های زیر استفاده کنید. امیدوارم آموزش‌های تخصصی هگزالینکس در این مدت انتظارات شما را برآورده کرده باشد.
دسته بندی بر اساس سطح و پیچیدگی مطالب:
#Basic
#Essentials
#Intermediate
#Advanced

دسته بندی براساس ابزارهای طراحی
#VIVADO_HLS
#SYSGEN
#VITIS
#VIVADO
#ISE
#ISIM
#SDSoC

دسته بندی موضوعی
#FIR
#FILTER
#PETALINUX
#LINUX
#AXI
#AXIVIP
#AXI_Lite
#CDC
#Clock_Domain_Crossing
#FIXED_POINT
#CHIPSCOPE
#TCL
#DDR
#ZYNQ
#IOB
#Barrel_Shifter
#wire_bonding
#Pipelining
#device_tree
#Clock_Gating
#Clock
#Reset
#Fanout
#Digital_Filter
#Static_Timing_Paths
#Clock_skew
#U_BOOT
#SSBL
#BUFGCE
#BUFHCE
#MUX
#DCM
#CMT
#QEMU
#BARE_METAL
#CLB
#LUT
#DISTRIBUTED_RAM
#PYNQ
#HLS
#ILA
#VIO
#STA
@Hexalinx
#Intermediate, #CORDIC

✳️ برای چند لحظه همه چیز در رابطه با الکترونیک و FPGA را فراموش کنید و به گذشته برگردید، منظورم زمانی است که در دبیرستان مشغول تحصیل بودید. با کمی تمرکز حتماً می‌توانید تعدادی از محاسبات ریاضی را که تنها با چرخاندن یک بردار قابل انجام بودند، بخاطر بیاورید. منظور من از بردار، برداری است که از مبدأ مختصات شروع می‌شود و به یک نقطه روی دایره مثلثاتی ختم می‌شود.

✳️ واژه CORDIC مخفف عبارت COordinate Rotation DIgital Computer است و از نقطه نظر پیاده سازی یک الگوریتم کاملاً بهینه یا اصطلاحاً Hardware-efficient است که با استفاده از یک متد تکرار شونده مبتنی بر چرخش و دَوَران ، برای پیاده سازی سخت افزاری رنج وسیعی از توابع پایه‌ای ریاضی بکار برده می‌شود.

❗️در این مقاله از سری آموزش‌های پایگاه دانش هگزالینکس باهم مروری برالگوریتم CORDIC و جایگاه آن در پیاده سازی توابع ریاضی پایه در FPGA خواهیم داشت.

مطالعه ادامه مطلب »
@Hexalinx
#Intermediate
#Microblaze, #LMB

✳️ به طور کلی سه ساختار یا پیکربندی برای طراحی معماری حافظه مایکروبلیز وجود دارد که عبارتند از:

1️⃣ استفاده از حافظه‌های محلی
2️⃣ استفاده از حافظه‌های داخلی
3️⃣ استفاده از حافظه‌های خارجی

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

👈 مطالعه متن کامل مقاله »

@Hexalinx