ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

نمایش نتایج: از 1 به 6 از 6
  1. #1
    2008/01/03
    گیلان
    388
    4

    مشکل با component

    به نظر شما مشکل برنامه زیر چیه که اجرا نمیشه ؟
    این برنامه ساخت یک جمع کننده 4 بیتی با کمک تمام جمع کننده است :
    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;



    entity fa is
    Port ( x : in STD_LOGIC;
    y : in STD_LOGIC;
    c_in : in STD_LOGIC;
    s : out STD_LOGIC;
    c_out : out STD_LOGIC);
    end fa;

    architecture Behavioral of fa is

    signal s1,o2: std_logic;

    begin
    s1<=x xor y xor c_in;
    s<=not s1;
    o2<=(x and y)or(c_in and (x xor y));
    c_out<=not o2;

    end Behavioral;

    entity adder4bit is
    Port ( a : in std_LOGIC_VECTOR (3 downto 0);
    b : in std_LOGIC_VECTOR (3 downto 0);
    cin : in std_LOGIC;
    s : out std_LOGIC_VECTOR (3 downto 0);
    cout : out std_LOGIC);
    end adder4bit;

    architecture Behavioral of adder4bit is

    component fa
    port (x : in STD_LOGIC;
    y : in STD_LOGIC;
    c_in : in STD_LOGIC;
    s : out STD_LOGIC;
    c_out : out STD_LOGIC);
    end component;

    signal t1,t2,t3:STD_LOGIC;

    begin
    fa0: fa port map(x=>a(0),y=>b(0),c_in=>cin,s=>s(0), c_out=>t1);
    fa1: fa port map(x=>a(1),y=>b(1),c_in=>t1,s=>s(1),c _out=>t2);
    fa2: fa port map(x=>a(2),y=>b(2),c_in=>t2,s=>s(2),c _out=>t3);
    fa3: fa port map(x=>a(3),y=>b(3),c_in=>t3,s=>s(3),c _out=>cout);

    end Behavioral;

    مردود شدن بهتر از با تقلب قبول شدن است
  2. #2
    2008/02/28
    تهران
    22
    0

    پاسخ : مشکل با component

    سلام.
    اي کاش يه خورده واضح تر سوالتون رو مطرح مي کرديد. مشکل شما دقيقا در کجاست؟ در کامپايل مشکل داريد ؟ يا خروجي برنامه مطابق انتظار شما نيست؟
    به هر حال چند تا موضوع بود که به ذهنم رسيد که مي گم اميدوارم مفيد باشه:
    اول اينکه اميدوارم که همونطور که کدتون رو تو پست به صورت يکپارچه گذاشتين تو يه فايل vhdl قرار نداده باشين. بايد براي کامپوننت يه فايل vhdl جداگانه تخصيص بدين.
    دوم ابنکه در کد مربوط به Full Adder به نظر مي رسه يه اشتباه منطقي براي محاسبه وجود داره. من اين قسمتو به صورت زير اصلاح کردم :
    نقل قول نوشته اصلی توسط masoud58

    ;s<=x xor y xor c_in
    ;s<=not s1--
    ;(c_out<=(x and y)or(c_in and x) or (c_in and y
    ;c_out<=not o2--

    همونطور که ديديد به دو سيگنال در قسمت Full Adder ديگه احتياجي نيست . من با اين اصلاحات برنامه شما رو بدون خطا کامپايل کردم و همچنين در شبيه سازي نتيجه درست هم گرفتم.
    موفق باشيد.
  3. #3
    2008/01/03
    گیلان
    388
    4

    پاسخ : مشکل با component

    نقل قول نوشته اصلی توسط saeed_n_m
    سلام.
    اي کاش يه خورده واضح تر سوالتون رو مطرح مي کرديد. مشکل شما دقيقا در کجاست؟ در کامپايل مشکل داريد ؟ يا خروجي برنامه مطابق انتظار شما نيست؟
    به هر حال چند تا موضوع بود که به ذهنم رسيد که مي گم اميدوارم مفيد باشه:
    اول اينکه اميدوارم که همونطور که کدتون رو تو پست به صورت يکپارچه گذاشتين تو يه فايل vhdl قرار نداده باشين. بايد براي کامپوننت يه فايل vhdl جداگانه تخصيص بدين.
    دوم ابنکه در کد مربوط به Full Adder به نظر مي رسه يه اشتباه منطقي براي محاسبه وجود داره. من اين قسمتو به صورت زير اصلاح کردم : همونطور که ديديد به دو سيگنال در قسمت Full Adder ديگه احتياجي نيست . من با اين اصلاحات برنامه شما رو بدون خطا کامپايل کردم و همچنين در شبيه سازي نتيجه درست هم گرفتم.
    موفق باشيد.
    با تشکر از پاسخ شما دوست عزیز من در نوشتن کدهای VHDL مبتدی هستم اشتباهات فاحش منو ببخشید
    اون دستورات NOT رو بخاطر بردی که من روش کار می کنم گذاشتم زیرا LED های روی برد بصورت آند مشترک هست بنابراین
    جواب معکوس بدست می یومد
    درضمن جایی خوندم که نوشته بود فایل کامپوننت با فایل اصلی باید بصورت یکپارچه نوشته بشه بخاطر همین کدها رو منم یکپارچه نوشتم
    بخاطر همین برنامه اصلا کامپایل نمیشه
    اینطور که من از پاسخ شما فهمیدم فایل کامپوننت باید جدا نوشته بشه فایل اصلی هم جدا . ولی هر دو در یک پوشه باید قرار داشته باشه
    اگه درست هست تایید بفرمایید ممنون میشم
    باز هم متشکرم
    مردود شدن بهتر از با تقلب قبول شدن است
  4. #4
    2008/02/28
    تهران
    22
    0

    پاسخ : مشکل با component

    به طور کلي شما در يک فايل vhdl نمي تونيد دو تا entity داشته باشين . پس به طور طبيعي همونطور که خودتون هم گفتين بايد يک پروژه درست کنين و دو تا فايل را در فولدر پروژه قرار دهيد و فايل adder 4 بيتي را به عنوان top level معرفي کنيد.
    البته غير از not ها من يه تغيير کوچک هم در تعريف full adder دادم. به اون هم دقت کنيد.
  5. #5
    2008/01/03
    گیلان
    388
    4

    پاسخ : مشکل با component

    نقل قول نوشته اصلی توسط saeed_n_m
    به طور کلي شما در يک فايل vhdl نمي تونيد دو تا entity داشته باشين . پس به طور طبيعي همونطور که خودتون هم گفتين بايد يک پروژه درست کنين و دو تا فايل را در فولدر پروژه قرار دهيد و فايل adder 4 بيتي را به عنوان top level معرفي کنيد.
    البته غير از not ها من يه تغيير کوچک هم در تعريف full adder دادم. به اون هم دقت کنيد.
    بله همونطور که فرموده بودید متوجه c_outشدم که با کد خودم فرق چندانی نداشت
    ولی متوجه top level که فرمودید نشدم تنظیم خاصی برای اون باید انجام بدم؟
    مردود شدن بهتر از با تقلب قبول شدن است
  6. #6
    2008/02/28
    تهران
    22
    0

    پاسخ : مشکل با component

    ببينيد وقتي که يه پروژه کامپايل مي شه بايد يک نقطه شروع داشته باشه که از لحاظ سلسله مراتب اجرايي بالاترين سطح برنامه شما رو مشخص کنه، ممکنه پروژه شما شامل چندين فايل شماتيک ، وريلاگ و vhdl باشه که به صورت خاصي به هم ديگه ارتباط دارن. در حقيقت فايل top level فايلي که بالاترين سطح اجرايي را داره رو مشخص مي کنه . براي مقايسه مثلا شما در زبان Cهم هميشه يه تابع main دارين که کامپايل و اجرا از اون شروع ميشه . هر چند که مي تونين چندين فايل مختلف شامل توابع مختلف داشته باشين.
    براي تنظيمات top level هم هر نرم افزاري تنظيمات خودشو داره. مثلا در quartus به صورت پيش فرض فايلي که همنام اسم پروژه باشه به عنوان top level در نظر گرفته مي شه ، هر چند مي شه هر فايلي رو به صورت دستي به عنوان top level تعريف کرد.
نمایش نتایج: از 1 به 6 از 6

موضوعات مشابه

  1. مشکل در فراخواني component
    توسط ashena900 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 1
    آخرين نوشته: 2013/10/08, 08:25
  2. تفاوت core و component
    توسط masoud58 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 5
    آخرين نوشته: 2013/08/11, 21:07
  3. Component Labeling
    توسط hooman در انجمن پردازش تصوير
    پاسخ: 3
    آخرين نوشته: 2013/04/07, 23:30
  4. خطای Goto component
    توسط geladyator600 در انجمن نرم افزار Proteus
    پاسخ: 0
    آخرين نوشته: 2013/04/06, 17:05
  5. تبدیل scart به component
    توسط bijan darbari در انجمن تلویزیون و مانیتور
    پاسخ: 3
    آخرين نوشته: 2011/05/27, 14:33

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •