NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 5057 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 11 از 11

موضوع: چرا بعضی از دستورات تو vhdl و verilog جواب نمیده

  1. #1
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    Icon2008 چرا بعضی از دستورات تو vhdl و verilog جواب نمیده

    سلام خسته نباشید.
    مدتی هست دارم با vhdl کار میکنم نمیدونم چرا تو دستور تقسیم و باقیمانده تقسیم مشکل داره
    مثلا یک عدد به 2 تقسیم میشه ولی همون عدد به 10 تقسیم نمیشه و کامپایلر آی اس ای خطا
    میگیره. متوجه شدم تو verilog هم همین مشکل هست. کسی میدونه مشکل کجاست؟؟؟

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    مدیر باز نشسته arsalan681 آواتار ها
    تاریخ عضویت
    Dec 2009
    نوشته ها
    974
    تشکر
    165
    تشکر شده 1,256 بار در 613 پست

    پیش فرض

    کد و برنامه ای رو که نوشتی اینجا بذار

  4. #3
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    Gadid

    نقل قول نوشته اصلی توسط arsalan681 نمایش پست ها
    کد و برنامه ای رو که نوشتی اینجا بذار
    سلام آقا ارسلان
    شما تو سایت ECA هم همین نوشتید بعد دیگه جواب ندادید

    این لینک دانلودش

    http://www.lon.ir/up/uploads/1271934150.zip

    اینم برنامه به 2 تقسیم میشه و کامپایل میشه ولی به 10 نمیشه که نمیشه

    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;
    use IEEE.STD_LOGIC_ARITH.ALL;
    use IEEE.STD_LOGIC_UNSIGNED.ALL;

    entity segm is
    Port ( clk : in STD_LOGIC;
    sw : in STD_LOGIC;
    segment : out STD_LOGIC_vector (3 downto 0);
    output : out bit_vector (6 downto 0));
    end segm;

    architecture Behavioral of segm is
    type x is array (9 downto 0) of bit_vector (6 downto 0);
    signal a:=("1111110","0110000","1101101","1111001","011001 1","1011011","1011111","1110000","1111111","111101 1");
    signal cant : std_logic_vector (1 downto 0);
    signal y,d,s,h : integer range 0 downto 9 ;
    signal l,t : integer;
    begin

    output <= a(y) when cant = "00" else
    a(d) when cant = "01" else
    a(s) when cant = "01" else
    a(h) when cant = "01";


    segment <= "0001" when cant = "00" else
    "0010" when cant = "01" else
    "0100" when cant = "10" else
    "1000" when cant = "11";


    process (clk)
    begin
    if rising_edge(clk)
    then
    cant <= cant + 1;

    y <=l mod 10;
    s <=l /10;
    d <=l mod 10;
    s <=l /10;
    s <=l mod 10;
    h <=l / 10;

    end if;
    end process;

    process (sw )

    begin

    if rising_edge(sw)
    then

    l <= l + 1;
    -- canter <= t;
    end if;
    end process;



    end Behavioral;

  5. #4
    مدیر باز نشسته arsalan681 آواتار ها
    تاریخ عضویت
    Dec 2009
    نوشته ها
    974
    تشکر
    165
    تشکر شده 1,256 بار در 613 پست

    پیش فرض

    دوتا مشکل پیدا کردم ولی بهتره بگی این کد قراره چیکار کنه
    در ضمن تو اون سایت من سوالی از شما نپرسیدم دوستان دیگه ای بودن
    ویرایش توسط arsalan681 : 31-05-2010 در ساعت 01:27

  6. #5
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    Gadid

    این کد قراره یکان و دهگان یک عددی جدا کنه و روی سون سگمنت بریزه
    مثلا اگه داخل یک متغیر ما عدد 12 داریم یک بار تقسیم به 10 میکنیم و یک بار باقیمانده تقسیم
    به دست میاریم
    اولی عدد سون سگمنت اول حساب میشه دومی عدد سون سگمنت دومی.
    مشکل چیه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟

  7. #6
    مدیر باز نشسته arsalan681 آواتار ها
    تاریخ عضویت
    Dec 2009
    نوشته ها
    974
    تشکر
    165
    تشکر شده 1,256 بار در 613 پست

    پیش فرض

    ظاهرا اشکال تو این دو خط زیر هست چون توی یک کلاک دو مقدار به یه سیگنال داده میشه که فکر کنم سنتز نمیشه.
    s <=l /10;
    s <=l mod 10;

  8. #7
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    Icon17

    حالاچه جوری میشه این مشکل بر طرف کرد
    روش دیگه ای هست که این مشکل بر طرف بشه ؟؟
    اصلا واسه اینکه عملیات تقسیم انجا م بشه کتابخانه ای باید
    لود بشه یا کلا نمیشه ؟؟؟؟؟؟

  9. #8
    مدیر باز نشسته arsalan681 آواتار ها
    تاریخ عضویت
    Dec 2009
    نوشته ها
    974
    تشکر
    165
    تشکر شده 1,256 بار در 613 پست

    پیش فرض

    دارم روش مشکل کار میکنم امیدوارم حل بشه
    برای عملیات تقسیم کتابخانه خاصی نداریم ولی پکیجهایی هستند که میتونید از اونها استفاده کنید کافیه اروری که ise بهتون میده رو تو گوگل سرچ کنی این پکیجها رو میتونی پیدا کنی
    ویرایش توسط arsalan681 : 01-06-2010 در ساعت 13:26

  10. تشکرها از این نوشته :


  11. #9
    مدیر باز نشسته arsalan681 آواتار ها
    تاریخ عضویت
    Dec 2009
    نوشته ها
    974
    تشکر
    165
    تشکر شده 1,256 بار در 613 پست

    پیش فرض

    اگر که مطمئن هستی دستور mod درست کار میکنه میتونی با case کد هر عدد رو پورت خروجی و روی سون سگمنت بریزی. من فکر کنم دستور mod فقط برای عددهای توان 2 درست کارمیکنه

  12. تشکرها از این نوشته :


  13. #10
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    پیش فرض

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

  14. #11
    عضو جدید wonderboy_mfy آواتار ها
    تاریخ عضویت
    Jun 2010
    نوشته ها
    7
    تشکر
    10
    تشکر شده 7 بار در 4 پست

    پیش فرض

    FPGA تقسیم به توانهای دو رو به راحتی انجام میده (با شیفت به راست) اما اگر بخواهی تقسیم یک سیگنال (یا متغیر) به یک عدد غیر از این انجام بدی FPGA ابزارش رو نداره. چون همونطور که میدونین تقسیم کار مشکلیه. FPGA های حرفه ای مثل Virtex 4 و اینها قابلیت ضرب رو دارند.
    برای کدی که میخواهی بنویسی از BCD استفاده کن تا لازم نباشه تقسیم به 10 کنی. فقط عددت رو به دو تا 4 بیتی تقسیم کن.

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

  1. چراغ راهنما با verilog
    توسط mohza در انجمن FPGA
    پاسخ: 1
    آخرين نوشته: 09-06-2013, 14:34
  2. سوال : 1768 تو لیتوکس (ابونتو)
    توسط microprocesor_2002 در انجمن LPC series (NXP)
    پاسخ: 7
    آخرين نوشته: 19-05-2013, 13:47
  3. VHDL to Verilog and Verilog to VHDL Converter
    توسط alnz در انجمن پرسش و پاسخ (نرم افزارهای تخصصی)
    پاسخ: 0
    آخرين نوشته: 26-02-2010, 16:17
  4. پاسخ: 1
    آخرين نوشته: 11-07-2009, 01:26
  5. معادل دستور lookup بیسیک تو کدویژن
    توسط alirezaavr در انجمن AVR
    پاسخ: 3
    آخرين نوشته: 06-09-2008, 23:50

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

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