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
#Digital_Clock_Manager, #DCM
#Clock_Managment_Tile, #CMT
#Essentials

معرفی منابع کلاک روی تراشه Spartan 6

✳️ تراشه Spartan 6 دارای دو شبکه کلاک کاملا متفاوت است.

1️⃣ شبکه اول Global Clock Network نام دارد و برای تامین کلاک واحدهای مختلف درون تراشه نظیر CLB ها و بلوک های حافظه بکار گرفته می شود. این شبکه می تواند حداکثر 16 کلاک متفاوت را پشتیبانی کند. حداکثر کلاک قابل پذیرش در این شبکه حدود 400 مگاهرتز است.

2️⃣ شبکه دوم IO Clock Network نام دارد و وظیفه آن تامین کلاک مورد نیاز برای بلوک های ورودی خروجی تراشه است. این شبکه قادر به پشتیبانی از قابلیت SerDes با حداکثر فرکانس کلاک 1 گیگاهرتز است که در ارتباطات پرسرعت مورد استفاده قرار می گیرند. اگر FPGA را به 4 قسمت تقسیم کنیم هر بخش دارای 8 بلوک کلاک IO است که در مجموع 32 بلوک کلاک IO می شود.
تراشه های Spartan 6 درای دو بلوک مدیریت کلاک به نام DCM و یک بلوک حلقه قفل فاز PLL در هر CMT هستند. در هر تراشه Spartan 6 بین یک تا شش CMT وجود دارد

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

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

@Hexalinx
#Intermediate
#Clock_Gating

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

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

@Hexalinx
#Intermediate
#Clock

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

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

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

@Hexalinx
#Advanced
#clock_monitoring

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

ادامه مطلب ...

@Hexalinx
#Intermediate
#CDC, #Clock_Domain_Crossing

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

ادامه مطلب >>

@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