Forwarded from S Alghasi
لینوکس و اکثر سیستم عامل ها، برای محافظت از فضای آدرس و داده و جلو گیری از خرابکاری در سیستم عامل، میان از MMU استفاده میکنن. یعنی میان یه سری فضای آدرس و داده های حدیدی میسازن که نمکنه وجود نداشته باشه. یعنی مثلا شما کل آدرس سیستم ۰ تا ۱G باشه اما مثلا برنامه شما دره توی آدرس ویرچوال ۳G کار میکنه.
سیستم عامل ها میان حافظه ها رو به چند قسمت تقسیممیکنن. مثه user space که توی آدرس های ویرجوال کار میکنه و kernel space که ممکنه با آدرس های حقیقی فیزکال کار کنه.
با این کار میتونن نظارت داشته باشن برنامه های کار بردی نیاد اشتباها یا عمدی سخت افزار و فضا های حافظه های حیاتی سیستم عامل رو بهم بریزه.
حالا برای اینکه شما برنامه ای بخواین بنویسین که با سخت افزار کار کنه بهتره که این برنامه بره توی فضای kernel بشینه. و بعد از طریق مسیج و ... با برنامه های کاربردی ارتباط بگیره.
مثلا شما بری یه کد بنویسی که با spi و dma ارتباط برقرار بکنه و یه سری سرویس برای ارتباط با نرم افزار های دیگه ارائه بده سرویس های سطح بالا.
بعد اون برنامه که به زبان c هست رو باید به کرنل لینوکس اضافه کنین. و کلا باورنل کامپایل کنین. البته راه های دیگه ای هم هست. ولی اصولیش اینه.
کار سختیه. خیلی تخصصی هست. و کسی که اینو خوب بتونه انجام بده از نظر من حد اقل دستمزد ثابت ۵ میلیون حقشه. حواستون باشه به قیمت ها که کلاه سرتون نره.
در ضمن متخصص خیلی خوب و کارکشته این حوزه جناب آقای چنگانی هستند از بچه های تیم پازج.
سیستم عامل ها میان حافظه ها رو به چند قسمت تقسیممیکنن. مثه user space که توی آدرس های ویرجوال کار میکنه و kernel space که ممکنه با آدرس های حقیقی فیزکال کار کنه.
با این کار میتونن نظارت داشته باشن برنامه های کار بردی نیاد اشتباها یا عمدی سخت افزار و فضا های حافظه های حیاتی سیستم عامل رو بهم بریزه.
حالا برای اینکه شما برنامه ای بخواین بنویسین که با سخت افزار کار کنه بهتره که این برنامه بره توی فضای kernel بشینه. و بعد از طریق مسیج و ... با برنامه های کاربردی ارتباط بگیره.
مثلا شما بری یه کد بنویسی که با spi و dma ارتباط برقرار بکنه و یه سری سرویس برای ارتباط با نرم افزار های دیگه ارائه بده سرویس های سطح بالا.
بعد اون برنامه که به زبان c هست رو باید به کرنل لینوکس اضافه کنین. و کلا باورنل کامپایل کنین. البته راه های دیگه ای هم هست. ولی اصولیش اینه.
کار سختیه. خیلی تخصصی هست. و کسی که اینو خوب بتونه انجام بده از نظر من حد اقل دستمزد ثابت ۵ میلیون حقشه. حواستون باشه به قیمت ها که کلاه سرتون نره.
در ضمن متخصص خیلی خوب و کارکشته این حوزه جناب آقای چنگانی هستند از بچه های تیم پازج.
Forwarded from zaki
در تکمیل صحبتهای دوست عزیز چند نکته را اضافه کنم:
۱) درایورها قطعه نرم افزارهایی هستند که به کرنل سیستم عامل اضافه میشوند
۲) فایل اجرایی این قطعه نرم افزارها در ویندوز پسوند sys و در لینوکس پسوند .ko دارد
۳) قابلیتهایی دارند که برنامه های معمولی exe که در user mode اجرا میشوند ندارند! از جمله دسترسی به بخشهایی از حافظه سیستم که دستگاههای جانبی به آنجا مپ شده اند و یا دسترسی به وقفه ها و پورتها
همچنین به متغیرهای داخلی کرنل نیز دسترسی دارند و میتوانند آنها را دستکاری کنند !!! (بدافزارها گاهی از این ویژگی استفاده میکنند)
۴) در زمان سیستم عامل داس برنامه ها مستقیم به همه این امکانات دسترسی داشتند (به علت وظیفه بودن مسئله ای بوجود نمی یامد ) اما در کرنلهای جدید هر برنامه ای در محیط مجزای خودش فعالیت دارد
۵)معمولا برای نوشتن درایور از زبان c استفاده میشود
یک درایور تابع main ندارد بلکه در ویندوز تابع DriverEntry و در لینوکس init_module نقطه شروع کار درایور می باشد
۶) معمولا درایور نویسی یک کار تخصصی است یعنی کسی که درایور کارت گرافیک مینویسد ممکن است تجربه و مهارت چندانی در نوشتن درایور کارت شبکه نداشته باشد.
۷) در ویندوز دسترسی به سورس کد کرنل وجود ندارد بنابراین اگر نیاز به کاری داریم که فقط کرنل مجاز به انجام آن باشد باید درایور بنویسیم
اما در لینوکس به علت در دسترس بودن سورس کرنل میتوانیم به جای درایور نوشتن خود کرنل را دستکاری و کامپایل کنیم ( هر چند که این کار مسائل خاص خودش را دارد)
۱) درایورها قطعه نرم افزارهایی هستند که به کرنل سیستم عامل اضافه میشوند
۲) فایل اجرایی این قطعه نرم افزارها در ویندوز پسوند sys و در لینوکس پسوند .ko دارد
۳) قابلیتهایی دارند که برنامه های معمولی exe که در user mode اجرا میشوند ندارند! از جمله دسترسی به بخشهایی از حافظه سیستم که دستگاههای جانبی به آنجا مپ شده اند و یا دسترسی به وقفه ها و پورتها
همچنین به متغیرهای داخلی کرنل نیز دسترسی دارند و میتوانند آنها را دستکاری کنند !!! (بدافزارها گاهی از این ویژگی استفاده میکنند)
۴) در زمان سیستم عامل داس برنامه ها مستقیم به همه این امکانات دسترسی داشتند (به علت وظیفه بودن مسئله ای بوجود نمی یامد ) اما در کرنلهای جدید هر برنامه ای در محیط مجزای خودش فعالیت دارد
۵)معمولا برای نوشتن درایور از زبان c استفاده میشود
یک درایور تابع main ندارد بلکه در ویندوز تابع DriverEntry و در لینوکس init_module نقطه شروع کار درایور می باشد
۶) معمولا درایور نویسی یک کار تخصصی است یعنی کسی که درایور کارت گرافیک مینویسد ممکن است تجربه و مهارت چندانی در نوشتن درایور کارت شبکه نداشته باشد.
۷) در ویندوز دسترسی به سورس کد کرنل وجود ندارد بنابراین اگر نیاز به کاری داریم که فقط کرنل مجاز به انجام آن باشد باید درایور بنویسیم
اما در لینوکس به علت در دسترس بودن سورس کرنل میتوانیم به جای درایور نوشتن خود کرنل را دستکاری و کامپایل کنیم ( هر چند که این کار مسائل خاص خودش را دارد)
برخی از نظرات دوستان متخصص سیستم عامل و درایورنویسی در رابطه با نحوه ی ورود به این تخصص و بازار هدف آن:
Forwarded from ALi Vakily
با سلام شما لطف به بنده دارید .
یک چندتا نکته خدمت دوستان به عنوان شاگرد عرض کنم
۱_لینوکس با پی سی یاد بگیرید دنبال بردهای امبدد مباشید حتی برای درایور نویسی همشون یک اصول دارند
۲_شل اسکریپت یاد بگیرید خیلی فراره اما باید بدونید والا دور خودتون میچرخید کتابهشم هست تو نت خیلی
۳_ختما make fileنوشتن یاد بگیرید برای درایورها
۴_در سایت کرنل مقالات kbuildرو بخونید
۵_یک زمان زیاد بگذارید حتما vi کار کنید بدون اون معنا نداره کرنل کار کردن هر چند خیلی وقته خودم کار نکردم پریده از سرم ابزارات خوبی میشه نصب کنی برای کرنل نویسی
۶_ویدئوهای آقای petazoni رو.ببینید خیلی خوبه
۷_در آخر کتاب ldd3 رو مطالعه کنید دقت کنید اول بیینید چه مدل درایورهایی مینویسید همون فصلها رو بخونید برای کار ماها بیشتر char drive بکارمون میاد
یک چندتا نکته خدمت دوستان به عنوان شاگرد عرض کنم
۱_لینوکس با پی سی یاد بگیرید دنبال بردهای امبدد مباشید حتی برای درایور نویسی همشون یک اصول دارند
۲_شل اسکریپت یاد بگیرید خیلی فراره اما باید بدونید والا دور خودتون میچرخید کتابهشم هست تو نت خیلی
۳_ختما make fileنوشتن یاد بگیرید برای درایورها
۴_در سایت کرنل مقالات kbuildرو بخونید
۵_یک زمان زیاد بگذارید حتما vi کار کنید بدون اون معنا نداره کرنل کار کردن هر چند خیلی وقته خودم کار نکردم پریده از سرم ابزارات خوبی میشه نصب کنی برای کرنل نویسی
۶_ویدئوهای آقای petazoni رو.ببینید خیلی خوبه
۷_در آخر کتاب ldd3 رو مطالعه کنید دقت کنید اول بیینید چه مدل درایورهایی مینویسید همون فصلها رو بخونید برای کار ماها بیشتر char drive بکارمون میاد
Forwarded from ALi Vakily
جناب مهندس بازار جهانی خوبی داره یک سخت افزار میتونید باهاش چیپهای مختلفی ست کنید البته یکسری کارها هست مثل دستکاری توی زمان بندی سیستم برای کارهای حساس مثل ترکینگ کردن یا نوشتن انکریپشن و دیکریپشن نیاز به نوشتن کرنل ماژول هستش ولی یک نکته ای که شخصا بهش برخوردم اکثر کاراها و درایورها سورسشون موجود هستن و نیاز به نوشتن ندارن طبیعی هم هست دولپرهای زیادی پشتش هستن. واقعا در ایران من ندیدم خیلی احساس نیازشو بیشتر به عنوان یک دانش تحقیقاتی بهش نگاه کردن تا عملی
Forwarded from ALi Vakily
تا بحال کارهاییم که انحام شده در حد پورت یک درایور از سخت افزار به سخت افزار دیگری بود چون کارهایی مثل spi وi2c ..استاندارد هستن و درایورهاشون وجود دارن .
Forwarded from ALi Vakily
البته واقعا کشورهایی که خیلی فعالن تو این زمینه حتی ادینورهاشون رو از جای دیگه میخرن و از سیستم عاملهای یکپارچه استفاده میکنید که باعث سوییچ از یوزر به کرنل نشن و سرعت کار بالا بره واقعا تو پروژهای سنگین روش همینه
Forwarded from zaki
عمده بازار هدف توسعه دهندگان درایور
۱) شرکتهایی که محصول سیستم عامل دارند برای ورژن های جدید سیستم عامل نیاز به تغییر درایورهای جدید دارند (مثل ویندوز اندروید و خود کرنل لینوکس و در ایران چنین بازاری وجود ندارد!)
۲) شرکتهایی که سخت افزارهای عمومی مثل کارت گرافیک و کارت شبکه میسازند نیاز به توسعه دهنده درایور دارند( چنین بازاری در ایران نیست!)
۳) شرکتهایی که سخت افزارهای تخصصی میسازند مثل کارت اسیلوسکوپ و تجهیزات پزشکی و تجهیزات صنعتی که نیازمند اتصال به باس USB و یا باس PCI دارند ( خوشبختانه این یکی بازار در ایران موجود است )
۴) شرکتهایی که نرم افزارهای سیستمی مینویسند نیاز به درایورهایی دارند که بخشهای مختلف سیستم عامل را برای آنها مانیتور کند (چنین شرکتهایی در ایران هستند و محصولاتی هم ارائه کرده اند)
۵) کار تجربی و هابی ، (این چنین افرادی برای سخت افزارهای موجود درایورهای جدیدی مینویسند و از امکانات سخت افزار استفاده بیشتری میکنند حتی بیشتر از آن چیزی که خود درایورهای رسمی آن سخت افزار ارائه می دهند)
این چنین موردی در مورد دانگل RTL2832 که برای پخش تلویزیون دیجیتال روی کامپیوتر ارائه شده بود اتفاق افتاد
و یکی از درایور نویسها که میخواست درایور تحت لینوکس این سخت افزار را بنویسد متوجه شد که این سخت افزار به جای ارسال تصاویر تلویزیونی ، مولفه های q و i سیگنال رادیویی را ارسال میکند و بقیه کار سمت کامپیوتر انجام میشود بنابراین با نوشتن یک درایور جدید انقلاب RTL-SDR بوجود آمد!!!
۱) شرکتهایی که محصول سیستم عامل دارند برای ورژن های جدید سیستم عامل نیاز به تغییر درایورهای جدید دارند (مثل ویندوز اندروید و خود کرنل لینوکس و در ایران چنین بازاری وجود ندارد!)
۲) شرکتهایی که سخت افزارهای عمومی مثل کارت گرافیک و کارت شبکه میسازند نیاز به توسعه دهنده درایور دارند( چنین بازاری در ایران نیست!)
۳) شرکتهایی که سخت افزارهای تخصصی میسازند مثل کارت اسیلوسکوپ و تجهیزات پزشکی و تجهیزات صنعتی که نیازمند اتصال به باس USB و یا باس PCI دارند ( خوشبختانه این یکی بازار در ایران موجود است )
۴) شرکتهایی که نرم افزارهای سیستمی مینویسند نیاز به درایورهایی دارند که بخشهای مختلف سیستم عامل را برای آنها مانیتور کند (چنین شرکتهایی در ایران هستند و محصولاتی هم ارائه کرده اند)
۵) کار تجربی و هابی ، (این چنین افرادی برای سخت افزارهای موجود درایورهای جدیدی مینویسند و از امکانات سخت افزار استفاده بیشتری میکنند حتی بیشتر از آن چیزی که خود درایورهای رسمی آن سخت افزار ارائه می دهند)
این چنین موردی در مورد دانگل RTL2832 که برای پخش تلویزیون دیجیتال روی کامپیوتر ارائه شده بود اتفاق افتاد
و یکی از درایور نویسها که میخواست درایور تحت لینوکس این سخت افزار را بنویسد متوجه شد که این سخت افزار به جای ارسال تصاویر تلویزیونی ، مولفه های q و i سیگنال رادیویی را ارسال میکند و بقیه کار سمت کامپیوتر انجام میشود بنابراین با نوشتن یک درایور جدید انقلاب RTL-SDR بوجود آمد!!!
Forwarded from S Alghasi
البته وقتی با SoC های ثابت کار میکنین معمولا خود توسعه دهندگانشون برای بکارگیری از چیپ و بالا بردن فروش، درایور ها رو مبنویسن. و نهایتا ماژول ها رو کم و زیاد میکنین.
اما SoC های منعطف مثه زینک اینشکلی نیست، یه شتبا دهنده سخت افزاری داخل FPGA داخل FPGA با توجه به پروژه میسازیم. برای اینکه بتونیم درست و اصولی ازش استفاده کنیم. باید بتونیم درایوری بزای اون بنویسیم تا ازش استفاده کنیم.
برای مثال، ZYNQ سری ۷۰۰۰ فاقد GPU هست. و برای کار گرافیکی باید یه GPU بنویسین. خوب کاملا فلکسیبل میتونین کارت گرافیک درست کنین و درایور خودشو باید بنویسین.
یا مثلا برای پردازش تصویر و تشخیص مثلا چهره یه شبکه Deep توی FPGA میبندین و وصل میکنین به ARM و باز هم درایور میخواد و .....
اما SoC های منعطف مثه زینک اینشکلی نیست، یه شتبا دهنده سخت افزاری داخل FPGA داخل FPGA با توجه به پروژه میسازیم. برای اینکه بتونیم درست و اصولی ازش استفاده کنیم. باید بتونیم درایوری بزای اون بنویسیم تا ازش استفاده کنیم.
برای مثال، ZYNQ سری ۷۰۰۰ فاقد GPU هست. و برای کار گرافیکی باید یه GPU بنویسین. خوب کاملا فلکسیبل میتونین کارت گرافیک درست کنین و درایور خودشو باید بنویسین.
یا مثلا برای پردازش تصویر و تشخیص مثلا چهره یه شبکه Deep توی FPGA میبندین و وصل میکنین به ARM و باز هم درایور میخواد و .....
Forwarded from KnowledgePlus.ir
چرا در کدنویسی به زبان C در ماکروها از
do{...} while(0)
استفاده می شود؟ در دو لینک زیر در این مورد توضیح داده شده است:
https://www.pixelstech.net/article/1390482950-do-%7B-%7D-while-%280%29-in-macros
http://www.bruceblinn.com/linuxinfo/DoWhile.html
@KnowledgePlus
do{...} while(0)
استفاده می شود؟ در دو لینک زیر در این مورد توضیح داده شده است:
https://www.pixelstech.net/article/1390482950-do-%7B-%7D-while-%280%29-in-macros
http://www.bruceblinn.com/linuxinfo/DoWhile.html
@KnowledgePlus
Forwarded from پازج FPGA گروه توسعه
🔧رفع مشکل بسته شدن ISE در ویندوز 8 و 10:
http://posedge.ir/2016/10/27/ise_windows8_10_x64_fix/
#ISE #windows #problem
http://posedge.ir/2016/10/27/ise_windows8_10_x64_fix/
#ISE #windows #problem
پازج
رفع مشکل بسته شدن ISE در ویندوز 8.1 و 10 - پازج
سلام چنانچه تجربهی نصب مجموعهی نرمافزاری ISE روی نسخههای 64 بیتی ویندوز 8.1 یا 10 را داشته باشید، حتما متوجه مشکل بسته شدن ناگهانی برنامههای این مجموعه (شامل project navigator، Impact، XPS و …) به هنگام Browse کردن (جهت گشودن فایل یا پروژههای موجود…
اضافه شدن 20 عنوان کتاب جدید به بخش دانلود کتاب سایت:
📔📔📔📔📔📔📔
عنوان:
Hands-on Experience with Altera FPGA Development Boards
تاریخ انتشار:
2018
لینک:
https://goo.gl/PLnBqx
📔📔📔📔📔📔📔
عنوان:
Design of FPGA-Based Computing Systems with OpenCL
تاریخ انتشار:
2018
لینک:
https://goo.gl/U1wBWK
📔📔📔📔📔📔📔
عنوان:
Designing with Xilinx® FPGAs: Using Vivado
تاریخ انتشار:
2017
لینک:
https://goo.gl/HgxQFP
📔📔📔📔📔📔📔
عنوان:
Prototyping of Concurrent Control Systems Implemented in FPGA Devices
تاریخ انتشار:
2017
لینک:
https://goo.gl/RLZSPG
📔📔📔📔📔📔📔
عنوان:
FPGA-based Implementation of Signal Processing Systems
تاریخ انتشار:
2017
لینک:
https://goo.gl/23j9QL
📔📔📔📔📔📔📔
عنوان:
Beginning FPGA: Programming Metal: Your brain on hardware
تاریخ انتشار:
2017
لینک:
https://goo.gl/t5NFeG
📔📔📔📔📔📔📔
عنوان:
FPGA-based Digital Convolution for Wireless Applications
تاریخ انتشار:
2017
لینک:
https://goo.gl/qs98Uk
📔📔📔📔📔📔📔
عنوان:
FPGAs : Fundamentals, advanced features, and applications in industrial electronics
تاریخ انتشار:
2017
لینک:
https://goo.gl/ryCo6y
📔📔📔📔📔📔📔
عنوان:
Learning FPGAs. Digital Design for Beginners with Mojo and Lucid HDL
تاریخ انتشار:
2017
لینک:
https://goo.gl/R54VMb
📔📔📔📔📔📔📔
عنوان:
High Performance Integer Arithmetic Circuit Design on FPGA: Architecture, Implementation and Design Automation
تاریخ انتشار:
2016
لینک:
https://goo.gl/XNrBXj
📔📔📔📔📔📔📔
عنوان:
Logic Synthesis for FPGA-Based Finite State Machines
تاریخ انتشار:
2016
لینک:
https://goo.gl/h9uYPh
📔📔📔📔📔📔📔
عنوان:
FPGAs and Parallel Architectures for Aerospace Applications: Soft Errors and Fault-Tolerant Design
تاریخ انتشار:
2016
لینک:
https://goo.gl/bH3P7K
📔📔📔📔📔📔📔
عنوان:
Make: FPGAs: Turning Software into Hardware with Eight Fun and Easy DIY Projects
تاریخ انتشار:
2016
لینک:
https://goo.gl/F2a1nB
📔📔📔📔📔📔📔
عنوان:
Design Recipes for FPGAs, Second Edition: Using Verilog and VHDL
تاریخ انتشار:
2016
لینک:
https://goo.gl/ikCnqn
📔📔📔📔📔📔📔
عنوان:
FPGAs for Software Programmers
تاریخ انتشار:
2016
لینک:
https://goo.gl/WyXUPo
📔📔📔📔📔📔📔
عنوان:
Engineering Applications of FPGAs: Chaotic Systems, Artificial Neural Networks, Random Number Generators, and Secure Communication Systems
تاریخ انتشار:
2016
لینک:
https://goo.gl/XMGbrT
📔📔📔📔📔📔📔
عنوان:
Architecture Exploration of FPGA Based Accelerators for BioInformatics Applications
تاریخ انتشار:
2016
لینک:
https://goo.gl/eQJzoQ
📔📔📔📔📔📔📔
عنوان:
Programming FPGAs: Getting Started with Verilog
تاریخ انتشار:
2016
لینک:
https://goo.gl/72AKZ2
📔📔📔📔📔📔📔
عنوان:
Application-specific Hardware Architecture Design with VHDL
تاریخ انتشار:
2018
لینک:
https://goo.gl/QZfHwH
📔📔📔📔📔📔📔
عنوان:
Introduction to Logic Circuits & Logic Design with VHDL
تاریخ انتشار:
2017
لینک:
https://goo.gl/gavH6S
📔📔📔📔📔📔📔
عنوان:
PLD Based Design with VHDL: RTL Design, Synthesis and Implementation
تاریخ انتشار:
2017
لینک:
https://goo.gl/gVyYio
📔📔📔📔📔📔📔
عنوان:
Verilog HDL Design Examples
تاریخ انتشار:
2018
لینک:
https://goo.gl/J5QLeV
📔📔📔📔📔📔📔
عنوان:
Digital Logic Design Using Verilog: Coding and RTL Synthesis
تاریخ انتشار:
2016
لینک:
https://goo.gl/Aitg7u
📔📔📔📔📔📔📔
عنوان:
Sequential logic and Verilog HDL fundamentals
تاریخ انتشار:
2016
لینک:
https://goo.gl/opL9Sy
📔📔📔📔📔📔📔
عنوان:
Separation Logic for High-level Synthesis
تاریخ انتشار:
2017
لینک:
https://goo.gl/8DAZBk
📔📔📔📔📔📔📔
عنوان:
Hands-on Experience with Altera FPGA Development Boards
تاریخ انتشار:
2018
لینک:
https://goo.gl/PLnBqx
📔📔📔📔📔📔📔
عنوان:
Design of FPGA-Based Computing Systems with OpenCL
تاریخ انتشار:
2018
لینک:
https://goo.gl/U1wBWK
📔📔📔📔📔📔📔
عنوان:
Designing with Xilinx® FPGAs: Using Vivado
تاریخ انتشار:
2017
لینک:
https://goo.gl/HgxQFP
📔📔📔📔📔📔📔
عنوان:
Prototyping of Concurrent Control Systems Implemented in FPGA Devices
تاریخ انتشار:
2017
لینک:
https://goo.gl/RLZSPG
📔📔📔📔📔📔📔
عنوان:
FPGA-based Implementation of Signal Processing Systems
تاریخ انتشار:
2017
لینک:
https://goo.gl/23j9QL
📔📔📔📔📔📔📔
عنوان:
Beginning FPGA: Programming Metal: Your brain on hardware
تاریخ انتشار:
2017
لینک:
https://goo.gl/t5NFeG
📔📔📔📔📔📔📔
عنوان:
FPGA-based Digital Convolution for Wireless Applications
تاریخ انتشار:
2017
لینک:
https://goo.gl/qs98Uk
📔📔📔📔📔📔📔
عنوان:
FPGAs : Fundamentals, advanced features, and applications in industrial electronics
تاریخ انتشار:
2017
لینک:
https://goo.gl/ryCo6y
📔📔📔📔📔📔📔
عنوان:
Learning FPGAs. Digital Design for Beginners with Mojo and Lucid HDL
تاریخ انتشار:
2017
لینک:
https://goo.gl/R54VMb
📔📔📔📔📔📔📔
عنوان:
High Performance Integer Arithmetic Circuit Design on FPGA: Architecture, Implementation and Design Automation
تاریخ انتشار:
2016
لینک:
https://goo.gl/XNrBXj
📔📔📔📔📔📔📔
عنوان:
Logic Synthesis for FPGA-Based Finite State Machines
تاریخ انتشار:
2016
لینک:
https://goo.gl/h9uYPh
📔📔📔📔📔📔📔
عنوان:
FPGAs and Parallel Architectures for Aerospace Applications: Soft Errors and Fault-Tolerant Design
تاریخ انتشار:
2016
لینک:
https://goo.gl/bH3P7K
📔📔📔📔📔📔📔
عنوان:
Make: FPGAs: Turning Software into Hardware with Eight Fun and Easy DIY Projects
تاریخ انتشار:
2016
لینک:
https://goo.gl/F2a1nB
📔📔📔📔📔📔📔
عنوان:
Design Recipes for FPGAs, Second Edition: Using Verilog and VHDL
تاریخ انتشار:
2016
لینک:
https://goo.gl/ikCnqn
📔📔📔📔📔📔📔
عنوان:
FPGAs for Software Programmers
تاریخ انتشار:
2016
لینک:
https://goo.gl/WyXUPo
📔📔📔📔📔📔📔
عنوان:
Engineering Applications of FPGAs: Chaotic Systems, Artificial Neural Networks, Random Number Generators, and Secure Communication Systems
تاریخ انتشار:
2016
لینک:
https://goo.gl/XMGbrT
📔📔📔📔📔📔📔
عنوان:
Architecture Exploration of FPGA Based Accelerators for BioInformatics Applications
تاریخ انتشار:
2016
لینک:
https://goo.gl/eQJzoQ
📔📔📔📔📔📔📔
عنوان:
Programming FPGAs: Getting Started with Verilog
تاریخ انتشار:
2016
لینک:
https://goo.gl/72AKZ2
📔📔📔📔📔📔📔
عنوان:
Application-specific Hardware Architecture Design with VHDL
تاریخ انتشار:
2018
لینک:
https://goo.gl/QZfHwH
📔📔📔📔📔📔📔
عنوان:
Introduction to Logic Circuits & Logic Design with VHDL
تاریخ انتشار:
2017
لینک:
https://goo.gl/gavH6S
📔📔📔📔📔📔📔
عنوان:
PLD Based Design with VHDL: RTL Design, Synthesis and Implementation
تاریخ انتشار:
2017
لینک:
https://goo.gl/gVyYio
📔📔📔📔📔📔📔
عنوان:
Verilog HDL Design Examples
تاریخ انتشار:
2018
لینک:
https://goo.gl/J5QLeV
📔📔📔📔📔📔📔
عنوان:
Digital Logic Design Using Verilog: Coding and RTL Synthesis
تاریخ انتشار:
2016
لینک:
https://goo.gl/Aitg7u
📔📔📔📔📔📔📔
عنوان:
Sequential logic and Verilog HDL fundamentals
تاریخ انتشار:
2016
لینک:
https://goo.gl/opL9Sy
📔📔📔📔📔📔📔
عنوان:
Separation Logic for High-level Synthesis
تاریخ انتشار:
2017
لینک:
https://goo.gl/8DAZBk
پازج
دانلود کتاب Hands-on Experience with Altera FPGA Development Boards by Jivan S. Parab
Includes many case studies with detailed steps to acquaintance the target group with FPGA and development boards Supports FPGA platform which is used by UG/PG Laboratories and researchers to carry-out their work To make all these target group acquaintance…
توضیحی در مورد تکنیک اسکرابینگ و Partial Reconfiguration و تفاوتهای آنها
Forwarded from Dolatshahi
پارشیال ریکانفیگوریشن یک فرایند هست که توسط طراح قابل کنترل و برنامه ریزی هست و آگاهانه برای تغییر کانفیگوریشن بخشی از لاجیکهای پیاده شده داخل FPGA میتونه استفاده بشه و عموما نیازی به ریبوت کامل کانفیگ روی تراشه نداره!
اما اسکاربینگ در واقع یک فانکشن یا عملگر هست که برای شناسایی و تصحیح خطای کانفیگی که روی FPGA ریخته شده استفاده میشه. توی اسکراب کردن شما در واقع کل کانفیگ را باید از روی حافظه ریدبک کنید و وریفای کنید و در صورت تشخیص خطایی در کد سعی در تصحیح کل یا بخشی از اون بکنید و مجددا کل کانفیگ روی تراشه باید ریبوت بشه در صورتیکه توی پارشیال نیازی به این کار نیست و ففط بخش خاص و مورد نظر شما تغییر میکنه
اما اسکاربینگ در واقع یک فانکشن یا عملگر هست که برای شناسایی و تصحیح خطای کانفیگی که روی FPGA ریخته شده استفاده میشه. توی اسکراب کردن شما در واقع کل کانفیگ را باید از روی حافظه ریدبک کنید و وریفای کنید و در صورت تشخیص خطایی در کد سعی در تصحیح کل یا بخشی از اون بکنید و مجددا کل کانفیگ روی تراشه باید ریبوت بشه در صورتیکه توی پارشیال نیازی به این کار نیست و ففط بخش خاص و مورد نظر شما تغییر میکنه
Forwarded from پازج FPGA گروه توسعه
لیست مطالب آموزشی و پروژه های نمونه منتشر شده در سایت پازج:
✅ویدوئوهای آموزشی VHDL
1️⃣ آموزش VHDL – قسمت اول: آشنایی با ساختار کلی کد VHDL
🌐 https://goo.gl/8D4S88
2️⃣ آموزش VHDL – قسمت دوم: آشنایی با انواع داده (Data-Types)
🌐 https://goo.gl/TWRV3k
3️⃣ آموزش VHDL – قسمت سوم: آشنایی با عملگرها (Operators and Attributes) به همراه شبیه سازی در Isim
🌐 https://goo.gl/iKo2oe
4️⃣ آموزش VHDL – قسمت چهارم: مدارات همزمان (Concurrent)
🌐 https://goo.gl/EtAMtM
5️⃣ آموزش VHDL – قسمت پنجم: مدارات ترتیبی (sequential)
🌐 https://goo.gl/txfpht
6️⃣ آموزش VHDL – قسمت ششم: مدارات ترتیبی ۲ (sequential)
🌐 https://goo.gl/9esOE4
7️⃣ آموزش VHDL – قسمت هفتم: ماشین حالت (State Machine)
🌐 https://goo.gl/JAe3z5
8️⃣ آموزش VHDL – قسمت هشتم: طراحی سلسله مراتبی
🌐 https://goo.gl/j28Tc8
9️⃣ آموزش VHDL – قسمت نهم: ارتباط سریال (UART)
🌐 https://goo.gl/PjO3rc
🔟 آموزش VHDL – قسمت دهم: ارتباط FPGA با حافظه SRAM
🌐 https://goo.gl/r2gV0Z
✅ویدئوهای آموزشی طراحی Embedded sytem با FPGA
1️⃣ آموزش ویدئویی طراحی Embedded sytem با FPGA (قسمت اول: شروع کار با پردازنده میکروبلیز)
🌐 https://goo.gl/hLLl5m
2️⃣ آموزش ویدئویی طراحی Embedded sytem با FPGA (قسمت دوم: راه اندازی حافظه SRAM)
🌐 https://goo.gl/zCNxlx
3️⃣ آموزش ویدئویی طراحی Embedded sytem با FPGA (قسمت سوم: کار با واحد AXI-GPIO)
🌐 https://goo.gl/jATWkT
4️⃣ آموزش ویدئویی طراحی Embedded system با FPGA (قسمت چهارم – طراحی یک واحد AXI اختصاصی برای کنترل ۷segment)
🌐 https://goo.gl/K7PCnQ
✅ آموزش و پروژه های نمونه با DesignLab
1️⃣ آشنایی با DesignLab – طراحی FPGA با طعم گلابی!
🌐 https://goo.gl/HhYlfx
2️⃣ اولین پروژه با Designlab و برد پازج
🌐 https://goo.gl/ZHpSSq
3️⃣ پروژه تست مگاوینگ LogiX1 با DesignLab
🌐 https://goo.gl/tdiCBN
4️⃣ خواندن مقادیر آنالوگ در DesignLab
🌐 https://goo.gl/DDtibS
✅ پروژه های نمونه
1️⃣ آموزش ارتباط ADC با FPGA – قسمت اول
🌐 https://goo.gl/3DRHVq
2️⃣ آموزش ارتباط ADC با FPGA – قسمت دوم
🌐 https://goo.gl/2T8xqs
3️⃣ یک SRAM Controller ساده و کارآمد جهت خواندن و نوشتن در SRAM
🌐 https://goo.gl/XtG3Aj
4️⃣ ارتباط سریال UART بین FPGA و PC
🌐 https://goo.gl/CAJYME
5️⃣ ارتباط USB بین FPGA و کامپیوتر با سرعت ۸ MB/s با استفاده از FT2232H در حالت Async FIFO
🌐 https://goo.gl/6CnPRS
6️⃣ دموی نمایش لوگوی پازج روی مانیتور با استفاده از بال VGA
🌐 https://goo.gl/VJP1wH
7️⃣ تست عملکرد بخشهای مختلف بورد پازج-۱
🌐 https://goo.gl/8u1WIJ
8️⃣ ورود پازج-یک به دنیای Arduino (آردوینو)!
🌐 https://goo.gl/d7YRJP
✅ به ما بپیوندید
⭐️آدرس وبسایت ما
🌐 http://posedge.ir
⭐️ آدرس کانال پازج
🆔@posedge
⭐️ لینک پیوستن به گروه پازج
🌐 https://t.me/joinchat/Bfoq9j2qbLds9g4YypJ6Qw
✅ویدوئوهای آموزشی VHDL
1️⃣ آموزش VHDL – قسمت اول: آشنایی با ساختار کلی کد VHDL
🌐 https://goo.gl/8D4S88
2️⃣ آموزش VHDL – قسمت دوم: آشنایی با انواع داده (Data-Types)
🌐 https://goo.gl/TWRV3k
3️⃣ آموزش VHDL – قسمت سوم: آشنایی با عملگرها (Operators and Attributes) به همراه شبیه سازی در Isim
🌐 https://goo.gl/iKo2oe
4️⃣ آموزش VHDL – قسمت چهارم: مدارات همزمان (Concurrent)
🌐 https://goo.gl/EtAMtM
5️⃣ آموزش VHDL – قسمت پنجم: مدارات ترتیبی (sequential)
🌐 https://goo.gl/txfpht
6️⃣ آموزش VHDL – قسمت ششم: مدارات ترتیبی ۲ (sequential)
🌐 https://goo.gl/9esOE4
7️⃣ آموزش VHDL – قسمت هفتم: ماشین حالت (State Machine)
🌐 https://goo.gl/JAe3z5
8️⃣ آموزش VHDL – قسمت هشتم: طراحی سلسله مراتبی
🌐 https://goo.gl/j28Tc8
9️⃣ آموزش VHDL – قسمت نهم: ارتباط سریال (UART)
🌐 https://goo.gl/PjO3rc
🔟 آموزش VHDL – قسمت دهم: ارتباط FPGA با حافظه SRAM
🌐 https://goo.gl/r2gV0Z
✅ویدئوهای آموزشی طراحی Embedded sytem با FPGA
1️⃣ آموزش ویدئویی طراحی Embedded sytem با FPGA (قسمت اول: شروع کار با پردازنده میکروبلیز)
🌐 https://goo.gl/hLLl5m
2️⃣ آموزش ویدئویی طراحی Embedded sytem با FPGA (قسمت دوم: راه اندازی حافظه SRAM)
🌐 https://goo.gl/zCNxlx
3️⃣ آموزش ویدئویی طراحی Embedded sytem با FPGA (قسمت سوم: کار با واحد AXI-GPIO)
🌐 https://goo.gl/jATWkT
4️⃣ آموزش ویدئویی طراحی Embedded system با FPGA (قسمت چهارم – طراحی یک واحد AXI اختصاصی برای کنترل ۷segment)
🌐 https://goo.gl/K7PCnQ
✅ آموزش و پروژه های نمونه با DesignLab
1️⃣ آشنایی با DesignLab – طراحی FPGA با طعم گلابی!
🌐 https://goo.gl/HhYlfx
2️⃣ اولین پروژه با Designlab و برد پازج
🌐 https://goo.gl/ZHpSSq
3️⃣ پروژه تست مگاوینگ LogiX1 با DesignLab
🌐 https://goo.gl/tdiCBN
4️⃣ خواندن مقادیر آنالوگ در DesignLab
🌐 https://goo.gl/DDtibS
✅ پروژه های نمونه
1️⃣ آموزش ارتباط ADC با FPGA – قسمت اول
🌐 https://goo.gl/3DRHVq
2️⃣ آموزش ارتباط ADC با FPGA – قسمت دوم
🌐 https://goo.gl/2T8xqs
3️⃣ یک SRAM Controller ساده و کارآمد جهت خواندن و نوشتن در SRAM
🌐 https://goo.gl/XtG3Aj
4️⃣ ارتباط سریال UART بین FPGA و PC
🌐 https://goo.gl/CAJYME
5️⃣ ارتباط USB بین FPGA و کامپیوتر با سرعت ۸ MB/s با استفاده از FT2232H در حالت Async FIFO
🌐 https://goo.gl/6CnPRS
6️⃣ دموی نمایش لوگوی پازج روی مانیتور با استفاده از بال VGA
🌐 https://goo.gl/VJP1wH
7️⃣ تست عملکرد بخشهای مختلف بورد پازج-۱
🌐 https://goo.gl/8u1WIJ
8️⃣ ورود پازج-یک به دنیای Arduino (آردوینو)!
🌐 https://goo.gl/d7YRJP
✅ به ما بپیوندید
⭐️آدرس وبسایت ما
🌐 http://posedge.ir
⭐️ آدرس کانال پازج
🆔@posedge
⭐️ لینک پیوستن به گروه پازج
🌐 https://t.me/joinchat/Bfoq9j2qbLds9g4YypJ6Qw
Forwarded from ma
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from ma
آموزش ساخت pixopixel👆 یه سرگرمی جالب😎
http://www.instructables.com/id/PIXO-Pixel-IoT-16x16-LED-Display/?amp_page=true
http://www.instructables.com/id/PIXO-Pixel-IoT-16x16-LED-Display/?amp_page=true
Instructables
PIXO Pixel - IoT 16x16 LED Display
PIXO Pixel - IoT 16x16 LED Display: There are a number of RGB displays out there already, but most of them are either difficult to interact with, too big, require a ton of wiring, or process heavy on the micro-controller you're using. When I remembered that…
یک تجربه:
جهت ساخت حساب کاربری در سایت هایی مانند Xilinx و ... که نیاز به اطلاعات هویتی کامل شامل ایمیل شرکتی، آدرس، تلفن و ... دارند میتوانید از وبسایتهایی مانند زیر که اطلاعات هویتی و ایمیل شرکتی بصورت رایگان در اختیارتان میگذارند استفاده کنید:
https://www.fakepersongenerator.com/
🆔@posedge
#ثبت_نام #fake_person
جهت ساخت حساب کاربری در سایت هایی مانند Xilinx و ... که نیاز به اطلاعات هویتی کامل شامل ایمیل شرکتی، آدرس، تلفن و ... دارند میتوانید از وبسایتهایی مانند زیر که اطلاعات هویتی و ایمیل شرکتی بصورت رایگان در اختیارتان میگذارند استفاده کنید:
https://www.fakepersongenerator.com/
🆔@posedge
#ثبت_نام #fake_person
Forwarded from پازج FPGA گروه توسعه
🔸چه بردی را برای یادگیری FPGA انتخاب کنم؟
https://goo.gl/Uu4T3y
◀️اگر شما نیز قصد فراگیری FPGA به صورت عملی و کسب مهارت لازم جهت ورود به محیط کار در این حوزه را دارید، حتما به این نکته رسیدهاید که انتخاب یک برد آموزشی FPGA، یکی از ملزومات اولیهی این کار است. هرچند انتخاب یک برد آموزشی در ابتدای کار ممکن است کار سادهای به نظر برسد، اما انتخابهای متعددی که در این زمینه وجود دارد، ممکن است کمی گیج کننده باشد. با یک جستجوی ساده در فروشگاههای داخلی و خارجی، با گسترهی وسیعی از انتخابها مواجه میشوید که به لحاظ قیمت، قابلیتها و پشتیبانی دارای تنوع زیادی هستند.
در این پست قصد دارم تا بطور خلاصه برخی از مهمترین ملاکهایی را که در انتخاب یک برد آموزشی FPGA مناسب بایستی مدنظر قرار داده شود را به شما معرفی کنم تا با دید بهتری بتوانید برد مناسب مورد نیاز خود را از بین گزینههای موجود در بازار انتخاب کنید.
🌐ادامهی این پست را در سایت پازج مطالعه کنید:
https://goo.gl/GQhm77
کانال ما:
🆔@posedge
https://goo.gl/Uu4T3y
◀️اگر شما نیز قصد فراگیری FPGA به صورت عملی و کسب مهارت لازم جهت ورود به محیط کار در این حوزه را دارید، حتما به این نکته رسیدهاید که انتخاب یک برد آموزشی FPGA، یکی از ملزومات اولیهی این کار است. هرچند انتخاب یک برد آموزشی در ابتدای کار ممکن است کار سادهای به نظر برسد، اما انتخابهای متعددی که در این زمینه وجود دارد، ممکن است کمی گیج کننده باشد. با یک جستجوی ساده در فروشگاههای داخلی و خارجی، با گسترهی وسیعی از انتخابها مواجه میشوید که به لحاظ قیمت، قابلیتها و پشتیبانی دارای تنوع زیادی هستند.
در این پست قصد دارم تا بطور خلاصه برخی از مهمترین ملاکهایی را که در انتخاب یک برد آموزشی FPGA مناسب بایستی مدنظر قرار داده شود را به شما معرفی کنم تا با دید بهتری بتوانید برد مناسب مورد نیاز خود را از بین گزینههای موجود در بازار انتخاب کنید.
🌐ادامهی این پست را در سایت پازج مطالعه کنید:
https://goo.gl/GQhm77
کانال ما:
🆔@posedge
پرسشی در مورد #میکروبلیز و پاسخ آن.
سوال:
Dehnegar:
زمانی که از میکروبلیز استفاده میکنم، کلاک ورودیش به صورت تفاضلیه و بردی که استفاده میکنم یک ورودی کلاک بیشتر نداره.! چکار باید بکنم؟
پاسخ:
Mohsen Sadeghi:
فایل MHS که در پنجره سمت چپ هست را باز کنید. دو تا خط هست که یکی توصیف clk-n هست و دیگری clk-p. خط clk-n را کامل پاک کنید و در خط clk-p عبارت differential را حذف کنید.
🆔@posedge
سوال:
Dehnegar:
زمانی که از میکروبلیز استفاده میکنم، کلاک ورودیش به صورت تفاضلیه و بردی که استفاده میکنم یک ورودی کلاک بیشتر نداره.! چکار باید بکنم؟
پاسخ:
Mohsen Sadeghi:
فایل MHS که در پنجره سمت چپ هست را باز کنید. دو تا خط هست که یکی توصیف clk-n هست و دیگری clk-p. خط clk-n را کامل پاک کنید و در خط clk-p عبارت differential را حذف کنید.
🆔@posedge