اطلاعیه

Collapse
No announcement yet.

ایجاد تاخیر 1 نانو ثانیه با گیتهای داخل fpga

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

    ایجاد تاخیر 1 نانو ثانیه با گیتهای داخل fpga

    سلام

    توی یه برنامه ای نیاز دارم که لبه بالا رونده یه کلاک رو با یه تاخیر تقریبی 1 نانو ثانیه به یه قسمت دیگه از برنامه اعمال کنم .از روی دیتاشیت ( xc3s50an ) چطوری میشه فهمید که مقدار تاخیر انتشار یه گیت بافر که داخل fpga تشکیل میشه تقریبا چقدر هست؟


    #2
    پاسخ : ایجاد تاخیر 1 نانو ثانیه با گیتهای داخل fpga

    می تونید شبیه سازی کنید
    البته شبیه سازی بعد از implemantation

    یا اینکه عملا رو اسکوپ ببینید.

    دیدگاه


      #3
      پاسخ : ایجاد تاخیر 1 نانو ثانیه با گیتهای داخل fpga

      توی یه برنامه تستی بین ورودی و خروجی چندتا بافر گذاشتم (شکل زیر )
      با تغییر تعداد بافر ها هیچ تغییری توی زمان Delay بوجود نمیاد و ثابت هست

      Analyze Post-Map Static Timing
      [code=html5] Data Sheet report:
      -----------------
      All values displayed in nanoseconds (ns)

      Pad to Pad
      ---------------+---------------+---------+
      Source Pad |Destination Pad| Delay |
      ---------------+---------------+---------+
      clk |led | 5.215|
      ---------------+---------------+---------+ [/code]










      دیدگاه


        #4
        پاسخ : ایجاد تاخیر 1 نانو ثانیه با گیتهای داخل fpga

        سلام
        اینطوری بافر اضافه بذاری که موقع سنتز حذف میشه (طی فرآیند بهینه سازی). مگه اینکه keep constraint بذاری ...
        در هر صورت این روش واسه ایجاد تاخیر (اون هم در حد 1 نانوثانیه!) درست نیست.
        میتونی از عناصر IODELAY تو FPGAهای سری Virtex و Spartan-6 استفاده کنی که قابلیت ایجاد تاخیر با دقت 78 پیکوثانیه تو سیگنال ورودی یا خروجی رو دارن

        https://www.linkedin.com/in/mohammadhosseini69

        http://zakhar.blog.ir

        دیدگاه


          #5
          پاسخ : ایجاد تاخیر 1 نانو ثانیه با گیتهای داخل fpga

          باید توی فایل UCF یک constrain جدید ایجاد کنی
          به لینک زیر نگاه بنداز
          baranelec.mihanblog.com/post/20
          http://baranelec.mihanblog.com/post/19
          مهم نيست که کجايي هستي، چه رنگي هستي، به چه زبوني حرف مي زني. مهم اينه که انسان باشي.
          http://baranelec.mihanblog.com/
          آینده ای خواهم ساخت که گذشته ام در برابرش زانو بزند...

          دیدگاه


            #6
            پاسخ : ایجاد تاخیر 1 نانو ثانیه با گیتهای داخل fpga

            نوشته اصلی توسط محمد حسینی
            سلام
            اینطوری بافر اضافه بذاری که موقع سنتز حذف میشه (طی فرآیند بهینه سازی). مگه اینکه keep constraint بذاری ...
            در هر صورت این روش واسه ایجاد تاخیر (اون هم در حد 1 نانوثانیه!) درست نیست.
            میتونی از عناصر IODELAY تو FPGAهای سری Virtex و Spartan-6 استفاده کنی که قابلیت ایجاد تاخیر با دقت 78 پیکوثانیه تو سیگنال ورودی یا خروجی رو دارن
            اگه ممکنه در مورد keep constraint یکم توضیح بدین
            به نظر شما این مقدار گیتی تو اون شکل بالا هست تاخیر کمتر یا بیشتر از 1 نانو ثانیه ایجاد میکنه؟
            آیا سری Virtex پکیچ TQFP-144 داره که تو بازار ایران پیدا بشه؟


            نوشته اصلی توسط rima3250
            باید توی فایل UCF یک constrain جدید ایجاد کنی
            به لینک زیر نگاه بنداز
            baranelec.mihanblog.com/post/20
            http://baranelec.mihanblog.com/post/19
            امروز تست میکنم مرسی



            دیدگاه


              #7
              پاسخ : ایجاد تاخیر 1 نانو ثانیه با گیتهای داخل fpga

              نوشته اصلی توسط mahdi421
              اگه ممکنه در مورد keep constraint یکم توضیح بدین
              بهینه سازی ابزار سنتز باعث میشه خیلی از سیگنال ها حذف بشن، یا قاطی لاجیک های مرتبط بشن و بعد از سنتز دیگه ظاهرا وجود نداشته باشن. کاربرد keep constraint در اصل اینه که سیگنال مورد نظر رو تو دیتابیس سخت افزار سنتز شده نگه داره تا طراح بعد از سنتر بتونه اونو پیدا کنه (واسه Debug و floorplanning و ...)
              طرز نوشتنش تو UCF:
              کد:
              net "singalname" KEEP
              یا به صورت یک attribute با تعریف سیگنال تو کد. مثلا verilog اینطوری میشه:
              کد:
              (* KEEP = "TRUE" *) wire w1;
              save constraint هم اینجور مواقع جواب میده. البته این در اصل واسه نگه داشتن سیگنال های بدون Driver یا سیگنال های بدرد نخور هست. با S مشخص میشه...

              نوشته اصلی توسط mahdi421
              به نظر شما این مقدار گیتی تو اون شکل بالا هست تاخیر کمتر یا بیشتر از 1 نانو ثانیه ایجاد میکنه؟
              حتی یکی از اون بافرها هم تاخیر بیشتر از 1 نانوثانیه ایحاد میکنه! البته من نمیدونم چطوری پیاده سازی کردی، اگه اونا LUT بشن تاخیر خیلی زیادی دارن. اگه بافر کلاک (BUFG) بذاری (که چندتا پشت هم گذاشتن اینم خودش حرکت میخواد!) بازم فکر میکنم واسه اون FPGA تاخیر هر بافر بیشتر یک نانوثانیه باشه.

              نوشته اصلی توسط mahdi421
              آیا سری Virtex پکیچ TQFP-144 داره که تو بازار ایران پیدا بشه؟
              بعید میدونم. باید سفارش بدی بیارن

              نوشته اصلی توسط rima3250
              باید توی فایل UCF یک constrain جدید ایجاد کنی
              به لینک زیر نگاه بنداز
              baranelec.mihanblog.com/post/20
              http://baranelec.mihanblog.com/post/19
              این constraint های timing واسه اطمینان از برآورده شدن شرایط Setup time و hold time هست. این مدلی نیستن که ابزار سنتز رو مجبور کنن یه تاخیر دقیق رو سیگنال ایجاد کنه. ایجاد تاخیر دقیق با IODELAY ها انجام میشه.

              دقیقا میخوای چیکار کنی که تو همچین FPGA ای نیاز به تاخیر یک نانوثانیه داری؟؟!!! اگه مسئله کلاک و setup time اجزا متصل به کلاک هست، یه constraint فرکانس رو کلاک تعریف کن خودش جمع میکنه ور میداره میره حل میشه!! :mrgreen:
              https://www.linkedin.com/in/mohammadhosseini69

              http://zakhar.blog.ir

              دیدگاه


                #8
                پاسخ : ایجاد تاخیر 1 نانو ثانیه با گیتهای داخل fpga

                درود
                به نظر تاحیر 1ns خیلی کمه و فکر کنم تاحیر خودگیت های داخل fpga بیشتر از اینها باشه.
                چیزی که دوستان میگن اگه استباه تکتم مربوط به DLL باشه ( delay lockd loop) که باید فرکانست رو ثابت بدی و اگر مثلا یک پالس داری و می خوای یک نانو delay بدی فکر نکنم شدنی باشه.
                برای پالس می تونی از ای سی های مجزای delay line استفاده کنی.
                مـن هیچ ندانم که مرا آن که سرشت
                از اهل بهشت کرد یا دوزخ زشت
                جامی و بتی و بربطی بر لب کشت
                اين هر سه مرا نقد و تو را نسیه بهشت

                دیدگاه

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