اطلاعیه

Collapse
No announcement yet.

مشکل در کلاک ارتباط سریال

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل در کلاک ارتباط سریال

    من با استفاده از XC95144 یه شیفت رجیستر پارالل به سریال طراحی کردم. خروجی درسته ولی مشکل در کلاک هست بطوری که داده باید چند لحظه زود تر از لبه بالارونده کلاک روی پورت خروجی قرار بگیره تا در ارتباط تداخل ایجاد نشه. مشکل اینه که کلاک پورت سریال با لبه کلاک اصلی یکی هست و این تاخیر رو نمیشه ایجاد کرد. با استفاده از فرم Timing Constraints هم نتونستم این تاخیر رو ایجاد کنم. اگر نیاز هست خروجی اسکوپ رو هم قرار بدم
    از راهنمایی دوستان ممنون میشم

    #2
    پاسخ : مشکل در کلاک ارتباط سریال

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

    دیدگاه


      #3
      پاسخ : مشکل در کلاک ارتباط سریال

      ممنون از پاسخ. کد تقریبا اینجوریه
      کد:
      always @(posedge clk or negedge reset)
      begin
        if(!reset)
           r_reg <= 0;
        else begin // This is horrible! Don't write code like this!
          r_reg[0] = data;   // blocking
          r_reg <= r_reg<<1;  // non-blocking
        end
      end

      بیشتر مشکل از کلاک هست. چون کلاک سیستم با کلاک شیفت رجیستر همزمان هست تقریبا داده و لبه بالا رونده کلاک با هم اتفاق میوفته. باید دیتا رو کاری کرد که به اندازه حد اکثر 1/4 کلاک زود تر روی پورت قرار بگیره که تقریبا با این وضعیت غیر ممکنه مگر منابع کلاک رو عوض کنید. در ISE بخشی برای تنظیمات تایمینگ داره که من نتونستم باهاش کار کنم. فرمش اینجوریه


      خروجی اسکوپ هم این مطلب رو نشون میده

      دیدگاه


        #4
        پاسخ : مشکل در کلاک ارتباط سریال

        نیازی به ایجاد تاخیر نیست! هرچند با استفاده از عناصر IODELAY میشه این کار رو کرد.
        اما خب شما اونطرف داده رو با یک کلاک تاخیر بخون دیگه. مشکل چیه دقیقا؟!
        https://www.linkedin.com/in/mohammadhosseini69

        http://zakhar.blog.ir

        دیدگاه

        لطفا صبر کنید...
        X