معرفی دوره
به دوره آموزشی شروع کار با Zynq برای مبتدیان خوش آمدید. هدف از این دوره معرفی عملی تراشه Zynq-7000 SoC و همچنین مجموعه نرم افزاری Xilinx Vivado Design Suite میباشد. در طول این دوره، شما به صورت گام به گام روش کار با تراشههای Zynq SoC فرا میگیرید، و دانش و تجربه کافی را برای انجام طراحیهای خود به دست خواهید آورد.
ساختار دوره آموزشی
هر طور که شما بخواهید! اما نکات زیر احتمالاً به کارتان خواهد آمد:
- به ماجراجویی ورای دستورالعمل های ضمیمه شده در درسها به چشم فرصتی نگاه کنید که آموزش شما را سریعتر به نتیجه میرساند. این دوره آموزشی به سبک پادگانی و سفت و سخت طراحی نشده و الزامی به اجرای مرحله به مرحله و دقیق دستورالعمل ها وجود ندارد. در عوض، هدف ما آموزش از طریق درس، اشتباه کردن و یاد گرفتن راه حلها است.
- در صورت امکان در طول این دوره به صورت انفرادی کار کنید، زیرا وقتی که خودتان کاری را انجام میدهید گیرایی شما بالاتر از زمانی خواهد بود که کار کردن دیگران را تماشا کنید. اگر قصد کارکردن با فرد دیگری را دیگری را دارید، دقت کنید که هر دو نفر شما از زمان کافی و مساوی برای کار عملی برخوردار شوید. با نگاه کردن چیز زیادی یاد نمیگیرید.
- سرعت پیشرفت هر شخص در طی این دوره متفاوت خواهد بود. بسته به دانش و تجربه قبلی، برخی افراد سریعتر از دیگران پیشرفت خواهند کرد و برخی برای به دست آوردن تسلط بر مفاهیم ارائه شده به زمان بیشتری نیاز خواهند داشت. هدف این است که در طی تمرینات به صورت تدریجی پیشرفت کنید و استفاده از ابزارها و پردازشگر نهفته شرکت Xilinx را از طریق کار عملی بیاموزید. هر درس مفاهیم تازهای را در ارتباط با طراحی پردازشگر نهفته به شما خواهد آموخت و امکان کسب مهارتهای جدید را برای شما فراهم خواهد کرد. هر چه به انتهای دوره نزدیک میشویم تمرینات به تدریج سختتر خواهند شد و ارائه آموزش به صورت مراحل گام به گام به تدریج حذف خواهد شد.
- چنانچه اجبار به طی این دوره در یک بازه زمانی کوتاه یک روزه دارید، باید بدانید که انجام همه تمرینات ارائه شده و یادگیری تمام دروس در یک روز بسیار دشوار خواهد بود. البته این مسئله به صورت تعمدی و با هدف ارائه مطالبی بوده که بتوانید پس از آموزش در زمان فراغت خود، در صورت تمایل، به آنها بپردازید. طبیعتا اگر تنها کار میکنید، برنامه ریزی و تنظیم سرعت یادگیری کاملاً در اختیار شما خواهد بود.
- و حرف آخر اینکه، سعی کنید در طول یادگیری لذت ببرید!
پیش نیازها
در حالت کلی به چیز خاصی نیاز ندارید. این دوره و تمرینات آن برای هدایت شما در راستای استفاده از تراشههای Zynq SoC شرکت Xilinx به صورت گام به گام طراحی شده و در آن اصول اولیه کدنویسی که در زبان C و VHDL انجام خواهیم داد را به شما میآموزد. با این حال اگر شما با این دو زبان آشنایی قبلی، فقط در حدی که احساس نکنید در جهانی بیگانه با متون هیروگلیف عجیب و غریب گیر افتادهاید، داشته باشید، مزیت بزرگی محسوب خواهد شد.
- آمادگی پیش از شروع دوره
طی این دوره آموزشی شما نیاز به استفاده از یک بورد ارزیاب دارید تا به وسیله آن مهمترین مبانی طراحی با سیستمهای پردازشگر نهفته روی تراشهّهای Xilinx SoC را فرا بگیرید. بورد ارزیابی که در این دوره استفاده میشود، کیت توسعه بسیار محبوب شرکت Avnet به نام “ZedBoard” که برای دریافت اطلاعات تکمیلی در رابطه با آن میتوانید به سایت https://zedboard.org مراجعه کنید. این بورد متشکل از یک تراشه Zynq 7020 و تعدادی پریفرال ساده است که به کاربر امکان آزمودن جنبههای مختلف طراحی سیستمهای نهفته را میدهد. مهمترین پریفرالهای این کیت عبارتند از UART ها، صفحه نمایش LCD، حافظه خارجی (DDR3)، کلیدها، سوئیچهای انتخابگر، LEDها، سوکتهای رابط PMOD، کدک (Codec) صوتی با اتصالات ورودی و خروجی، و یک Ethernet PHY و سوکت آن. این بورد آموزشی دارای یک کابل پیکره بندی JTAG سرخود است که کاربر را قادر میسازد به سادگی با اتصال سر کابل USB، ارتباط بین لپ تاپ و بورد را برقرار کند. یک منبع تغذیه نیز برای بورد ارائه شده است. ما در تمرینات خود از RS232 UART استفاده خواهیم کرد که از طریق یک تراشه واسط Cypress CY7C64225 USB-UART به سوکت USB بر روی بورد وصل شده است. در نتیجه شما به دو عدد کابل تبدیل USB به MicroUSB، و منبع تغذیهای که به همراه بورد تامین شده است، نیاز خواهید داشت. توجه داشته باشید که شما میتوانید از هر بورد دیگری که در اختیار دارید، در این دوره استفاده کنید و با توجه به تواناییهای خودتان با اعمال تغییرات جزئی روی کدها، آن را ویرایش و اجرا کنید.
سوألات متدوال
من در کار با Xilinx تازه کار هستم. به چه ابزارهایی نیاز خواهم داشت؟
ابزارهای طراحی Xilinx به نحوی طراحی شدهاند که هم برای مهندسین نرم افزار و هم سخت افزار قابل استفاده باشند. تراشههای FPGA و Zynq SoC شرکت Xilinx بسیار انعطاف پذیر بوده و قابلیتهای بسیاری در زنجیره ابزار طراحی این شرکت موجود است که طیف گستردهای از کاربردها را در بر میگیرد.
محیط توسعه Vivado : محیط طراحی سطح بالای Vivado جهت استفاده مهندسین سخت افزار ارائه شده است. این ابزار برای ایجاد محتوای بخش قابل پیکرهبندی، و ایجاد قسمت پردازشگر نهفته در طراحی بکار میرود. ما از Vivado برای اعمال تنظیمات بر روی Zynq7 Processing System در طراحی خودمان استفاده خواهیم کرد.
ابزار SDK : کیت توسعه نرم افزاری Xilinx ابزاری برای مهندسین نرم افزار است که به کمک آن میتوانند کد C خود را توسعه بدهند، درایورهای مناسب و بستههای پشتیبانی بورد یا BSP ها را تولید کنند و کد خود را به کمک دیباگر آن بیازمایند. ما از این ابزار برای توسعه اپلیکیشنهای خودمان استفاده خواهیم کرد.
به چه سخت افزاری دیگری نیاز خواهم داشت؟
به جز بورد ارزیاب به هیچ سخت افزار دیگری نیاز ندارید.
آیا در این دوره معماری داخلی تراشههای Zynq بررسی میشود؟
خیر، بررسی کامل معماری خارج از برنامه آموزشی این دوره است و تنها بخشهایی از تراشه که مورد استفاده قرار میگیرند توضیح داده میشوند.
آیا میتوانم به جای ZedBoard از بورد آموزشی دیگری استفاده کنم؟
بله، شما میتوانید از هر بورد دیگری که در اختیار دارید، در این دوره استفاده کنید و با توجه به تواناییهای خودتان با اعمال تغییرات جزيي روی کدها، آن را ویرایش و اجرا کنید. همچنین شما نیاز خواهید داشت مطابق با دستورالعملهای شرکت سازنده بورد تنظیمات جامپرها و راه اندازی اولیه بورد را انجام دهید. به عنوان مثال بورد Zturn یا Zybo میتواند به عنوان یک جایگزین مناسب مورد استفاده قرار بگیرد.
4 در مورد “شروع کار با ZYNQ برای مبتدیان”
با سلام و احترام
من به دنبال دوره آموزشی برای زینک هستم.
محتوای دوره شما به نظر خوب بود، اما شامل مطالب مورد نیاز من نبود.
امیدوارم دوره های تکمیلی برای زینک ارائه شوند.
سلام
من دوره رو کامل کردم و استفاده خوبی از دوره کردم برای من که چیزی از زینک بلد نبودم در حد مقدماتی من رو راه انداخت و همون طور که از روی اسم دوره معلومه این دوره مقدماتی هست و نمیشه صرف اکتفا به این دوره وارد بازار کار شد اما ای کاش یه دوره نسبتا پیشرفته هم توی سایت وجود داشت که یک سطح بالاتر بود.
یا حداقل آخر دوره توصیه ها و معرفی منابع برای کسی که میخواد مسیر یادگیریش رو کامل کنه وجود داشت.
به هر حال از مدیران سایت و استاد دوره کمال تشکر و براشون آرزوی موفقیت دارم.
سلام و خدا قوت…دوره خیلی خوبی بود تبریک میگم بهتون اما ای کاش داخل همین دوره یه پروژه برای ارتباط مابین psو plاز طریق پورت هایaxi انجام میدادید به نظرم خیلی کاربردی و پربارتر میشد.
سلام محمد عزیز امیدوارم حالتون خوب باشه
اینکه به هگزالینکس اعتماد کردید و در این دوره شرکت کردید باعث افتخار ماست.
به شما بابت نکته سنجی و دقتی که در طرح این سوأل داشتید تبریک میگم. در پاسخ به شما باید عرض کنم که در درس «گسترش قلمرو طرح به بخش قابل پیکره بندی» و درس «تعامل با ورودی خروجیها» ما یک ارتباط ساده بین PL و PS برقرار می کنیم و با استفاده از پورت AXI-Master تراشه Zynq و برنامهایی که روی PS اجرا میشه، DIP SW ها و LED های متصل به PL رو کنترل میکنیم. که فکر میکنم برای شروع کار با Zynq کفایت میکنه.
اما اگه منظور شما استفاده از قابلیتهای پورتهای HP و همینطور DMA و … هست، شرایط یه کم فرق میکنه. آموزش این موضوعات نیاز به توضیح کامل معماری تراشه Zynq و همینطور مفاهیم مرتبط با طراحی شتاب دهندهها روی PL داره که موضوعات نسبتاً پیشرفته تری محسوب میشن و کمی بالاتر از سطح این دوره هستند.