اطلاعیه

Collapse
No announcement yet.

سوال خیلی مهم ولی ساده.....برنامه در عمل چند بار اجرا میشود؟؟

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

    سوال خیلی مهم ولی ساده.....برنامه در عمل چند بار اجرا میشود؟؟

    سلام :mrgreen:

    برنامه زیر رو ببینید
    [code=vhdl]library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;
    use IEEE.STD_LOGIC_ARITH.ALL;
    use IEEE.STD_LOGIC_UNSIGNED.ALL;


    entity VHDL_MODULE is
    Port( LEDut std_logic_vector(3 downto 0);
    KEY:in std_logic_vector(3 downto 0) );
    end VHDL_MODULE;

    architecture Behavioral of VHDL_MODULE is
    begin

    LED <=KEY;
    end Behavioral;[/code]

    یه برنامه که مقادیر چند تا کلید به LEDها داده میشه..... :nerd:
    این برنامه ...طوری که من در عمل تست کردم...انگار کل برنامه در یه حلقه WHILE قرار داره...... oo:
    دفه اول که برنامه از خط 1 شروع میشه....خواستم ببینم دفه دوم از کجای برنامه شروع میشه؟؟؟؟؟؟؟ :question:
    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

    اگه دوس دارید سریع به جواب برسید :
    1) قبل از پرسیدن سوال، بسرچید.
    2) سوالاتون رو با جزئیات کامل مطرح کنید.

    #2
    پاسخ : سوال خیلی مهم ولی ساده.....برنامه در عمل چند بار اجرا میشود؟؟

    دستورات VHDL مقل دستورات کدویژن یا C نیستند. توی C دستورات خط به خط اجرا میشه. اما توی VHDL همه همزمان اجرا میشند.
    برنامه ای که نوشتی وقتی اجرا بشه، اون دستورات داخل Architecture اجزا میشند. اما اینطوری نیست همیشه و هر لحظه اجرا بشند. چون از انتساب => استفاده کردی، وقتی که KEY عوض بشه، بعد از یک زمان کوتاهی مقدارش ریخته میشه داخل LED. و بعد دوباره منتظر میمونه تا مقدار KEY عوض بشه.
    در ضمن همیشه برنامه ات روی خط 15 اجرا میشه. چون برنامه ات تک خطیه.
    ---------
    .
    .
    ...........

    دیدگاه


      #3
      پاسخ : سوال خیلی مهم ولی ساده.....برنامه در عمل چند بار اجرا میشود؟؟

      محسن مگه تو ARM کار نکرده بودی....ناقلا کی رفتی سراغ FPGA ما نفهمیدیم :mrgreen: ...... همه فن حریف هستیا
      ------------
      مفهموم همزمانی رو تقریبا میدونم.....آخه من فک میکردم برنامه یه بار فقط(اونم به صورت همزمان)اجرا میشه...ولی در عمل دیدم این طور نیست......
      کلا هرچی کد تو معماری داشته باشیم...یه صورت همزمان اجرا میشه....و بعد مدتی بازم به صورت همزمان اجرا میشه و...درست میگم دیگه؟؟؟؟
      اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

      اگه دوس دارید سریع به جواب برسید :
      1) قبل از پرسیدن سوال، بسرچید.
      2) سوالاتون رو با جزئیات کامل مطرح کنید.

      دیدگاه


        #4
        پاسخ : سوال خیلی مهم ولی ساده.....برنامه در عمل چند بار اجرا میشود؟؟

        نوشته اصلی توسط md3848
        محسن مگه تو ARM کار نکرده بودی....ناقلا کی رفتی سراغ FPGA ما نفهمیدیم :mrgreen: ...... همه فن حریف هستیا
        ------------
        مفهموم همزمانی رو تقریبا میدونم.....آخه من فک میکردم برنامه یه بار فقط(اونم به صورت همزمان)اجرا میشه...ولی در عمل دیدم این طور نیست......
        کلا هرچی کد تو معماری داشته باشیم...یه صورت همزمان اجرا میشه....و بعد مدتی بازم به صورت همزمان اجرا میشه و...درست میگم دیگه؟؟؟؟
        من اوایل FPGA کار کردم و بعدش از روی اجبار برای کاری رفتم سمت ARM. کلا FPGA رو بیشتر دوس داشتم و دارم. نه بابا دوستان دیگه توی سایت هستند که من اونارو می بینم کلی انرژی می گیرم. خودتم خوب داری پیش میری.
        -----
        ببین دستورات داخل معماری بستگی داره به صورت همین مدلی مکه تو نوشتی باشند یا به صورت process. فعلا همین مدلی که نوشتی رو میگم. فرض کن 10 تا ورودی رو ریختی توی 10 تا خروجی مثل همین که نوشتی. اولین بار همه با هم اجرا میشن بعد اگر 2 تا از 10 تا ورودی تغییر کنه فقط دستورات مربوط به اون 2 تا خط از نو اجرا میشه نه همه 10 تا خط. منظورم رو متوجه شدی ؟ اون عمل => وقتی کار می کنه که ورودی تغییر کنه.
        ---------
        .
        .
        ...........

        دیدگاه


          #5
          پاسخ : سوال خیلی مهم ولی ساده.....برنامه در عمل چند بار اجرا میشود؟؟

          VHDL زبان توصیف سخت افزار هست. وقتی با VHDL برنامه مینویسی در حقیقت داری مدار می سازی.
          برنامه ای که شما نوشتید از لحاظ سخت افزار یک بافر می باشد که ورودی کلید را به خروجی ال یی دی متصل می کند.
          می توانید شماتیک مدارتان را داخل نرم افزار مشاهده کنید.
          مهم نيست که کجايي هستي، چه رنگي هستي، به چه زبوني حرف مي زني. مهم اينه که انسان باشي.
          http://baranelec.mihanblog.com/
          آینده ای خواهم ساخت که گذشته ام در برابرش زانو بزند...

          دیدگاه


            #6
            پاسخ : سوال خیلی مهم ولی ساده.....برنامه در عمل چند بار اجرا میشود؟؟

            نوشته اصلی توسط ajapyy
            دستورات VHDL مقل دستورات کدویژن یا C نیستند. توی C دستورات خط به خط اجرا میشه. اما توی VHDL همه همزمان اجرا میشند.
            برنامه ای که نوشتی وقتی اجرا بشه، اون دستورات داخل Architecture اجزا میشند. اما اینطوری نیست همیشه و هر لحظه اجرا بشند. چون از انتساب => استفاده کردی، وقتی که KEY عوض بشه، بعد از یک زمان کوتاهی مقدارش ریخته میشه داخل LED. و بعد دوباره منتظر میمونه تا مقدار KEY عوض بشه.
            در ضمن همیشه برنامه ات روی خط 15 اجرا میشه. چون برنامه ات تک خطیه.
            این جمله تا حدودی درسته
            کلا دستورات در vhdl یا همروند اجرا میشن یا خط به خط ، همروند ها باید داخل process قرار داشته باشند و غیر از اون دستوراتی مثل if بصورت خط به خط اجرا میشه

            دیدگاه


              #7
              پاسخ : سوال خیلی مهم ولی ساده.....برنامه در عمل چند بار اجرا میشود؟؟

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

              دیدگاه

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