#Static_Timing_Analysis
#STA
#Intermediate
✅ آنالیز زمانبندی ایستا چیست؟
به طور کلی هر طراحی مبتنی بر FPGA ترکیبی است از مجموعه سلول ها و نت های متصل به هم که یک عملکرد خاص را به همراه دارند. در اولین گام، بررسی صحت عملکرد طراحی (Design Functionality) با استفاده از ابزارهای شبیه سازی انجام می شود.
از سوی دیگر تعیین کارایی قطعه (Device Performance) با توجه به تاخیرهای بین سلول های سازنده طرح انجام می شود، به عبارت دیگر آیا قطعه قادر است عملکرد مطلوب طراح را با سرعت مد نظر وی اجرا کند یا خیر. در اولین گام، بررسی کارایی قطعه با آنالیز زمانبندی ایستا یا همان static timing analysis-STA انجام می شود.
@Hexalinx
#STA
#Intermediate
✅ آنالیز زمانبندی ایستا چیست؟
به طور کلی هر طراحی مبتنی بر FPGA ترکیبی است از مجموعه سلول ها و نت های متصل به هم که یک عملکرد خاص را به همراه دارند. در اولین گام، بررسی صحت عملکرد طراحی (Design Functionality) با استفاده از ابزارهای شبیه سازی انجام می شود.
از سوی دیگر تعیین کارایی قطعه (Device Performance) با توجه به تاخیرهای بین سلول های سازنده طرح انجام می شود، به عبارت دیگر آیا قطعه قادر است عملکرد مطلوب طراح را با سرعت مد نظر وی اجرا کند یا خیر. در اولین گام، بررسی کارایی قطعه با آنالیز زمانبندی ایستا یا همان static timing analysis-STA انجام می شود.
@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
#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
#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
مطالب آموزشی غالبا به صورت پیوسته ارائه نمی شوند و برحسب نیاز منتشر می شوند، اما با توجه به هشتک ها به راحتی میشه بهشون دسترسی پیدا کرد.
تا به امروز مطالب در سه سطح ارائه شده اند
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
#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
#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
#Intermediate
✅ تعریف مسیرهای زمانبندی ایستا (Static Timing Paths)
مسیر زمانبندی ایستا، مسیری است که
1️⃣ از یک عنصر کلاک دار شروع می شود
2️⃣ در طول تعدادی عنصر ترکیبی و نت های متصل کننده آنها منتشر می شود و
3️⃣ به یک عنصر کلاک دار ختم می شود.
عناصر کلاک دار شامل فلیپ فلاپ ها، بلوک های ضرب کننده، حافظه ها و ... هستند.
عناصر ترتیبی شامل LUT ها، مالتی پلکسرها و ... هستند.
🔖 در عمل آنالیز زمان بندی ایستا تنها برای بخشهایی از مدار که بین دو عنصر سنکرون قرار دارند صورت می پذیرد و مسیرهای فاقد عنصر سنکرون نادیده گرفته می شوند، به بیان ساده تر آنالیز زمان بندی برای مدارات ترکیبی کاملا بی معنی است.
@Hexalinx
#Clock_Skew
#Intermediate
✅ کجی کلاک چیست و چه عملکردی روی سیستم دارد؟
✳️ واژه کجی کلاک معادل فارسی عبارت Clock Skew است که گاها کجی زمانبندی نیز نامیده می شود. پدیده ای در مدارات دیجیتال سنکرون است که در آن دو بلوک که از یک منبع کلاک تغذیه می شوند به دلیل وجود تاخیر در مسیر کلاک متصل به آن دو عنصر در دو زمان متفاوت یا با یک تاخیر کوتاه نسبت به هم به لحاظ زمانی کلاک را دریافت می کنند.
برای تحلیل کجی کلاک و از بین بردن تاثیر منفی آن در عملکرد سیستم دو آنالیز setup time و hold time انجام می شود. برای محاسبه پارامترهای setup time و hold time لازم است، اختلاف زمانی بین تاخیر سیگنال کلاک تا عنصر سنکرون مقصد نسبت به تاخیر کلاک تا عنصر سنکرون مبدا در مسیر انتقال داده محاسبه شود (به شکل مراجعه شود)
@Hexalinx
#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
✳️ براساس توصیه 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
✅ پیادهسازی فیلتر میانگینگیر متحرک
✳️ فیلتر میانگینگیر متحرک یا فیلتر moving average یکی از سادهترین انواع فیلترهای دیجیتال است. این فیلتر برای مواردی همچون حذف نویز یا هموار کردن سیگنالها در حوزه زمان بکار گرفته میشود. مشخصات فیلتر میانگینگیر با توجه به کاربرد مد نظر متفاوت است.
اگر علاقه دارید با نحوه پیاده سازی این فیلتر آشنا شوید. آموزش زیر را در سایت هگزالینکس مطالعه بفرمایید. 👇
http://hexalinx.com/programming/moving-average-filter/
@Hexalinx
هگزالینکس
پیادهسازی فیلتر میانگینگیر متحرک در FPGA
فیلتر میانگینگیر متحرک برای مواردی همچون حذف نویز در حوزه زمان بکار گرفته میشود. پیاده سازی این فیلتر تنها با استفاده از چند تکنیک ساده انجام میشود.