اطلاعیه

Collapse
No announcement yet.

عدم سنتز کد VHDL زیر

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

    عدم سنتز کد VHDL زیر

    با سلام به دوستان
    کد زیر کد ساده یک جمع کننده تفریق گر 4 بیتی هست این کد از نظر نگارشی خطا نداره ولی نمیدونم چرا سنتز نمیشه
    کد:
    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;
    use ieee.std_logic_arith.all;
    use ieee.std_logic_unsigned.all;
    -- Uncomment the following library declaration if using
    -- arithmetic functions with Signed or Unsigned values
    --use IEEE.NUMERIC_STD.ALL;
    
    -- Uncomment the following library declaration if instantiating
    -- any Xilinx primitives in this code.
    --library UNISIM;
    --use UNISIM.VComponents.all;
    
    entity fa_sub4 is
      Port ( a : in STD_LOGIC_VECTOR (3 downto 0);
          b : in STD_LOGIC_VECTOR (3 downto 0);
          m : in STD_LOGIC;
          sx : out STD_LOGIC_VECTOR (3 downto 0);
          c_out : out STD_LOGIC);
    end fa_sub4;
    
    architecture str of fa_sub4 is
    
    component fa4b port(a : in STD_LOGIC_VECTOR (3 downto 0);
              b : in STD_LOGIC_VECTOR (3 downto 0);
              c_in : in STD_LOGIC;
              s : out STD_LOGIC_VECTOR (3 downto 0);
              c_out : out STD_LOGIC);
    end component;
    
    signal t : STD_LOGIC_VECTOR (3 downto 0);
    
    begin
     t(0)<=b(0) xor m;
     t(1)<=b(1) xor m;
     t(2)<=b(2) xor m;
     t(3)<=b(3) xor m;
     
     
     fa_su: fa4b port map (a=>a,b=>t,s=>sx,c_in=>m,c_out=>c_out); 
                               																							
    
    end str;
    مردود شدن بهتر از با تقلب قبول شدن است

    #2
    پاسخ : عدم سنتز کد VHDL زیر

    سلام
    اگر زیر برنامه مربوط به کامپوننت را نوشته باشید برنامه هیچ مشکلی نخواهد داشت و سنتز خواهد شد.

    دیدگاه


      #3
      پاسخ : عدم سنتز کد VHDL زیر

      زیر یرنامه رو تو یه فایل دیگه نوشتم
      اشکالی داره ؟
      مردود شدن بهتر از با تقلب قبول شدن است

      دیدگاه


        #4
        پاسخ : عدم سنتز کد VHDL زیر

        اینم خطایی که موقع سنتز میده:
        کد:
        ERROR:Xst:796 - "F:/vhdl/fa_sub/fa_sub4.vhd" line 57: VHDL source expression not yet supported: 'SignalDeclaration'.
        INTERNAL_ERROR:Xst:cmain.c:3464:1.56 - Process will terminate. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support.
        من بل ise کار میکنم
        مردود شدن بهتر از با تقلب قبول شدن است

        دیدگاه


          #5
          پاسخ : عدم سنتز کد VHDL زیر

          خط 57 کدتون چیه؟

          دیدگاه


            #6
            پاسخ : عدم سنتز کد VHDL زیر

            الان اومدم یه بار دیگه تایپ کردم از نو خواستم سنتز کنم این پیغام رو میده :
            کد:
            Instantiating black box module <fa4b>.
            اشاره به خط زیر میکنه
            کد:
            fa_su: fa4b port map (a=>a,b=>t,s=>s,c_in=>m,c_out=>c_out);
            من که پاک گیج شدم
            تازه این پیغام ها رو هم میده :
            کد:
            WARNING:Xst:2036 - Inserting OBUF on port <c_out> driven by black box <fa4b>. Possible simulation mismatch.
            WARNING:Xst:2036 - Inserting OBUF on port <s<3>> driven by black box <fa4b>. Possible simulation mismatch.
            WARNING:Xst:2036 - Inserting OBUF on port <s<2>> driven by black box <fa4b>. Possible simulation mismatch.
            WARNING:Xst:2036 - Inserting OBUF on port <s<1>> driven by black box <fa4b>. Possible simulation mismatch.
            WARNING:Xst:2036 - Inserting OBUF on port <s<0>> driven by black box <fa4b>. Possible simulation mismatch.
            مردود شدن بهتر از با تقلب قبول شدن است

            دیدگاه


              #7
              پاسخ : عدم سنتز کد VHDL زیر

              خطای black box مربوط به وقتی میشه که زیر برنامه کامپوننت شما وجود نداره. یعنی هیچ کدی برای ماژول fa4b شناسایی نشده.
              از آنجایی که گفتید زیربرنامه رو نوشتید این احتمال رو میدم که زیربرنامه رو درست به پروژه تون add نکرده باشید.

              دیدگاه


                #8
                پاسخ : عدم سنتز کد VHDL زیر

                نوشته اصلی توسط elham2
                خطای black box مربوط به وقتی میشه که زیر برنامه کامپوننت شما وجود نداره. یعنی هیچ کدی برای ماژول fa4b شناسایی نشده.
                از آنجایی که گفتید زیربرنامه رو نوشتید این احتمال رو میدم که زیربرنامه رو درست به پروژه تون add نکرده باشید.
                والا دیگه کامپوننت و port map رو نوشتم
                دیگه جور دیگه ای بلد نیستم
                مردود شدن بهتر از با تقلب قبول شدن است

                دیدگاه


                  #9
                  پاسخ : عدم سنتز کد VHDL زیر

                  ماژول fa4b رو به عنوان Top Module انتخاب کن و دوباره سنتز کن ببین چه خطایی میده.
                  لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                  لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                  با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
                  اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
                  يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

                  دیدگاه


                    #10
                    پاسخ : عدم سنتز کد VHDL زیر

                    نوشته اصلی توسط هـادی
                    ماژول fa4b رو به عنوان Top Module انتخاب کن و دوباره سنتز کن ببین چه خطایی میده.
                    والا من قبلا تنها کاری که می کردم این بود که فایل مثلا fa4b رو تو پوشه جدید کپی می کردم بعنوان یک کامپوننت
                    الان میبینم که top module غیر فعاله
                    شما روش دیگری برای ایجاد کامپوننت بلدید ؟
                    من با ise14.4 کار می کنم
                    مردود شدن بهتر از با تقلب قبول شدن است

                    دیدگاه


                      #11
                      پاسخ : عدم سنتز کد VHDL زیر

                      احتمالاً این فایل رو به پروژه add نکردی، در پنل Hierarchy راست کلیک کن و گزینه Add source یا Add copy of source رو انتخاب کن و فایل fa4b رو به پروژه اضافه کن. اسم فایل و اسم Entity ترجیحاً یکی باشن.
                      لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                      لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                      با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
                      اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
                      يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

                      دیدگاه


                        #12
                        پاسخ : عدم سنتز کد VHDL زیر

                        والا دیروز اومدم تو همون پروژه fa4b یک سورس جدید به اسم fs4b ایجاد کردم درست شد
                        ولی قبلا با اون روش جواب میداد
                        نمیدونم کجا اشتباه کردم
                        حالا اومدم با ip core یه شمارنده 4 بیتی درست کردم الان موقع سنتز این خطا رو میده :
                        کد:
                        WARNING:Xst:2211 - "F:/vhdl/core_count/sch_counter.vhf" line 42: Instantiating black box module <counter_4b>.
                        من که پاک کلافه شدم
                        مردود شدن بهتر از با تقلب قبول شدن است

                        دیدگاه


                          #13
                          پاسخ : عدم سنتز کد VHDL زیر

                          این خطا (Error) نیست هشداره (Warning) و مشکلی پیش نمیاره.
                          لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                          لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                          با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
                          اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
                          يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

                          دیدگاه


                            #14
                            پاسخ : عدم سنتز کد VHDL زیر

                            نوشته اصلی توسط هـادی
                            این خطا (Error) نیست هشداره (Warning) و مشکلی پیش نمیاره.
                            یعنی با وجود این هشدار سنتز انجام میشه ؟ :eek:
                            مردود شدن بهتر از با تقلب قبول شدن است

                            دیدگاه


                              #15
                              پاسخ : عدم سنتز کد VHDL زیر

                              نوشته اصلی توسط masoud58
                              یعنی با وجود این هشدار سنتز انجام میشه ؟ :eek:
                              بله، Warning معمولاً به وجود میاد، البته ضرری نداره که Text Report مربوط به Warning مرحله سنتز رو ببینی تا مطمئن بشی مسأله مهمی نیست.
                              لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                              لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                              با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
                              اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
                              يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

                              دیدگاه

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