Forwarded from Sina Asadiyan
برای طراحی با hls برای پردازش سیگنال کتاب parallel programing for FPGAs خوب هست، الگوریتم های ساده مثل cordic dft fft فیلتر fir ضرب ماتریسی و غیره رو خوب توضیح داده و پیشفرضش هم ویوادو هست. اما کار با نرم افزار یادتون نمیده. فقط کدنویسی و اموزش پردازش سیگنال هست و کار با پراگماها. پایپلاین و موازی سازی و بهینه سازی و پارتیشن بندی ارایه ها و .. رو خوب توضیح داده
Forwarded from zaki
معمولا سیستمهای نمایش روی vga و هر نمایشگر دیگه ای نیاز به framebuffer دارند
فقط یک استثنا وجود دارد و اون کنسول بازی آتاری ۲۶۰۰ بود که در آن زمان به علت گران بودن رم از یک تکنیک دیگر برای نمایش تصاویر روی نمایشگر استفاده میکرد
در آن تکنیک هر خط جداگانه ساخته میشد و به تراشه مخصوصی داده میشد که سیگنال آن خط را ایجاد میکرد!!!
فقط یک استثنا وجود دارد و اون کنسول بازی آتاری ۲۶۰۰ بود که در آن زمان به علت گران بودن رم از یک تکنیک دیگر برای نمایش تصاویر روی نمایشگر استفاده میکرد
در آن تکنیک هر خط جداگانه ساخته میشد و به تراشه مخصوصی داده میشد که سیگنال آن خط را ایجاد میکرد!!!
Forwarded from Taksuntech.ir (سینا اسدیان)
پرزنتیشن اونت با موضوع " مدیریت شتاب دهنده های کاستومایز شده FPGA با SDsoc"
ویدیو+ PDF اسلایدها
موضوعات:
SDSoc چیست چرا وکجا؟
مثالهای واقعی و چرا سریعتر است؟
از کجا کار با SDSoc را شروع کنیم؟
design flow ما چیست؟
و پلتفرهای مربوط به آن
https://connect.linaro.org/resources/yvr18/yvr18-303/
@Taksuntec
ویدیو+ PDF اسلایدها
موضوعات:
SDSoc چیست چرا وکجا؟
مثالهای واقعی و چرا سریعتر است؟
از کجا کار با SDSoc را شروع کنیم؟
design flow ما چیست؟
و پلتفرهای مربوط به آن
https://connect.linaro.org/resources/yvr18/yvr18-303/
@Taksuntec
Linaro
YVR18-303:Managing customized FPGA accelerators with SDSoC!
Hundreds of the world’s best Linux on Arm developers come to Linaro Connect each time because they know it is the leading place to meet with the global community and to learn about what is going on in the industry.
Forwarded from zaki
از JTAG معمولا برای پروگرام کردن میکروکنترلرها و fpga ها و یا دیباگ کردن کدهای اجرایی پروگرام شده روی میکروها و پردازنده ها استفاده می کنیم
اما هدف اصلی از ایجاد jtag اینها نبود! بلکه انگیزه اصلی امکان تست کردن پایه های ورودی و خروجی و سیستمهای داخلی IC ها بود!!
بخصوص در پکیجهای BGA که پایه ها زیر تراشه قرار می گیرند و امکان متصل کردن پروب به آنها وجود ندارد!!
امکانی که jtag به وجود میآورد این بود که تنها از طریق کابل jtag که دارای چهار سیگنال tdi tdo tms tck است و یک برنامه نوشته شده سمت کامپیوتر می توانیم مقدار هر کدام از پایه های تراشه را مقدار دهی کنیم و یا مقدار فعلی آن را بخوانیم!!!
مثلا اگر بخواهیم بفهمیم پایه x به علت لحیم کاری اشتباه به پایه های بغلی اتصال کوتاه شده باشد، کافی است که مقدار آن پایه را یک کنیم و مقادیر پایه های بغلی را بخوانیم اگر آنها هم یک شوند و هنگام صفر شدن x مجددا صفر شوند یعنی به همدیگر متصل شده اند!
اما هدف اصلی از ایجاد jtag اینها نبود! بلکه انگیزه اصلی امکان تست کردن پایه های ورودی و خروجی و سیستمهای داخلی IC ها بود!!
بخصوص در پکیجهای BGA که پایه ها زیر تراشه قرار می گیرند و امکان متصل کردن پروب به آنها وجود ندارد!!
امکانی که jtag به وجود میآورد این بود که تنها از طریق کابل jtag که دارای چهار سیگنال tdi tdo tms tck است و یک برنامه نوشته شده سمت کامپیوتر می توانیم مقدار هر کدام از پایه های تراشه را مقدار دهی کنیم و یا مقدار فعلی آن را بخوانیم!!!
مثلا اگر بخواهیم بفهمیم پایه x به علت لحیم کاری اشتباه به پایه های بغلی اتصال کوتاه شده باشد، کافی است که مقدار آن پایه را یک کنیم و مقادیر پایه های بغلی را بخوانیم اگر آنها هم یک شوند و هنگام صفر شدن x مجددا صفر شوند یعنی به همدیگر متصل شده اند!
Forwarded from zaki
bst_debug-emulation_programming.gif
8.2 KB
همانگونه که مشاهده می شود jtag به غیر از پروگرام کردن و دیباگ کردن امکان boundary scan را نیز فراهم می کند
Forwarded from zaki
برای پروگرام کردن fpga ها با jtag معمولا از ابزارهای تولید شده توسط سازندگان آنها استفاده می شود ، البته ابزارهای open source هم موجود هستند
برای boundary scan کردن تراشه ها و fpga ها نیز ابزاهای کمی موجود هستند
مثلا openocd و UrJTAG
برای boundary scan کردن تراشه ها و fpga ها نیز ابزاهای کمی موجود هستند
مثلا openocd و UrJTAG
Forwarded from zaki
مثلا در اینجا با برنامه urjtag و از طریق ft2232 روی برد به تراشه spartan xc6slx9 متصل شدم و یکی از پایه ها را یک کردم بدون نوشتن یک خط vhdl و حتی بدون پروگرام کردن fpga!!
این کار را میتوان برای میکروها و پردازنده و تراشه های مجهز به jtag نیز انجام داد
این کار را میتوان برای میکروها و پردازنده و تراشه های مجهز به jtag نیز انجام داد
Forwarded from MicroLab (Siyavash Adib)
آموزش طراحى ديجيتال با استفاده از FPGA - فصل 2 - قسمت 1
https://www.aparat.com/v/nHWFD
https://t.me/MicrLab
#FPGA
https://www.aparat.com/v/nHWFD
https://t.me/MicrLab
#FPGA
آپارات - سرویس اشتراک ویدیو
آموزش طراحی دیجیتال با استفاده از FPGA - فصل 2 قسمت 1
این جلسه : Serial ADC، SPI Interface، مبدل آنالوگ به دیجیتال، دوستان مهندس عزیزم ، در این مجموعه سعی می کنم هر چی FPGA بلدم به شما عزیزان منتقل کنم . انشاالله همگی بتونیم چرخی در جمهوری اسلامی عزیزمون بچرخونیم . یا علی . لینک کانال : https://t.me/MicrLab…
Forwarded from MicroLab (Siyavash Adib)
فصل 2 - قسمت 1 - آموزش طراحی دیجیتال با استفاده از FPGA 👇👇👇
#FPGA
#FPGA
Forwarded from MicroLab (Siyavash Adib)
Media is too big
VIEW IN TELEGRAM
Forwarded from zaki
تبدیل سیگنالهای دوربین موبایل به paralel RGB با استفاده از FPGA
از شرکت لاتیس
http://www.latticesemi.com/Products/DesignSoftwareAndIP/IntellectualProperty/IPCore/IPCores04/MIPICSI2toCMOSImageSensorBridge.aspx
از شرکت لاتیس
http://www.latticesemi.com/Products/DesignSoftwareAndIP/IntellectualProperty/IPCore/IPCores04/MIPICSI2toCMOSImageSensorBridge.aspx
Forwarded from zaki
این هم اطلاعاتی در مورد سیگنالهای دوربین موبایل
https://www.electroschematics.com/9767/mobile-phone-camera-interface/
https://www.electroschematics.com/9767/mobile-phone-camera-interface/
Forwarded from zaki
این هم نسخه ASIC مبدل سیگنالهای MIPI CSI به RGB parallel
از توشيبا
https://toshiba.semicon-storage.com/content/dam/toshiba-ss/ncsa/en_us/docs/product-brief/assp/11J02_TC358746_ProdBrief.pdf
از توشيبا
https://toshiba.semicon-storage.com/content/dam/toshiba-ss/ncsa/en_us/docs/product-brief/assp/11J02_TC358746_ProdBrief.pdf
Forwarded from zaki
تقریبا در همه خانه ها 3 نوع معماری پردازنده یافت می شود
معماری x86 که در کامپیوترها و لپتاپها وجود دارد
معماری mips که در روترها و مودمهای adsl یافت می شود
و معماری arm که در موبایلها وجود دارد
معماری x86 در اختیار intel قرار دارد و آن را در اختیار کسی قرار نمی دهد
معماری های mips و arm در ازای دریافت پول در اختیار سازندگان پردازنده و soc قرار می گیرد
بخاطر این مسائل ، معماری رایگان risc-v در سال 2010 در دانشگاه برکلی ارائه شد که قرار است رایگان و open source باشد، یعنی هر کسی بخواهد یک soc بسازد می تواند به رایگان مبتنی بر این معماری بسازد(کامپایلرهای رایگانی هم برای آن موجود است)
در سال 2013 نمونه هایی از از چیپهای ساخته شده که مبتنی بر این معماری هستند ارائه شد
در سال 2016 استارتاپهایی برای ساخت میکروکنترلر و پردازنده مبتنی بر این معماری ایجاد شدند و از طریق crowd funding پولهایی جمع آوری کرده و جدیدا میکروکنترلرهای آنها به بازار آمده است از جمله استارتاپ sifive و open-v
کشور هندوستان هم یک پردازنده مبتنی بر این معماری به نام شاکتی ارائه کرده است.
برخی از انواع چیپهای ساخته شده مبتنی بر این معماری حتی می توانند لینوکس را بوت کنند
https://www.forbes.com/sites/aarontilley/2016/07/11/risc-v-sifive-chips/#6c6dbfaf29ec
http://linuxgizmos.com/linux-boots-on-new-shakti-risc-v-chip/
معماری x86 که در کامپیوترها و لپتاپها وجود دارد
معماری mips که در روترها و مودمهای adsl یافت می شود
و معماری arm که در موبایلها وجود دارد
معماری x86 در اختیار intel قرار دارد و آن را در اختیار کسی قرار نمی دهد
معماری های mips و arm در ازای دریافت پول در اختیار سازندگان پردازنده و soc قرار می گیرد
بخاطر این مسائل ، معماری رایگان risc-v در سال 2010 در دانشگاه برکلی ارائه شد که قرار است رایگان و open source باشد، یعنی هر کسی بخواهد یک soc بسازد می تواند به رایگان مبتنی بر این معماری بسازد(کامپایلرهای رایگانی هم برای آن موجود است)
در سال 2013 نمونه هایی از از چیپهای ساخته شده که مبتنی بر این معماری هستند ارائه شد
در سال 2016 استارتاپهایی برای ساخت میکروکنترلر و پردازنده مبتنی بر این معماری ایجاد شدند و از طریق crowd funding پولهایی جمع آوری کرده و جدیدا میکروکنترلرهای آنها به بازار آمده است از جمله استارتاپ sifive و open-v
کشور هندوستان هم یک پردازنده مبتنی بر این معماری به نام شاکتی ارائه کرده است.
برخی از انواع چیپهای ساخته شده مبتنی بر این معماری حتی می توانند لینوکس را بوت کنند
https://www.forbes.com/sites/aarontilley/2016/07/11/risc-v-sifive-chips/#6c6dbfaf29ec
http://linuxgizmos.com/linux-boots-on-new-shakti-risc-v-chip/
Forbes
This New Chip Startup Wants To Bring Open Source To A Stagnant Industry
New chip startup SiFive wants to "democratize access to silicon" using an open source chip architecture called RISC-V.
Forwarded from zaki
پروژه FPGArduino هم از هسته f32c استفاده می کنه که اون هم مبتنی بر معماری RISC-V هستش
Forwarded from Mhagh
اتفاقا f32c (پروژه ی fpgarduino) روی پازج هم پورت شده!
http://posedge.ir/forum/index.php?/topic/25-fpgarduino-پیوندی-دیگر-با-آردوینو/
http://posedge.ir/forum/index.php?/topic/25-fpgarduino-پیوندی-دیگر-با-آردوینو/
Forwarded from Sina Asadiyan
من مدتی هست که به خاطر بعضی نکات زبان C++ دنبال کتاب خوب و دوره آموزشی خوب میگشتم و پیدا نمیکردم، این پلی لیستی که لینکش رو میزارم واقعا بهترین دوره آموزشی c++ هست، گفتم اگه کسی مثل من دنبال همچین دوره ای میگرده خیلی کمکش میکنه.
https://www.youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb&disable_polymer=true
https://www.youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb&disable_polymer=true
YouTube
C++ - YouTube
Forwarded from Mhagh
💥به دنبال درخواست برخی دوستان در رابطه با پیاده سازی قابلیت #analogWrite در محیط #DesignLab، به اطلاع عزیزان میرسانیم در پچ جدید DesignLab برای پازج (پچ "یلدا"! به تاریخ 97.09.30) این امکان افزوده شده است!
بدین منظور دوستان میتوانند با دانلود پچ جدید پازج، مثال جدیدی که در بخش posedge_one به نام PWM_Encoder اضافه شده است را اجرا کرده و با قرار دادن مگاوینگ (نسخهی 1.2) روی برد پازج، عملکرد fade را روی led های آن مشاهده نمایند.
در این مثال از تابع Robot_Control_Library.setPWMDuty() استفاده شده است که دقیقا مشابه تابع analogWrite در آردوینو عمل میکند.
🔅نکتهی جالب دیگری که در این پچ اضافه شده است، امکان استفاده از Flex Pin ها است. پین های Flex، در واقع IO های مجازی هستند که امکان اتصال آنها به هر یک از IO های واقعی FPGA، توسط توابع outputPinForFunction() و inputPinForFunction() وجود دارد. نمونهای از نحوهی کاربرد این پینها را در پروژهی نمونهی جدید (PWM_Encoder) میتوانید ملاحظه نمایید. در اینجا ما پینهای Flex با شماره های 0 و 1 و2 تعریف کرده ایم و آنها را به پینهای واقعی WC8 و WC9 و WC10 (که در صورت استفاده از مگاوینگ نسخهی 1.2 به LED های 8و 7و 6 متصل هستند) مپ کرده ایم. حسن این کار این است که بدون نیاز به تغییر سخت افزار و فایل ucf میتوانید ورودی و خروجی های مورد نظر خود را روی پین های FPGA جابجا کنید!
هم اکنون میتوانید این پچ را دانلود کرده و از اجرای این مثال لذت ببرید!
یلدای خوبی داشته باشید!🍉
بدین منظور دوستان میتوانند با دانلود پچ جدید پازج، مثال جدیدی که در بخش posedge_one به نام PWM_Encoder اضافه شده است را اجرا کرده و با قرار دادن مگاوینگ (نسخهی 1.2) روی برد پازج، عملکرد fade را روی led های آن مشاهده نمایند.
در این مثال از تابع Robot_Control_Library.setPWMDuty() استفاده شده است که دقیقا مشابه تابع analogWrite در آردوینو عمل میکند.
🔅نکتهی جالب دیگری که در این پچ اضافه شده است، امکان استفاده از Flex Pin ها است. پین های Flex، در واقع IO های مجازی هستند که امکان اتصال آنها به هر یک از IO های واقعی FPGA، توسط توابع outputPinForFunction() و inputPinForFunction() وجود دارد. نمونهای از نحوهی کاربرد این پینها را در پروژهی نمونهی جدید (PWM_Encoder) میتوانید ملاحظه نمایید. در اینجا ما پینهای Flex با شماره های 0 و 1 و2 تعریف کرده ایم و آنها را به پینهای واقعی WC8 و WC9 و WC10 (که در صورت استفاده از مگاوینگ نسخهی 1.2 به LED های 8و 7و 6 متصل هستند) مپ کرده ایم. حسن این کار این است که بدون نیاز به تغییر سخت افزار و فایل ucf میتوانید ورودی و خروجی های مورد نظر خود را روی پین های FPGA جابجا کنید!
هم اکنون میتوانید این پچ را دانلود کرده و از اجرای این مثال لذت ببرید!
یلدای خوبی داشته باشید!🍉