اطلاعیه

Collapse
No announcement yet.

اشکال در vhdl

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

    اشکال در vhdl

    اگه
    ما داشته باشیم
    tmp: std_logic_vector(23 downto 0

    و بخواهیم که
    tmp=z
    بشه باید چی بنویسیم؟

    #2
    پاسخ : اشکال در vhdl

    نوشته اصلی توسط anea2801
    اگه
    ما داشته باشیم
    tmp: std_logic_vector(23 downto 0

    و بخواهیم که
    tmp=z
    بشه باید چی بنویسیم؟
    خیلی چیزا میشه نوشت مثلا:
    for i in 23 downto 0 loop
    tmp(i) <= 'Z';
    end loop;
    اسمایل، تومورو ویل بی وُرس

    دیدگاه


      #3
      پاسخ : اشکال در vhdl

      نوشته اصلی توسط ژوپیتر
      خیلی چیزا میشه نوشت مثلا:
      for i in 23 downto 0 loop
      tmp(i) <= 'Z';
      end loop;
      البته منظورم با حلقه و ....نبود
      میخاستم از مقدار دهی مستقیم استفاده کنم

      دیدگاه


        #4
        پاسخ : اشکال در vhdl

        نوشته اصلی توسط anea2801
        البته منظورم با حلقه و ....نبود
        میخاستم از مقدار دهی مستقیم استفاده کنم
        نوشتن حلقه هیچ فرقی در ساختار نهایی با مقدار دهی مستقیم نداره:
        tmp <= "ZZZZZZZZZZZZZZZZZZZZZZZZ"
        اسمایل، تومورو ویل بی وُرس

        دیدگاه


          #5
          پاسخ : اشکال در vhdl

          نوشته اصلی توسط ژوپیتر
          نوشتن حلقه هیچ فرقی در ساختار نهایی با مقدار دهی مستقیم نداره:
          tmp <= "ZZZZZZZZZZZZZZZZZZZZZZZZ"
          ولی خوب حلقه تو fpga
          میاد یک فلیپ فلاپ میسازه این ایرادش هست. :sad:

          دیدگاه


            #6
            پاسخ : اشکال در vhdl

            نوشته اصلی توسط anea2801
            ولی خوب حلقه تو fpga
            میاد یک فلیپ فلاپ میسازه این ایرادش هست. :sad:
            بستگی به قوانینی داره که برای Optimization تعریف کردید، البته تایمینگ هم بی تاثیر نیست.
            For loop دقیقا به صورت زیر سنتز میشه:

            for i in 23 downto 0 loop
            tmp(i) <= 'Z';
            end loop;

            برابر است با

            tmp(0) <= 'Z';
            tmp(1) <= 'Z';
            tmp(2) <= 'Z';
            tmp(3) <= 'Z';
            ....
            tmp(23) <= 'Z';

            و فرقی با نوشته قبلی که برابر:
            tmp <= "ZZZZZZZZZZZZZZZZZZZZZZZZ"
            نداره و از نظر منطقی همه با هم برابرن و فقط قوانین تعریف شده برای سنتز میتونه برای هر کدوم متفاوت تعریف شه، همونطور که یک مدار منطقی رو به روشهای مختلفی میشه پیاده سازی کرد.
            اسمایل، تومورو ویل بی وُرس

            دیدگاه

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