اطلاعیه

Collapse
No announcement yet.

چطوری به یک سیگنال کلاک تاخیر بدیم؟

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

    چطوری به یک سیگنال کلاک تاخیر بدیم؟

    سلام

    توی طراحی سیستم های دیجیتال، خیلی وقت ها لازم داریم که یک سیگنال ( خصوصاً یک سیگنال ساعت ) رو به مقداری مشخص تاخیر بدیم.

    برای اینکه دقیقا مشخص باشه من دنبال چی هستم یه مثال میزنم:

    فرض کنید کلاک مرجع clk با دوره تناوب 25 نانوثانیه رو در اختیار داریم. از روی این کلاک یه کلاک دیگه به نام clk3 که دوره تناوبش 75 نانوثانیه هست رو میسازیم. ( این کار، یعنی تقسیم فرکانسی رو میشه با DCM هم انجام داد ).
    حالا میخوایم به این clk3 یه مقدار تاخیر بدیم ( مثلاً به اندازه یک دوره تناوب از clk که میشه 25 نانوثانیه ). البته نمیخوام از بلوک های DCM خود FPGA استفاده کنم. چون تعداد DCM ها محدوده ( در حد 4 تا 8 عدد )


    #2
    پاسخ : چطوری به یک سیگنال کلاک تاخیر بدیم؟

    سلام عزیزم چرا از دستور after استفاده نمی کنید؟
    گسترده تر از هر چیز دل مومن است(امام علی (ع))
    [glow=red,2,300]R[/glow]
    [glow=green,2,300]G[/glow]
    [glow=blue,2,300]B[/glow]

    دیدگاه


      #3
      پاسخ : چطوری به یک سیگنال کلاک تاخیر بدیم؟

      نوشته اصلی توسط siamakb
      سلام عزیزم چرا از دستور after استفاده نمی کنید؟
      علیکم السلام

      عارضم خدمتتون که همونطور که میدونید دستور های after، wait و ... دستور های قابل سنتزی نیستن. بنابراین نمی توان از آنها در طراحی استفاده کرد.

      اما من بالاخره فهمیدم چطور میشه این کار رو انجام داد:
      کافیه یه شیفت رجیستر سه بیتی بذاریم، کلاکش رو به clk بدیم. ورودی SLI اش رو به clk3 بدیم و خروجی clk_shifted رو از پایه های Q0 تا Q2 شیفت رجیستر بگیریم که هرکدام به یک میزان مشخص از clk3 عقب افتادن.

      دیدگاه


        #4
        پاسخ : چطوری به یک سیگنال کلاک تاخیر بدیم؟

        بیشتر ابزار های سنتز فقط حلقه for را بشتیباتی می کنند اما ابزار سنتز synplify تمام حلقه های تکرار را پشتیبانی می کند
        پس هیچ چیزی غیر ممکن نیست در ضمن ورودی این ابزار hdl محض است.

        دیدگاه


          #5
          پاسخ : چطوری به یک سیگنال کلاک تاخیر بدیم؟

          خوب تا جاییکه که من می دونم به اندازه خطای تاخیر در انتشار گیت نقیض تو هر FPGA ای میتونی تاخییر بدی ...واضح تر بگم با دقت اوون میتونی تاخیر بدی معمولان کلاک 100 مگ میشه 5 نانو تاخیر یعنی با بهترین حالت میتونی نصفش رو تاخیر بدی اگه هم ریزتر بشی می تونی تا 2 نانو هم بیایی مثلان تو spartan3 ....

          خیلی خفن بشی این رو Search کن..

          Digital delay line with fPGA کارهای بعضیاشون بدکی نیستش.

          الان با دقت 1پیکو ثانیه هم هستش با خود طراحی برد و یکسری قطعات جانبی هر تاخیری رو میدن.

          دیدگاه

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