اطلاعیه

Collapse
No announcement yet.

خطا has multiple drivers but is not a resolved signal

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

    خطا has multiple drivers but is not a resolved signal

    سلام .
    برنامه بدون خطا compile میشه ولی هنگام simulation خطای زیر را می دهد :
    Signal 'm_nonzero' has multiple drivers but is not a resolved signal.
    نمی دونم واسه چی خطا گرفته .
    کد:
    library IEEE;
    use IEEE.STD_LOGIC_1164.all;
    
    package m_package is
      type matrix1x48 is array (1 to 48) of integer range 127 downto 0;
      type matrix1x24 is array (1 to 24) of integer range 127 downto 0; 
      type matrix24x2 is array (1 to 24,1 to 2) of integer ;
      type matrix1x8 is array (1 to 8) of integer range 127 downto 0;
    	type matrix1x7 is array (1 to 7) of integer range 127 downto 0;
    	type array_H is array(1 to 24) of integer range 127 downto 0;
    	constant z:integer:=2;
    	type matrix1x6 is array (1 to 6) of integer range 127 downto 0;
    	type matrix7xz is array (1 to 7,1 to z) of integer range 127 downto 0;
    
    end M_package;
    -----------------------------------------------------------------
    
    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;
    use IEEE.NUMERIC_STD.ALL;
    use ieee.std_logic_arith.all;
    use work.m_package.all;
    entity CNP is 
    port (
    M_matrix:in matrix24x2 ;
    L:out matrix1x8);
    end ;
    architecture behave of CNP is 
    signal M_nonzero:matrix1x8;
    begin
    		M_nonzero(1)<=M_matrix(2,1);
    		M_nonzero(2)<=M_matrix(3,2);
    		m_nonzero(3)<=M_matrix(9,1);
    		M_nonzero(4)<=M_matrix(10,2);
    		M_nonzero(5)<=M_matrix(13,2);
    		M_nonzero(6)<=M_matrix(14,1);
    	
          
    end;
    دنيا آنقدر وسيع هست که براي همه مخلوقات جايي باشد پس به جاي آنکه جاي کسي را بگيريم تلاش کنيم جاي واقعي خود را بيابيم

    #2
    پاسخ : خطا has multiple drivers but is not a resolved signal

    فکر میکنم برای اینکه نوع هایی که شما تعریف کردی از Integer هست.اما در زمان شبیه سازی برای Std_logic در نظر میگیره-اون Std_logic هایی که خودش در نظر میگیره رو عوض کن
    خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

    دیدگاه


      #3
      پاسخ : خطا has multiple drivers but is not a resolved signal

      سلام
      کلا اگه بخوایم کد صحیح بنویسم تمام نوع ها باید از نوع std_logic باشه ؟

      دنيا آنقدر وسيع هست که براي همه مخلوقات جايي باشد پس به جاي آنکه جاي کسي را بگيريم تلاش کنيم جاي واقعي خود را بيابيم

      دیدگاه


        #4
        پاسخ : خطا has multiple drivers but is not a resolved signal

        سلام،من فکر نمیکنم مشکل از integer بودن باشه ، (باید out از جنس std_logic باشه،که چون در این برنامه شما با out کاری ندارید مشکلی نیست)،به نظر من مشکل به خاطر اینه که برای matrix1x8 رنج تعریف کردید،در صورتی که برای matrix24x2 رنج تعریف نکردید(پس پیش فرض 32 بیتی هستش) ، خب در این صورت نباید هم بتونه یه عدد 32 بیتی رو بریزه توی 7 بیتی.

        دیدگاه


          #5
          پاسخ : خطا has multiple drivers but is not a resolved signal

          نوشته اصلی توسط soleares
          سلام،من فکر نمیکنم مشکل از integer بودن باشه ، (باید out از جنس std_logic باشه،که چون در این برنامه شما با out کاری ندارید مشکلی نیست)،به نظر من مشکل به خاطر اینه که برای matrix1x8 رنج تعریف کردید،در صورتی که برای matrix24x2 رنج تعریف نکردید(پس پیش فرض 32 بیتی هستش) ، خب در این صورت نباید هم بتونه یه عدد 32 بیتی رو بریزه توی 7 بیتی.
          مرسی مشکل همین جا بود
          یه سوالی داشتم .این که خروجی باید از نوع std_logic باشه حتما و یا تمام سیگنالها هم باید ؟

          دنيا آنقدر وسيع هست که براي همه مخلوقات جايي باشد پس به جاي آنکه جاي کسي را بگيريم تلاش کنيم جاي واقعي خود را بيابيم

          دیدگاه


            #6
            پاسخ : خطا has multiple drivers but is not a resolved signal

            در مورد سوالتون باید بگم که من هر وقت خروجی رو به صورت out و نوع integer تعریف کردم به مشکل برخوردم،ولی وقتی به صورت buffer تعریف کردم مشکل حل شده. در مورد اینکه گفتم خروجی std_logic باشه اجباری نیست و میتونه با نوع integer هم کار بکنه ، ولی خوب میدونید که std_logic انتخاب بهتری از نظر سخت افزاری هستش چرا که حالت high Impedance رو هم ساپورت میکنه.
            در مورد سیگنالها نه ،هر چی میتونن باشند.

            دیدگاه

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