اطلاعیه

Collapse
No announcement yet.

سوال مهم در مورد Process

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

    سوال مهم در مورد Process

    سلام
    اگر Process رو وابسته به لبه بالا رونده Clock کنیم، در هر لبه کل Process اتفاق میفته، خب اینو میدونم
    حالا این Process تعداد خط های کدش محدودیت داره؟ مثلا اگر تو یک Process من 1000 خط کد بنویسم، همه در یک لبه اجرا میشن؟ یا اصلا تعداد خطوط کد در Process محدودیت داره؟
    کلا چنتا Process میشه درون یک کد VHDL نوشت که موازی کار کنن؟

    #2
    پاسخ : سوال مهم در مورد Process

    یعنی هیچ کس نمیدونه؟؟؟؟!!!!!!

    دیدگاه


      #3
      پاسخ : سوال مهم در مورد Process

      سلام
      مقدار برنامه ای که برای یک CPLD یا FPGA میشه نوشت ارتباط مستقیم با تعداد فلیپ فلاپها و گیت های منطقی داخل تراشه داره .
      اینکه داخل هر پروسه چند خط باشه مهم نیست و همین طور تعداد کل پروسه ها (البته با رعایت شرط بالا)

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

      دیدگاه


        #4
        پاسخ : سوال مهم در مورد Process

        نوشته اصلی توسط mahdi421
        سلام
        مقدار برنامه ای که برای یک CPLD یا FPGA میشه نوشت ارتباط مستقیم با تعداد فلیپ فلاپها و گیت های منطقی داخل تراشه داره .
        اینکه داخل هر پروسه چند خط باشه مهم نیست و همین طور تعداد کل پروسه ها (البته با رعایت شرط بالا)

        خطوط برنامه داخل هر پروسه به ترتیب و از بالا به پایین اجرا میشه تا پروسه تموم بشه
        اجرای یک پروسه ربطی به پروسه دیگه نداره و کاملا موازی با هم هست و در کل بسته به کدی که در یک پروسه مینویسد میتونید چند تا پروسه جدا از هم داشته باشد
        منظور من از نظر زمان

        من الان بیام 2000 خط کد رو تو یک پروسس بنویسم که با لبه بالا رونده اجرا میشه، هنوز کد تموم نشده، لبه بعدب میاد که!!!

        دیدگاه


          #5
          پاسخ : سوال مهم در مورد Process

          این مورد بستگی داره به مقدار تاخیر انتشار گیت ها
          فرض کنیم عبارت داخل یک پروسه (حساس به لبه ) روی دو تا سیگنال یک عملیات خاص انجام میده به طوری که سیگنال ورودی از 10 گیت منطقی عبور میکنه . در این حالت اگه یه پالس لبه اتفاق بیفته و تاخیر هر گیت 5ns باشه
          خروجی ما بعد از 50ns درست خواهد بود . و در این حالت باید فرکانس کلاک پایین تر از 20MHz باشه

          حالا اگه برنامه شما مثلا 2000 خط باشه باید به همون میزان تاخیر مقدار فرکانس لبه بالا رونده رو کم کنید

          دیدگاه


            #6
            پاسخ : سوال مهم در مورد Process

            نوشته اصلی توسط mahdi421
            این مورد بستگی داره به مقدار تاخیر انتشار گیت ها
            فرض کنیم عبارت داخل یک پروسه (حساس به لبه ) روی دو تا سیگنال یک عملیات خاص انجام میده به طوری که سیگنال ورودی از 10 گیت منطقی عبور میکنه . در این حالت اگه یه پالس لبه اتفاق بیفته و تاخیر هر گیت 5ns باشه
            خروجی ما بعد از 50ns درست خواهد بود . و در این حالت باید فرکانس کلاک پایین تر از 20MHz باشه

            حالا اگه برنامه شما مثلا 2000 خط باشه باید به همون میزان تاخیر مقدار فرکانس لبه بالا رونده رو کم کنید
            این مورد از کجا مشخص میشه؟
            مثلا تو spartan3

            اخه من مثلا اومدم کدهارو بصورت رفتاری نوشتم، از کجا بدونم دقیقا چقدر گیت مصرف شده و این 2000 خط کد تاخیر انتشارش چقدر میشه؟

            دیدگاه


              #7
              پاسخ : سوال مهم در مورد Process

              سلام
              دستورات درون یک Process به صورت ترتیبی اجرا میشوند(به همین خاطر هست که شما درون Process میتونید از دستور مثلا if استفاده کنید ولی در خارج از Process نمیتونید از این دستور استفاده کنید ) و به صورت همزمان تمام دستورات موجود در یک پروسس و در یک لبه اجرا نمیشوند
              اما اگر ما در طرحمون چند تا Process داشته باشیم که در لبه بالارونده فعال شوند تمام Process های موجود در طرح با هم اجرا میشوند ولی دستورات درون Process یکی پس از دیگری اجرا میشود
              مثلا اگر یک Process دارای 200خط کد باشه و Process بعدی دارای 10 خط کد باشد هر بار که یک لبه بالا رونده اتفاق بیافته هر دو پروسس اجرا میشوند ولی Process دومی زودتر اجرا میشود.

              :read:
              نمیدونم چی بگم
              نکاتی در رابطه با Altium Designer 6.9
              http://www.eca.ir/forum2/index.php?topic=42247.15

              دیدگاه


                #8
                پاسخ : سوال مهم در مورد Process

                نوشته اصلی توسط مرجان کهندل
                این مورد از کجا مشخص میشه؟
                مثلا تو spartan3

                اخه من مثلا اومدم کدهارو بصورت رفتاری نوشتم، از کجا بدونم دقیقا چقدر گیت مصرف شده و این 2000 خط کد تاخیر انتشارش چقدر میشه؟
                فکر کنم تنها را استفاده از شبیه ساز ISE باشه . البته تا حالا شبیه سازی نکردام . گزینه Analyze Post-Fit Static Timing برای یه XC9572-7 با یه برنامه کوچیک شمارنده 4 بیتی ماکزیمم کلاک رو 100MHZ داد.

                کد:
                --------------------------------------------------------------------------------
                Timing Report Generator: version O.61xd
                Copyright (c) 1995-2011 Xilinx, Inc. All rights reserved.
                
                Design file:       READ
                Device,speed:       XC9572,-7 (3.0)
                Report level:       verbose report
                --------------------------------------------------------------------------------
                
                
                
                All constraints were met.
                
                
                Data Sheet report:
                -----------------
                All values displayed in nanoseconds (ns)
                
                Clock clk to Pad
                ---------------+------------+
                Destination Pad| clk to PAD |
                ---------------+------------+
                data_led<0>  |    8.500|
                data_led<1>  |    8.500|
                data_led<2>  |    8.500|
                data_led<3>  |    8.500|
                ---------------+------------+
                
                Clock to Setup on destination clock clk
                ---------------+---------+---------+---------+---------+
                        | Src:Rise| Src:Fall| Src:Rise| Src:Fall|
                Source Clock  |Dest:Rise|Dest:Rise|Dest:Fall|Dest:Fall|
                ---------------+---------+---------+---------+---------+
                data_led<0>.Q |  8.000|  8.000|  8.000|  8.000|
                ---------------+---------+---------+---------+---------+
                
                Pad to Pad
                ---------------+---------------+---------+
                Source Pad   |Destination Pad| Delay |
                ---------------+---------------+---------+
                ---------------+---------------+---------+
                Minimum clock period is 10.000ns (100.000 MHz). Limited by Clock Pulse Width
                  for clk.
                Maximum clock speed computed based upon tCYC assumes that all registers are
                  rising-edge sensitive.
                
                
                Timing summary:
                ---------------
                
                Timing errors: 0 Score: 0
                
                Analysis completed Sat Feb 02 21:33:54 2013
                
                --------------------------------------------------------------------------------

                دیدگاه


                  #9
                  پاسخ : سوال مهم در مورد Process

                  نوشته اصلی توسط mahdi421
                  فکر کنم تنها را استفاده از شبیه ساز ISE باشه . البته تا حالا شبیه سازی نکردام . گزینه Analyze Post-Fit Static Timing برای یه XC9572-7 با یه برنامه کوچیک شمارنده 4 بیتی ماکزیمم کلاک رو 100MHZ داد.

                  کد:
                  --------------------------------------------------------------------------------
                  Timing Report Generator: version O.61xd
                  Copyright (c) 1995-2011 Xilinx, Inc. All rights reserved.
                  
                  Design file:       READ
                  Device,speed:       XC9572,-7 (3.0)
                  Report level:       verbose report
                  --------------------------------------------------------------------------------
                  
                  
                  
                  All constraints were met.
                  
                  
                  Data Sheet report:
                  -----------------
                  All values displayed in nanoseconds (ns)
                  
                  Clock clk to Pad
                  ---------------+------------+
                  Destination Pad| clk to PAD |
                  ---------------+------------+
                  data_led<0>  |    8.500|
                  data_led<1>  |    8.500|
                  data_led<2>  |    8.500|
                  data_led<3>  |    8.500|
                  ---------------+------------+
                  
                  Clock to Setup on destination clock clk
                  ---------------+---------+---------+---------+---------+
                          | Src:Rise| Src:Fall| Src:Rise| Src:Fall|
                  Source Clock  |Dest:Rise|Dest:Rise|Dest:Fall|Dest:Fall|
                  ---------------+---------+---------+---------+---------+
                  data_led<0>.Q |  8.000|  8.000|  8.000|  8.000|
                  ---------------+---------+---------+---------+---------+
                  
                  Pad to Pad
                  ---------------+---------------+---------+
                  Source Pad   |Destination Pad| Delay |
                  ---------------+---------------+---------+
                  ---------------+---------------+---------+
                  Minimum clock period is 10.000ns (100.000 MHz). Limited by Clock Pulse Width
                    for clk.
                  Maximum clock speed computed based upon tCYC assumes that all registers are
                    rising-edge sensitive.
                  
                  
                  Timing summary:
                  ---------------
                  
                  Timing errors: 0 Score: 0
                  
                  Analysis completed Sat Feb 02 21:33:54 2013
                  
                  --------------------------------------------------------------------------------
                  این گزینه که فرمودین کجا هست؟

                  دیدگاه


                    #10
                    پاسخ : سوال مهم در مورد Process



                    دیدگاه


                      #11
                      پاسخ : سوال مهم در مورد Process

                      ابن هم یه عکس از قسمت شبیه ساز

                      البته هنوز نتونستم نحوه تعریف مقدار CLK رو مشخص کنم

                      دیدگاه


                        #12
                        پاسخ : سوال مهم در مورد Process

                        نوشته اصلی توسط mahdi421
                        ابن هم یه عکس از قسمت شبیه ساز

                        البته هنوز نتونستم نحوه تعریف مقدار CLK رو مشخص کنم

                        کدوم عکس؟

                        دیدگاه


                          #13
                          پاسخ : سوال مهم در مورد Process

                          سایت پلود مشکل داشت

                          دیدگاه


                            #14
                            پاسخ : سوال مهم در مورد Process

                            نمیشه دقیق گفت که یک پرسس دقیقا چه فرکانسی کلاک می خواد؟ مثلا 100 خط کد دقیقا چقدر کلاک میخواد تا اجرا بشه؟
                            بعد اگه یک پروسس بیشتر از حد بشه چی میشه؟ fiter خبر میده یا نه؟

                            دیدگاه


                              #15
                              پاسخ : سوال مهم در مورد Process

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

                              دستورات درون پروسس میتونند تا جایی که حجم فضای کد برای FPGA اجازه بده زیاد بشه یعنی اگر مثلا شما از یک XC3s400استفاده کنید میتونید توش یک پروسس داشته باشید که تمام 400 هزار گیت این FPGA رو استفاده کند

                              :read:
                              نمیدونم چی بگم
                              نکاتی در رابطه با Altium Designer 6.9
                              http://www.eca.ir/forum2/index.php?topic=42247.15

                              دیدگاه

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