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





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









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









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






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

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

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

    سوال در مورد فایل test bench

    زمانی که در نرم افزار ISE یک فایل test bench ایجاد می کنم نرم افزار بطور پیش فرض قسمتهایی از فایل رو ایجاد کرده
    و قسمتهای بعدی را کاربر تغییر و تنظیم می کند
    اما زمانی که خودم فایل تست رو می نویسم خطوط زیر ایجاد خطا می کنند
    البته فکر می کنم که نمی تونم اونها رو تنظیم کنم که با حذف این خطوط خطا ها نیز برطرف می شوند و حتی جالب اینکه جوراب صحیح نیز بدست می یاد
    می خواستم بدونم کسی می دونه این خطوط که نرم افزار ایجاد کرده چیه ؟ و چطور باید اونها رو تنظیم کرد ؟
    constant <clock>_period : time := 10 ns;
    -- Clock process definitions
    <clock>_process :process
    begin
    <clock> <= '0';
    wait for <clock>_period/2;
    <clock> <= '1';
    wait for <clock>_period/2;
    end process;
    -- Stimulus process
    stim_proc: process
    begin
    -- hold reset state for 100 ns.
    wait for 100 ns;

    wait for <clock>_period*10;
    مردود شدن بهتر از با تقلب قبول شدن است
  2. #2
    2008/01/03
    گیلان
    388
    4

    پاسخ : سوال در مورد فایل test bench

    واقعاً کسی نمیدونه؟
    :angry:
    مردود شدن بهتر از با تقلب قبول شدن است
  3. #3
    2010/04/09
    اسلامشهر
    1,494
    31

    پاسخ : سوال در مورد فايل test bench

    با سلام

    تو نام گزاري اجازه نداريد از > يا < استفاده کنيد!
  4. #4
    2008/01/03
    گیلان
    388
    4

    پاسخ : سوال در مورد فايل test bench

    نقل قول نوشته اصلی توسط mojtaba_led
    با سلام

    تو نام گزاري اجازه نداريد از > يا < استفاده کنيد!
    با تشکر از پاسخ شما
    شما میدونید این قسمت که گذاشتم کارش چیه؟
    مردود شدن بهتر از با تقلب قبول شدن است
  5. #5
    2010/04/09
    اسلامشهر
    1,494
    31

    پاسخ : سوال در مورد فايل test bench

    البته اين کامل نيست که بگم چکار ميکنه !

    ولي پراسس اول يه کلاک توليد ميکنه با پريود <clock>_period که براير با 10 نانو ثانيه است.

    و دومي هم احتملا يه سري ورودي ها را مقدار دهي ميکنه.

    مگه خودتون ننشوتيد تست بنچ رو ؟
  6. #6
    2008/01/03
    گیلان
    388
    4

    پاسخ : سوال در مورد فايل test bench

    نقل قول نوشته اصلی توسط mojtaba_led
    البته اين کامل نيست که بگم چکار ميکنه !

    ولي پراسس اول يه کلاک توليد ميکنه با پريود <clock>_period که براير با 10 نانو ثانيه است.

    و دومي هم احتملا يه سري ورودي ها را مقدار دهي ميکنه.

    مگه خودتون ننشوتيد تست بنچ رو ؟
    همانطور که نوشته بودم من این قسمتها رو غیر فعال می کنم یعنی اصلا تو برنامه نمی یارم
    بعد هم گفته بودم ک این قسمته دیفالت فایل تست بنچ است
    شما می دونید برای چی بایستی پراسس اول یه کلاک ایجاد کنه ؟ یا اصلا این کلاک چی هست ؟ مربوط به کجایه ؟ چرا من اینو حذف می کنم جواب صحیح بدست می یاد ؟
    هر کی میدونه پاسخ بده خیلی ممنونش میشم
    مردود شدن بهتر از با تقلب قبول شدن است
  7. #7
    2010/04/09
    اسلامشهر
    1,494
    31

    پاسخ : سوال در مورد فايل test bench

    شما مي دونيد براي چي بايستي پراسس اول يه کلاک ايجاد کنه ؟ يا اصلا اين کلاک چي هست ؟ مربوط به کجايه ؟
    خوب کلاک که کلاکه، احتمالا توصيفتون به شکلي هست که نياز به کلاک داره. حالا اين داره اونو شبيه سازي ميکنه.

    چرا من اينو حذف مي کنم جواب صحيح بدست مي ياد ؟
    خوب بخاطره اينه که شايد در عمل بهش نياز نداريد، من از ورژن 7 استفاده ميکنم چنين چيزي به عنوان ديفالت توليد نميکنه (پراسس اول) شايد اين ورژني که استفاده ميکنيد اين کار را براي سهولت بيشتر انجام داده براتون.

    در ضمن خودتون با توجه به توصيفتون بايد تشخيص بديد که آيا براي شبيه سازي به کلاک نياز داريد يا خير به عنوان مثال توصيف زير رو در نظر بگيريد:

    library ieee,modelsim_lib;
    use ieee.std_logic_1164.all;
    entity serial_sub is
    port(a,b,start,clock:in bit;
    ready,boutut bit;
    result:buffer bit_vector(7 downto 0));
    end serial_sub;

    architecture behavioral of serial_sub is
    begin
    process(clock)
    variable count:integer:=8;
    variable sub,borrow:bit;
    begin
    if (clock='0'and clock'event)then
    if(start='1&#039then
    count:=0;
    borrow:='0';
    else
    if count<8 then
    count:=count+1;
    sub:=a xor b xor borrow;
    borrow:=(not(a) and b)or(not(a) and borrow)or(b and borrow);
    bout<=borrow;
    result<=sub&result(7 downto 1);
    end if;
    end if;
    if count =8 then
    ready<='1';
    else
    ready<='0';
    end if;
    end if;
    end process;
    end behavioral;


    فارق از اينکه توصيف بالا چه کار ميکنه، با توجه به اينکه تو توصيف ميبينيم که يه پايه کلاک داريم که تو لبه پايين رونده اون يه اتفاقي قراره بيوفته پس بايد تو شبيه سازي يه کلاک ايجاد کنيم به صورت زير :


    library ieee,modelsim_lib;
    use ieee.std_logic_1164.all;
    entity tb is
    end tb;

    architecture behavioral of tb is
    component serial_sub port(a,b,start,clock:in bit;
    ready,boutut bit;
    result:buffer bit_vector(7 downto 0));
    end component;
    signal a,b,start,clock,ready,bout:bit;
    signal result: bit_vector(7 downto 0);
    begin
    u1:serial_sub port map(a,b,start,clock,ready,bout,result);
    clock_generator:process
    variable clk:bit:='0';
    begin
    clk:=not clk;
    clock<=clk;
    wait for 100ns;
    end process;


    stimulus:process
    begin
    a<='0';
    b<='0';
    start<='0';
    wait for 100ns;
    --start
    start<='1';
    wait for 100ns;
    start<='0';
    wait for 100ns;
    --a=0,b=1
    a<='0';
    b<='1';
    wait ;
    end process;


  8. #8
    2011/03/13
    84
    0

    پاسخ : سوال در مورد فايل test bench

    نقل قول نوشته اصلی توسط masoud58
    زماني که در نرم افزار ISE يک فايل test bench ايجاد مي کنم نرم افزار بطور پيش فرض قسمتهايي از فايل رو ايجاد کرده
    و قسمتهاي بعدي را کاربر تغيير و تنظيم مي کند
    اما زماني که خودم فايل تست رو مي نويسم خطوط زير ايجاد خطا مي کنند
    البته فکر مي کنم که نمي تونم اونها رو تنظيم کنم که با حذف اين خطوط خطا ها نيز برطرف مي شوند و حتي جالب اينکه جوراب صحيح نيز بدست مي ياد
    مي خواستم بدونم کسي مي دونه اين خطوط که نرم افزار ايجاد کرده چيه ؟ و چطور بايد اونها رو تنظيم کرد ؟
    constant <clock>_period : time := 10 ns;
    -- Clock process definitions
    <clock>_process :process
    begin
    <clock> <= '0';
    wait for <clock>_period/2;
    <clock> <= '1';
    wait for <clock>_period/2;
    end process;
    -- Stimulus process
    stim_proc: process
    begin
    -- hold reset state for 100 ns.
    wait for 100 ns;

    wait for <clock>_period*10;
    سلام
    شما وقتي ميخواي براي يک ماژول تست بنچ درست کني، موقع ايجاد اون خود نرم افزار ازت ميپرسه که براي کدوم ماژول ميخواي تست بنچ درست کني. بعد که تست بنچ ايجاد شد، اگر نرم افزار درست کار کنه ( و سر حال باشه :icon_razz: ) درون تست بنچ تمام ورودي و خروجي هاي ماژول به درستي شناخته ميشن و اسم گذاري مي شن. همچنين يک کلاک براي انجام شبيه سازي همنام با اسمي که براي کلاک توي ماژول انتخاب کرديد درست ميکنه ( البته اگر ماژولتون کلاک داشته باشه ).
    اما اگر نرم افزار سر حال نباشه پورت ها (و همچنين کلاک) رو درست تشخيص نميده و اونوقته که درون تست بنچ اسم همه سيگنال ها و پورت ها رو درون <> نشون ميده. در اين حالت شما بايد اسم پورت ها و سيگنال ها رو خودتون با توجه به ماژولتون بنويسيد. مثلا به جاي <clock> بايد بنويسيد clk
    بازم اگر ابهامي هست بفرماييد
  9. #9
    2008/01/03
    گیلان
    388
    4

    پاسخ : سوال در مورد فايل test bench

    نقل قول نوشته اصلی توسط ehbas
    سلام
    شما وقتي ميخواي براي يک ماژول تست بنچ درست کني، موقع ايجاد اون خود نرم افزار ازت ميپرسه که براي کدوم ماژول ميخواي تست بنچ درست کني. بعد که تست بنچ ايجاد شد، اگر نرم افزار درست کار کنه ( و سر حال باشه :icon_razz: ) درون تست بنچ تمام ورودي و خروجي هاي ماژول به درستي شناخته ميشن و اسم گذاري مي شن. همچنين يک کلاک براي انجام شبيه سازي همنام با اسمي که براي کلاک توي ماژول انتخاب کرديد درست ميکنه ( البته اگر ماژولتون کلاک داشته باشه ).
    اما اگر نرم افزار سر حال نباشه پورت ها (و همچنين کلاک) رو درست تشخيص نميده و اونوقته که درون تست بنچ اسم همه سيگنال ها و پورت ها رو درون <> نشون ميده. در اين حالت شما بايد اسم پورت ها و سيگنال ها رو خودتون با توجه به ماژولتون بنويسيد. مثلا به جاي <clock> بايد بنويسيد clk
    بازم اگر ابهامي هست بفرماييد
    یه کم در مورد دستورات wait for مطالعه کردم
    کم کم داره دستم میاد که اینها چیه
    باز هم از شما ممنونم
    مردود شدن بهتر از با تقلب قبول شدن است
  10. #10
    2008/01/03
    گیلان
    388
    4

    پاسخ : سوال در مورد فایل test bench

    خوب این قسمتو فهمیدم
    یک موج مربعی با پریود 10 نانو ثانیه
    البته خیلی از دوستان هم بهش اشاره کرده بودند :
    constant <clock>_period : time := 10 ns;
    -- Clock process definitions
    <clock>_process :process
    begin
    <clock> <= '0';
    wait for <clock>_period/2;
    <clock> <= '1';
    wait for <clock>_period/2;
    end process;
    مردود شدن بهتر از با تقلب قبول شدن است
نمایش نتایج: از 1 به 10 از 10

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

  1. کمک در مورد TEST BENCH
    توسط sarbazmeshgi در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 2
    آخرين نوشته: 2015/11/19, 17:37
  2. مدار test bench
    توسط taranom1 در انجمن مدارهای مجتمع خطی
    پاسخ: 1
    آخرين نوشته: 2015/11/12, 18:58
  3. Verilog test bench
    توسط amin5659 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 3
    آخرين نوشته: 2015/09/07, 21:26
  4. TEST BENCH in ISE
    توسط t_heidari_elc در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 2
    آخرين نوشته: 2012/03/27, 18:25
  5. سوال در مورد معرفی فایل هدر به فایل اصلی برنامه در keil
    توسط marjan_kohandel در انجمن پروسسورهای ARM
    پاسخ: 11
    آخرين نوشته: 2011/08/03, 18:44

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

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

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

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

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