اطلاعیه

Collapse
No announcement yet.

مشکل در ایجاد و استفاده از package

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

    مشکل در ایجاد و استفاده از package

    سلام دوباره :mrgreen:
    یک نوع داده رو در یک پکیج ایجاد کردم. حالا میخوام استفاده اش کنم قاعدتا باید به صورت:
    کد:
    use work.my_pack.all;
    باشه. و فایلش رو هم باید در پروژه ام Add کنم. در یک کدی ازش استفاده کردم و به صورت سیمبول در آوردمش.
    حالا در جای دیگه ای به صورت شماتیکی بلوکش رو وصل کردم به یک جای دیگه. Check syntax اونو هم می زنم و تایید رو میگیرم. اما همین که می خوام ISIMرو باز کنم خطا می ده.
    این کد پکیجم:
    کد:
    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;
    
    package shakiba is
    type byte_type is array (NATURAL RANGE <>) of std_logic_vector(7 downto 0);
    end shakiba;
    خطا اینه:
    ERROR:HDLCompiler:410 - "E:/Shakiba/FPGA/FPGA Projects/Xilinx/uart_test/w.vhf" Line 137: Expression has 9 elements ; expected 8
    ERROR:HDLCompiler:377 - "E:/Shakiba/FPGA/FPGA Projects/Xilinx/uart_test/w.vhf" Line 137: Entity port a does not match with type std_logic_vector of component port

    دنبالش که می کنم فایل vhf اون شماتیکو برام نمایش می ده و در اونجا میبینم typeی که ایجاد کردمو در component استفاده نکرده و خودش قرار داده std_logic_vector . به صورت دستی هم که اشکالو برطرف می کنم باز هم خطا میده :cry2:



    #2
    پاسخ : مشکل در ایجاد و استفاده از package

    Expression has 9 elements ; expected 8

    تو شماتیک چه بلوکهایی رو به هم وصل کردید؟ ظاهرا به طول بیتها خطا داده! مجددا طول بیت دو قسمتی رو که به هم وصل کردید چک کنید.
    کدی رو که میگید از پکیج استفاده کردید رو هم بذارید شاید کمکی بکنه.
    یا علی.

    دیدگاه


      #3
      پاسخ : مشکل در ایجاد و استفاده از package

      اصلا توی برنامه پین 9 بیتی ندارم!
      قضیه اینه که یک نوع داده ایجاد کردم به صورت پکیجکه بتونم چند ورودی دلخواه به صورت 8 بیتی تعریف کنم. یعنی آرایه ای از مقادیر 8 بیتی. اسمشو گذاشتم byte_type
      حالا این نوع داده رو در کد نهایی که من به صورت شماتیکی پیاده کردم این جوری گذاشته:
      کد:
       a  : out  std_logic_vector (7 downto 0);
      و پکیجم رو هم در برنامه استفاده نکرده.
      در حالی که باید به این صورت باشه:
      کد:
       a  : out  Byte_type;
      و این خط رو هم در ابتدا اضافه میکرده:
      کد:
      use work.shakiba.all;

      دیدگاه


        #4
        پاسخ : مشکل در ایجاد و استفاده از package

        نوشته اصلی توسط میثم شکیبا
        در حالی که باید به این صورت باشه:
        کد:
         a  : out  Byte_type;
        چون در تعریف نوع Byte_type رنج رو مشخص نکردی در خط بالا باید مشخص کنی مثلاً:
        کد:
         a  : out  Byte_type(0 to 1);
        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
        لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
        با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
        اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
        يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

        دیدگاه


          #5
          پاسخ : مشکل در ایجاد و استفاده از package

          shapalakh
          shapalakh
          vay vay vay

          دیدگاه

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