آموزش وریلاگ | پروژه وریلاگ
 گروه تلگرام 
VerilogCode.ir
آموزش وریلاگ | پروژه وریلاگ


آموزش وریلاگ - جلسه 1 :

آموزش وریلاگ آموزش Verilog

دانلود فیلم بالا (جلسه اول)

دوستان عزیزم سلام ، با یک دوره جذاب و رایگانِ وریلاگ قصد دارم تا اون چیزی که دنبالش هستید رو بدون دردسر و با بیان خیلی ساده ای ، در اختیار تون بذارم . وریلاگ هم مثل همه زبان های برنامه نویسی گستردگی زیادی داره اما میشه با یادگیری 30% از دنیای وریلاگ ، 90% کارهارو انجام داد و هیچ حس کمبودی نداشت. بنابراین در طول این دوره سعی میکنیم فقط چیزهای مهم رو (به طرز ساده ای) یاد بگیریم و یک وریلاگ نویسِ خوب بشیم .

آموزش وریلاگ

در نوشتن برنامه وریلاگ، سعی می کنیم از ماژول استفاده کنیم . ماژول چیه ؟ یه جعبه است که در تصویر 1-1 می بینید ، خب چرا باید کُد ها توی یک جعبه باشه ؟ اولین دلیل اینکه ، مخترع وریلاگ این قانون رو برای ما گذاشته ، که وقتی برنامه ای مینویسید حتما توی یک جعبه یا ماژول قرار بدید یعنی دقیقا مطابق با تصویر 1-2 .

آموزش وریلاگ

همونطور که توی تصویر 1-2 می بینید ، هر ماژول از چهار بخش تشکیل شده : اسم ماژول، ورودی ها ، بدنه (شامل کُد برنامه) و خروجی ها. در شکل بالا ، اسم ماژول A ، ورودی های ما X وY ، بدنه یا برنامه ما دو گیت منطقی ایکسور و اَند می باشد ، خروجی ماهم میشه S و C . ماژول ها فواید دیگه ای هم دارند ، فرض کنید میخوایم یه برنامه بنویسیم که توی اون باید چندین بار یک کُد رو بنویسیم . اگه اون کُدی که چندین بار تکرار شده رو ، بصورت یک ماژول بنویسیم و داشته باشیم ، با استفاده از فراخوانی کردن ، فقط کافیه به تعداد دلخواه ، اون ماژول رو فراخوانی کنیم و از شر نوشتن کُد های تکراری خلاص بشیم ، درست مثل تصویر 1-3 .

آموزش وریلاگ

ماژول B در شکل بالا، یک برنامه است که توی اون چهار بار از مدار یا برنامه A استفاده شده . یا در تصویر 1-4 ماژول B یک برنامه است که توی اون مدارات مختلفی از جمله مدارِ ماژولِ A و دیگر مدارات استفاده شده .

آموزش وریلاگ

هرجا حس کردید تصاویر کوچیکه و واضح نیست ، روی تصویر کلیک راست کنید و گزینه open image in new tab رو بزنید (یا معادل فارسی این گزینه) تا در ابعاد بزرگتری تصویر به نمایش دربیاد. به عنوان آخرین مثال ، گاهی ماژول ها در کنار هم استفاده میشن و دو مدار مجزا هستند ، در تصویر 1-5 یک پروژه برنامه نویسی رو میبینم که شامل دو ماژول فرستنده و گیرنده است.

آموزش وریلاگ

اگه این موارد رو بلد بودید، مرور شد ، پس لطفا صبور باشید بزودی به جاهای مهمتر میرسیم و هرچه جلوتر میریم چیزهای هیجان انگیزتری رو خیلی ساده یاد میگیریم . در آخر بریم سراغ تعریف کردن یک ماژول در وریلاگ :

ISE Project - VerilogCode.ir : \ Box1-1.v
 1-
 2-
 3-
 4-
 5-
 6-
 7- 
 8-
 9-
10-
11-
module A(
    input  X,
    input  Y,
    output  S,
    output C
    );  
	 //Inja Mitunim Code Barname Ro Benevisim ... 
	 //Inja Mitunim Code Barname Ro Benevisim ... 
	 //Inja Mitunim Code Barname Ro Benevisim ... 
	
endmodule

هر ماژول ، با کلید واژه module آغاز و با کلید واژه endmodule تموم میشه. جلوی کلید واژه ماژول ، اسم ماژول رو به دلخواه می نویسیم (اسم ماژول نباید با عدد شروع بشه) ، در ادامه توی یک پرانتز ، ورودی ها و خروجی ها را تعیین می کنیم و اسم دلخواهی برای هرکدوم از ورودی و خروجی ها انتخاب می کنیم. نکته اینکه ، بعد از تعریف هر ورودی یا خروجی یه "و" انگلیسی میذاریم یعنی همون "," اما در آخرین مورد که میشه خط 5 ، نیازی به گذاشتن اش نیست. اون نوشته های سبز رنگ هم ، کامنت هست که بعدا باهاش آشنا میشیم. پس این ماژول یک ماژول خالی دقیقا برابر با شکل زیر هست :

آموزش وریلاگ

خب این جلسه صرفا یه شروع امیدوار کننده بود و تموم شد ، از جلسات بعدی جدی تر به وریلاگ خواهیم پرداخت ، اگه حوصله داشتید می تونید نظرات سایت رو بخونید ، بخش نظرات باعث میشه چیزهای بیشتری یاد بگیرید.

نکته: توی جلسات آینده من سعی میکنم فقط وریلاگ رو به شما یاد بدم ، اگه نحوه کار با نرم افزار های ISE Xilinx و یا Modelsim رو بلد نیستید . از طریق منوی بالای صفحه به بخش لینک ها مراجعه کنید ، هم نحوه دانلود و نصب نرم افزار هارو توضیح دادم و هم فیلم نحوه کار کردن با نرم افزار ها وجود داره . دانلود فیلم جلسه

رفتن به جلسه بعد ...

مشاهده نظرات کاربران




پیام شما با موفقیت ارسال شد و به زودی در این قسمت به نمایش در خواهد آمد .
لطفا تمام فیلد های الزامی را پُر کنید .


معین

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

سید محسن

سلام ، ممنون بابت تبادل تجربیات تون .

زهرا

عالی توضیح میدید

سعید021

داداش من یه دور کامل خوندم خیلی خوب بود الان دارم برای بار دوم می خونم تا تمرین کنم خدایی حرف نداری .

سید محسن

سلام ، توی برنامه نویسی تمرین خیلی مهمه ، دستت راه میفته .

مهدی نوروزی

تا جلسه آخر بخونیم میتونیم امتحان رو پاس بشیم ؟

سید محسن

سلام ، بستگی به تمرین و تلاش تون داره ولی از نظر مباحث بله به راحتی از پس امتحان تون بر میاید.

بینام

من این ماژول رو مودول میخوندم :))))))))))

سید محسن

شما حتما به فکر مهاجرت باشید ، اینجا حیف میشید اصلا

حسین

داداش نجاتم دادی تکی بمولا

سید محسن

خواهش میکنم ، تکی از خودتونه .

رضا

بهترین دوره در این حوزه که تا الان دیدم

سید محسن

از ابتدا رضایت دوستان هدف دوره بود .

امیر

سلام بسیار عالی بود. ممنونم

سید محسن

ممنون از نگاه و توجه شما .

بینام

سلام پروژه دارم وریلاگ ، کسی قبول میکنه؟ تا ۱۷ تیر ، قیمت توافقی

سید محسن

سلام ، این زیر کامنت ها بعیده کسی اعلام آمادگی کنه برای انجام پروژه ، به شماره من پیام بدید اگه بتونم کمک تون می کنم . 09115359408

محسن

سلام عالی بود واقعا ای کاش دوره های دیگه نظیر avr و arm رو هم تدریس میکردین و در اخر یه سوال اینکه از کجا باید arm رو با زبان اسمبلی یاد بگیرم؟ چون همه جا دارن با c یاد میدن

سید محسن

سلام ، در مورد میکروکنترلرهایی که گفتید من خودم قصد طراحی سایت و تولید محتوا دارم ولی هنوز هزینه لازم تامین نشده و دونیت یا حمایت مالی لازم انجام نشده توسط دوستان . برای همین پروژه با تاخیر روبرو شده ، اینکه از کجا یاد بگیرید واقعا نمی دونم من دوره خوبی ندیدم تا حالا ، ولی آموزش زبان اسمبلی رویای منه که دوس دارم یه روزی یکبار برای همیشه زبان اسمبلی رو به سادگی به دوستان آموزش بدم . بنظرم کتاب زیر رو اگه ده بار بخونید به نتیجه خوبی میرسید البته حجم کتاب بالاست : میکروکنترلر های AVR - مزیدی

محسن

اگه شما اموزش بدی که اصلا بینظیر ترین اموزش اسمبلی 

سید محسن

اولا شما لطف دارید اگه کیفیت آموزش های من بالاست فقط یه دلیل اصلی داره اونم انرژی مثبت هایی هست که شماها میفرستید ولاغیر . ثانیا بعیده به این زودی آموزش اسمبلی حاضر بشه بنابراین سعی کنین از منابع دیگه نیاز تون رو رفع کنید .

Mehdi

واقعا از شما ممنونم خیلی بهم کمک کرد در مورد کد نویسی وریلاگ

سید محسن

موفق باشید .

محمد

سلام ممنون بابت آموزش خیلی خوبتون واقعا عالی بود. ببخشید یک سوال. نرم افزار modelsim هم مثل نرم افزار ise هست؟ یعنی میتونیم توی اون نرم افزار هم همین شکلی کد بنویسیم و شبیه سازی کنیم؟

سید محسن

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

مهسا

سلام. وریلاگ رو از اینجا یاد گرفتم. کلی گشتم اما آموزش‌های شما واقعا منحصر بفرد بود. و تنها ویدیوهایی بودن که با شوق میرفتم سراغ بعدی. حالا دنبال آموزش پایتون بودم و اول مستقیم اومدم اینجا. کاش شما آموزش میدادید اون رو هم.

سید محسن

سلام ، خوشحالم از رضایت تون . قصد گسترش وبسایت به تمام زبان های برنامه نویسی رو داشتم اما متاسفانه حمایت دوستان اونطور که باید قوی نبود باعث شد فعلا دست نگه دارم . امیدوارم درآینده مجددا انگیزه ای برای ادامه داشته باشم .

سروش

سلام من برای درس طراحی سیستم دیجیتال همین دوره رو تکمیل کنم کافیه

سید محسن

بستگی به سلیقه اساتید داره . این درس رو هر استادی یجور ارزیابی میکنه یکی سخت میگیره یکی آسون