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





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









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









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





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

نمایش نتایج: از 1 به 10 از 10
  1. #1
    2014/11/25
    23
    0

    ChipScope cores adding (اضافه کردن cores)


    سلام،

    من برای استفاده ازchip scope ، وقتیآ* ۲ تا core ICON & ILA رو استفاده میآ*کنم ، سینتکس خطا میگیرم.

    کسیآ* متوجه اینکه کجا ایراد داره میشه؟


    --
    ----------------------------------------------------------------------------------
    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;



    entity randbit is
    generic (width : integer := 32);
    port (
    clk :in std_logic;
    -- random_num ut std_logic_vector (width-1 downto 0)
    rnd_out : out std_logic
    );

    end randbit;

    architecture Behavioral of randbit is

    --chipscope ICON
    ---/////////////
    signal CONTROL0 : STD_LOGIC_VECTOR(35 DOWNTO 0);
    component xicon
    PORT (
    CONTROL0 : INOUT STD_LOGIC_VECTOR(35 DOWNTO 0));

    end component;

    --chipscope ILA

    signal ILA_DATA : STD_LOGIC_VECTOR(255 DOWNTO 0);
    signal ILA_TRIG0 : STD_LOGIC_VECTOR(7 DOWNTO 0);
    component xILA
    PORT (
    CONTROL : INOUT STD_LOGIC_VECTOR(35 DOWNTO 0);
    CLK : IN STD_LOGIC;
    DATA : IN STD_LOGIC_VECTOR(255 DOWNTO 0);
    TRIG0 : IN STD_LOGIC_VECTOR(7 DOWNTO 0));

    end component;

    ---/////////////

    begin
    process(clk)

    variable rand_temp :std_logic_vector(width-1 downto 0) := (31 =>'1',28 =>'1', others =>'0'
    variable temp : std_logic := '0';
    begin
    if (rising_edge(clk)) then
    temp := rand_temp (width-1) xor rand_temp (width-2);
    rand_temp(0) :=temp;
    rand_temp (width -1 downto 1) := rand_temp (width -2 downto 0);
    end if;

    rnd_out<=rand_temp(31);

    end process;

    --/// CHIPSCOPE ICON & ILA
    Inst_ICON : xicon
    port map (
    CONTROL0 => CONTROL0);


    Inst_ILA: xILA
    port map (
    CONTROL => CONTROL0,
    CLK => CLK,
    DATA => ILA_DATA,
    TRIG0 => ILA_TRIG0);




    end Behavioral;






  2. #2
    2007/10/14
    تهران
    1,335
    38

    پاسخ : ChipScope cores adding (اضافه کردن cores)

    سلام. اگه کدت رو انتخاب کنی، با استفاده از گزینه "کد" و انتخاب "VHDL" به صورت زیر در میاد که خواناتر میشه:
    [code=vhdl]--
    ----------------------------------------------------------------------------------
    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;



    entity randbit is
    generic (width : integer := 32);
    port (
    clk :in std_logic;
    -- random_num ut std_logic_vector (width-1 downto 0)
    rnd_out : out std_logic
    );

    end randbit;

    architecture Behavioral of randbit is

    --chipscope ICON
    ---/////////////
    signal CONTROL0 : STD_LOGIC_VECTOR(35 DOWNTO 0);
    component xicon
    PORT (
    CONTROL0 : INOUT STD_LOGIC_VECTOR(35 DOWNTO 0));

    end component;

    --chipscope ILA

    signal ILA_DATA : STD_LOGIC_VECTOR(255 DOWNTO 0);
    signal ILA_TRIG0 : STD_LOGIC_VECTOR(7 DOWNTO 0);
    component xILA
    PORT (
    CONTROL : INOUT STD_LOGIC_VECTOR(35 DOWNTO 0);
    CLK : IN STD_LOGIC;
    DATA : IN STD_LOGIC_VECTOR(255 DOWNTO 0);
    TRIG0 : IN STD_LOGIC_VECTOR(7 DOWNTO 0));

    end component;

    ---/////////////

    begin
    process(clk)

    variable rand_temp :std_logic_vector(width-1 downto 0) := (31 =>'1',28 =>'1', others =>'0'
    variable temp : std_logic := '0';
    begin
    if (rising_edge(clk)) then
    temp := rand_temp (width-1) xor rand_temp (width-2);
    rand_temp(0) :=temp;
    rand_temp (width -1 downto 1) := rand_temp (width -2 downto 0);
    end if;

    rnd_out<=rand_temp(31);

    end process;

    --/// CHIPSCOPE ICON & ILA
    Inst_ICON : xicon
    port map (
    CONTROL0 => CONTROL0);


    Inst_ILA: xILA
    port map (
    CONTROL => CONTROL0,
    CLK => CLK,
    DATA => ILA_DATA,
    TRIG0 => ILA_TRIG0);




    end Behavioral;[/code]

    به نظر نمیرسه در کد بالا مشکلی باشه. منظورت از 2 تا core اینه که یک ICON و یک ILA یا دو تا از هر کدوم؟
    خطایی که میگیره چیه؟
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"
  3. #3
    2014/11/25
    23
    0

    پاسخ : ChipScope cores adding (اضافه کردن cores)

    سلام .. نه منظورم یک ICON و یکILA هست
    راستش الان که Re-Run کردم دیگهerror نمیده ولیآ* warning میده ..
    نمیدونم چقدر مهمه اینwarning ها

    Line 33: Net <ILA_TRIG0[7]> does not have a driver.
    WARNING:Xst:653 - Signal <ILA_DATA> is used but never assigned. This sourceless signal will be automatically connected to value GND.
    WARNING:Xst:653 - Signal <ILA_TRIG0> is used but never assigned. This sourceless signal will be automatically connected to value GND.
  4. #4
    2014/11/25
    23
    0

    پاسخ : ChipScope cores adding (اضافه کردن cores)



    WARNING:PhysDesignRules:372 - Gated clock. Clock net CONTROL0<13> is sourced by
    a combinatorial pin. This is not good design practice. Use the CE pin to
    control the loading of data into the flip-flop.
    WARNING:PhysDesignRules:2410 - This design is using one or more 9K Block RAMs
    (RAMB8BWER). 9K Block RAM initialization data, both user defined and
    default, may be incorrect and should not be used. For more information,
    please reference Xilinx Answer Record 39999.
  5. #5
    2014/11/25
    23
    0

    پاسخ : ChipScope cores adding (اضافه کردن cores)


    شاید خطا به خاطره ucf فایله
  6. #6
    2014/11/25
    23
    0

    پاسخ : ChipScope cores adding (اضافه کردن cores)

    code edited
  7. #7
    2014/11/25
    23
    0

    پاسخ : ChipScope cores adding (اضافه کردن cores)

    من امروز همش رو این کار کردم ولیآ* نشد!! :sad:

    فکر میآ*کنم مشکل از assign کردن دیتا و تریگگر باشه ..

    [code=vhdl]CLK => CLK,
    DATA => ILA_DATA,
    TRIG0 => ILA_TRIG0[/code]


    من میآ*خوام پورت خروج rnd_out رو track کنم با chipscope ..




    [code=vhdl]--
    ----------------------------------------------------------------------------------
    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;

    entity randbit is
    generic (width : integer := 32);
    port (
    clk :in std_logic;
    -- random_num ut std_logic_vector (width-1 downto 0)
    rnd_out : out std_logic
    );
    end randbit;


    architecture Behavioral of randbit is

    signal rand_temp :std_logic_vector(width-1 downto 0) := (31 =>'1',28 =>'1', others =>'0'
    signal temp : std_logic := '0';

    --- Chipscope ICON & ILA cOMPONENTS
    signal CONTROL0 : STD_LOGIC_VECTOR(35 DOWNTO 0);
    signal ILA_DATA : STD_LOGIC_VECTOR(255 DOWNTO 0);
    signal ILA_TRIG0 : STD_LOGIC_VECTOR(7 DOWNTO 0);

    component xicon
    PORT (
    CONTROL0 : INOUT STD_LOGIC_VECTOR(35 DOWNTO 0)
    );

    end component;

    component xila
    PORT (
    CONTROL : INOUT STD_LOGIC_VECTOR(35 DOWNTO 0);
    CLK : IN STD_LOGIC;
    DATA : IN STD_LOGIC_VECTOR(255 DOWNTO 0);
    TRIG0 : IN STD_LOGIC_VECTOR(7 DOWNTO 0)
    );

    end component;


    begin
    process(clk)
    -- variable rand_temp :std_logic_vector(width-1 downto 0) := (31 =>'1',28 =>'1', others =>'0'
    -- variable temp : std_logic := '0';
    begin
    if (rising_edge(clk)) then
    temp <= rand_temp (width-1) xor rand_temp (width-2);
    rand_temp(0) <=temp;
    rand_temp (width -1 downto 1) <= rand_temp (width -2 downto 0);
    end if;

    rnd_out<=rand_temp(31);
    end process;
    -- Chipscope PortMap ICON & ILA
    inst_icon : xicon
    port map (
    CONTROL0 => CONTROL0
    );

    inst_ila : xila
    port map (
    CONTROL => CONTROL0,
    CLK => CLK,
    DATA => ILA_DATA,
    TRIG0 => ILA_TRIG0
    );

    end Behavioral;




    [/code]

  8. #8
    2007/10/14
    تهران
    1,335
    38

    پاسخ : ChipScope cores adding (اضافه کردن cores)

    این Warning ها مهم نیستن و همیشه به وجود میان. مشکلی توی کد نیست فقط سیگنالی که میخوای ببینی رو به ILA بده:

    [code=vhdl]ILA_Data(31 downto 0) <= rand_temp;[/code]
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"
  9. #9
    2014/11/25
    23
    0

    پاسخ : ChipScope cores adding (اضافه کردن cores)



    بلاخره درست شد.ممنونم زیاد.

    فقط چند تا سوال،

    ۱. تنها سیگنال رو میآ*شه در chipscope دید؟ یا مثلا میآ*شه پورت خروجی یا variable رو وصل کرد؟

    ۲. برای هر چیآ* که میآ*خوایم track کنیم باید یکILA ساخت؟

    ۳.اگر اینجا بخوام کلاک رو هم داشته باشم باید چه کار کنم؟

    پیشاپیش ممنون از وقتیآ* که میزارید
  10. #10
    2007/10/14
    تهران
    1,335
    38

    پاسخ : ChipScope cores adding (اضافه کردن cores)

    1- سیگنال ILA_Data یک سیگنال مثل بقیه سیگنالهاست و هرچی که به بقیه سیگنال ها بتونی اختصاص بدی به ILA_Data هم میتونی اختصاص بدی.
    2- روش های مختلفی هست، اولین راه شبیه سازی با ISim یا ModelSim هست، دومیش همین ChipScope هست که میتونی با ILA یا VIO سیگنالها رو ببینی و راه سوم هم اینه که سیگنال دیتا رو به خروجی (مثلاً پورت سریال) بدی و با نرم افزار بخونی و سیگنال پالس رو هم با اسکوپ ببینی.
    * ILA از منابع سخت افزاری Block RAM استفاده میکنه و طول سیگنال دیتا × عمق ILA نمیتونه از ظرفیت Block RAM موجودت بیشتر بشه به همین خاطر باید تعداد سیگنالهایی که قصد داری به ILA بدی و تعداد کلاک هایی که قصد داری در هر بار Trig ببینی خیلی زیاد نشه.
    * با یک Instant از ILA معمولاً کارت راه میفته و نیازی به ساختن تعداد بیشتر نداری.
    * برای داشتن سیگنالها با سرعت پدیت مختلف میتونی سه تا کار انجام بدی:
    - یک سیگنال برای Trig بسازی متناسب با سرعت پدیت.
    - برای سیگنالهای با سرعت پدیت مختلف، ILA های جدا با کلاک متناسب با سرعت پدیت اون سیگنالها بذاری.
    - سیگنال کلاک ILA رو با استفاده از VIO انتخاب کنی.
    * کلاک هم یک سیگناله مثل بقیه سیگنالها و میتونی به ILA بدی ولی اگه فرکانسش از نصف فرکانس کلاک ILA بزرگتر باشه در ChipScope دیده نمیشه.
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"
نمایش نتایج: از 1 به 10 از 10

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

  1. پاسخ: 1
    آخرين نوشته: 2016/02/04, 17:18
  2. chipscope
    توسط amin5659 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 6
    آخرين نوشته: 2015/09/21, 22:44
  3. chipscope ;;; اضافه کردن Core ICON & ILA به کدVHDL ....
    توسط masloob81 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 0
    آخرين نوشته: 2015/03/11, 15:58
  4. اضافه کردن گزینه دنبال کردن/نکردن موضوع به صفحه
    توسط amir_mhdi در انجمن گفتگو درباره ECA
    پاسخ: 0
    آخرين نوشته: 2013/08/21, 14:24
  5. اضافه کردن رم به لپتاپ
    توسط spman در انجمن سخت افزار کامپیوتر
    پاسخ: 5
    آخرين نوشته: 2013/03/07, 13:31

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

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

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

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

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