قابلیت مانیتور کردن کلاک در Clock Wizard IP

قابلیت مانیتور کردن کلاک در Clock Wizard IP روشی برای کنترل و پایش وضعیت کلاک درون یک تراشه FPGA بعد از اتمام فرایند طراحی است.
قابلیت Clock Monitoring در Clock Wizard IP

مقدمه

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

البته کار همینجا تمام نمی‌شود. ممکن است نیاز داشته باشیم به جنبه‌های بسیار پیچیده‌تر طراحی نیز توجه کنیم، مواردی که در آن طرح ما داری چندین حوزه کلاک متفاوت است. در این آموزش از پایگاه دانش هگزالینکس قصد داریم شما را با یک قابلیت ویژه در تراشه‌های FPGA آشنا کنیم. این قابلیت به لطف Clock Wizard IP در محیط توسعه Vivado برای ما محقق شده است. این قابلیت تحت عنوان مانیتور کردن کلاک یا clock monitoring شناخته می‌شود و می‌تواند در موقع لزوم عصای دست طراح باشد. اگر به این موضوع علاقمند هستید پس تا انتها با ما همراه باشید.

مانیتور کردن کلاک

خیلی عجله نکنید، حتی بعد از دستیابی به زمانبندی مطلوب و برآورده شدن الزامات طراحی و همینطور حصول اطمینان از انتقال مناسب کلاک بین نواحی مختلف کلاک، بازهم برای به آرامش رسیدن کمی زود است. در برخی از کاربردهای خاص که به لحاظ نوع ماموریت نیاز به قابلیت اطمینان و کنترل پذیری بسیار بالا دارند، لازم است از صحت عملکرد کلاک در زمان اجرا نیز اطمینان حاصل شود. یعنی برای جلوگیری از بروز هرگونه نقصان در عملکرد سیستم مجبوریم نوعی فرایند تست و بازبینی دائمی روی طرح در نظر بگیریم. پیاده‌سازی چنین فرایندی به یک راه حل نسبتاً نام آشنا به نام built in self test – BIST  منجر می‌شود. با این رویکرد BIST به عنوان بخشی از طرح اصلی در نظر گرفته می‌شود.

بلوک دیاگرام پروژه مانیتور کردن کلاک
بلوک دیاگرام پروژه مانیتور کردن کلاک

اینجا دقیقا همان جایی است که قابلیت مانیتور کردن کلاک درون Clock Wizard IP Core، به کار ما می‌آید. با استفاده از قابلیت مانیتور کردن کلاک، ما قادر هستیم بررسی کنیم که آیا:

  • کلاک مد نظر ما در سیستم متوقف شده است یا نه؟
  • کلاک مد نظر ما در سیستم glitch‌ دارد یا نه؟
  • فرکانس کلاک‌های مد نظر ما در سیستم از رنج مجاز تغییرات خارج می‌شود یا نه؟

با فعال کردن قابلیت مانیتور کردن کلاک در Clock Wizard ما امکان بررسی و مانیتور حداکثر چهار کلاک را خواهیم داشت. این کلاک‌ها می‌توانند

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

فرایند فعال کردن قابلیت مانیتور کردن کلاک در زمان سفارشی سازی Clock Wizard IP انجام می‌شود.

فعال سازی گزینه enable clock monitoring
فعال سازی گزینه enable clock monitoring

بعد از فعال کردن این گزینه در اولین برگه از صفحه تنظیمات IP، به برگه تنظیمات اصلی مانیتورنیگ کلاک می‌رویم و تنظیمات زیر را اعمال می‌کنیم.

  • تعداد کلاک‌هایی که قصد داریم مانیتور کنیم.
  • فرکانس کلاک مرجع
  • و تلورانس کلاک

در واقع کلاک مرجع برای مانیتور کردن چهار کلاک دیگر به کار می‌رود و فرض بر این است که کلاک مرجع کاملا پایدار و بدون خطا است.

برگه تنظیمات clock monitor
برگه تنظیمات clock monitor

حتما به این نکته توجه داشته باشید که اگر تمایل به استفاده از یکی از کلاک‌های مانیتور شده برای تولید کلاک‌ جدیدی دارید، باید از پورت‌های clk_0 و یا clk_1 استفاده کنید. همینطور گزینه PLL/MMCM نیز باید در ستون دوم انتخاب شود.

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

این خروجی‌های گسسته برای مشخص کردن:

  • کلاک متوقف شده (Clock_Stop)
  • وجود پالس‌های اضافی روی کلاک (Clock_Glitch)
  • و یا افزایش غیر مجاز تلورانس کلاک (Clock_OutOfTolerance) مورد استفاده قرار می‌گیرند.

هر کدام از این خروجی‌ها دارای ۴ بیت است. هر بیت متناسب با یکی از کلاک‌های مانتیور شده است و در صورت بروز خطا فعال می‌شوند.

زمانی که قابلیت مانیتور کردن کلاک فعال باشد، به صورت اتوماتیک ماژول Clock Wizard یک اینترفیس AXI Lite را فراخوانی می‌کند. این اینترفیس به پردازنده یا سایر اینترفیس‌های AXI Master امکان مانیتور کردن وضعیت کلاک را با استفاده از سایر اینترفیس‌های AXI فراهم می‌آورد.

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

جمع بندی

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

منبع: hackster.io  نوشته Adam Taylor

اشتراک در
بیشتر بخوانیم
جریان طراحی در FPGA عمومی

جریان طراحی در FPGA

اولین درسی که در دوره های مقدماتی FPGA ارائه می شود، آشنا کردن دانشجویان با گام های پیاده سازی است. در ادامه فهرستی از گام های مورد نیاز برای اجرای صفر تا صد یک پروژه روی FPGA توضیح داده می شود.

مبانی محاسبات ریاضی در FPGA توصیف سخت افزاری

مبانی محاسبات ریاضی در FPGA (قسمت دوم)

برای پیاده‌سازی محاسبات ریاضی و به طور خاص یک تابع تبدیل ریاضی به صورت ممیز ثابت لازم است، ملاحظات سرریز و رشد بیت روی تراشه‌های FPGA در نظر گرفته شود.

مفهوم حافظه در FPGA و کاربردهای آن توصیف سخت افزاری

بهره گیری از پایتون در Zynq

پروژه PYNQ یک پروژه منبع باز، برای تسهیل فرایند طراحی سیستم‌های نهفته (embedded) روی Zynq است. هدف آن بهره گیری از پایتون در Zynq است.

تبدیل فوریه در FPGA با بکارگیری Xilinx FFT IP Core ابزارهای طراحی

تبدیل فوریه در FPGA با Xilinx FFT IP Core

الگوریتم FFT به کلاسی از الگوریتم‌های پردازش سیگنال اطلاق می‌شود که می‌توانند به شکل بهینه تبدیل فوریه گسسته (DFT) یک دنباله را محاسبه کند.

عناوین مطالب
    برای شروع تولید فهرست مطالب ، یک هدر اضافه کنید

    دیدگاه‌ خود را بنویسید

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

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