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





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









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









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






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

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

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 13
  1. #1
    2013/03/26
    122
    1

    اشکال برنامه VHDL

    دوستان به نظر شما اشکال این برنامه 4bit ALU چیه؟؟؟
    کد:
    library IEEE;
    use IEEE.STD_LOGIC_1164.all;
    
    entity bit ALU is
     port(
    		 A : in std_logic_vector(3 downto 0);
    		 B : in std_logic_vector(3 downto 0);
      c_in: in std_logic_vector;
    		 s : in std_logic_vector(1 downto 0);
    		 Y : out std_logic_vector (3 downto 0);
    	   );
    end bit ALU;
    
    architecture arch of bit ALU is
    signal sg1,sg2,sg3,sg4:std_logic_vector(3 downto 0);
        
    begin
     
     for k in 0 to 3 loop
     sg1(k)<=((A(k) xor B(k))xor c_in);
     c_in<=(A(k) and B(k))or((A(k) xor B(k))and C_in)
     
    end loop
     sg2<=A xor B;
     sg3<= A and B;
     sg4<=A or B;
     
     
     Y<= sg1 WHEN S(1)='0' AND S(0)='0' ELSE
       sg2 WHEN S(1)='0' AND S(0)='1' ELSE
       sg3 WHEN S(1)='1' AND S(0)='0' ELSE
    	  sg4 WHEN S(1)='1' AND S(0)='1' ;
    	  
    end bit ALU;
    صبرت که تمام شد نرو!
    "معرفت"
    تازه از آن لحظه آغاز می شود...
  2. #2
    2010/06/25
    تهران
    77
    0
    drg

    پاسخ : اشکال برنامه VHDL

    بهتره خودتون شبیه سازی کنید و اگر خطایی داره بگید؟ یا اگر مطابق چیزی که انتظار ارید کار نمیکنه توضیح بدید.
    افرادی که اینجان دوست دارن مشکلات رو حل کنن نه اینکه مشکلات رو تشخیص بدن.
    یا علی.
  3. #3
    2013/03/26
    122
    1

    پاسخ : اشکال برنامه VHDL

    این ارور رو برنامه میده..
    که به نظر ارتباطی به برنامه نداره!!!!
    چیکار باید کرد...
    صبرت که تمام شد نرو!
    "معرفت"
    تازه از آن لحظه آغاز می شود...
  4. #4
    2011/02/03
    172
    9

    پاسخ : اشکال برنامه VHDL

    نقل قول نوشته اصلی توسط RoboRazi
    این ارور رو برنامه میده..
    که به نظر ارتباطی به برنامه نداره!!!!
    چیکار باید کرد...
    مهندس برنامت اشکال داره.
    توی نوشتن port آخرین statement رو نباید از ';' استفاده کنی
  5. #5
    2011/02/03
    172
    9

    پاسخ : اشکال برنامه VHDL

    یک نکته دیگه هم که توی کدت وجود داره در مورد type متغییر c_in هست. شما اگر منظورت این هست که سایز c_in یک هست، باید از std_logic استفاده کنی نه std_logic_vector
  6. #6
    2010/06/25
    تهران
    77
    0
    drg

    پاسخ : اشکال برنامه VHDL

    اگر به خطا توجه کنید میبینید که تو خط 4 ایراد وجود داره. (عدد نوشته شده توی پارانتز)

    اسمی که انتخاب کردید برای entity درست نیست. نباید فاصله داشته باشه. بنویسید bit_adder البته تو همه قسمتهای کد.
    به توضیحات بقیه دوستان هم توجه کنید.
    یا علی.
  7. #7
    2013/03/26
    122
    1

    پاسخ : اشکال برنامه VHDL

    از تمامی دوستان برای راهنمایی هاشون نهایت تشکر وقدردانی را دارم
    البته یه مشکل دیگه هم دارم
    می خوام برنامه decoder 4x16 با دوتاdecoder 3x8 رو با VHDl بنویسم ولی مثل قبل ارور میده...
    لطفا راهنمایی کنید
    کد:
    library ieee;
    use ieee.std_logic_1164.all;
    entity decoder is
     port(a :in std_logic_vector(3 downto 0);
        b:out std_logic_vector(15 downto 0)
        );
    end decoder;
    architecture arch of decoder is
    begin
    if (a(3)='0') then
    with a select
      b(0)<="1" when "0000";
      b(1)<="1" when "0001";
      b(2)<="1" when "0010";
      b(3)<="1" when "0011";
      b(4)<="1" when "0100";
      b(5)<="1" when "0101";
      b(6)<="1" when "0110";
      b(7)<="1" when "0111";
     else
      with a select
      b(8)<="1" when "1000";
      b(9)<="1" when "1001";
      b(10)<="1" when "1010";
      b(11)<="1" when "1011";
      b(12)<="1" when "1100";
      b(13)<="1" when "1101";
      b(14)<="1" when "1110";
      b(15)<="1" when "1111";
     end if;
     end arch;
    صبرت که تمام شد نرو!
    "معرفت"
    تازه از آن لحظه آغاز می شود...
  8. #8
    2011/02/03
    172
    9

    پاسخ : اشکال برنامه VHDL

    نقل قول نوشته اصلی توسط RoboRazi
    از تمامی دوستان برای راهنمایی هاشون نهایت تشکر وقدردانی را دارم
    البته یه مشکل دیگه هم دارم
    می خوام برنامه decoder 4x16 با دوتاdecoder 3x8 رو با VHDl بنویسم ولی مثل قبل ارور میده...
    لطفا راهنمایی کنید
    کد:
    library ieee;
    use ieee.std_logic_1164.all;
    entity decoder is
     port(a :in std_logic_vector(3 downto 0);
        b:out std_logic_vector(15 downto 0)
        );
    end decoder;
    architecture arch of decoder is
    begin
    if (a(3)='0') then
    with a select
      b(0)<="1" when "0000";
      b(1)<="1" when "0001";
      b(2)<="1" when "0010";
      b(3)<="1" when "0011";
      b(4)<="1" when "0100";
      b(5)<="1" when "0101";
      b(6)<="1" when "0110";
      b(7)<="1" when "0111";
     else
      with a select
      b(8)<="1" when "1000";
      b(9)<="1" when "1001";
      b(10)<="1" when "1010";
      b(11)<="1" when "1011";
      b(12)<="1" when "1100";
      b(13)<="1" when "1101";
      b(14)<="1" when "1110";
      b(15)<="1" when "1111";
     end if;
     end arch;
    مهندس برنامت ایراد اساسی داره! یک اینکه توی بدنه concurrent اصلا از if نمیتونی استفاده کنی باید یا به صورت conditional signal assignment بنویسیش و یا به صورت selected signal assignment. دوم اینکه وقتی میخوای بک مقدار یک بیتی رو به یک std_logic بدی باید از ' استفاده کنی نه از " ! این ها جیزهایی بود که توجهم رو جلب کرد این ها رو درست کن ببین درست میشه یا نه
  9. #9
    2013/03/26
    122
    1

    پاسخ : اشکال برنامه VHDL

    ممنون از نظرتون آقا محمد....
    ولی در مورد if نمیشه از conditional signal assignment/selected استفاده کرد چون اون موقه دیگه نمیشه دیکدر 4x16 رو با دوتا دیکدر 3x8 طراحی کرد!!!!
    نظرتون چیه؟؟راه حلی دارید؟؟؟
    صبرت که تمام شد نرو!
    "معرفت"
    تازه از آن لحظه آغاز می شود...
  10. #10
    2007/10/14
    تهران
    1,335
    38

    پاسخ : اشکال برنامه VHDL

    چرا از پروسس استفاده نمی کنی؟
    کد PHP:
    process(a)

    begin
     
    case a is
     when 
    "0000" =>
      
    b(0) <= '1';
     
    when "0001" =>
      
    b(1) <= '1';
    ...
     
    when others =>
      
    null;
     
    end case
    end process

    این طوری که شما نوشتی یک مشکل دیگه هم که داره اینه که وقتی مثلاً "a = "0000 باشه مقدار (b(0 مشخصه ولی در غیر این صورت مقدارش نامعلومه که قابل قبول نیست(قابل سنتز نیست).
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 13

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

  1. برنامه VHDL
    توسط RoboRazi در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 6
    آخرين نوشته: 2014/01/17, 22:05
  2. اشکال در vhdl
    توسط anea2801 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 5
    آخرين نوشته: 2011/08/01, 11:46
  3. برنامه alu با vhdl
    توسط saeidkosha در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 0
    آخرين نوشته: 2011/07/27, 18:57
  4. اشکال در vhdl
    توسط anea2801 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 0
    آخرين نوشته: 2011/07/25, 14:03
  5. پاسخ: 9
    آخرين نوشته: 2009/04/03, 20:04

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

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

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

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

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