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





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









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









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






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

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

صفحه 3 از 6 نخست 123456 آخرین
نمایش نتایج: از 21 به 30 از 56
  1. #21
    2008/01/01
    111
    0

    پاسخ : یک سوال در مورد vhdl

    process (clk_in)

    variable count : integer := 1;

    begin

    if rising_edge(clk_in) then

    count := count + 1 ;

    if count := 40000000 then

    led : '1';

    count := 1 ;

    end if;

    end if;


    end process;

    من این کد ها رو نوشتم ولی از قسمت if count := 40000000 then ایراد میگیره چون فکر کنم اعلام شرایط

    در if باید بولی باشه.

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

    با تشکر فراوان

    حضرت محمد (ص):بدانید،کسی که نمی داند نباید از آموختن شرم کند،که قیمت هر کس به قدر معلو مات اوست.
  2. #22
    2008/01/01
    111
    0

    پاسخ : یک سوال در مورد vhdl

    مشکل قبل حل شد

    فقط نمیدونم چرا کد های زیر فرکانس 1 Hz رو بهم نمیده؟

    process (clk_in)

    variable count : integer := 1;

    begin

    if rising_edge(clk_in) then

    count := count + 1 ;

    if count = 40000000 then

    led <= '1';

    count := count - 1 ;

    if count = 1 then

    led <= '0';

    end if;

    end if;

    end if;

    خیلی ممنون از لطف شما
    حضرت محمد (ص):بدانید،کسی که نمی داند نباید از آموختن شرم کند،که قیمت هر کس به قدر معلو مات اوست.
  3. #23
    2008/01/01
    111
    0

    پاسخ : یک سوال در مورد vhdl

    با سلام به شما

    من تونستن برنامه تبدیل 40mhz به 1hz رو به صورت زیر بنویسیم

    process (clk_in)

    variable count : integer := 0;

    begin

    if rising_edge(clk_in) then
    if (count<40000000) then
    led <= '1';
    count := count + 1;

    elsif (count>=40000000 and count<80000000) then
    led<='0';
    count := count + 1;
    elsif (count=80000000) then
    led<='1';
    count := 1;
    end if;
    end if;

    end process;

    حالا می خوام بدونم

    1- برای نوشتن یک حرف روی lcd چه کار باید بکنم

    2- چه فرکانسی برای lcd لازمه؟

    3- آیا برنامه کلاکی که نوشتم رو باید به صورت زیر برنامه استفاده کنم؟

    با تشکر از راهنمایی شما
    حضرت محمد (ص):بدانید،کسی که نمی داند نباید از آموختن شرم کند،که قیمت هر کس به قدر معلو مات اوست.
  4. #24
    2011/05/12
    366
    9

    پاسخ : یک سوال در مورد vhdl

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

    من تونستن برنامه تبدیل 40mhz به 1hz رو به صورت زیر بنویسیم

    process (clk_in)

    variable count : integer := 0;

    begin

    if rising_edge(clk_in) then
    if (count<40000000) then
    led <= '1';
    count := count + 1;

    elsif (count>=40000000 and count<80000000) then
    led<='0';
    count := count + 1;
    elsif (count=80000000) then
    led<='1';
    count := 1;
    end if;
    end if;

    end process;

    حالا می خوام بدونم

    1- برای نوشتن یک حرف روی lcd چه کار باید بکنم

    2- چه فرکانسی برای lcd لازمه؟

    3- آیا برنامه کلاکی که نوشتم رو باید به صورت زیر برنامه استفاده کنم؟

    با تشکر از راهنمایی شما
    1- با پروتوکل lcd که حتما آشنایی دارین، کافیه براش ماژولی بنویسید که ورودی 8 بیتی ASCII بگیره و بر روی LCD چاپ کنه. کلاکش هم باید کلاکی باشه که در رنج کاری LCD هست، در Datasheet اون LCD حتما در این مورد توضیح داده.

    2-از اونجایی که یک State machine باید براش بنویسید که در هر مرحله داده رو بگذاره روی پورت، Write و Chip select رو هم کلاک بزنه، کلاک باید به تعداد State ها بیشتر از کلاک لازم برای LCD باشه، البته اگه کمتر از کلاک LCD بهش کلاک بزنید مشکلی نیست و کندتر چاپ میکنه ولی اگه بیشتر بشه دیگه کار نمیکنه یا اشنباه کار میکنه.

    3- بله، این کلاکی که ساختین میره به ماژول LCD
    اسمایل، تومورو ویل بی وُرس
  5. #25
    2008/01/01
    111
    0

    پاسخ : یک سوال در مورد vhdl

    با پروتوکل lcd که حتما آشنایی دارین، کافیه براش ماژولی بنویسید که ورودی 8 بیتی ASCII بگیره و بر روی LCD چاپ کنه.
    بله تا حدودی آشنایی دارم ولی توالی نوشتن کد های vhdl رو نمیدونم.

    ساده ترش اینه که اصلا نمیدونم چه طوری باید بنویسم! :sad:

    توی اینترنت هم هر چی جستجو کردم کد های مربوط به lcd رو پیدا نکردم!

    روی بردی که من در اختیار دارم از 10 پایه lcd استفاده شده

    8 تا مربوط به باس داده هستش

    یکی مربوط به rs یا همون register select که باید در موقع نوشتن روی lcd در منطق 1 باشه(؟)

    یکی هم پایه EN که کلاک به اون وارد میشه.

    حالا چه طوری باید با این 10 تا پایه اطلاعات رو روی lcd نشون بدم؟

    باز هم از راهنمایی شما دوست خوبم ممنونم.
    حضرت محمد (ص):بدانید،کسی که نمی داند نباید از آموختن شرم کند،که قیمت هر کس به قدر معلو مات اوست.
  6. #26
    2011/05/12
    366
    9

    پاسخ : یک سوال در مورد vhdl

    نقل قول نوشته اصلی توسط electronics
    بله تا حدودی آشنایی دارم ولی توالی نوشتن کد های vhdl رو نمیدونم.

    ساده ترش اینه که اصلا نمیدونم چه طوری باید بنویسم! :sad:

    توی اینترنت هم هر چی جستجو کردم کد های مربوط به lcd رو پیدا نکردم!

    روی بردی که من در اختیار دارم از 10 پایه lcd استفاده شده

    8 تا مربوط به باس داده هستش

    یکی مربوط به rs یا همون register select که باید در موقع نوشتن روی lcd در منطق 1 باشه(؟)

    یکی هم پایه EN که کلاک به اون وارد میشه.

    حالا چه طوری باید با این 10 تا پایه اطلاعات رو روی lcd نشون بدم؟

    باز هم از راهنمایی شما دوست خوبم ممنونم.
    خواهش میکنم،
    این لینک بهتون ایده میده که State machine چگونه کار میکنه و از اون برای درایو LCD استفاده کنید:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    اسمایل، تومورو ویل بی وُرس
  7. #27
    2008/01/01
    111
    0

    پاسخ : یک سوال در مورد vhdl

    سلام

    من این ماشین حالت رو خوندم و اینطور متوجه شدم که بین rs , write مربوط به lcd انتخابهایی انجام میده

    اما روی بردی که من دارم wr همواره زمین شده و فقط بین ده پایه lcd حق انتخاب دارم که هشت تا مربوط به دیتا هستش و دو تای دیگه

    یکی rs یا همون رجیستر سلکت و یکی هم en که کلاک به این پایه میره.

    اجازه بدین من کل کاری که باید انجام بدم رو بگم:

    دو تا بردار داریم 1*3 که یکی از رو دیگری تخمین زده میشه مثلا x1 مقدار اصلی و xx1 مقدار تخمینی هست که کدهای اونو نوشتم

    بعد باید این داده ها و تخمینشون با هم روی lcd نمایش داده بشن . همین .

    ولی چون من تا به حال lcd رو با fpga انجام ندادم یه خورده برام نا مفهومه

    با تشکر فراوان
    حضرت محمد (ص):بدانید،کسی که نمی داند نباید از آموختن شرم کند،که قیمت هر کس به قدر معلو مات اوست.
  8. #28
    2011/05/12
    366
    9

    پاسخ : یک سوال در مورد vhdl


    اما روی بردی که من دارم wr همواره زمین شده
    از اونجایی که بطور معمول پایه RD/~WR در اکثر LCD به یک صورت عمل میکنه، اون رو به زمین وصل کردن تا همیشه در حالت نوشتن روی LCD باشه.


    PROCESS (Clk, WriteCharacter)
    variable Counter: Integer range 0 to 10 := 0;
    BEGIN
    IF rising_edge(clk) THEN
    CASE Counter IS
    WHEN 0 =>
    IF WriteCharacter = '1' THEN
    Counter := 1;
    END IF;
    WHEN 1 =>
    --DATAOUT <= CharacterData;
    Counter := 2;
    WHEN 2 =>
    --Set/Reset Controller pins;
    Counter := 3;
    WHEN 3 =>
    --Set/Reset Controller pins;
    Counter := 4;
    WHEN 4 =>
    --Set/Reset Controller pins;
    Counter := 5;
    WHEN 5 =>
    IF WriteCharacter = '0' THEN
    Counter := 0;
    END IF;
    WHEN OTHERS => null;
    END CASE;
    END IF;
    END PROCESS;
    اسمایل، تومورو ویل بی وُرس
  9. #29
    2008/01/01
    111
    0

    پاسخ : یک سوال در مورد vhdl

    سلام

    اول اینکه خیلی از شما ممنونم

    و اگر اجازه بدین می خوام یک سوال دیگه بپرسم

    میشه یک توضیح کوتاه در مورد این کد هایی که نوشتید بدید!
    حضرت محمد (ص):بدانید،کسی که نمی داند نباید از آموختن شرم کند،که قیمت هر کس به قدر معلو مات اوست.
  10. #30
    2011/05/12
    366
    9

    پاسخ : یک سوال در مورد vhdl

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

    اول اینکه خیلی از شما ممنونم

    و اگر اجازه بدین می خوام یک سوال دیگه بپرسم

    میشه یک توضیح کوتاه در مورد این کد هایی که نوشتید بدید!
    سلام، خواهش میکنم،
    اون کد یک State machine هست که با کلاک Clk کلاک میخوره و با فعال شدن سیگنال WriteCharacter (برابر با یک منطقی) شروع به کار میکنه و تا زمانی که سیگنال WriteCharacter به حالت اولیه اش برنگرده( صفر منطقی) منتظر میمونه. در هر مرحله شما میتونید دیتای هر کاراکتر رو روی پینهای دیتا بذارید و در مراحل بعدی rs و en رو اونطور که باید، فعال و غیر فعال کنید(صفر ویک منطقی). اون کلاک Clk میتونه تا بینهایت کلاک بخوره، یعنی میشه مستقیم وصلش کرد به یک سورس کلاک، مثلا 1 کیلوهرتز، هر بار که کاراکتری رو بخواید چاپ کنید باید دوکار بکنید، دیتای کاراکتر رو بدید و به WriteCharacter هم کلاک بزنید.
    اسمایل، تومورو ویل بی وُرس
صفحه 3 از 6 نخست 123456 آخرین
نمایش نتایج: از 21 به 30 از 56

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

  1. یه سوال خیلی مبتدیانه در مورد VHDL
    توسط masoud58 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 5
    آخرين نوشته: 2015/04/03, 15:04
  2. سوال در مورد برنامه نويسي fpga با زبان vhdl
    توسط ajapyy در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 11
    آخرين نوشته: 2013/02/23, 00:15
  3. سوال در مورد VHDL
    توسط hamid256 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 1
    آخرين نوشته: 2010/12/07, 10:12
  4. یه سوال فنی VHDL
    توسط nimooly در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 8
    آخرين نوشته: 2010/11/06, 20:46
  5. سوال در مورد vhdl
    توسط 8423067 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 3
    آخرين نوشته: 2009/02/16, 17:14

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

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

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

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

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