‫الرحیم‬ ‫الرحمن‬ ‫اهلل‬ ‫بسم‬
‫کرمان‬ ‫باهنر‬ ‫شهید‬ ‫دانشگاه‬
‫مهندسی‬ ‫و‬ ‫فنی‬ ‫دانشکده‬
‫افزار‬ ‫سخت‬ ‫گرایش‬ ‫کامپیوتر‬ ‫مهندسی‬ ‫رشته‬ ‫کارشناسی‬ ‫پروژه‬
‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬ ‫شبیه‬‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫زبان‬‫به‬ ‫تصاویر‬
:‫راهنما‬ ‫استاد‬
‫نائینی‬ ‫ستاری‬ ‫وحید‬ ‫دکتر‬
: ‫دانشجو‬
‫رجبی‬ ‫ویدا‬
‫ماه‬ ‫خرداد‬1393
:‫تشکر‬ ‫و‬ ‫تقدیر‬
‫تشکر‬ ‫با‬‫ت‬ ‫و‬ ‫گرامی‬ ‫استاد‬ ‫و‬ ‫منان‬ ‫خداوند‬ ‫از‬.‫نمودند‬ ‫یاری‬ ‫پروژه‬ ‫این‬ ‫انجام‬ ‫راستای‬ ‫در‬ ‫مرا‬ ‫که‬ ‫دوستانی‬ ‫مام‬
:‫به‬ ‫تقدیم‬
‫به‬‫تقدیم‬ ‫احترام‬ ‫با‬
‫اول‬ ،‫پدرم‬‫ین‬‫است‬ ‫ســرم‬ ‫بر‬‫محبتـش‬ ‫چتر‬ ‫همـواره‬ ‫که‬ ،‫اســتادم‬
‫آموختم‬ ‫او‬ ‫از‬ ‫را‬ ‫زندگی‬ ‫الفبای‬ ‫که‬ ‫بزرگواری‬.
‫است‬ ‫پنــاهم‬ ‫یگانه‬ ‫پرمهـرش‬ ‫دامان‬ ‫که‬ ،‫گاهم‬ ‫تکیه‬ ‫بلند‬ ،‫مادرم‬
‫آموختم‬ ‫او‬ ‫از‬ ‫را‬ ‫ورزیدن‬ ‫عشــق‬ ‫که‬ ‫مهربانی‬.
: ‫چکیده‬‫به‬ ‫امروزی‬ ‫جامعه‬ ‫در‬ ‫علم‬ ‫این‬ ،‫باشد‬ ‫می‬ ‫مصنوعی‬ ‫هوش‬ ‫در‬ ‫مفید‬ ‫و‬ ‫پرکاربرد‬ ‫علوم‬ ‫از‬ ‫تصویر‬ ‫پردازش‬ ‫علم‬
.‫است‬ ‫راه‬ ‫آغاز‬ ‫در‬ ‫تقریبا‬ ‫نیز‬ ‫ما‬ ‫کشور‬ ‫در‬ ‫و‬ ‫کند‬ ‫می‬ ‫پیدا‬ ‫مهمتری‬ ‫و‬ ‫اساسی‬ ‫نقش‬ ‫روز‬ ‫به‬ ‫روز‬ ‫تخصصی‬ ‫و‬ ‫جامع‬ ‫صورت‬
‫ت‬ ‫با‬ ‫کار‬ ‫در‬ ‫مهم‬ ‫بسیار‬ ‫موضوعات‬ ‫از‬ ‫نیز‬ ‫تصویری‬ ‫های‬ ‫داده‬ ‫بزرگی‬ ‫مسئله‬‫با‬ ‫همچنین‬ .‫باشد‬ ‫می‬ ‫آنها‬ ‫وپردازش‬ ‫صاویر‬
‫های‬ ‫قابلیت‬ ‫و‬ ‫ها‬ ‫مزیت‬ ‫به‬ ‫توجه‬FPGA‫زبان‬ ‫جهانی‬ ‫محبوبیت‬ ‫و‬ ‫اهمیت‬ ‫و‬HDL‫نمایی‬ ‫بزرگ‬ ‫نوشته‬ ‫این‬ ‫در‬
‫مختلف‬ ‫های‬ ‫قسمت‬ ‫کدنویسی‬ ‫صورت‬ ‫به‬ ‫طراحی‬ ‫مراحل‬ .‫ایم‬ ‫کرده‬ ‫سازی‬ ‫پیاده‬ ‫را‬ ‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫زبان‬ ‫به‬ ‫تصاویر‬
‫زبان‬ ‫به‬VHDL. ‫است‬ ‫شده‬ ‫تالش‬ ‫افزار‬ ‫سخت‬ ‫این‬ ‫مختلف‬ ‫های‬ ‫قسمت‬ ‫تکمیل‬ ‫جهت‬ ‫در‬ ‫و‬ ‫بوده‬‫عملکردهای‬ ‫تمام‬
‫افزار‬ ‫نرم‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫دستگاه‬Modelsim‫سازی‬ ‫شبیه‬‫تست‬ ‫و‬‫شده‬‫روی‬ ‫بر‬ ‫بارگذاری‬ ‫آماده‬ ‫نهایت‬ ‫در‬ ‫و‬FPGA‫می‬
.‫باشد‬
‫مطالب‬ ‫فهرست‬
‫عنوان‬‫صفحه‬
‫یک‬ ‫فصل‬-‫مقدمه‬......................................................................................................1
‫دوم‬ ‫فصل‬–‫تصویر‬ ‫پردازش‬.........................................................................................................................3
2-1-‫تصویر‬ ‫پردازش‬ ‫تاریخچه‬.................................................................................................................3
2-2-‫تصویر‬ ‫پردازش‬ ‫علم‬.........................................................................................................................5
2-3-‫تصویر‬ ‫پردازش‬ ‫در‬ ‫اصطالحاتی‬.....................................................................................................6
2-3-1-‫پیکسل‬......................................................................................................................................6
2-3-2-‫تصویر‬.......................................................................................................................................6
2-3-3-‫تصویر‬ ‫کردن‬ ‫خاکستری‬..........................................................................................................6
2-3-4-‫همسایگی‬...................................................................................................................................7
2-3-5-‫تصویر‬ ‫دقت‬.............................................................................................................................7
2-4-‫تصویر‬ ‫پردازش‬ ‫در‬ ‫اصلی‬ ‫عملیات‬..................................................................................................7
2-5-‫تولید‬ ‫تا‬ ‫سیستم‬ ‫به‬ ‫ورود‬ ‫لحظه‬ ‫از‬ ‫تصویر‬ ‫یک‬ ‫که‬ ‫مراحلی‬‫کند‬ ‫طی‬ ‫باید‬ ‫خروجی‬ ‫تصویر‬............8
2-5-1-‫ورودی‬ ‫تصویر‬ ‫دریافت‬...........................................................................................................8
2-5-2-‫تصویر‬ ‫پردازش‬ ‫پیش‬...............................................................................................................8
2-5-3-‫تصویر‬ ‫پردازش‬........................................................................................................................8
2-5-4-‫تصویر‬ ‫آنالیز‬............................................................................................................................8
2-6-‫هیستوگرام‬........................................................................................................................................9
2-7-‫گیری‬ ‫آستانه‬...................................................................................................................................10
‫مطالب‬ ‫فهرست‬
‫عنوان‬‫صفحه‬
2-8-‫تصویر‬ ‫یک‬ ‫در‬ ‫لبه‬ ‫تشخیص‬...........................................................................................................10
2-8-1-‫ها‬ ‫لبه‬ ‫انواع‬..............................................................................................................................11
2-8-1-1-‫افقی‬ ‫لبه‬.........................................................................................................................11
2-8-1-2-‫عمودی‬‫لبه‬.....................................................................................................................11
2-8-1-3-‫مورب‬ ‫لبه‬.......................................................................................................................11
2-9-‫ع‬‫تصاویر‬ ‫روی‬ ‫ملیات‬......................................................................................................................11
2-9-1-‫تصویر‬ ‫دو‬ ‫تفریق‬....................................................................................................................11
2-9-2-‫تصویر‬ ‫دو‬ ‫جمع‬.....................................................................................................................12
2-9-3-‫تصاویر‬ ‫از‬ ‫گیری‬ ‫میانگین‬......................................................................................................13
2-9-4-‫تصویر‬ ‫کردن‬ ‫مکمل‬..............................................................................................................13
2-9-5-‫تصویر‬ ‫کردن‬ ‫فیلتر‬................................................................................................................14
2-9-5-1-‫تیز‬ ‫های‬ ‫پیکسل‬..............................................................................................................14
2-9-5-2-‫آرام‬ ‫های‬ ‫پیکسل‬............................................................................................................14
2-9-5-3-‫کننده‬ ‫آرام‬ ‫فیلترهای‬.......................................................................................................14
2-9-5-4-‫کننده‬ ‫تیز‬ ‫فیلترهای‬........................................................................................................15
2-10-‫تصاویر‬ ‫سازی‬ ‫فشرده‬....................................................................................................................15
2-10-1-‫روش‬JPEG.........................................................................................................................16
2-10-2-‫روش‬MPEG....................................................................................................................16
‫مطالب‬ ‫فهرست‬
‫عنوان‬‫صفحه‬
2-10-3-‫روش‬MPEG2.................................................................................................................16
2-10-4-‫روش‬MPEG4.................................................................................................................17
2-11-‫تصویر‬ ‫پردازش‬ ‫کاربرد‬................................................................................................................17
‫سوم‬ ‫فصل‬-‫پذیر‬ ‫برنامه‬ ‫منطقی‬ ‫های‬ ‫آرایه‬FPGA...............................................................................18
3-1-‫تاریخچه‬..........................................................................................................................................20
3-2-‫ساختارکلی‬FPGA........................................................................................................................21
3-2-1-‫پذیر‬ ‫برنامه‬ ‫منطقی‬ ‫های‬ ‫بلوک‬...............................................................................................22
3-2-2-‫پذیر‬ ‫برنامه‬‫اتصاالت‬...............................................................................................................22
3-2-3-‫ورودی‬ ‫های‬ ‫بل.ک‬-‫خروجی‬..............................................................................................23
3-3-‫از‬ ‫استفاده‬ ‫های‬ ‫مزیت‬FPGA‫ها‬...................................................................................................23
3-4-‫کاربرد‬FPGA................................................................................................................................25
3-5-ASIC..............................................................................................................................................26
3-6-‫های‬ ‫معماری‬ ‫انواع‬FPGA.............................................................................................................27
3-7-‫کنندگان‬ ‫تولید‬FPGA...................................................................................................................27
3-8-‫با‬ ‫طراحی‬ ‫و‬ ‫نویسی‬ ‫برنامه‬FPGA..................................................................................................28
3-8-1-‫سازی‬ ‫شبیه‬...............................................................................................................................29
3-8-1-1-‫منطقی‬ ‫سازی‬ ‫شبیه‬..........................................................................................................29
3-8-1-2-‫زمانی‬ ‫ساز‬ ‫شبیه‬...............................................................................................................30
‫مطالب‬ ‫فهرست‬
‫عنوان‬‫صفحه‬
3-9-‫ریزی‬ ‫برنامه‬ ‫های‬ ‫تگنولوژی‬FPGA.............................................................................................30
3-9-1-‫ریزی‬ ‫برنامه‬‫تکنولوژی‬SRAM..........................................................................................30
3-9-2-‫ریزی‬ ‫برنامه‬‫تکنولوژی‬FLASH..........................................................................................31
3-9-3-‫ریزی‬ ‫برنامه‬‫تکنولوژی‬ANTI-FUSE................................................................................31
3-9-4-‫شناور‬ ‫های‬ ‫گیت‬ ‫تکنولوژی‬....................................................................................................32
3-10-‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫زبان‬VHDL.............................................................................................32
3-11-‫ارزش‬ ‫در‬ ‫مالحضه‬ ‫قابل‬ ‫فاکتورهای‬VHDL.............................................................................33
3-12-‫های‬ ‫مزیت‬VHDL......................................................................................................................33
‫چهارم‬ ‫فصل‬-‫زبان‬ ‫به‬ ‫تصاویر‬ ‫نمایی‬‫بزرگ‬ ‫برنامه‬‫سازی‬ ‫پیاده‬‫افزار‬ ‫سخت‬ ‫توصیف‬...............................35
4-1-‫نمایی‬‫بزرگ‬‫سازی‬ ‫پیاده‬................................................................................................................36
4-2-‫های‬ ‫پین‬FPGA............................................................................................................................36
4-2-1-‫پایه‬‫خروجی‬ ‫های‬FPGA....................................................................................................36
4-3-‫نحوه‬config‫پیکربندی‬ ‫و‬FPGA...............................................................................................37
4-4-‫دستگاه‬ ‫اندازی‬ ‫راه‬.........................................................................................................................39
4-5-‫برنامه‬ ‫طراحی‬..................................................................................................................................40
4-6-‫نتایج‬ ‫و‬ ‫سازی‬ ‫شبیه‬.........................................................................................................................43
‫پنجم‬ ‫فصل‬-‫نتیجه‬‫گیری‬..............................................................................................................................47
‫نوشت‬ ‫کوتاه‬..................................................................................................................................................49
‫منابع‬...............................................................................................................................................................50
‫ها‬ ‫شکل‬ ‫فهرست‬
‫شکل‬2-1-‫هیستوگرام‬ ‫تعدیل‬ ‫از‬ ‫قبل‬..........................................................................................................10
‫شکل‬2-2-‫هیستوگرام‬ ‫تبدیل‬ ‫از‬ ‫بعد‬...........................................................................................................10
‫شکل‬2-3-‫تصاویر‬ ‫جمع‬.............................................................................................................................12
‫شکل‬2-4-‫تصویر‬ ‫گیری‬ ‫میانگین‬...............................................................................................................13
‫شکل‬2-5-‫کننده‬ ‫آرام‬ ‫فیلتر‬ ‫تاثیر‬................................................................................................................15
‫شکل‬2-6-‫تیز‬ ‫فیلترهای‬ ‫تاثیر‬‫کننده‬...........................................................................................................15
‫شکل‬3-1-‫کلی‬ ‫ساختار‬FPGA................................................................................................................21
‫شکل‬3-2-‫یک‬ ‫سلول‬SRAM..................................................................................................................31
‫شکل‬3-3-‫ساختار‬FPGA.........................................................................................................................36
‫شکل‬4-1-‫سازی‬ ‫شبیه‬ ‫نتیجه‬.......................................................................................................................46
‫فصل‬‫یک‬–‫مقدمه‬
‫امروزه‬‫پردازش‬‫تصویر‬‫بهترین‬‫ابزار‬‫برا‬‫ی‬‫استخراﺝ‬‫ویﮋگی‬‫ها‬‫تحلیل‬ ‫و‬‫موقعیت‬‫در‬ ‫و‬‫نهایت‬‫تصمیم‬‫گیر‬‫ی‬
‫صحیﺢ‬‫می‬‫باشد‬.‫در‬‫مورد‬‫انسان‬‫نیز‬‫به‬‫همین‬‫صورت‬‫است‬،‫اطالعات‬‫از‬‫طریق‬‫چشم‬‫به‬‫مﻐز‬‫ارسال‬‫می‬‫شوند‬‫و‬‫مﻐز‬
‫با‬‫پردازش‬‫این‬‫اطالعات‬‫تصمیم‬‫نهایی‬‫را‬‫گرفته‬‫و‬‫فرمان‬‫صادر‬‫می‬‫کند‬.‫هدﻑ‬‫از‬‫پردازش‬‫تصویر‬‫پیاده‬‫ساز‬‫ی‬
‫عملکرد‬‫ﺫهن‬‫انسان‬‫در‬‫قبال‬‫داده‬‫ها‬‫ی‬‫دریافتی‬‫از‬‫چشم‬‫نمی‬‫باشد‬‫زیرا‬‫این‬‫عملیات‬‫بسیار‬‫پیچیده‬‫و‬‫حجیم‬‫است‬،
‫بلکه‬‫هدﻑ‬‫پیش‬‫پردازش‬‫ها‬‫وانجام‬‫پردازش‬‫خاصی‬‫برا‬‫ی‬‫استخراﺝ‬‫ویﮋگی‬‫مورد‬‫نیاز‬‫برا‬‫ی‬‫رسیدن‬‫به‬‫اهداﻑ‬‫از‬
‫پیش‬‫تعیین‬‫شده‬‫می‬‫باشد‬.
‫تصویر‬ ‫یک‬ ‫تبدیل‬ ‫برای‬ ‫روشی‬ ‫تصویر‬ ‫پردازش‬‫منظور‬ ‫به‬ ،‫آن‬ ‫روی‬ ‫بر‬ ‫عملیات‬ ‫از‬ ‫برخی‬ ‫انجام‬ ‫و‬ ‫دیجیتال‬ ‫صورت‬ ‫به‬
.‫است‬ ‫آن‬ ‫از‬ ‫مفید‬ ‫اطالعات‬ ‫از‬ ‫برخی‬‫استخراﺝ‬ ‫برای‬‫یا‬ ‫و‬ ‫یافته‬ ‫بهبود‬‫تصویر‬ ‫یک‬ ‫دریافت‬
‫و‬ ‫صنعتی‬ ‫کنترل‬ ، ‫پزشکی‬ ‫مهندسی‬ ، ‫دفاعی‬ ‫های‬ ‫سیستم‬ ، ‫رباتیک‬ ‫توان‬ ‫می‬ ‫را‬ ‫تصویر‬ ‫پردازش‬ ‫عمده‬ ‫کاربرد‬ ‫پنج‬
‫عنوان‬‫کامپیوتری‬ ‫گرافیک‬‫کرد‬.
‫باشد‬ ‫می‬ ‫تصویر‬ ‫پردازش‬ ‫زمینه‬ ‫در‬ ‫مهم‬ ‫مسائل‬ ‫از‬ ‫یکی‬ ‫تصاویر‬ ‫کردن‬ ‫بزرگ‬ ‫ی‬ ‫مسئله‬‫افزارهای‬ ‫نرم‬ ‫امروزه‬ .
‫اشاره‬ ‫پزشکی‬ ‫زمینه‬ ‫در‬ ‫توان‬ ‫می‬ ‫تصاویر‬ ‫کردن‬ ‫بزرگ‬ ‫های‬ ‫کاربرد‬ ‫مهمترین‬ ‫از‬ .‫دارد‬ ‫وجود‬ ‫زمینه‬ ‫این‬ ‫در‬ ‫گوناگونی‬
‫همچنین‬ .‫کرد‬‫انداز‬ ‫در‬ ‫چاپ‬ ‫منظور‬ ‫به‬ ‫کوچک‬ ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬‫بنرهای‬ ، ‫ها‬ ‫بورد‬ ‫بیل‬ ‫برای‬ ‫بزرگ‬ ‫های‬ ‫ه‬
.‫باشد‬ ‫می‬ ‫آن‬ ‫کاربردهای‬ ‫دیگر‬ ‫از‬ ‫غیره‬‫و‬‫تبلیﻐاتی‬ ‫بزرگ‬
‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬‫زبان‬‫سخت‬ ‫توصیف‬ ‫های‬‫افزار‬‫نیز‬‫ابزار‬ ‫مهمترین‬ ‫از‬ ‫یکی‬‫سخت‬ ‫طراحی‬ ‫مدرن‬ ‫های‬‫افزار‬‫ها‬
‫می‬‫باش‬‫ن‬‫افزایش‬ ‫به‬ ‫رو‬ ‫صنعت‬ ‫در‬ ‫آنها‬ ‫کاربرد‬ ‫که‬ ‫د‬‫تا‬ ‫طراحی‬ ‫فرایند‬ ‫نشدنی‬ ‫جدا‬ ‫عضو‬ ‫امروزه‬ ‫که‬ ‫طوری‬ ‫به‬ ‫است‬
‫سخت‬ ‫سازی‬ ‫پیاده‬‫افزار‬‫می‬ ‫شمار‬ ‫به‬ ‫مدرن‬ ‫های‬.‫روند‬
‫اول‬ ‫فصل‬‫مقدمه‬
2
‫زبان‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬‫ها‬‫سخت‬ ‫توصیف‬ ‫ی‬‫افزار‬‫بهترین‬ ‫جزء‬‫ابزار‬‫سخت‬ ‫جنبش‬ ‫توسعه‬ ‫های‬‫شمار‬ ‫به‬ ‫آزاد‬ ‫افزار‬
‫می‬،‫روند‬‫پروژ‬ ‫این‬ ‫در‬‫ما‬ ‫ه‬‫مسئله‬ ‫سازی‬ ‫شبیه‬ ‫و‬ ‫سازی‬ ‫پیاده‬‫را‬ ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬‫سخت‬ ‫توصیف‬ ‫زبان‬ ‫از‬ ‫استفاده‬ ‫با‬
‫افزار‬VHDL‫روی‬ ‫بر‬ ‫انتقال‬ ‫امکانات‬ ‫نبود‬ ‫به‬‫توجه‬ ‫با‬‫و‬ ‫دهیم‬ ‫می‬ ‫انجام‬FPGA.‫کنیم‬ ‫می‬ ‫واگذار‬ ‫آینده‬ ‫به‬ ‫را‬
‫شرح‬ ‫کلی‬ ‫نگاه‬‫یک‬ ‫در‬.‫بود‬ ‫خواهد‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫بندی‬ ‫فصل‬
‫در‬‫دوم‬ ‫فصل‬‫پردازش‬ ‫به‬.‫پردازیم‬ ‫می‬ ‫تصویر‬‫در‬ ‫تصویر‬ ‫انالیز‬ ‫راستای‬ ‫در‬ ‫که‬ ‫هایی‬ ‫پردازش‬ ‫و‬ ‫عملیات‬ ‫مجموعه‬ ‫به‬
‫گویند‬ ‫تصویر‬ ‫پردازش‬ ‫علم‬ ،‫است‬ ‫شده‬ ‫انجام‬ ‫مختلف‬ ‫های‬ ‫زمینه‬‫هوش‬ ‫در‬ ‫مفید‬ ‫و‬ ‫پرکاربرد‬ ‫علوم‬ ‫از‬ ‫یکی‬ ‫که‬ ،
.‫باشد‬ ‫می‬ ‫مصنوعی‬‫توضیحا‬ ‫سپس‬ ‫و‬ ‫پردازیم‬ ‫می‬ ‫تصویر‬ ‫پردازش‬ ‫از‬ ‫ای‬ ‫تاریخچه‬ ‫به‬ ‫فصل‬ ‫این‬ ‫ادامه‬ ‫در‬‫به‬ ‫راجع‬ ‫تی‬
‫این‬ ‫روزافزون‬ ‫پیشرفت‬ ‫شاهد‬ ‫که‬ ‫امیدواریم‬ .‫است‬ ‫شده‬ ‫ﺫکر‬ ‫تصویر‬ ‫پردازش‬ ‫کاربردهای‬ ‫و‬ ‫تصاویر‬ ‫روی‬ ‫عملیات‬
.‫باشیم‬ ‫کشور‬ ‫در‬ ‫علم‬
‫معرفی‬ ‫به‬ ‫سوم‬ ‫فصل‬ ‫در‬FPGA‫مختلف‬ ‫علوم‬ ‫در‬ ‫کاربردشان‬ ‫و‬ ‫آنها‬ ‫ریزی‬ ‫برنامه‬ ‫روشهای‬ ، ‫آنها‬ ‫معماری‬ ، ‫ها‬
‫پ‬‫زبان‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫ایم‬ ‫رداخته‬‫افزار‬ ‫سخت‬ ‫توصیف‬‫ی‬VHDL.‫ایم‬ ‫پزداخته‬ ‫آن‬ ‫مزایای‬ ‫و‬
‫زبان‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬ ‫پیاده‬ ‫و‬ ‫طراحی‬ ‫نحوه‬ ‫و‬ ‫معرفی‬ ‫به‬ ‫شروع‬ ‫چهارم‬ ‫فصل‬ ‫در‬
‫افزار‬ ‫سخت‬ ‫توصیف‬VHDL‫پرداخته‬‫پیکربندی‬ ‫ی‬ ‫نحوه‬ ‫به‬ ‫راجع‬ ‫توضیحاتی‬ ‫سپس‬ ‫و‬FPGA‫دستگاه‬ ‫اندازی‬ ‫راه‬ ‫و‬
‫دهیم‬ ‫می‬ ‫نشان‬ ‫را‬‫ایم‬ ‫آورده‬ ‫دست‬ ‫به‬‫افزار‬ ‫سخت‬ ‫این‬ ‫طراحی‬ ‫از‬ ‫که‬ ‫نتایجی‬ ‫نهایت‬ ‫در‬ ‫و‬ ‫است‬ ‫شده‬ ‫آورده‬.
.‫پردازیم‬ ‫می‬ ‫بودیم‬ ‫آن‬ ‫دنبال‬ ‫به‬ ‫که‬ ‫اهدافی‬ ‫و‬ ‫نتایج‬ ‫بررسی‬ ‫به‬‫پنجم‬ ‫فصل‬ ‫در‬ ‫نهایت‬ ‫در‬
‫دو‬ ‫فصل‬‫م‬-‫تصویر‬ ‫پردازش‬
‫علم‬‫پردازش‬‫تصویر‬،‫از‬‫علوم‬‫پرکاربرد‬‫و‬‫مفید‬‫در‬‫هوش‬‫مصنوعی‬‫می‬‫باشد‬.‫است‬ ‫ﺫکر‬ ‫قابل‬‫پردازش‬ ‫علم‬ ‫که‬
‫در‬ ‫و‬ ‫کند‬ ‫می‬ ‫پیدا‬ ‫تری‬ ‫مهم‬ ‫و‬ ‫اساسی‬ ‫نقش‬ ‫روز‬ ‫به‬ ‫روز‬ ، ‫تخصصی‬ ‫و‬ ‫جامع‬ ‫صورت‬ ‫به‬ ‫امروزی‬ ‫دنیای‬ ‫در‬ ‫تصویر‬
‫است‬ ‫راه‬ ‫اغاز‬ ‫در‬ ً‫ا‬‫تقریب‬ ‫نیز‬ ‫ما‬ ‫کشور‬.‫مسئله‬‫بزرگی‬‫داده‬‫ها‬‫ی‬‫تصویر‬‫و‬‫تالش‬‫جهت‬‫حذﻑ‬‫نویز‬‫و‬‫اختالالت‬‫تصویر‬
‫نظیر‬‫پارامترها‬‫ی‬‫حاصل‬‫از‬‫منابع‬‫نور‬‫نامناسﺐ‬،‫عدم‬‫تناسﺐ‬‫ترکیﺐ‬‫رنﮓ‬‫ها‬‫و‬‫عوامل‬‫متعدد‬‫دیگر‬‫در‬‫تصاویر‬
‫دریافتی‬،‫از‬‫موضوعات‬‫بسیار‬‫مهم‬‫در‬‫کار‬‫با‬‫تصاویر‬‫و‬‫پردازش‬‫آنها‬‫می‬‫باشد‬.
‫امروزه‬‫پردازش‬‫تصویر‬‫بهترین‬‫ابزار‬‫برا‬‫ی‬‫استخراﺝ‬‫ویﮋگی‬‫ها‬‫وتحلیل‬‫موقعیت‬‫ودر‬‫نهایت‬‫تصمیم‬‫گیر‬‫ی‬‫صحیﺢ‬
‫می‬.‫باشد‬
‫به‬ ‫فصل‬ ‫این‬ ‫در‬.‫پردازیم‬ ‫می‬ ‫تصویر‬ ‫پردازش‬ ‫مفاهیم‬
2-1-‫تصویر‬ ‫پردازش‬ ‫تاریخچه‬
‫سال‬ ‫از‬1964‫اکنون‬ ،‫فضایی‬ ‫تحقیقات‬ ‫برنامه‬ ‫بر‬ ‫عالوه‬ .‫است‬ ‫کرده‬ ‫فراوانی‬ ‫رشد‬ ،‫تصویر‬ ‫پردازش‬ ‫موضوع‬ ،‫تاکنون‬
‫ام‬ ،‫هستند‬ ‫نامرتبط‬ ‫هم‬ ‫با‬ ‫مسائل‬ ‫این‬ ‫اغلﺐ‬ ‫چه‬ ‫گر‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫متعددی‬ ‫موارد‬ ‫در‬ ،‫تصویر‬ ‫پردازش‬ ‫فنون‬ ‫از‬‫ا‬
‫نمونه‬ ‫برای‬ .‫باشد‬ ‫انسان‬ ‫تحلیل‬ ‫و‬ ‫تعبیر‬ ‫برای‬ ‫تصویری‬ ‫اطالعات‬ ‫ارتقای‬ ‫به‬ ‫قادر‬ ‫که‬ ‫هستند‬ ‫هایی‬ ‫روش‬ ‫نیازمند‬ ‫عموما‬
‫ای‬ ‫رایانه‬ ‫های‬ ‫شیوه‬ ‫پزشکی‬ ‫در‬Contrast‫ایکس‬ ‫اشعه‬ ‫تصاویر‬ ‫اسانتر‬ ‫تعبیر‬ ‫برای‬ ‫که‬ ‫این‬ ‫یا‬ ‫دهند‬ ‫می‬ ‫ارتقا‬ ‫را‬ ‫تصویر‬
‫ها‬ ‫روش‬ ‫این‬ ‫از‬ ‫نیز‬‫جﻐرافیایی‬ ‫متخصصان‬ .‫کنند‬ ‫می‬ ‫رمز‬ ،‫رنﮓ‬ ‫با‬ ‫را‬ ‫روشنایی‬ ‫شدت‬ ‫سطوح‬ ،‫پزشکی‬ ‫تصاویر‬ ‫سایر‬ ‫یا‬
‫روش‬ ‫یا‬‫الگوهای‬ ‫مطالعه‬ ‫برای‬ ‫مشابه‬ ‫های‬‫آل‬‫بدس‬ ‫ای‬ ‫ماهواره‬ ‫و‬ ‫هوایی‬ ‫برداری‬ ‫تصویر‬ ‫با‬ ‫که‬ ‫هوا‬ ‫ودگی‬،‫است‬ ‫امده‬ ‫ت‬
‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬
4
‫تنها‬ ‫که‬ ‫ای‬ ‫شده‬ ‫مات‬ ‫های‬ ‫عکس‬ ‫بازیابی‬ ‫برای‬ ‫تصویر‬ ‫پردازش‬ ‫های‬ ‫روش‬ ‫نیز‬ ‫شناسی‬ ‫باستان‬ ‫در‬ .‫کنند‬ ‫می‬ ‫استفاده‬
‫بارها‬ ‫ای‬ ‫رایانه‬ ‫فنون‬ ،‫مرتبط‬ ‫های‬ ‫زمینه‬ ‫و‬ ‫فیزیک‬ ‫در‬ .‫گیرد‬ ‫می‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ،‫هستند‬ ‫نادر‬ ‫هنری‬ ‫اثار‬ ‫مانده‬ ‫باقی‬
‫ن‬ ‫موضوعاتی‬ ‫به‬ ‫مربوط‬ ‫های‬ ‫ازمایش‬ ‫تصاویر‬.‫اند‬ ‫داده‬ ‫ارتقا‬ ‫را‬ ‫الکترونی‬ ‫ریزبینی‬ ‫تصاویر‬ ‫و‬ ‫پرانرژی‬ ‫پالسماهای‬ ‫ظیر‬
‫اجرای‬ ،‫ای‬ ‫هسته‬ ‫پزشکی‬ ،‫شناسی‬ ‫زیست‬ ،‫نجوم‬ ‫در‬ ‫توان‬ ‫می‬ ‫نیز‬ ‫را‬ ‫تصویر‬ ‫پردازش‬ ‫از‬ ‫دیگری‬ ‫موفق‬ ‫کاربردهای‬
‫کرد‬ ‫بیان‬‫صنعت‬‫و‬ ‫دفع‬ ،‫قانون‬..‫است‬ ‫مصنوعی‬ ‫هوش‬ ‫در‬ ‫مهم‬ ‫مسائل‬ ‫از‬ ‫یکی‬ ‫تصویر‬ ‫پردازش‬
‫دهه‬ ‫اوایل‬ ‫در‬60‫سفی‬‫رنجر‬ ‫فضایی‬ ‫نه‬7‫زمین‬ ‫به‬ ‫ماه‬ ‫سطﺢ‬ ‫از‬ ‫مبهمی‬ ‫تلویزیونی‬ ‫تصاویر‬ ‫ارسال‬ ‫به‬ ‫شروع‬ ‫ناسا‬ ‫به‬ ‫متعلق‬
.‫بود‬‫تصاویر‬ ‫روی‬ ‫تصمیماتی‬ ‫اعمال‬ ‫نیازمند‬ ‫اپولو‬ ‫سفینه‬ ‫فرود‬ ‫برای‬ ‫محلی‬ ‫یافتن‬ ‫برای‬ ‫تصویر‬ ‫جزئیات‬ ‫استخراﺝ‬ .‫کرد‬
‫البراتوار‬ ‫عهده‬ ‫به‬ ‫مهم‬ ‫کار‬ ‫این‬(JPL) Jet Propulsion‫قرار‬.‫شد‬ ‫داده‬‫بدین‬‫ترتیﺐ‬‫زمینه‬‫تخصصی‬‫پردازش‬
‫تصاویر‬‫رقومی‬‫اغاز‬‫گردید‬‫و‬‫مثل‬‫تمام‬‫تکنولوژی‬‫های‬‫دیگر‬ً‫ا‬‫سریع‬‫استفاده‬‫های‬‫متعدد‬‫پیدا‬‫کرد‬.
‫دهه‬ ‫در‬ ‫رقومی‬ ‫تصاویر‬ ‫پردازش‬ ‫کاربردهای‬ ‫ترین‬ ‫ابتدایی‬60‫و‬70‫شد‬ ‫باعث‬ ‫که‬ ‫بود‬ ‫جاسوسی‬ ‫و‬ ‫نظامی‬ ‫های‬ ‫جنبه‬
.‫اید‬ ‫بوجود‬ ‫باالتر‬ ‫کیفیت‬ ‫با‬ ‫تصاویر‬ ‫به‬ ‫نیاز‬‫که‬ ‫شد‬ ‫پیدا‬ ‫زمین‬ ‫سطﺢ‬ ‫رقومی‬ ‫تصاویر‬ ‫برای‬ ‫دیگری‬ ‫مصارﻑ‬ ‫ان‬ ‫از‬ ‫پس‬
‫طیفی‬ ‫چند‬ ‫تصاویر‬ ‫کاربرد‬(Multi Spectral)‫از‬ ‫استفاده‬ ‫با‬ ‫همچنین‬ .‫است‬ ‫جمله‬ ‫ان‬ ‫از‬ ‫داری‬ ‫جنگل‬ ‫و‬ ‫کشاورزی‬ ‫در‬
‫الودگی‬ ‫منابع‬ ‫ردیابی‬ ‫یا‬ ‫و‬ ‫افتاده‬ ‫دور‬ ‫های‬ ‫سرزمین‬ ‫در‬ ‫نفت‬ ‫کنکاش‬ ‫مثل‬ ‫هایی‬ ‫عملیات‬ ‫رقمی‬ ‫تصاویر‬‫از‬ ‫شهری‬
‫دا‬‫متخصصین‬ ‫کار‬ ‫دفتر‬ ‫خل‬‫آ‬‫شد‬ ‫انجام‬ ‫نها‬.
‫دهه‬ ‫اواسط‬ ‫از‬70‫دهه‬ ‫اواسط‬ ‫تا‬80‫ی‬ ‫ها‬ ‫اسکنر‬ ‫اختراع‬CAT(Computerized Arial Topography)‫و‬
‫اسکنر‬‫های‬MRIResonance Imagery)(Magnetic‫کننده‬ ‫استفاده‬ ‫چاپ‬ ‫صنعت‬ .‫کردند‬ ‫متحول‬ ‫را‬ ‫پزشکی‬
‫دهه‬ ‫اواخر‬ ‫در‬ .‫بود‬ ‫بعدی‬80‫تصاویر‬ ‫پردازش‬‫امر‬ ‫به‬ ‫نقش‬ ‫این‬ ‫امروزه‬ ‫بطوریکه‬ ‫شد‬ ‫سرگرمی‬ ‫دنیای‬ ‫وارد‬ ‫رقمی‬
‫ظهور‬ ‫با‬ ‫واقع‬ ‫در‬ ‫یعنی‬ ‫بینند‬ ‫می‬ ‫عمال‬ ‫که‬ ‫هایی‬ ‫روبات‬ ‫با‬ ‫صنعت‬ ‫دنیای‬ ‫ترتیﺐ‬ ‫همین‬ ‫به‬ .‫است‬ ‫شده‬ ‫تبدیل‬ ‫عادی‬
‫تکنولوژی‬Machine Vision‫است‬ ‫تحول‬ ‫حال‬ ‫در‬ ‫هم‬ ‫هنوز‬ ‫و‬ ‫شد‬ ‫متحول‬.
‫ها‬ ‫کامپیوتر‬ ‫شدن‬ ‫ارزانتر‬ ‫و‬ ‫سریعتر‬ ‫با‬ ‫ساله‬ ‫هر‬‫افراد‬ ،‫ارتباطات‬ ‫تکنولوژی‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫تصاویر‬ ‫پخش‬ ‫امکان‬ ‫ایجاد‬ ‫و‬
‫کار‬ ‫و‬ ‫کسﺐ‬ ‫انجام‬ ‫برای‬ ‫زنده‬ ‫روش‬ ‫یک‬ ‫ویدئویی‬ ‫های‬ ‫کنفرانس‬ .‫کنند‬ ‫می‬ ‫پیدا‬ ‫دسترسی‬ ‫تصاویر‬ ‫این‬ ‫به‬ ‫بیشتری‬
‫با‬ ‫خوشبختانه‬ .‫اند‬ ‫کرده‬ ‫پیدا‬ ‫خوبی‬ ‫به‬ ‫را‬ ‫تصاویر‬ ‫مدیریت‬ ‫و‬ ‫نمایش‬ ‫توانایی‬ ‫خانگی‬ ‫ی‬ ‫کامپیوترها‬ ‫و‬ ‫اند‬ ‫شده‬‫باالتر‬
‫شده‬ ‫کمتر‬ ‫ها‬ ‫نگرانی‬ ‫تصاویر‬ ‫پردازش‬ ‫امکانات‬ ‫بابت‬ ‫از‬ ‫دیگر‬ ‫کامپیوترها‬ ‫حافظه‬ ‫فضای‬ ‫و‬ ‫پردازش‬ ‫سرعت‬ ‫رفتن‬
‫کند‬ ‫می‬ ‫پیدا‬ ‫ادامه‬ ‫رشد‬ ‫به‬‫رو‬ ‫روند‬ ‫این‬ ‫روز‬ ‫به‬ ‫روز‬ ‫و‬ ‫است‬.
‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬
5
‫به‬ ‫دیجیتالی‬ ‫های‬ ‫دوربین‬ ‫و‬ ‫اسکنرها‬ ‫مانند‬ ‫گسسته‬ ‫اطالعات‬ ‫اخذ‬ ‫های‬ ‫روش‬ ‫در‬ ‫که‬ ‫متعددی‬ ‫های‬ ‫پیشرفت‬ ‫با‬ ‫امروزه‬
‫است‬ ‫یافته‬ ‫فراوانی‬ ‫کاربرد‬ ‫تصویر‬ ‫پردازش‬ ،‫است‬ ‫امده‬ ‫وجود‬.
2-2-‫علم‬‫تصویر‬ ‫پردازش‬
‫علم‬ ،‫است‬ ‫شده‬ ‫انجام‬ ‫مختلف‬ ‫های‬ ‫زمینه‬ ‫در‬ ‫تصویر‬ ‫انالیز‬ ‫راستای‬ ‫در‬ ‫که‬ ‫هایی‬ ‫پردازش‬ ‫و‬ ‫عملیات‬ ‫مجموعه‬ ‫به‬
.‫گویند‬ ‫تصویر‬ ‫پردازش‬‫نوع‬ ‫هر‬ ‫از‬ ‫عبارتست‬ ‫تصویر‬ ‫پردازش‬ ‫خاص‬ ‫معنای‬ ‫در‬‫سیگنال‬ ‫پردازش‬‫یک‬ ‫ورودی‬ ‫که‬
‫یا‬ ‫عکس‬ ‫مثل‬ ‫است‬ ‫تصویر‬‫صحنه‬‫می‬ ‫تصویر‬ ‫پردازشگر‬ ‫خروجی‬ .‫فیلم‬ ‫یک‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫یک‬ ‫یا‬ ‫تصویر‬ ‫یک‬ ‫تواند‬
‫ا‬‫یا‬ ‫ویﮋه‬ ‫نشانهای‬ ‫ز‬‫متﻐیرهای‬.‫باشد‬ ‫تصویر‬ ‫به‬ ‫مربوط‬
‫گسترده‬ ‫تحقیقات‬ ‫و‬ ‫مطالعات‬ ‫باز‬ ‫دیر‬ ‫از‬ ‫و‬ ‫باشد‬ ‫می‬ ‫مهندسی‬ ‫فنون‬ ‫در‬ ‫مفید‬ ‫و‬ ‫پرکاربرد‬ ‫علوم‬ ‫از‬ ،‫تصویر‬ ‫پردازش‬ ‫علم‬
‫صو‬‫زمینه‬ ‫این‬ ‫در‬ ‫ای‬‫فراوانی‬ ‫های‬ ‫پیشرفت‬ ‫و‬ ‫گرفته‬ ‫رت‬‫زمینه‬ ‫این‬ ‫در‬‫است‬ ‫شده‬ ‫حاصل‬.
‫می‬ ‫گفته‬ ‫دیجیتال‬ ‫تصویر‬ ‫پردازش‬ ‫موضوع‬ ‫به‬ ‫بیشتر‬ ‫امروزه‬ ‫تصاویر‬ ‫پردازش‬‫شاخه‬ ‫که‬ ‫شود‬‫از‬ ‫ای‬‫رایانه‬ ‫دانش‬‫است‬
‫پردازش‬ ‫با‬ ‫که‬‫سیگنال‬‫با‬ ‫شده‬ ‫برداشته‬ ‫تصاویر‬ ‫نماینده‬ ‫که‬ ‫دیجیتال‬‫دیجیتال‬ ‫دوربین‬‫توسط‬ ‫شده‬ ‫پویش‬ ‫یا‬‫پویشگر‬
.‫دارد‬ ‫کار‬ ‫و‬ ‫سر‬ ‫هستند‬
‫عمده‬ ‫شاخه‬ ‫دو‬ ‫دارای‬ ‫تصاویر‬ ‫پردازش‬‫تصاویر‬ ‫بهبود‬‫و‬‫ماشین‬ ‫بینایی‬‫روشهایی‬ ‫دربرگیرنده‬ ‫تصاویر‬ ‫بهبود‬ .‫است‬
‫از‬ ‫استفاده‬ ‫چون‬‫فیلتر‬‫و‬ ‫محوکننده‬‫تضاد‬ ‫افزایش‬‫نمایش‬ ‫از‬ ‫اطمینان‬ ‫و‬ ‫تصاویر‬ ‫دیداری‬ ‫کیفیت‬ ‫کردن‬ ‫بهتر‬ ‫برای‬
‫مقصد(مانند‬ ‫محیط‬ ‫در‬ ‫آنها‬ ‫درست‬‫چاپگر‬‫یا‬‫رایانه‬ ‫نمایشگر‬‫ب‬ ‫ماشین‬ ‫بینایی‬ ‫که‬ ‫حالی‬ ‫در‬ ،‫)است‬‫می‬ ‫روشهایی‬ ‫ه‬‫پردازد‬
‫می‬ ‫آنها‬ ‫کمک‬ ‫به‬ ‫که‬‫چون‬ ‫کارهایی‬ ‫در‬ ‫آنها‬ ‫از‬ ‫تا‬ ‫کرد‬ ‫درک‬ ‫را‬ ‫تصاویر‬ ‫محتوای‬ ‫و‬ ‫معنی‬ ‫توان‬‫رباتیک‬‫و‬‫محو‬‫ر‬
‫ت‬‫صاویر‬.‫شود‬ ‫استفاده‬
‫منابع‬ ‫از‬ ‫حاصل‬ ‫پارامترهای‬ ‫نظیر‬ ‫تصویری‬ ‫اختالالت‬ ‫و‬ ‫نویز‬ ‫حذﻑ‬ ‫جهت‬ ‫تالش‬ ‫و‬ ‫تصویری‬ ‫های‬ ‫داده‬ ‫بزرگی‬ ‫مسئله‬
‫تصاویر‬ ‫در‬ ‫دیگر‬ ‫متعدد‬ ‫عوامل‬ ‫و‬ ‫ها‬ ‫رنﮓ‬ ‫ترکیﺐ‬ ‫تناسﺐ‬ ‫عدم‬ ،‫نامناسﺐ‬ ‫نوری‬‫در‬ ‫مهم‬ ‫بسیار‬ ‫موضوعات‬ ‫از‬ ،‫دریافتی‬
‫باشد‬ ‫می‬ ‫انها‬ ‫پردازش‬ ‫و‬ ‫تصاویر‬ ‫با‬ ‫کار‬.
‫تکنیک‬ ‫اغلﺐ‬‫تکنیک‬ ‫بکاربستن‬‫و‬ ‫بعدی‬‫دو‬ ‫سیگنال‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫تصویر‬ ‫با‬ ‫برخورد‬‫شامل‬ ‫تصویر‬ ‫پردازش‬ ‫های‬‫های‬
‫می‬ ‫آنها‬ ‫روی‬ ‫سیگنال‬ ‫پردازش‬ ‫استاندارد‬‫اشاره‬ ‫تصویر‬ ‫دیجیتالی‬ ‫پردازش‬ ‫به‬ ‫اغلﺐ‬ ‫تصویر‬ ‫پردازش‬ .‫شود‬‫می‬‫ولی‬ ‫کند‬
‫و‬ ‫نوری‬ ‫پردازش‬‫آنالوگ‬.‫دارند‬ ‫وجود‬ ‫هم‬ ‫تصویر‬
‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬
6
2-3-‫تصاویر‬ ‫پردازش‬ ‫در‬ ‫اصطالحاتی‬
2-3-1-‫پﻴکﺴل‬
‫جز‬ ‫کوچکترین‬PIXEL‫مخفف‬ ‫پیکسل‬ .‫است‬Picture Element‫متشکل‬ ‫تصویر‬ ‫یک‬ .‫است‬ ‫تصویر‬ ‫المان‬ ‫معنی‬ ‫به‬
‫می‬ ‫عکس‬ ‫دیجیتال‬ ‫دوربین‬ ‫یک‬ ‫با‬ ‫که‬ ‫زمانی‬ ‫واقع‬ ‫در‬ .‫اند‬ ‫گرفته‬ ‫قرار‬ ‫هم‬ ‫کنار‬ ‫در‬ ‫که‬ ‫است‬ ‫پیکسل‬ ‫زیادی‬ ‫تعداد‬ ‫از‬
‫شما‬ ‫دوربین‬ ‫رزولوشن‬ ‫اگر‬ ‫گیرید‬480×640‫ابعاد‬ ‫با‬ ‫ماتریس‬ ‫که‬ ‫است‬ ‫معنی‬ ‫این‬ ‫به‬ ‫باشد‬480×640‫اختیار‬ ‫در‬
‫که‬ ‫شماست‬640‫پیکسل‬‫و‬ ‫طول‬ ‫در‬480‫دوربین‬ ‫در‬ ‫نوری‬ ‫سلول‬ ‫یک‬ ‫پیکسل‬ ‫هر‬ ‫ازای‬ ‫به‬ .‫دارد‬ ‫عرض‬ ‫در‬ ‫پیکسل‬
‫رنﮓ‬ ‫ازای‬ ‫به‬ ‫مثال‬ ‫طور‬ ‫به‬ ،‫کند‬ ‫می‬ ‫تعیین‬ ‫پیکسل‬ ‫این‬ ‫برای‬ ‫را‬ ‫عددی‬ ‫مقدار‬ ‫نوری‬ ‫سلول‬ ‫این‬ ‫نور‬ ‫شدت‬ .‫دارد‬ ‫وجود‬
‫مقدار‬ ‫سفید‬ ‫رنﮓ‬ ‫ازای‬ ‫به‬‫و‬ ‫شود‬ ‫می‬ ‫ﺫخیره‬ ‫پیکسل‬ ‫در‬ ‫صفر‬ ‫مقدار‬ ‫سیاه‬255‫شو‬ ‫می‬ ‫ﺫخیره‬ ‫آن‬ ‫در‬.‫د‬
2-3-2-‫تصویر‬
‫دوبعدی‬ ‫تابع‬ ‫توسط‬ ‫میتوان‬ ‫را‬ ‫تصویر‬ ‫یک‬f(x,y)‫آن‬ ‫در‬ ‫که‬X‫و‬Y‫مقدار‬ ‫و‬ ‫مکانی‬ ‫مختصات‬ ‫را‬f‫را‬ ‫نقطه‬ ‫هر‬ ‫در‬
‫مونوکروم‬ ‫تصاویر‬ ‫روشنایی‬ ‫شدت‬ ‫به‬ ‫نیز‬ ‫خاکستری‬ ‫سطﺢ‬ ‫اصطالح‬ .‫نامند‬ ‫می‬ ‫نقطه‬ ‫آن‬ ‫در‬ ‫تصویر‬ ‫روشنایی‬ ‫شدت‬
‫دوبعدی‬ ‫تصاویر‬ ‫تعدادی‬ ‫از‬ ‫نیز‬ ‫رنگی‬ ‫تصاویر‬ .‫شود‬ ‫می‬ ‫اطالق‬‫مقادیر‬ ‫که‬ ‫زمانی‬ .‫شود‬ ‫می‬ ‫تشکیل‬X‫و‬Y‫ومقدار‬
f(x,y)‫یک‬ ‫را‬ ‫شوند،تصویر‬ ‫بیان‬ ‫محدود‬ ‫و‬ ‫گسسته‬ ‫مقادیر‬ ‫با‬‫مقادیر‬ ‫کردن‬ ‫دیجیتال‬ .‫نامند‬ ‫می‬ ‫دیجیتالی‬ ‫تصویر‬X
‫و‬Y‫را‬sampling‫مقدار‬ ‫کردن‬ ‫دیجیتال‬ ‫و‬f(x,y)‫را‬quantization‫تصویر‬ ‫یک‬ ‫نمایش‬ ‫برای‬ .‫گویند‬ ‫می‬M×N‫از‬
‫که‬ )‫(ماتریس‬ ‫دوبعدی‬ ‫آرایه‬ ‫یک‬M‫و‬ ‫سطر‬N‫دهنده‬ ‫نشان‬ ‫آرایه‬ ‫از‬ ‫عنصر‬ ‫هر‬ ‫مقدار‬ .‫کنیم‬ ‫می‬ ‫استفاده‬ ‫دارد‬ ‫ستون‬
‫مقدار‬ ‫یک‬ ‫آرایه‬ ‫عنصر‬ ‫هر‬ ، ‫کرد‬ ‫خواهیم‬ ‫سازی‬ ‫پیاده‬ ‫که‬ ‫توابعی‬ ‫تمام‬ ‫در‬ .‫است‬ ‫نقطه‬ ‫آن‬ ‫در‬ ‫تصویر‬ ‫روشنایی‬ ‫شدت‬
8‫بین‬ ‫مقداری‬ ‫میتواند‬ ‫که‬ ‫است‬ ‫بیتی‬0‫و‬255‫باشد‬ ‫داشته‬‫مقدار‬ .0‫مقدار‬ ‫و‬ )‫تیره(سیاه‬ ‫رنﮓ‬ ‫دهنده‬ ‫نشان‬255‫نشان‬
.‫است‬ )‫(سفید‬ ‫روشن‬ ‫رنﮓ‬ ‫دهنده‬
2-3-3-‫ﺧاﮐﺴﺘر‬‫ی‬(Grayscale)‫تصویر‬ ‫ﮐردن‬
‫در‬‫رایج‬‫ترین‬‫مدل‬‫رنﮓ‬‫گرافیک‬‫کامپیوتر‬‫ی‬،‫رن‬‫ـ‬‫ﮓ‬‫ه‬‫ـ‬‫ا‬‫از‬‫ترکیﺐ‬‫سه‬‫رنﮓ‬‫قرمز‬،‫سبز‬‫و‬‫آبی‬‫به‬‫وجود‬‫می‬‫آیند‬
‫که‬‫در‬‫مجموع‬16581375‫رنﮓ‬‫متفاوت‬‫را‬‫توسط‬‫این‬‫س‬‫ـ‬‫ه‬‫مولف‬‫ـ‬‫ه‬‫می‬‫توان‬‫تولید‬‫کرد‬.‫این‬‫مدل‬‫رنﮓ‬‫در‬‫گرافیک‬
‫کامپیوتر‬‫نام‬ ‫با‬ ‫ی‬RGB‫شناخته‬‫می‬‫شود‬.‫در‬‫کن‬‫ـ‬‫ار‬‫این‬‫م‬‫ـ‬‫دل‬‫همچون‬ ‫دیگری‬ ‫های‬ ‫،مدل‬HSV،HSI،CMYK،
‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬
7
Grayscale‫نیز‬‫وجود‬‫دارد‬‫ک‬‫ـ‬‫ه‬‫هری‬‫ـ‬‫ک‬‫از‬‫آن‬‫ه‬‫ـ‬‫ا‬‫ب‬‫ـ‬‫ه‬‫روش‬‫متفاوتی‬‫به‬‫نمایش‬‫رنﮓ‬‫ها‬‫می‬‫پردازند‬.‫در‬‫این‬‫بین‬
‫م‬‫ـ‬‫دل‬‫رنﮓ‬Grayscale‫از‬‫اهمی‬‫ـ‬‫ت‬‫وی‬‫ـ‬‫ﮋه‬‫ا‬‫ی‬‫برخ‬‫ـ‬‫وردار‬‫است‬.
‫تصویر‬ ‫یک‬RGB‫مقادیر‬ ‫آنها‬ ‫از‬ ‫هریک‬ ‫که‬ ‫است‬ ‫ماتریس‬ ‫سه‬ ‫از‬ ‫متشکل‬Red، )‫(قرمز‬Green‫و‬ )‫(سبز‬Blue
‫های‬ ‫مولفه‬ ‫که‬ ‫داشت‬ ‫خواهد‬ ‫خاکستری‬ ‫مقدار‬ ‫زمانی‬ ‫پیکسل‬ ‫یک‬ .‫دارند‬ ‫می‬ ‫نگه‬ ‫را‬ ‫رنگی‬ ‫تصویر‬ )‫(آبی‬R‫و‬G‫و‬B
.‫باشند‬ ‫داشته‬ ‫یکسانی‬ ‫مقادیر‬ ‫آن‬
2-3-4-‫هﻤﺴایﮕی‬
2‫نوع‬‫همسایگی‬‫وجود‬:‫دارد‬
1.‫همسایگی‬8:‫صورت‬ ‫به‬ ‫تایی‬
(i-1 , j-1),(i , j-1),(i+1 , j-1),(i-1 , j),(i+1 , j),(i-1 ,j+1),(i ,j+1),(i+1, j+1)
2.‫همسایگی‬4: ‫صورت‬ ‫به‬ ‫تایی‬
(i-1 , j),(i+1 , j),(i ,j-1),(i ,j+1)
2-3-5-‫تصویر‬ ‫دقت‬
‫پیکسل‬ ‫شماره‬ ‫به‬ ‫بستگی‬ ‫تصویر‬ ‫دقت‬‫تصویر‬ ‫یک‬ ‫با‬ .‫دارد‬ ‫ها‬2‫حداکثر‬ ،‫بیتی‬‫روشنایی‬ ‫دامنه‬2*2‫یعنی‬4‫می‬‫باشد‬
‫از‬ ‫آن‬ ‫دامنه‬ ‫که‬0‫تا‬3‫می‬ ‫تﻐییر‬‫تصویر‬ .‫ندارد‬ ‫را‬ )‫الزم‬ ‫پذیری‬ ‫(تفکیک‬ ‫دقت‬ ‫تصویر‬ ‫حالت‬ ‫این‬ ‫در‬ .‫کند‬8‫بیتی‬
‫دامنه‬ ‫حداکثر‬256‫بین‬ ‫آن‬‫تﻐییرات‬ ‫و‬ ‫دارد‬0‫تا‬255.‫دارد‬ ‫باالتری‬‫دقت‬ ‫که‬ .‫است‬
2-4-‫پردازش‬ ‫در‬ ‫اصلی‬ ‫عﻤلﻴات‬‫تصویر‬
1.‫هندسی‬ ‫تبدیالت‬‫و‬ ‫چرخش‬ ،‫اندازه‬‫تﻐییر‬ :...
2.‫رنﮓ‬:‫رنﮓ‬ ‫فضای‬‫تﻐییر‬ ‫یا‬ ‫و‬ ‫وضوح‬ ،‫روشنایی‬‫تﻐییر‬
3.‫و‬ ‫دو‬‫ترکیﺐ‬ : ‫تصاویر‬‫ترکیﺐ‬‫تصویر‬ ‫چند‬ ‫یا‬
4.‫تصویر‬ ‫حجم‬ ‫کاهش‬ : ‫تصویر‬ ‫سازی‬ ‫فشرده‬
‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬
8
5.‫تصویر‬ ‫بندی‬‫قطعه‬:‫تجزیه‬‫تصویر‬‫به‬‫قطعات‬‫با‬‫معنی‬
6.‫تفاوت‬ ‫آوردن‬ ‫دست‬ ‫به‬ :‫تصاویر‬ ‫تفاوت‬‫های‬‫تصویر‬
7.‫تصویر‬ ‫دو‬ ‫از‬ ‫میانگین‬ ‫تصویر‬ ‫آوردن‬ ‫دست‬ ‫به‬: ‫گیری‬ ‫میانگین‬
2-5-‫ت‬ ‫سﻴﺴﺘم‬ ‫به‬ ‫ورود‬ ‫لحظه‬ ‫از‬ ‫تصویر‬ ‫یک‬ ‫ﮐه‬ ‫مراحلی‬‫باید‬ ‫ﺧروجی‬ ‫تصویر‬ ‫تولﻴد‬ ‫ا‬
‫ﮐند‬ ‫طی‬
2-5-1-‫دریافت‬‫تصویر‬‫ورود‬‫ی‬
‫در‬‫این‬‫مرحله‬‫تصویر‬‫از‬‫ورود‬‫ی‬‫خوانده‬‫شده‬‫و‬‫وارد‬‫سیستم‬‫می‬‫گردد‬.‫تصویر‬‫ورود‬‫ی‬‫میتواند‬‫بر‬‫رو‬‫ی‬‫ابزار‬‫ﺫخیر‬‫ه‬
‫ساز‬‫بوده‬‫و‬‫یا‬‫از‬‫یک‬‫دوربین‬‫گرفته‬‫شود‬.‫به‬‫عنوان‬‫مثال‬‫در‬‫سیستم‬‫تشخیص‬‫اثر‬‫انگشت‬‫تصویر‬‫ور‬‫و‬‫د‬‫ی‬‫از‬‫طریق‬
‫اسکنر‬‫اثر‬‫انگشت‬‫وارد‬‫سیستم‬‫می‬.‫شود‬
2-5-2-‫پﻴﺶ‬‫پردازش‬‫تصویر‬
‫اهداﻑ‬‫کلی‬‫در‬‫این‬‫مرحله‬‫را‬‫می‬‫توان‬‫ارتقا‬‫تصویر‬‫وحذﻑ‬‫مولفه‬‫ها‬‫ی‬‫غیر‬‫ضرور‬‫ی‬‫از‬‫تصویر‬‫دانست‬.‫به‬‫عنوان‬
‫مثال‬‫خشکی‬‫پوست‬،‫جراحت‬‫یا‬ ‫و‬‫عدم‬‫تمیز‬‫ی‬‫پوست‬‫از‬‫موارد‬‫ی‬‫هستند‬‫که‬‫قبل‬‫از‬‫پردازش‬‫تصویر‬‫انگشت‬‫باید‬‫با‬
‫استفاده‬‫از‬‫تکنیک‬‫ها‬‫ی‬‫پردازش‬‫تصویر‬‫به‬‫رفع‬‫آن‬‫ها‬.‫پرداخت‬
2-5-3-‫پردازش‬‫تصویر‬
‫هدﻑ‬‫کلی‬‫در‬‫این‬‫مرحله‬‫شناسایی‬‫و‬‫ویﮋگی‬‫هایی‬‫از‬‫تصویر‬‫است‬‫که‬‫بتوان‬‫از‬‫آن‬‫ها‬‫برا‬‫ی‬‫کاربر‬‫مورد‬‫نظر‬‫خود‬
‫استفاده‬‫کرد‬.‫شناسایی‬‫نقاط‬‫ویﮋه‬‫و‬‫انحناها‬‫از‬‫جمله‬‫ویﮋگی‬‫هایی‬‫هستند‬‫که‬‫در‬‫سیستم‬‫تشخیص‬‫اثر‬‫انگشت‬‫می‬
‫توانند‬‫استخراﺝ‬‫گردند‬.
2-5-4-‫ﺁﻧالﻴﺰ‬‫تصویر‬
‫در‬‫این‬‫مرحله‬‫با‬‫استفاده‬‫از‬‫ویﮋگی‬‫ها‬‫ی‬‫استخراﺝ‬‫شده‬‫به‬‫آنالیز‬‫تصویر‬‫می‬‫پردازیم‬.‫به‬‫عنوان‬‫مثال‬‫پس‬‫از‬‫شناسایی‬
‫نقاط‬‫ویﮋه‬‫و‬‫انحناها‬‫در‬‫سیستم‬‫تشخیص‬‫اثر‬‫انگشت‬‫با‬‫آنالیز‬‫کردن‬‫تصویر‬‫سعی‬‫می‬‫کنیم‬‫شخص‬‫متناظر‬‫با‬‫اثر‬
‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬
9
‫انگشت‬‫را‬‫پیدا‬‫کنیم‬.‫آنالیز‬‫تصویر‬‫معموال‬‫از‬‫تکنیک‬‫ها‬‫ی‬‫هوش‬‫مصنوعی‬‫همانند‬‫شبکه‬‫ها‬‫ی‬‫عصبی‬،‫درخت‬‫ها‬‫ی‬
‫تصمیم‬،‫کالﺱ‬‫بند‬‫ی‬‫و‬....‫استفاده‬.‫کند‬ ‫می‬
2-6-‫هﻴﺴﺘوگرام‬
‫مشخص‬ ‫ورودی‬ ‫تصویر‬ ‫در‬ ‫روشنایی‬ ‫سطﺢ‬ ‫هر‬ ‫های‬ ‫پیکسل‬ ‫تعداد‬ ‫آن‬ ‫توسط‬ ‫که‬ ‫است‬ ‫نموداری‬ ‫تصویر‬ ‫هیستوگرام‬
‫تصویر‬ ‫یک‬ ‫ورودی‬ ‫تصویر‬ ‫کنید‬ ‫فرض‬ .‫شود‬ ‫می‬Grayscale‫با‬256‫از‬ ‫هریک‬ ‫بنابراین‬ ، ‫باشد‬ ‫روشنایی‬ ‫سطﺢ‬
[ ‫بازه‬ ‫در‬ ‫مقداری‬ ‫تصویر‬ ‫های‬ ‫پیکسل‬255...0.‫باشند‬ ‫داشته‬ ‫توانند‬ ‫می‬ ]
‫دس‬ ‫به‬ ‫برای‬‫هر‬ ‫های‬ ‫پیکسل‬ ‫تعداد‬ ، ‫تصویر‬ ‫های‬ ‫پیکسل‬ ‫کل‬ ‫پیمایش‬ ‫با‬ ‫است‬ ‫،کافی‬ ‫تصویر‬ ‫هیستوگرام‬ ‫آوردن‬ ‫ت‬
‫پیکسل‬ ‫کل‬ ‫تعداد‬ ‫به‬ ‫هیستوگرام‬ ‫مقادیر‬ ‫کردن‬ ‫تقسیم‬ ‫از‬ ‫نیز‬ ‫نرمال‬ ‫هیستوگرام‬ . ‫کنیم‬ ‫می‬ ‫محاسبه‬ ‫را‬ ‫روشنایی‬ ‫سطﺢ‬
‫هیس‬ ‫مقادیر‬ ‫که‬ ‫شود‬ ‫می‬ ‫موجﺐ‬ ‫هیستوگرام‬ ‫سازی‬ ‫نرمال‬ .‫آید‬ ‫می‬ ‫دست‬ ‫به‬ ‫تصویر‬ ‫های‬[ ‫بازه‬ ‫در‬ ‫توگرام‬0،1‫قرار‬ ]
.‫گیرند‬
‫صورت‬ ‫بـدین‬ .‫است‬ ‫دیجیتالی‬ ‫های‬ ‫دوربین‬ ‫خودکـار‬ ‫فوکوﺱ‬ ‫در‬ ‫هیستوگرام‬ ‫کاربـردهـای‬ ‫از‬ ‫یکی‬‫دوربین‬ ‫لنز‬ ‫که‬
‫تصویر‬ ‫کنتراست‬ ‫سپس‬ .‫گیرد‬ ‫می‬ ‫صحنه‬ ‫از‬ ‫تصویری‬ ‫خود‬ ‫حرکت‬ ‫از‬ ‫گام‬ ‫هر‬ ‫در‬ ‫و‬ ‫کرده‬ ‫حرکت‬ ‫انتها‬ ‫تا‬ ‫ابتدا‬ ‫از‬
‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ ‫شده‬ ‫گرفته‬‫محلی‬ ،‫رسید‬ ‫خود‬ ‫حرکتی‬ ‫انتهای‬ ‫به‬ ‫لنز‬ ‫که‬ ‫آن‬ ‫از‬ ‫پس‬ .‫کند‬ ‫می‬ ‫محاسبه‬ ‫آن‬ ‫هیستوگرام‬
.‫گردد‬ ‫می‬ ‫تعیین‬ ‫لنز‬ ‫محل‬ ‫عنوان‬ ‫به‬ ،‫است‬ ‫بوده‬ ‫خود‬ ‫کنتراست‬ ‫بیشترین‬ ‫دارای‬ ‫تصویر‬ ‫آن‬ ‫در‬ ‫که‬ ‫لنز‬ ‫حرکت‬ ‫از‬‫یکی‬
‫زمانی‬ .‫است‬ ‫پایین‬ ‫کنتراست‬ ‫با‬ ‫تصاویر‬ ‫کنتراست‬ ‫افزایش‬ ‫در‬ ‫هیستورگرام‬ ‫کاربردهای‬ ‫از‬ ‫دیگر‬‫گوییم‬ ‫می‬ ‫که‬
‫کم‬ ‫تصویر‬ ‫روشنایی‬ ‫شدت‬ ‫بیشتری‬ ‫و‬ ‫کمترین‬ ‫بین‬ ‫اختالﻑ‬ ‫که‬ ‫است‬ ‫معنا‬ ‫بدان‬ ‫این‬ ‫است‬ ‫کم‬ ‫تصویری‬ ‫کنتراست‬
.‫یابد‬ ‫افزایش‬ ‫ممکن‬ ‫حد‬ ‫تا‬ ‫ورودی‬ ‫تصویر‬ ‫کنتراست‬ ‫که‬ ‫شود‬ ‫می‬ ‫موجﺐ‬ ‫هیستوگرام‬ ‫سازی‬ ‫تعدیل‬ ‫هم‬ .‫است‬
.‫شود‬ ‫می‬ ‫استفاده‬ ‫نیز‬‫گیری‬ ‫آستانه‬ ‫برای‬ ‫هیستوگرام‬ ‫از‬
‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬
10
‫شکل‬2-1-‫قبل‬‫هﻴﺴﺘوگرام‬ ‫تعدیل‬ ‫از‬
‫شکل‬2-2-‫هﻴﺴﺘوگرام‬ ‫تعدیل‬ ‫از‬ ‫بعد‬
2-7-( ‫گﻴری‬ ‫ﺁسﺘاﻧه‬Threshold)
‫عکس‬ ‫یک‬ ‫از‬ ‫خواهیم‬ ‫می‬ ‫کنید‬ ‫فرض‬16‫پیکسل‬ ‫تک‬ ‫تک‬ ‫باید‬‫کار‬ ‫این‬ ‫برای‬ ‫بسازیم‬ ‫وسفید‬ ‫سیاه‬ ‫تصویر‬ ‫یک‬ ‫بیتی‬
‫کوچکتر‬ ‫اگر‬ ‫و‬ ‫سفید‬ ‫رنﮓ‬ ‫آن‬ ‫جای‬ ‫به‬ ‫بود‬ ‫مشخص‬ ‫مقدار‬ ‫آن‬ ‫از‬ ‫بزرگتر‬ ‫اگر‬ ،‫کنیم‬ ‫مقایسه‬ ‫مشخصی‬ ‫مقدار‬ ‫با‬ ‫را‬ ‫ها‬
‫یا‬ ‫گیری‬ ‫آستانه‬ ‫کار‬ ‫این‬ ‫به‬‫دهیم‬ ‫می‬ ‫قرار‬ ‫سیاه‬ ‫مقدار‬ ‫آن‬ ‫جای‬ ‫به‬ ‫بود‬Threshold.‫گویند‬ ‫می‬
2-8-‫در‬ ‫لبه‬ ‫تشخﻴص‬‫تصویر‬ ‫یک‬
‫در‬ ‫نور‬ ‫شدت‬ ‫اختالﻑ‬ ‫تصویر‬ ‫در‬ ‫لبه‬ ‫یک‬ ‫ایجاد‬ ‫دلیل‬2.‫گوییم‬ ‫می‬ ‫لبه‬ ‫آن‬ ‫به‬ ‫که‬ ‫است‬ ‫محل‬ ‫آن‬ ‫طرﻑ‬.‫در‬‫واقع‬‫لبه‬
‫ب‬‫ـ‬‫ه‬‫قس‬‫ـ‬‫متی‬‫از‬‫تصویر‬‫گفته‬‫می‬‫شود‬‫که‬‫در‬‫آن‬‫اخ‬‫ـ‬‫تالﻑ‬‫ش‬‫ـ‬‫دت‬‫روش‬‫ـ‬‫نایی‬‫ی‬‫ـ‬‫ک‬‫پیکسل‬‫با‬‫پیکسل‬‫مجاور‬‫خودش‬‫از‬
‫مق‬‫ـ‬‫دار‬‫مشخص‬‫ـ‬‫ی‬‫بیش‬‫ـ‬‫تر‬‫باشد‬.‫لبه‬‫ها‬‫قسمتی‬‫از‬‫تصویر‬‫هستند‬‫که‬‫استخوان‬‫بند‬‫ی‬‫را‬ ‫تصویر‬‫مشخص‬‫می‬.‫کنند‬
‫لبه‬‫باشند‬ ‫دیدگاه‬ ‫به‬ ‫وابسته‬ ‫است‬ ‫ممکن‬ ‫ها‬-‫می‬ ‫یعنی‬،‫صحنه‬ ‫هندسه‬ ً‫ا‬‫نوع‬ ‫و‬ ،‫کنند‬ ‫تﻐییر‬ ‫دید‬ ‫نقطه‬ ‫تﻐییر‬ ‫با‬ ‫توانند‬
‫گرفته‬ ‫را‬ ‫همدیگر‬ ‫جلوی‬ ‫که‬ ‫اجسامی‬‫می‬ ‫نشان‬ ‫را‬ ‫آن‬ ‫مانند‬ ‫و‬ ‫اند‬‫باشند‬ ‫دیدگاه‬ ‫به‬ ‫نابسته‬ ‫است‬ ‫ممکن‬ ‫یا‬ ‫دهند‬-‫که‬
‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬
11
‫ویﮋگی‬ ‫نمایانگر‬ ً‫ال‬‫معمو‬‫دیده‬ ‫اجسام‬ ‫های‬‫همچون‬ ‫شده‬‫نشان‬‫گذاری‬‫مفهوم‬ ‫باالتر‬ ‫و‬ ‫بعد‬ ‫دو‬ ‫در‬ .‫باشند‬ ‫سطﺢ‬ ‫شکل‬ ‫و‬ ‫ها‬
‫تصویر‬.‫شود‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ‫باید‬
‫سیاه‬ ‫بخش‬ ‫یک‬ ‫و‬ ‫قرمزرنﮓ‬ ‫بخش‬ ‫یک‬ ‫میان‬ ‫مرز‬ )‫نمونه‬ ‫است(برای‬ ‫ممکن‬ ‫نوعی‬ ‫لبه‬ ‫یک‬‫حال‬ ‫باشد؛‬ ‫رنﮓ‬‫آنکه‬
‫خط‬ ‫یک‬‫می‬‫تواند‬‫پیکسل‬ ‫کمی‬ ‫تعداد‬‫لبه‬ ‫یک‬ ‫خط‬ ‫سوی‬ ‫هر‬ ‫در‬ .‫باشد‬ ‫یکنواخت‬ ‫زمینه‬ ‫یک‬ ‫در‬ ‫ناهمرنﮓ‬ ‫های‬
‫لبه‬ .‫داشت‬ ‫خواهد‬ ‫وجود‬.‫دارند‬ ‫تصویر‬ ‫پردازش‬ ‫کاربردهای‬ ‫در‬ ‫مهمی‬ ‫نقش‬ ‫ها‬
2-8-1-‫اﻧواﻉ‬‫لبه‬:‫ها‬
2-8-1-1-:‫افقی‬ ‫لبه‬
‫برا‬‫ی‬‫لبه‬‫ها‬‫ی‬‫افقی‬‫از‬‫ستون‬‫اول‬‫به‬‫صورت‬‫عم‬‫ـ‬‫ود‬‫ی‬‫ش‬‫ـ‬‫روع‬‫ب‬‫ـه‬‫حرکت‬‫می‬‫کنیم‬‫و‬‫هر‬‫پیکس‬‫ـ‬‫ل‬‫را‬‫ب‬‫ـ‬‫ا‬‫پیکس‬‫ـ‬‫ل‬‫قب‬‫ـ‬‫ل‬
‫از‬‫خ‬‫ـ‬‫ودش‬‫مقایسه‬‫می‬‫کنیم‬‫اگر‬‫تفاوت‬‫آنها‬‫از‬‫عدد‬‫مشخصی‬‫بیش‬‫ـ‬‫تر‬‫باش‬‫ـ‬‫آنجا‬ ‫د‬‫لبه‬‫است‬.‫در‬‫غیر‬‫این‬‫صورت‬‫به‬‫آن‬
‫کار‬‫ی‬.‫نداریم‬
2-8-1-2-‫عمودی‬ ‫لبه‬
‫یافتن‬‫لبه‬‫ها‬‫ی‬‫عمود‬‫ی‬‫هم‬‫به‬‫ص‬‫ـ‬‫ورت‬‫شود‬ ‫می‬ ‫انجام‬ ‫افقی‬ ‫های‬ ‫لبه‬‫به‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬‫صورت‬‫افقی‬‫شروع‬‫به‬
‫حرکت‬‫می‬.‫کنیم‬
2-8-1-3-‫مورب‬ ‫لبه‬
‫از‬ ‫ترکیبی‬ ‫مورب‬ ‫های‬ ‫لبه‬ ‫گفت‬ ‫توان‬ ‫می‬2‫و‬ ‫افقی‬ ‫لبه‬‫جذر‬ ‫که‬ ‫صورت‬‫این‬ ‫به‬. ‫هستند‬ ‫عمودی‬‫هر‬ ‫مختصات‬ ‫جمع‬
.‫نیست‬‫لبه‬ ‫صورت‬‫این‬ ‫غیر‬ ‫در‬ ‫باشد‬‫بیشتر‬ ‫مشخص‬ ‫عددی‬ ‫از‬ ‫باید‬ ‫پیکسل‬
2-9-‫تصاویر‬ ‫روی‬ ‫عﻤلﻴات‬
2-9-1-‫تفریﻖ‬‫دو‬‫تصویر‬
. ‫کنیم‬ ‫کم‬ ‫هم‬ ‫از‬ ‫را‬ ‫تصویر‬ ‫دو‬ ‫متناظر‬ ‫های‬ ‫پیکسل‬ ‫روشنایی‬ ‫شدت‬ ‫که‬ ‫است‬ ‫مفهوم‬ ‫بدین‬ ‫اندازه‬ ‫هم‬ ‫تصویر‬ ‫دو‬ ‫تفریق‬
‫می‬ ‫منظور‬ ‫این‬ ‫برای‬ .‫هستند‬ ‫آلزایمر‬ ‫بیماری‬ ‫دچار‬ ‫که‬ ‫کنیم‬ ‫بررسی‬ ‫را‬ ‫افرادی‬ ‫مﻐز‬ ‫تﻐییرات‬ ‫خواهیم‬ ‫می‬ ‫کنید‬ ‫فرض‬
‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬
12
‫تصویر‬ ‫با‬ ‫مختلف‬ ‫مراحل‬ ‫در‬ ‫را‬ ‫سالم‬ ‫مﻐز‬ ‫یک‬ ‫از‬ ‫تصویری‬ ‫توانیم‬‫مقایسه‬ ، ‫است‬ ‫آلزایمر‬ ‫بیماری‬‫دچار‬ ‫که‬ ‫فردی‬ ‫مﻐز‬
‫است‬ ‫شده‬ ‫تﻐییر‬ ‫دچار‬ ‫مﻐر‬ ‫نقاط‬ ‫آن‬ ‫در‬ ‫که‬ ‫مﻐز‬ ‫از‬ ‫نقاطی‬ ‫مذکور‬ ‫تصویر‬ ‫دو‬ ‫روی‬ ‫بر‬ ‫فوق‬ ‫عملگر‬ ‫اعمال‬ ‫با‬ . ‫کنیم‬
. ‫شوند‬ ‫می‬ ‫مشخص‬
‫هنگام‬ ‫توانیم‬ ‫می‬ ‫همچنینی‬ . ‫کنیم‬ ‫می‬ ‫تبدیل‬ ‫صفر‬ ‫مقدار‬ ‫به‬ ‫را‬ ‫منفی‬ ‫مقادیر‬ ، ‫ها‬ ‫پیکس‬ ‫مقادیر‬ ‫تفریق‬ ‫هنگام‬‫تفر‬‫ی‬‫از‬ ‫ق‬
‫کنیم‬ ‫استفاده‬ ‫نیز‬ ‫تفریق‬ ‫قدرمطلق‬.‫در‬ ‫حرکت‬ ‫شناسایی‬ ‫به‬ ‫توان‬ ‫می‬ ‫تصویر‬ ‫دو‬ ‫تفریق‬ ‫از‬ ‫کاربردی‬ ‫مثال‬ ‫یک‬ ‫عنوان‬ ‫به‬
‫گرفته‬ ‫متوالی‬ ‫فریم‬ ‫دو‬ ‫بین‬ ‫در‬ ‫که‬ ‫است‬ ‫داده‬ ‫رخ‬ ‫حرکت‬ ‫گوییم‬ ‫می‬ ‫زمانی‬ .‫کرد‬ ‫اشاره‬ ‫بسته‬ ‫مدار‬ ‫دوربین‬ ‫های‬ ‫سیستم‬
‫هما‬ ‫و‬ .‫باشد‬ ‫داشته‬ ‫وجود‬ ‫اختالﻑ‬ ‫دوربین‬ ‫از‬ ‫شده‬‫ابتدا‬ ‫در‬ ‫که‬ ‫نطور‬‫شد‬ ‫ﺫکر‬‫از‬ ‫تصویر‬ ‫دو‬ ‫بین‬ ‫اختالﻑ‬ ‫محاسبه‬ ‫برای‬ ،
‫اختالﻑ‬ ‫توانیم‬ ‫می‬ ‫دوربین‬ ‫از‬ ‫شده‬ ‫گرفته‬ ‫قبلی‬ ‫فریم‬ ‫و‬ ‫فعلی‬ ‫فریم‬ ‫تفریق‬ ‫با‬ ‫بنابراین‬ .‫کنیم‬ ‫می‬ ‫استفاده‬ ‫تفریق‬ ‫عملگر‬
‫زمینه‬ ‫پشت‬ ‫حذﻑ‬ ‫به‬ ‫توان‬ ‫می‬ ‫تصویر‬ ‫دو‬ ‫تفریق‬ ‫کاربردهای‬ ‫دیگر‬ ‫از‬ .‫کنیم‬ ‫پیدا‬ ‫را‬ ‫تصویر‬ ‫دو‬ ‫در‬ ‫موجود‬‫از‬ ‫ثابت‬
.‫کرد‬ ‫اشاره‬ ‫تصویر‬
2-9-2-‫جﻤﻊ‬‫دو‬‫تصویر‬
‫جمع‬ ‫باهم‬ ‫را‬ ‫تصویر‬ ‫دو‬ ‫متناظر‬ ‫های‬ ‫پیکسل‬ ‫روشنایی‬ ‫شدت‬ ، ‫دوتصویر‬ ‫در‬ ‫که‬ ‫است‬ ‫مفهموم‬ ‫بدین‬ ‫تصویر‬ ‫دو‬ ‫جمع‬
‫دو‬ ‫به‬‫نیاز‬‫منظور‬ ‫این‬ ‫برای‬.‫است‬ ‫تصویر‬ ‫به‬ ‫زمینه‬ ‫پشت‬ ‫افزودن‬ ‫تصویر‬ ‫دو‬ ‫جمع‬ ‫کاربردهای‬ ‫ترین‬ ‫رایج‬ ‫از‬ ‫یکی‬ . ‫کنیم‬
‫زم‬ ‫پشت‬ ‫تصویر‬‫جمع‬ ‫از‬ .‫شود‬ ‫گرفته‬ ‫ثابت‬ ‫رنﮓ‬ ‫با‬ ‫ای‬ ‫پرده‬ ‫مقابل‬ ‫در‬ ‫باید‬ ‫شی‬ ‫تصویر‬ ‫که‬ ‫داریم‬ ‫شی‬ ‫تصویر‬ ‫و‬ ‫ینه‬
.‫آید‬ ‫می‬ ‫دست‬ ‫به‬‫دلخواه‬ ‫زمینه‬ ‫پشت‬ ‫با‬ ‫تصویری‬ ‫مذکور‬ ‫تصویر‬ ‫دو‬ ‫کردن‬
‫اول‬ ‫تصویر‬‫دوم‬‫تصویر‬
‫جﻤﻊ‬ ‫حاصل‬
‫شکل‬2-3-‫تصاویر‬ ‫جﻤﻊ‬
‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬
13
2-9-3-‫مﻴاﻧﮕﻴﻦگﻴر‬‫ی‬‫از‬‫تصویر‬
‫خواهیم‬ ‫می‬ ‫و‬ ‫دارد‬ ‫وجود‬ ‫مختلفی‬ ‫نویزهای‬ ‫ها‬ ‫آن‬ ‫از‬ ‫هرکدام‬ ‫روی‬ ‫بر‬ ‫و‬ ‫داریم‬ ‫یکسان‬ ‫تصویر‬ ‫چند‬ ‫که‬ ‫هنگامی‬
،‫کنیم‬ ‫می‬ ‫استفاده‬ ‫گیری‬ ‫میانگین‬ ‫از‬ ‫دهیم‬ ‫ارتقا‬ ‫را‬ ‫تصاویر‬ ‫این‬ ‫کیفیت‬‫متناظر‬ ‫های‬ ‫پیکسل‬ ‫مقادیر‬ ‫که‬ ‫صورت‬ ‫بدین‬
‫تقسیم‬ ‫تصاویر‬ ‫کل‬ ‫تعداد‬ ‫به‬ ‫سپس‬ ‫و‬ ‫کرده‬ ‫جمع‬ ‫باهم‬ ‫را‬ ‫تصاویر‬ ‫همه‬ ‫در‬‫می‬‫تعداد‬ ‫هرقدر‬ ‫که‬ ‫است‬ ‫بدیهی‬ .‫کنیم‬
‫خواهد‬ ‫نزدیک‬ ‫واقعیت‬ ‫به‬ ‫بیشتر‬ ‫نیز‬ ‫آنها‬ ‫گیری‬ ‫میانگین‬ ‫از‬ ‫حاصل‬ ‫تصویر‬ ، ‫باشد‬ ‫بیشتر‬ ‫گیری‬ ‫میانگین‬ ‫برای‬ ‫تصاویر‬
.‫بود‬
‫نویز‬ ‫تصویر‬‫نویزدار‬ ‫تصویر‬ ‫دار‬‫نویزدار‬ ‫تصویر‬‫نویزدار‬ ‫تصویر‬‫تصویر‬‫بدون‬‫نویز‬
‫نویزدار‬ ‫تصاویر‬ ‫میانگین‬
‫شکل‬2-4-‫میانگی‬‫گی‬ ‫ن‬‫تصویر‬‫ری‬
2-9-4-‫ﮐردن‬ ‫مکﻤل‬‫تصویر‬
‫قرار‬ ‫بزرگ‬ ‫سیاه‬ ‫محدوده‬ ‫با‬ ‫تصویر‬ ‫یک‬ ‫در‬ ‫تصویر‬ ‫اصلی‬ ‫اجزای‬ ‫که‬ ‫مواردی‬ ‫در‬‫تصویر‬ ‫مکمل‬ ‫از‬ ،‫باشد‬ ‫گرفته‬
.‫کنیم‬ ‫می‬ ‫استفاده‬
‫فقط‬ ‫که‬ ‫سفید‬ ‫و‬ ‫سیاه‬ ‫تصویر‬ ‫یک‬ ‫در‬‫دارای‬‫روشنایی‬ ‫شدت‬ ‫سطﺢ‬ ‫دو‬0‫و‬1‫باشد‬‫می‬‫تصویر‬ ‫کردن‬ ‫مکمل‬ ‫از‬ ‫منظور‬ ،
،1‫مقدار‬ ‫با‬ ‫پیکسلهای‬ ‫کردن‬0‫و‬0‫مقدار‬ ‫با‬ ‫های‬ ‫پیکسل‬ ‫کردن‬1‫از‬ ‫که‬ ‫تصویری‬ ‫در‬ .‫است‬L‫روشنایی‬ ‫سطﺢ‬
‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬
14
(0...‫و‬1-L‫نمایش‬ ‫برای‬ )‫دست‬ ‫به‬ ‫زیر‬ ‫فرمول‬ ‫از‬ ‫پیکسل‬ ‫یک‬ ‫مکمل‬ ، ‫کند‬ ‫می‬ ‫استفاده‬ ‫ها‬ ‫پیکسل‬ ‫روشنایی‬ ‫شدت‬
‫می‬: ‫آید‬
Pixel[ I , j ] = L -1 – Pixel[ I , j ]
2-9-5-‫فﻴلﺘر‬‫ﮐردن‬‫تصویر‬
:‫شوند‬ ‫می‬ ‫تقسیم‬ ‫دسته‬ ‫دو‬ ‫به‬‫تصاویر‬ ‫های‬ ‫پیکسل‬
2-9-5-1-‫تیز‬ ‫های‬ ‫پیکسل‬
‫تصویر‬ ‫از‬ ‫هایی‬ ‫پیکسل‬‫روشنایی‬ ‫شدت‬ ‫اختالﻑ‬ ‫که‬ ‫را‬( ‫آنها‬،‫باشند‬ ‫زیاد‬ ‫خود‬ ‫همسایه‬ ‫های‬ ‫پیکسل‬ ‫با‬ )‫پیکسل‬ ‫مقدار‬
‫نشان‬ ‫یا‬ ‫هستند‬ ‫تصویر‬ ‫در‬ ‫موجود‬ ‫اشیای‬ ‫های‬ ‫لبه‬ ‫دهنده‬ ‫نشان‬ ‫یا‬ ‫معموال‬ ‫تیز‬ ‫های‬ ‫پیکسل‬ .‫نامیم‬ ‫می‬ ‫تیز‬ ‫های‬ ‫پیکسل‬
‫های‬ ‫پیکسل‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫تصویر‬ ‫جزئیات‬ ‫که‬ ‫گفت‬ ‫توان‬ ‫می‬ ‫کلی‬ ‫حالت‬ ‫در‬ ‫و‬ ‫هستند‬ ‫تصویر‬ ‫یک‬ ‫نویزهای‬ ‫دهنده‬
‫تیز‬،‫شوند‬ ‫می‬ ‫گرفته‬ ‫کم‬ ‫وب‬ ‫یک‬ ‫یا‬ ‫موبایل‬ ‫توسط‬ ‫شﺐ‬ ‫هنگام‬ ‫که‬ ‫تصاویری‬ ،‫مثال‬ ‫عنوان‬ ‫به‬ .‫شوند‬ ‫می‬ ‫استخراﺝ‬
‫فلفل‬ ‫معروﻑ‬ ‫نویز‬ ‫دارای‬-‫هستند‬ ‫نمکی‬.
2-9-5-2-‫آرام‬ ‫های‬ ‫پیکسل‬
‫روشنایی‬ ‫شدت‬ ‫اختالﻑ‬ ‫که‬ ‫تصویر‬ ‫از‬ ‫هایی‬ ‫پیکسل‬ .‫دارند‬ ‫قرار‬ ‫تصویر‬ ‫آرام‬ ‫های‬ ‫پیکسل‬ ،‫تیز‬ ‫های‬ ‫پیکسل‬ ‫مقابل‬ ‫در‬
‫با‬ ‫آنها‬.‫نامیم‬ ‫می‬ ‫تصویر‬ ‫آرام‬ ‫های‬ ‫پیکسل‬ ،‫است‬ ‫کم‬ ‫خود‬ ‫همجوار‬ ‫های‬ ‫پیکسل‬
.‫پردازیم‬ ‫می‬ ‫تصاویر‬ ‫کردن‬‫فیلتر‬ ‫شرح‬ ‫به‬ ‫شده‬ ‫گفته‬ ‫مطالﺐ‬ ‫به‬ ‫توجه‬ ‫با‬
‫به‬‫فیلترها‬ ‫مکانی‬ ‫حوزه‬ ‫در‬2:‫شوند‬ ‫می‬ ‫تقسیم‬ ‫دسته‬
2-9-5-3-‫کننده‬ ‫آرام‬ ‫فیلترهای‬
‫ه‬ ‫پیکسل‬ ‫روشنایی‬ ‫شدت‬ ‫در‬ ‫تﻐییر‬ ‫اعمال‬ ‫با‬ ‫کننده‬ ‫آرام‬ ‫فیلترهای‬‫تولید‬ ‫موجﺐ‬ ‫تصویر‬ ‫تیز‬ ‫ای‬‫می‬ ‫تری‬ ‫آرام‬ ‫تصاویر‬
‫آرام‬ ‫های‬ ‫پیکسل‬ ‫روی‬ ‫بر‬ ‫چندانی‬ ‫تاثیر‬ ‫فیلترها‬ ‫این‬ ‫همچنین‬ .‫شود‬‫بدین‬ ‫تصویر‬ ‫شدن‬ ‫آرام‬ .‫گذارند‬ ‫نمی‬ ‫تصویر‬
‫می‬ ‫بین‬ ‫از‬ ‫تصویر‬ ‫جزئیات‬ ‫از‬ ‫بخشی‬ ‫که‬ ‫است‬ ‫معنی‬‫یک‬ ‫روی‬ ‫بر‬ ‫کننده‬ ‫آرام‬ ‫فیلتر‬ ‫یک‬ ‫اعمال‬ ‫مثال‬ ‫عنوان‬ ‫به‬ .‫رود‬
‫موجﺐ‬ ‫نویزدار‬ ‫تصویر‬‫کاهش‬‫می‬ ‫را‬ ‫کننده‬ ‫آرام‬ ‫های‬ ‫فیلتر‬ ‫از‬ ‫ساده‬ ‫کاربردی‬ ‫مثال‬ ‫یک‬ .‫شد‬ ‫خواهد‬ ‫نویزها‬ ‫شدت‬
‫حذﻑ‬ ‫توان‬‫کرد‬ ‫بیان‬ ‫صورت‬‫تصاویر‬ ‫از‬ ‫ها‬‫چروک‬ ‫و‬ ‫چین‬.
‫میانگین‬ ‫فیلتر‬ ‫یک‬ .‫هستند‬ ‫میانگین‬ ‫فیلترهای‬ ‫تصویر‬ ‫کننده‬ ‫آرام‬ ‫فیلترهای‬ ‫ترین‬ ‫ساده‬m*n،‫مقدار‬ ‫که‬ ‫است‬ ‫ماسکی‬
‫عدد‬ ‫با‬ ‫برابر‬ ‫آن‬ ‫عناصر‬ ‫از‬ ‫هریک‬1(m.n)/‫دیگر‬ ‫عبارت‬ ‫به‬ .‫است‬‫است‬ ‫برابر‬ ‫خروجی‬ ‫تصویر‬ ‫در‬ ‫پیکسل‬ ‫هر‬ ‫مقدار‬
‫جاری‬ ‫پیکسل‬ ‫روشنایی‬ ‫شدت‬ ‫مقدار‬ ‫میانگین‬ ‫با‬‫جاری‬ ‫پیکسل‬ ‫همسایه‬ ‫های‬ ‫پیکسل‬ ‫و‬.
‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬
15
‫شده‬‫ﺁرام‬‫تصویر‬‫اصلی‬ ‫تصویر‬
‫شکل‬2-5-‫ﮐننده‬‫ﺁرام‬ ‫فﻴلﺘر‬ ‫تاثﻴر‬
2-9-5-4-‫تیزکننده‬ ‫فیلترهای‬
‫است‬ ‫موجﺐ‬ ‫تصویر‬ ‫آرام‬ ‫های‬ ‫پیکسل‬ ‫روی‬ ‫بر‬ ‫تﻐییر‬ ‫اعمال‬ ‫با‬ ‫کننده‬ ‫تیز‬ ‫فیلترهای‬ ،‫کننده‬ ‫آرام‬ ‫فیلترهای‬ ‫برخالﻑ‬‫خ‬‫راﺝ‬
‫تصویر‬ ‫که‬ ‫بینیم‬ ‫می‬ ‫موارد‬ ‫برخی‬ ‫در‬ .‫شوند‬ ‫می‬ ‫تصویر‬ ‫از‬ ‫بیشتری‬ ‫جزئیات‬‫جزئیات‬ ( ‫است‬ ‫مانند‬ ‫بلور‬ ‫حالتی‬ ‫داری‬
‫کنیم‬ ‫می‬ ‫استفاده‬ ‫تصویر‬ ‫کننده‬‫تیز‬ ‫فیلترهای‬ ‫از‬ ،‫بلوری‬ ‫خاصیت‬ ‫حذﻑ‬ ‫برای‬ ‫مواردی‬‫چنین‬ ‫در‬ . )‫نیستند‬ ‫نمایان‬.
‫شده‬‫تﻴﺰ‬‫تصویر‬‫اصلی‬ ‫تصویر‬
‫شکل‬2-6-‫ﮐننده‬ ‫تﻴﺰ‬‫فﻴلﺘرهای‬ ‫تاثﻴر‬
2-10-‫تصاویر‬ ‫سازی‬ ‫فشرده‬
‫ﺫخیره‬ ‫برای‬‫حجم‬ ‫باید‬ ‫تصاویر‬ ‫سازی‬‫اطالعات‬‫روش‬ ‫تمام‬ ‫اساﺱ‬ ‫و‬ ‫داد‬ ‫کاهش‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫جایی‬ ‫تا‬ ‫را‬‫های‬
‫فشرده‬‫بخش‬ ‫گذاردن‬ ‫کنار‬ ‫سازی‬‫داده‬ ‫و‬ ‫اطالعات‬ ‫از‬ ‫هایی‬‫فشرده‬ ‫نسبت‬ ‫یا‬ ‫است.ضریﺐ‬ ‫ها‬‫صد‬ ‫در‬ ‫و‬ ‫میزان‬ ‫سازی‬
‫می‬ ‫مشخص‬ ‫را‬ ‫اطالعات‬ ‫گذاشتن‬ ‫کنار‬‫ﺫخیره‬ ‫روش‬ ‫این‬ .‫کند‬‫آسان‬ ‫را‬ ‫اطالعات‬ ‫انتقال‬ ‫و‬ ‫سازی‬‫می‬ ‫تر‬‫و‬ ‫کند‬
‫پهنای‬‫باند‬‫و‬‫فرکانس‬‫می‬ ‫کاهش‬ ‫نیاز‬ ‫مورد‬.‫یابد‬
‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬
16
‫روش‬ ‫امروزه‬‫فشرده‬ ‫برای‬ ‫پیشرفته‬ ‫و‬ ‫متعدد‬ ‫هایی‬‫فشرده‬ .‫دارد‬ ‫وجود‬ ‫سازی‬‫تبعیت‬ ‫مهم‬ ‫اصل‬ ‫این‬ ‫از‬ ‫تصویر‬ ‫سازی‬
‫می‬‫نمی‬ ‫را‬ ‫آنها‬ ‫تمایز‬ ‫و‬ ‫دیده‬ ‫یکسان‬ ‫را‬ ‫هم‬ ‫به‬ ‫نزدیک‬ ‫تصویری‬ ‫عنصر‬ ‫دو‬ ‫فاصل‬ ‫حد‬ ‫انسان‬ ‫چشم‬ ‫که‬ ‫کند‬‫تواند‬
‫اث‬ ‫همچنین‬ .‫دهد‬ ‫تشخیص‬‫نمی‬ ‫بین‬ ‫از‬ ‫و‬ ‫مانده‬ ‫باقی‬ ‫چشم‬ ‫در‬ ‫معینی‬ ‫زمان‬ ‫مدت‬ ‫برای‬ ‫تصویر‬ ‫و‬ ‫نور‬ ‫ر‬‫این‬ ‫که‬ ‫رود‬
‫ساخت‬ ‫در‬ ‫ویﮋگی‬‫متحرک‬ ‫تصاویر‬‫بوده‬‫توجه‬ ‫مورد‬.‫است‬
:‫از‬ ‫عبارتند‬‫ها‬ ‫روش‬ ‫این‬ ‫جمله‬ ‫،از‬ ‫شود‬ ‫می‬ ‫انجام‬ ‫مختلفی‬ ‫روشهای‬ ‫به‬‫تصاویر‬ ‫سازی‬ ‫فشرده‬
2-10-1-‫روش‬JPEG
‫کلمات‬ ‫مخفف‬ ‫واقع‬ ‫در‬ ‫فرمت‬ ‫این‬ ‫نام‬JOINT PHOTOGRAPHIC EXPERT GROUP‫روش‬ ‫این‬ ‫از‬ .‫است‬
‫فشرده‬ ‫در‬‫می‬ ‫استفاده‬ ‫ساکن‬ ‫گرافیکی‬ ‫تصاویر‬ ‫و‬ ‫عکس‬ ‫سازی‬.‫شود‬JPEG‫ساده‬ ‫و‬ ‫اولین‬‫فشرده‬ ‫در‬ ‫روش‬ ‫ترین‬‫سازی‬
‫فشرده‬ ‫برای‬ ‫شد‬ ‫سعی‬ ‫ابتدا‬ ‫در‬ ‫است‬ ‫تصویر‬‫تصاویر‬ ‫منظور‬ ‫این‬ ‫برای‬.‫گیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫متحرک‬ ‫تصاویر‬ ‫سازی‬
‫می‬ ‫فشرده‬ ‫عکس‬ ‫مانند‬ ‫فریم‬ ‫به‬ ‫فریم‬ ‫صورت‬ ‫به‬‫شد‬‫روش‬ ‫ابداع‬ ‫با‬ ‫و‬ ‫ند‬MOTION JPEG‫این‬ ‫دادن‬ ‫ارتباط‬ ‫برای‬
‫عکس‬.‫بود‬ ‫همراه‬ ‫مشکالتی‬ ‫با‬‫که‬ ‫شد‬ ‫تالش‬ ‫هم‬ ‫به‬ ‫ها‬
2-10-2-‫روش‬MPEG
‫عبارت‬ ‫مخفف‬ ‫فرمت‬ ‫این‬ ‫نام‬MOVING PICTURE EXPERT GROUP‫سال‬ ‫ابتدای‬ ‫در‬ ‫روش‬ ‫این‬ .‫است‬90
‫حدود‬ ‫سرعت‬ ‫با‬ ‫تصویر‬ ‫اطالعات‬ ‫آن‬ ‫در‬ ‫و‬ ‫شد‬ ‫ابداع‬5/1‫ثا‬ ‫بر‬ ‫مگابیت‬‫می‬ ‫پیدا‬ ‫انتقال‬ ‫نیه‬‫تصاویر‬ ‫تهیه‬ ‫در‬ ‫و‬ ‫کرد‬
‫می‬ ‫استفاده‬ ‫ویدئویی‬‫حدود‬ ‫ﺫخیره‬ ‫امکان‬ ‫روش‬ ‫این‬ .‫شد‬650‫حدود‬ ‫معادل‬ ‫اطالعات‬ ‫مگابایت‬70‫تصویر‬ ‫دقیقه‬
‫در‬ .‫آورد‬ ‫وجود‬ ‫به‬ ‫را‬ ‫دیسک‬ ‫یک‬ ‫در‬ ‫متحرک‬MPEG‫بیت‬‫صورت‬ ‫به‬ ‫اطالعات‬ ‫های‬‫سریال‬‫می‬ ‫ارسال‬‫به‬ ‫و‬ ‫شوند‬
‫بیت‬ ‫آنها‬ ‫همراه‬‫هماهنﮓ‬ ‫و‬ ‫کنترل‬ ‫های‬‫می‬ ‫ارسال‬ ‫نیز‬ ‫کننده‬‫بیت‬ ‫قرارگیری‬ ‫نحوه‬ ‫و‬ ‫موقعیت‬ ‫که‬ ‫شوند‬‫اطالعاتی‬ ‫های‬
‫می‬‫تعیین‬ ‫تصویر‬ ‫و‬ ‫صدا‬ ‫اطالعات‬ ‫ثبت‬ ‫و‬ ‫انتقال‬ ‫برای‬ ‫را‬.‫کند‬
2-10-3-‫روش‬MPEG2
‫فشرده‬ ‫ضریﺐ‬ ‫از‬ ‫روش‬ ‫این‬ ‫در‬‫می‬ ‫استفاده‬ ‫باالتری‬ ‫سازی‬‫اطالعات‬ ‫به‬‫دسترسی‬ ‫امکان‬ ‫و‬ ‫شود‬3‫تا‬15‫بر‬ ‫مگابیت‬
‫ثانیه‬‫در‬ ‫روش‬ ‫این‬ ‫از‬ .‫است‬‫دی‬‫وی‬‫دی‬‫های‬‫امروزی‬‫می‬ ‫استفاده‬.‫شود‬
‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬
17
2-10-4-‫روش‬MPEG4
‫می‬ ‫استفاده‬ ‫دارند‬ ‫کار‬ ‫سرو‬ ‫اطالعات‬ ‫کند‬ ‫یا‬ ‫سریع‬ ‫انتقال‬ ‫با‬ ‫که‬ ‫تجهیزاتی‬ ‫برای‬ ‫روش‬ ‫این‬ ‫از‬‫توانایی‬ ‫روش‬ ‫این‬ .‫شود‬
‫شبکه‬ ‫در‬ .‫دارد‬ ‫را‬ ‫باال‬ ‫کیفیت‬ ‫با‬ ‫تصویر‬ ‫ارائه‬ ‫و‬ ‫خطا‬ ‫جبران‬‫از‬ ‫که‬ ‫کاربرانی‬ ‫برای‬ ‫تصویر‬ ‫باید‬ ‫کامپیوتری‬ ‫های‬
‫مودم‬‫های‬‫می‬ ‫استفاده‬ ‫کند‬ ‫یا‬ ‫سریع‬‫روش‬ ‫حالتی‬ ‫چنین‬ ‫در‬ ،‫شود‬ ‫داده‬ ‫نمایش‬ ‫خوبی‬ ‫به‬ ‫کنند‬MPEG4.‫است‬ ‫مناسﺐ‬
‫دوربین‬ ‫در‬ ‫روش‬ ‫این‬ ‫از‬‫می‬ ‫استفاده‬ ‫نیز‬ ‫تلویزیونی‬ ‫های‬‫یک‬ ‫تقسیم‬ ‫روش‬ ‫این‬ ‫اصلی‬ ‫ایده‬ .‫شود‬‫یک‬ ‫به‬ ‫ویدئویی‬ ‫فریم‬
‫می‬ ‫قرار‬ ‫هم‬ ‫کنار‬ ‫خاصی‬ ‫قاعده‬ ‫مطابق‬ ‫که‬ ‫است‬ ‫موضوع‬ ‫چند‬ ‫یا‬‫و‬ ‫مجزا‬ ‫صورت‬ ‫به‬ ‫اجزا‬ ‫این‬ ‫از‬ ‫کدام‬ ‫هر‬ .‫گیرند‬
‫قابل‬ ‫جداگانه‬‫کپی‬.‫هستند‬ ‫انتقال‬ ‫یا‬ ‫و‬
2-11-‫تصویر‬ ‫پردازش‬ ‫ﮐاربرد‬
‫پنج‬‫و‬ ‫صنعتی‬ ‫کنترل‬ ، ‫پزشکی‬ ‫مهندسی‬ ، ‫دفاعی‬ ‫های‬ ‫سیستم‬ ، ‫رباتیک‬ ‫توان‬ ‫می‬ ‫را‬ ‫تصویر‬ ‫پردازش‬ ‫عمده‬ ‫کاربرد‬
‫تشخیص‬ ‫و‬ ‫ربات‬ ‫هدایت‬ ‫برای‬ ‫تصویر‬ ‫پردازش‬ ‫از‬ ‫معموال‬ ‫رباتیک‬ ‫های‬ ‫سیستم‬ ‫در‬ .‫کرد‬ ‫عنوان‬ ‫کامپیوتری‬ ‫گرافیک‬
‫یک‬ ‫رهگیری‬ ‫یا‬ ‫و‬ ‫هدﻑ‬ ‫یافتن‬ ‫برای‬ ‫دفاعی‬ ‫های‬ ‫سیستم‬ ‫در‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫اشیا‬‫تصویر‬ ‫پردازش‬ ‫متحرک‬ ‫هدﻑ‬
‫نرم‬ ‫معروفترین‬ ‫از‬ ‫یکی‬ ‫نیز‬ ‫گرافیکی‬ ‫کاربردهای‬ ‫مورد‬ ‫در‬ .‫باشد‬ ‫می‬ ‫موجود‬ ‫های‬ ‫روش‬ ‫اعتمادترین‬ ‫قابل‬ ‫از‬ ‫یکی‬
‫باشد‬ ‫می‬ ‫فتوشاپ‬ ‫تصویر‬ ‫پردازش‬ ‫بر‬ ‫مبتنی‬ ‫افزارهای‬.‫تصاویر‬ ‫پردازش‬ ‫کاربرد‬ ‫ترین‬ ‫رایج‬ ‫نیز‬ ‫بیماری‬ ‫نوع‬ ‫تشخیص‬
‫تو‬ ‫خطوط‬ ‫امروزه‬ ، ‫نهایت‬ ‫در‬ .‫است‬ ‫پزشکی‬‫کنترل‬ ‫همچنین‬ ‫و‬ ‫شده‬ ‫تولید‬ ‫محصوالت‬ ‫کیفیت‬ ‫کنترل‬ ‫برای‬ ‫صنعتی‬ ‫لید‬
.‫اند‬ ‫جسته‬ ‫بهره‬ ‫تصویر‬ ‫پردازش‬ ‫بر‬ ‫مبتنی‬ ‫های‬ ‫سیستم‬ ‫از‬ ‫تولید‬ ‫خط‬ ‫حرکات‬‫در‬ ‫همچنین‬ ‫تصویر‬ ‫پردازش‬‫های‬ ‫زمینه‬
‫مختلف‬‫که‬ ‫دارد‬ ‫فراوانی‬ ‫کاربردهای‬ ‫نیز‬ ‫دیگری‬،‫نوردی‬ ‫فضا‬ ‫و‬ ‫نجوم‬ ،‫کشاورزی‬ ،‫شهرسازی‬ ،‫هواشناسی‬ ‫از‬ ‫عبارتند‬
‫شناسی‬ ‫زمین‬ ‫و‬ ‫روانشناسی‬ ،‫اقتصاد‬ ،‫سینما‬ ،‫تبلیﻐات‬ ،‫شناسی‬ ‫باستان‬ ،‫علمی‬ ‫های‬ ‫فناوری‬.
‫پردازش‬‫تصویر‬‫در‬‫افزایش‬‫سرعت‬‫پیشرفت‬‫ها‬‫ی‬‫علمی‬‫نیز‬‫تﺄثیر‬‫فوق‬‫العاده‬‫داشته‬‫است‬.‫اولین‬‫و‬‫مشخص‬‫ترین‬‫تﺄثیر‬
‫آن‬‫را‬‫می‬‫توان‬‫در‬‫علم‬‫عکاسی‬‫یا‬‫هنر‬‫دید‬.‫این‬‫علم‬‫در‬‫پیشرفت‬‫علوم‬‫پایه‬‫فیزیک‬،‫شیمی‬‫و‬‫مخصوصا‬‫تحقیقات‬
‫فیزیکی‬‫و‬‫کمک‬ ‫مکانیکی‬‫فراوانی‬‫کرده‬.‫است‬
‫سوم‬ ‫فصل‬-‫پذیر‬ ‫برﻧامه‬ ‫منطقی‬ ‫های‬ ‫ﺁرایه‬FPGA
‫الکترونیک‬ ‫صنعت‬ ‫در‬FPGA‫نوع‬ ‫از‬ ( ‫مجتمع‬ ‫هادی‬ ‫نیمه‬ ‫سیلیکونی‬ ‫های‬ ‫تراشه‬ ‫از‬ ‫خاصی‬ ‫نوع‬ ‫به‬VLSI‫می‬ ‫)گفته‬
‫دارای‬ ،‫هستند‬ ‫خود‬ ‫روی‬ ‫بر‬ ‫ثابت‬ ‫الکترونیکی‬ ‫شبکه‬ ‫یک‬ ‫دارای‬ ‫که‬ ‫سیلیکونی‬ ‫های‬ ‫تراشه‬ ‫دیگر‬ ‫برخالﻑ‬ ‫که‬ ‫شود‬
‫نمی‬ ‫تشکیل‬ ‫را‬ ‫الکترونیکی‬ ‫مدار‬ ‫هیچ‬ ‫اولیه‬ ‫حالت‬ ‫در‬ ‫که‬ ‫هستند‬ ‫الکترونیکی‬ ‫های‬ ‫المان‬ ‫از‬ )‫(ماتریس‬ ‫مجموعه‬ ‫یک‬
‫واقع‬ ‫در‬ .‫دهند‬FPGA‫ها‬ ‫تراشه‬ ‫از‬ ‫خاصی‬ ‫دسته‬ ‫به‬ ‫متعلق‬ ‫ها‬‫برنامه‬ ‫قابل‬ ‫های‬ ‫تراشه‬ ‫آنها‬ ‫به‬ ‫مجموع‬ ‫در‬ ‫که‬ ‫باشند‬ ‫می‬
( ‫ریزی‬Programmable Array( ‫میدانی‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫ابزارهای‬ ‫افتاده‬ ‫جا‬ ‫کامال‬ ‫اصطالح‬ ‫در‬ ‫یا‬ )Field-
Programmable Array – FPD‫بعد‬‫مشتری‬ ‫یا‬ ‫طراح‬ ‫توسط‬ ‫پیکربندی‬ ‫امکان‬ ‫نامگذاری‬‫این‬ ‫دلیل‬ ،‫شود‬ ‫می‬ ‫گفته‬ )
‫ان‬ ‫تولید‬ ‫از‬.‫باشد‬ ‫می‬ ‫بوه‬‫بودن‬ ‫پذیر‬ ‫برنامه‬ ‫بار‬ ‫چند‬ ‫طبیعت‬FPGA‫مناسﺐ‬ ‫آموزشی‬ ‫های‬ ‫استفاده‬ ‫برای‬ ‫را‬ ‫آنها‬ ‫ها‬
‫همچنین‬ .‫سازند‬ ‫بهینه‬ ‫و‬ ‫تصحیﺢ‬ ‫را‬ ‫خود‬ ‫پردازنده‬ ‫طراحی‬ ‫تواند‬ ‫می‬ ‫کاربر‬ ‫آنها‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫چون‬ ‫است‬ ‫کرده‬FPGA
‫ها‬ ‫تکنولوژی‬ ‫ساله‬ ‫هر‬ ‫چون‬ ‫باشد‬ ‫می‬ ‫مناسﺐ‬ ‫نیز‬ ‫دانشگاهی‬ ‫جامعه‬ ‫برای‬ ‫ها‬‫می‬ ‫تولید‬ ‫تر‬ ‫مناسﺐ‬ ‫قیمت‬ ‫با‬ ‫جدیدتر‬ ‫ی‬
.‫شود‬
FPGA‫زمینه‬ ‫در‬ ‫و‬ ‫شده‬ ‫صنعت‬ ‫وارد‬ ‫اخیر‬ ‫سالهای‬ ‫در‬ ‫که‬ ‫تکنولوژیهاییست‬ ‫از‬ ‫یکی‬‫الکترونیک‬‫بسیار‬ ‫دیجیتال‬
‫از‬ ‫بسیاری‬ ‫در‬ ‫امروز‬ ‫و‬ ‫شده‬ ‫ظاهر‬ ‫خوب‬‫پروژه‬‫خصوصا‬ ‫صنعتی‬ ‫مهم‬ ‫های‬"‫پروژه‬.‫گردد‬ ‫می‬ ‫استفاده‬ ‫مخابراتی‬ ‫های‬
‫از‬ ‫بخشی‬ ، ‫صدا‬ ‫و‬ ‫تصویر‬ ‫پروسسور‬ ، ‫کنترلر‬ ‫میکرو‬ ‫مانند‬ ‫تری‬ ‫پیچیده‬ ‫مدارات‬ ‫میتوان‬ ‫مجتمع‬ ‫مدار‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬
‫مدار‬ ‫گیرنده‬. ‫کرد‬ ‫طراحی‬ ‫کم‬ ‫نسبی‬‫قیمت‬ ‫با‬‫را‬ ... ‫و‬ ‫مخابراتی‬ ‫ات‬
‫در‬ ‫منطقی‬ ‫توابع‬ ‫اجرای‬ ‫سرعت‬FPGA‫بخواهیم‬ ‫اگر‬ . ‫است‬ ‫ثانیه‬ ‫نانو‬ ‫حد‬ ‫در‬ ‫و‬ ‫باال‬ ‫بسیار‬ ‫ها‬FPGA‫طور‬ ‫به‬ ‫را‬ ‫ها‬
‫منطقی‬ ‫بلوک‬ ‫باالیی‬ ‫تعداد‬ ‫از‬ ‫که‬ ‫تراشه‬ ‫یک‬ ‫از‬ ‫است‬ ‫عبارت‬ ، ‫کنیم‬ ‫تشریﺢ‬ ‫ساده‬- LB (Logic Block)‫خطوط‬ ،
‫پ‬ ‫و‬ ‫ارتباطی‬‫خروجی‬ / ‫ورودی‬ ‫های‬ ‫ایه‬(IOB)‫قرار‬ ‫یکدیگر‬ ‫کنار‬ ‫در‬ ‫ای‬ ‫آرایه‬ ‫صورت‬ ‫به‬ ‫که‬ ‫است‬ ‫شده‬ ‫تشکیل‬
‫تشکیل‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫های‬ ‫سوئیچ‬ ‫از‬ ‫است‬ ‫منطقی‬ ‫های‬ ‫بلوک‬ ‫بین‬ ‫ارتباط‬ ‫آنها‬ ‫وظیفه‬ ‫که‬ ‫ارتباطی‬ ‫خطوط‬ . ‫دارند‬
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
19
‫برنام‬ ‫قابل‬ ‫یکبار‬ ‫تنها‬ ‫برخی‬ ، ‫دارند‬ ‫که‬ ‫نوعی‬ ‫به‬ ‫بسته‬ ‫ها‬ ‫سوئیچ‬ ‫این‬ . ‫اند‬ ‫شده‬‫دفعات‬ ‫تعداد‬ ‫به‬ ‫برخی‬ ‫و‬ ‫هستند‬ ‫ریزی‬ ‫ه‬
‫شوند‬ ‫می‬ ‫ریزی‬ ‫برنامه‬ ‫زیادی‬.
‫نوع‬ ‫به‬ ‫و‬ ‫است‬ ‫متفاوت‬ ‫منطقی‬ ‫بلوک‬ ‫هر‬ ‫های‬ ‫ورودی‬ ‫تعداد‬FPGA‫های‬ ‫بلوک‬ ‫مثال‬ ‫عنوان‬ ‫به‬ . ‫شود‬ ‫می‬ ‫مربوط‬
‫خانواده‬ ‫در‬ ‫منطقی‬‫ی‬ACT-1‫نوع‬ ‫از‬ ،8‫منطقی‬ ‫های‬ ‫سلول‬ ، ‫منطقی‬ ‫های‬ ‫بلوک‬ ‫به‬ ‫موارد‬ ‫برخی‬ ‫در‬ . ‫است‬ ‫ورودی‬
‫شود‬ ‫می‬ ‫گفته‬ ‫نیز‬.
‫جداول‬ ‫اساﺱ‬ ‫بر‬ ‫منطقی‬ ‫های‬ ‫سلول‬ ‫از‬ ‫بسیاری‬LUT‫شوند‬ ‫می‬ ‫ساخته‬LUT.‫حافظه‬ ‫سلولهای‬ ‫تعدادی‬ ‫از‬SRAM
‫ریزی‬ ‫برنامه‬ ‫هنگام‬ ‫در‬ ‫که‬ ‫شود‬ ‫می‬ ‫تشکیل‬FPGA‫شوند‬ ‫می‬ ‫دهی‬ ‫مقدار‬ ،.
‫کلی‬ ‫طور‬ ‫به‬‫پیکربندی‬FPGA.‫پذیرد‬ ‫می‬ ‫انجام‬ ‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫زبان‬ ‫توسط‬
‫(نظیر‬ ‫میکروکنترلرهایی‬ ‫با‬ ‫فرد‬ ‫که‬ ‫صورتی‬ ‫در‬AVR ,ARM.‫بود‬ ‫خواهد‬ ‫آسان‬ ‫قسمت‬ ‫این‬ ‫درک‬ ،‫باشد‬ ‫آشنا‬ )
.‫باشد‬ ‫می‬ ‫پردازش‬ ‫قدرت‬ ‫و‬ ‫خروجی‬ ،‫ورودی‬ ‫دارای‬ ‫که‬ ‫است‬ ‫منظوره‬ ‫همه‬ ‫پردازنده‬ ‫یک‬ ‫میکروکنترلر‬‫میکرو‬
‫دارای‬ ‫ها‬ ‫کنترلر‬‫باش‬ ‫می‬ ‫خاصی‬ ‫کامپایلرهای‬‫ن‬‫های‬ ‫زبان‬ ‫با‬ ‫که‬ ‫د‬Assembly،basic c‫برنامه‬ ‫آنها‬ ‫برای‬ ‫توان‬ ‫می‬
‫نام‬ ‫به‬ ‫دستگاهی‬ ‫توسط‬ ‫را‬ ‫شده‬ ‫نوشته‬ ‫برنامه‬ ‫سپس‬ ‫نوشت‬programmer‫به‬‫سی‬ ‫آی‬ ‫روی‬‫انتقال‬‫و‬ ‫دهند‬ ‫می‬‫در‬
Rom‫می‬ ‫ﺫخیره‬‫شود‬.‫را‬ ‫میکرو‬ ‫روی‬ ‫برنامه‬ ‫ریختن‬Programming‫میکروکنترلرها‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬ .‫گویند‬ ‫می‬
‫به‬ ‫را‬ ‫خود‬ ‫برنامه‬ ‫باید‬ ‫که‬ ‫است‬ ‫نهایی‬ ‫کاربر‬ ‫بلکه‬ ‫دهند‬ ‫نمی‬ ‫انجام‬ ‫پردازشی‬ ‫و‬ ‫ندارند‬ ‫ای‬ ‫برنامه‬ ‫خریداری‬ ‫هنگام‬ ‫در‬
‫را‬ ‫آن‬ ‫و‬ ‫بنویسد‬‫میکروکنترلر‬ ‫آن‬ ‫برای‬ ‫قبولی‬ ‫قابل‬ ‫زبان‬Program.‫کند‬
‫های‬ ‫تراشه‬ ‫در‬ ‫روند‬ ‫این‬FPGA.‫افتد‬ ‫می‬ ‫اتفاق‬ ‫نیز‬‫های‬ ‫تراشه‬ ‫در‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬FPGA‫به‬ ‫توانند‬ ‫می‬ ‫خود‬ ‫(که‬
‫به‬‫را‬ ‫منطقی‬ ‫واحدهای‬ ‫کدام‬ ‫تراشه‬ ‫که‬ ‫کند‬ ‫مشخص‬ ‫باید‬ ‫بلکه‬ ‫ندارد‬ ‫اجرا‬ ‫به‬ ‫نیازی‬ ‫کد‬ )‫شوند‬ ‫تبدیل‬ ‫هم‬ ‫میکرو‬ ‫یک‬
‫را‬ ‫خواهیم‬ ‫می‬ ‫ما‬ ‫که‬ ‫افزاری‬ ‫سخت‬ ‫نوعی‬ ‫به‬ ‫باید‬ ‫کلی‬ ‫طور‬ ‫به‬ ‫غیره‬ ‫و‬ ‫کند‬ ‫کوتاه‬ ‫اتصال‬ ‫را‬ ‫کدام‬ ،‫کند‬ ‫وصل‬ ‫هم‬
‫توص‬.‫کند‬ ‫یف‬
‫کند‬ ‫می‬ ‫توصیف‬ ‫را‬ ‫افزار‬ ‫سخت‬ ‫که‬ ‫کد‬ ‫این‬"‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫کد‬"(Hardware Description Code‫نام‬ )
‫مینویسند‬ ‫آن‬ ‫قواعد‬ ‫و‬ ‫سینتاکس‬ ‫روی‬ ‫از‬ ‫را‬ ‫کد‬ ‫این‬ ‫که‬ ‫زبانی‬ . ‫دارد‬"‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫زبان‬"(Hardware
Description Language‫هایی‬ ‫زبان‬ ‫کد‬ ‫با‬ ‫کد‬ ‫نوع‬ ‫این‬ .‫شود‬ ‫می‬ ‫)نامیده‬‫مثل‬C‫زبان‬ ‫کد‬ ‫زیرا‬ ، ‫دارد‬ ‫تفاوت‬C‫یک‬
‫یک‬ ‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫کد‬ ‫اما‬ ‫است‬ ‫پردازنده‬ ‫روی‬ ‫بر‬ ‫اجرا‬ ‫قابل‬ ‫پی‬ ‫در‬ ‫پی‬ ‫دستورات‬ ‫مجموعه‬ ‫و‬ ‫افزاری‬ ‫نرم‬ ‫روند‬
‫مثل‬ ‫میدانی‬ ‫خام‬ ‫تراشه‬FPGA.‫کند‬ ‫می‬ ‫کاربردی‬ ‫افزار‬ ‫سخت‬ ‫یک‬ ‫به‬‫تبدیل‬ ‫را‬
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
20
‫جمله‬ ‫از‬ ‫زیادی‬ ‫های‬ ‫نمونه‬ ‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫های‬ ‫زبان‬Abel, Verilog,VHDL‫آنها‬ ‫مشهورترین‬ ‫که‬ ‫دارد‬
VHDL,Verilog‫نویسی‬ ‫برنامه‬ ‫یکپارچه‬ ‫های‬ ‫محیط‬ ‫ها‬ ‫زبان‬ ‫این‬ ‫از‬ ‫هرکدام‬ ‫برای‬ .‫باشد‬ ‫می‬IDE‫مثل‬Modelsim
‫و‬Quartus‫قالﺐ‬ ‫کد‬ ‫به‬ ‫شده‬ ‫نوشته‬ ‫برنامه‬ ‫تبدیل‬ ‫و‬ ‫کامپایل‬ ،‫ویرایش‬ ،‫نوشتن‬ ‫برای‬ ‫ابزارها‬ ‫تمامی‬ ‫که‬ ‫دارند‬ ‫وجود‬
‫ر‬ ‫تراشه‬ ‫روی‬ ‫انتقال‬.‫کند‬ ‫می‬ ‫فراهم‬ ‫یکجا‬ ‫ا‬
3-1-‫تاریخچه‬
‫صنعت‬FPGA‫های‬ ‫تراشه‬ ‫توسط‬ ‫ابتدا‬ ‫در‬(PROM)Programmable read-only memory‫و‬Programmable
Logic deevices(PLDs).‫گرفت‬ ‫شکل‬ ‫ها‬PROM‫و‬ ‫ها‬PLD‫ها‬‫در‬ ‫ای‬ ‫دسته‬ ‫طور‬ ‫به‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬ ‫دو‬ ‫هر‬
.‫داشتند‬ ‫را‬ ‫کارخانه‬
‫دهه‬ ‫اواخر‬ ‫در‬1980‫توسط‬ ‫تحقیق‬ ‫برای‬ ‫را‬ ‫ای‬ ‫بودجه‬ ‫دریایی‬ ‫نیروی‬ ‫جنﮓ‬ ‫دپارتمان‬Steve Casselman‫برای‬
‫بتواند‬ ‫که‬ ‫کامپیوتری‬ ‫ساخت‬600000.‫داد‬ ‫تخصیص‬ ،‫کند‬ ‫سازی‬ ‫پیاده‬ ‫را‬ ‫پذیر‬ ‫برنامه‬ ‫گیت‬Caselman‫و‬ ‫شد‬ ‫موفق‬
‫سال‬ ‫در‬1992.‫نمود‬‫ثبت‬ ‫را‬ ‫اختراع‬ ‫این‬
‫تکنولو‬ ‫و‬ ‫بنیادی‬ ‫مفاهیم‬ ‫از‬ ‫برخی‬‫توسط‬ ‫پذیر‬ ‫برنامه‬ ‫منطقی‬ ‫های‬ ‫بلوک‬ ‫و‬ ‫ها‬ ‫گیت‬ ،‫ها‬ ‫آرایه‬ ‫برای‬ ‫صنعتی‬ ‫های‬ ‫ژی‬
David W.Page‫و‬LuVerne R.Paterson‫سال‬ ‫در‬1985.‫بودند‬ ‫شده‬ ‫ثبت‬
Ross Freeman‫و‬Bernard Vonderscmitt‫موسسان‬Xilinx‫نام‬‫به‬ ‫تجاری‬ ‫پذیر‬ ‫برنامه‬ ‫گیت‬ ‫آرایه‬ ‫بار‬ ‫اولین‬ ‫برای‬
XC2064‫سال‬ ‫در‬ ‫را‬1985‫اخت‬.‫نمودند‬ ‫راع‬XC2064‫ها‬ ‫گیت‬ ‫میان‬ ‫پذیر‬ ‫برنامه‬ ‫اتصاالت‬ ‫و‬ ‫پذیر‬ ‫برنامه‬ ‫های‬ ‫گیت‬
.‫بود‬ ‫جدیدی‬ ‫بازار‬ ‫و‬ ‫تکنولوژی‬ ‫یک‬ ‫شروع‬ ‫که‬ ،‫داشت‬ ‫را‬XC2064‫دارای‬64‫پیکربندی‬ ‫قابل‬ ‫منطقی‬ ‫بلوک‬
(CLB‫مراجعه‬ ‫جدول‬ ‫دو‬ ، )3.‫بود‬ ‫ورودی‬
‫دهه‬1990‫زمانی‬ ‫دوره‬ ‫مهمترین‬FPGA‫تو‬ ‫حجم‬ ‫لحاظ‬ ‫از‬ ‫هم‬ ،‫بود‬ ‫ها‬‫دهه‬ ‫ابتدای‬ ‫در‬ .‫آن‬ ‫رساندن‬ ‫کمال‬ ‫به‬ ‫هم‬ ‫و‬ ‫لید‬
1990‫از‬FPGA‫دهه‬ ‫این‬ ‫اواخر‬ ‫در‬ .‫شد‬ ‫می‬ ‫استفاده‬ ‫ارتباطات‬ ‫و‬ ‫سازی‬ ‫شبکه‬ ‫مصارﻑ‬ ‫برای‬ ‫ها‬FPGA‫خود‬ ‫راه‬ ‫ها‬
.‫نمودند‬ ‫باز‬ ‫صنعتی‬ ‫مصارﻑ‬ ‫برای‬ ‫را‬
‫از‬ ‫استفاده‬ ‫در‬ ‫جدیدی‬ ‫گرایش‬FPGA‫ها‬‫اتصاالت‬ ‫و‬ ‫منطقی‬ ‫های‬ ‫بلوک‬ ‫ترکیﺐ‬ ‫هم‬ ‫آن‬ ‫که‬ ‫است‬ ‫آمده‬ ‫وجود‬ ‫به‬
‫یک‬FPGA‫یک‬ ‫دادن‬ ‫شکل‬ ‫برای‬ ‫توکار‬ ‫میکروپروسسور‬ ‫یک‬ ‫با‬ ‫سنتی‬system on programmable chip‫کامل‬
‫به‬ ‫توان‬ ‫می‬ ‫مخلوط‬ ‫تکنولوژی‬ ‫این‬ ‫از‬ ‫مثال‬ ‫بعنوان‬ .‫باشد‬ ‫می‬SoC‫پذیر‬ ‫برنامه‬7000-TM
Zynq‫شرکت‬Xilinx‫که‬
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
21
‫پروسس‬ ‫یک‬ ‫شامل‬‫ور‬1.0 GHz dual-core ARM Cortex-A9‫شده‬ ‫ساخته‬ ‫منطق‬ ‫در‬ ‫توکار‬FPGA‫نمونه‬‫یا‬ ‫و‬ ‫بود‬
‫شرکت‬Altera‫نام‬ ‫به‬Arria V FPGA.‫کرد‬ ‫اشاره‬
‫سال‬ ‫در‬2010‫شرکت‬Xilinx‫اولین‬SoC‫تجاری‬ ‫برند‬ ‫با‬ ‫را‬ ‫پذیر‬ ‫برنامه‬ ‫کامال‬7000-TM
Zynq‫تمامی‬ ‫شامل‬ ‫که‬ ‫را‬
‫میکروکنترلر‬ ‫یک‬ ‫های‬ ‫ویﮋگی‬ARM‫محصول‬ ‫روی‬ ‫بر‬ ‫را‬ ‫است‬FPGA‫طراحان‬ ‫تا‬ ‫نمود‬ ‫معرفی‬embedded‫به‬
‫پروسسوری‬ ‫بستر‬ ‫همکاری‬ ‫با‬ .‫نمایند‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫بتوانند‬ ‫راحتی‬ARM‫خانواده‬ ‫روی‬ ‫بر‬FPGA28،‫نانومتری‬
‫افزارهای‬ ‫نرم‬ ‫دهندگان‬ ‫توسعه‬ ‫و‬ ‫سیستم‬ ‫معماران‬embedded‫برای‬ ‫را‬ ‫سریال‬ ‫و‬ ‫موازی‬ ‫پردازش‬ ‫از‬ ‫ترکیبی‬ ‫توانستند‬
‫از‬ ‫استفاده‬ .‫داد‬ ‫افزایش‬ ‫را‬ ‫نوع‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫پیچیدگی‬ ‫تدریج‬ ‫به‬ ‫که‬ ،‫ببرند‬ ‫بکار‬ ‫خود‬ ‫های‬ ‫سیستم‬ ‫طراحی‬FPGA‫با‬
‫تراشه‬ ‫یک‬CPU‫از‬ ،‫انجامد‬ ‫می‬ ‫بیشتر‬ ‫اطمینان‬ ‫قابلیت‬ ‫و‬ ‫کوچکتر‬ ‫های‬ ‫سیستم‬ ،‫قطعات‬ ‫هزینه‬ ‫کاهش‬ ‫به‬ ‫مجزا‬
‫خرا‬ ‫از‬ ‫ناشی‬ ‫مدرن‬ ‫الکترونیکی‬ ‫مدارات‬ ‫مشکالت‬ ‫بیشتر‬ ‫که‬ ‫آنجایی‬‫روی‬ ‫بر‬ ‫ها‬ ‫تراشه‬ ‫اتصاالت‬ ‫بی‬PCB‫باشد‬ ‫می‬ ‫ها‬
.‫ها‬ ‫تراشه‬ ‫خود‬ ‫تا‬
‫از‬ ‫بسیاری‬FPGA‫پردازش‬ ‫ایده‬ ‫شود‬ ‫می‬ ‫باعث‬ ‫که‬ ‫دارند‬ ‫را‬ ‫اجرا‬ ‫زمان‬ ‫در‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬ ‫امروزی‬ ‫های‬
‫مثال‬ .‫آورد‬ ‫می‬ ‫وجود‬ ‫به‬ ‫را‬ ‫پیکربندی‬ ‫قابل‬ ‫های‬ ‫سیستم‬ ‫یا‬ ‫شونده‬ ‫پیکربندی‬CPU‫هایی‬‫را‬ ‫خود‬ ‫اجرا‬ ‫زمان‬ ‫در‬ ‫که‬
‫پیکرب‬.‫شوند‬ ‫تر‬ ‫مناسﺐ‬ ‫وظیفه‬ ‫یک‬ ‫انجام‬ ‫برای‬‫تا‬ ‫کنند‬ ‫می‬ ‫ندی‬
3-2-‫ﮐلی‬ ‫ساﺧﺘار‬FPGA
FPGA‫دارای‬ ‫همچنین‬ ‫است‬ ‫شده‬ ‫تشکیل‬ ‫اند‬ ‫نشده‬ ‫محدود‬ ‫خاصی‬ ‫کار‬ ‫برای‬ ‫که‬ ‫منطقی‬ ‫عناصر‬ ‫سری‬ ‫یک‬ ‫از‬
.‫است‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫اتصاالت‬‫و‬ ‫منطقی‬ ‫بلوکهای‬ ‫یعنی‬ ‫مدار‬ ‫یک‬ ‫دهنده‬ ‫تشکیل‬ ‫اصلی‬ ‫جزء‬ ‫دو‬ ‫هر‬ ‫بنابراین‬
.‫است‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫آنها‬ ‫بین‬ ‫اتصاالت‬ ‫همچنین‬
‫شکل‬3-1-‫ﮐلی‬ ‫ساﺧﺘار‬FPGA
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
22
‫اصلی‬ ‫معماری‬ ‫است‬ ‫شده‬ ‫داده‬ ‫نشان‬ ‫باال‬ ‫شکل‬ ‫در‬ ‫که‬ ‫همانطور‬FPGA‫عبارتند‬ ‫که‬ ‫باشد‬ ‫می‬ ‫اصلی‬ ‫جزء‬ ‫سه‬ ‫دارای‬
:‫از‬
1.(‫پذیر‬ ‫برنامه‬ ‫منطقی‬ ‫های‬ ‫بلوک‬Logic Blocks)
2.‫پذیر‬ ‫برنامه‬ ‫اتصاالت‬
3.‫ورودی‬ ‫های‬ ‫بلوک‬-‫خروجی‬(I/O Blocks)
‫روی‬ ‫بر‬ ‫دسترﺱ‬ ‫در‬ ‫منابع‬ ‫میزان‬ ‫به‬ ‫باتوجه‬ ‫بایستی‬ ‫کار‬ ‫برای‬ ‫کاربردی‬ ‫مدار‬ ‫یک‬FPGA‫تعداد‬ .‫شود‬ ‫نگاشت‬LB‫ها‬
‫و‬I/O،‫هستند‬ ‫گیری‬ ‫اندازه‬ ‫قابل‬ ‫سادگی‬ ‫به‬ ‫طراحی‬ ‫در‬ ‫نیاز‬ ‫مورد‬ ‫های‬‫مورد‬ ‫های‬ ‫کانال‬ ‫و‬ ‫مسیرها‬ ‫تعداد‬ ‫که‬ ‫حالی‬ ‫در‬
.‫است‬ ‫متفاوت‬ ‫مشابه‬ ‫منطقی‬ ‫اعمال‬ ‫تعداد‬ ‫با‬ ‫هایی‬ ‫طراحی‬ ‫در‬ ‫حتی‬ ‫نیاز‬
3-2-1-‫پذیر‬ ‫برﻧامه‬ ‫منطقی‬ ‫های‬ ‫بلوک‬
‫کوچک‬ ‫خیلی‬ ‫است‬ ‫ممکن‬ ‫منطقی‬ ‫های‬ ‫بلوک‬‫(به‬‫ماکروسل‬ ‫یک‬ ‫ی‬ ‫اندازه‬)‫خیلی‬ ‫یا‬ ‫و‬‫بزرگتر‬‫باشند‬.‫و‬ ‫ساختار‬
‫گیت‬ ‫یک‬ ‫حد‬ ‫(در‬ ‫ساده‬ ‫خیلی‬ ‫تواند‬ ‫می‬ ‫منطقی‬ ‫بلوکهای‬ ‫محتویات‬NAND‫چند‬ ‫(نظیر‬ ‫پیچیده‬ ‫خیلی‬ ‫یا‬ ‫و‬ )MUX
‫یا‬Look-Up Table‫قسمتهای‬ ‫که‬ ‫هستند‬ ‫جایی‬ ‫حقیقت‬ ‫در‬ ‫منطقی‬ ‫بلوکهای‬ .‫باشد‬ ‫فالپ‬ ‫فلیپ‬ ‫یک‬ ‫همراه‬ ‫به‬ )
‫ق‬ ‫که‬ ‫مداری‬ ‫باید‬ ‫ابتدا‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬ .‫گیرند‬ ‫می‬ ‫قرار‬ ‫مدار‬ ‫اصلی‬‫رار‬‫روی‬ ‫است‬FPGA‫اجزای‬ ‫به‬ ‫بگیرد‬ ‫قرار‬
‫کردن‬ ‫متصل‬ ‫با‬ ‫توان‬ ‫می‬ ‫که‬ ‫است‬ ‫عمل‬ ‫این‬ ‫از‬ ‫بعد‬ ‫شودو‬ ‫تقسیم‬ ‫هستند‬ ‫منطقی‬ ‫بلوکهای‬ ‫محتویات‬ ‫همان‬ ‫که‬ ‫یکسانی‬
.‫آورد‬ ‫بدست‬ ‫را‬ ‫واقعی‬ ‫مدارهای‬ ‫هم‬ ‫به‬ ‫پایه‬ ‫بلوکهای‬
3-2-2-‫پذیر‬ ‫برﻧامه‬ ‫اتصاالت‬
‫معموال‬ ، ‫روند‬ ‫می‬ ‫بکار‬ ‫اتصاالت‬ ‫برای‬ ‫که‬ ‫عناصری‬"‫می‬ ‫که‬ ‫فلزی‬ ‫قطعات‬ ‫از‬ ‫و‬ ‫گیرند‬ ‫می‬ ‫قرار‬ ‫منطقی‬ ‫بلوکهای‬ ‫بین‬
‫قابل‬ ‫سوئیچهای‬ ‫از‬ ‫قطعات‬ ‫این‬ ‫کردن‬ ‫متصل‬ ‫برای‬ ،‫اند‬ ‫شده‬ ‫تشکیل‬ ‫شوند‬ ‫متصل‬ ‫منطقی‬ ‫بلوکهای‬ ‫به‬ ‫یا‬ ‫هم‬ ‫به‬ ‫توانند‬
‫طولهای‬ ‫توانند‬ ‫می‬ ‫قطعات‬ ‫این‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫ریزی‬ ‫برنامه‬‫برای‬ ‫خروجی‬ ‫ورودی‬ ‫بلوکهای‬ .‫باشند‬ ‫داشته‬ ‫متفاوتی‬
‫پینهای‬ ‫اینکه‬FPGA‫ولتاژهای‬ ‫برای‬ ‫همچنین‬ ،‫ورودی/خروجی‬ ‫یا‬ ‫خروجی‬ ‫یا‬ ‫ورودی‬ ‫مختلف‬ ‫مدهای‬ ‫در‬ ‫بتوان‬ ‫را‬
‫مختلف‬3.3‫یا‬5‫که‬ ‫باشد‬ ‫ای‬ ‫گونه‬ ‫یه‬ ‫باید‬ ‫هم‬ ‫با‬ ‫دو‬ ‫این‬ ‫طراحی‬ ‫زیرا‬ .‫روند‬ ‫می‬ ‫بکار‬ ‫کرد‬ ‫ریزی‬ ‫برنامه‬ ... ‫و‬ ‫ولت‬
‫مد‬ ‫سازی‬ ‫پیاده‬‫روی‬ ‫را‬ ‫مختلف‬ ‫منطقی‬ ‫ارات‬FPGA‫معموال‬ .‫سازد‬ ‫پذیر‬ ‫امکان‬"‫هر‬ ‫پذیری‬ ‫انطاﻑ‬ ‫و‬ ‫پیچیدگی‬ ‫بین‬
‫شود‬ ‫می‬ ‫کم‬ ‫دیگری‬ ‫یکی‬ ‫شدن‬ ‫زیاد‬ ‫با‬ ‫یعنی‬ .‫دارد‬ ‫وجود‬ ‫معکوﺱ‬ ‫نسبت‬ ‫یک‬ ‫اتصالی‬ ‫منبع‬ ‫و‬ ‫منطقی‬ ‫بلوکهای‬ ‫دوی‬
.‫بالعکس‬‫و‬
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
23
‫مال‬ ‫شامل‬ ‫قسمت‬ ‫این‬ .‫باشد‬ ‫می‬ ‫ها‬ ‫طراحی‬ ‫در‬ ‫پیچیدگی‬ ‫کاهش‬ ‫قسمت‬ ‫این‬ ‫اصلی‬ ‫هدﻑ‬‫ترانزیستورهای‬ ،‫پلکسرها‬ ‫تی‬
.‫گیرند‬ ‫می‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫مطلوب‬ ‫اتصاالت‬ ‫ایجاد‬ ‫برای‬ ‫هرکدام‬ ‫که‬ ‫باشد‬ ‫می‬ ‫حالته‬ ‫سه‬ ‫بافرهای‬‫و‬ ‫میدان‬ ‫اثر‬
3-2-3-‫ورودی‬ ‫های‬ ‫بلوک‬-‫ﺧروجی‬
‫از‬ ‫خارﺝ‬ ‫قطعات‬ ‫از‬ ‫گسترده‬ ‫طیف‬ ‫با‬ ‫مسیریابی‬ ‫ساختارهای‬ ‫و‬ ‫منطقی‬ ‫های‬ ‫بلوک‬ ‫میان‬ ‫ارتباط‬ ‫ایجاد‬ ‫برای‬FPGA
‫،نیاز‬‫آن‬ ‫به‬ ‫که‬ ‫داریم‬ ‫واسطی‬ ‫و‬ ‫بستر‬ ‫به‬I/O pad‫یا‬I/O.‫شود‬ ‫می‬ ‫گفته‬ ‫پذیر‬ ‫برنامه‬I/O‫آن‬ ‫اطراﻑ‬ ‫اجزای‬ ‫دیگر‬ ‫و‬ ‫پد‬
‫های‬ ‫سلول‬ ‫بعنوان‬ ‫را‬ ‫مدارات‬ ‫منطق‬ ‫از‬ ‫هایی‬ ‫فرم‬I/O‫یک‬ ‫برای‬ ‫مهمی‬ ‫اجزای‬ ‫ها‬ ‫سلول‬ ‫این‬ .‫کنند‬ ‫می‬ ‫پشتیبانی‬ ‫را‬
FPGA‫تقریبا‬ ‫و‬ ‫هستند‬40%‫یک‬ ‫موثر‬ ‫مساحت‬ ‫از‬FPGA‫می‬ ‫اشﻐال‬ ‫را‬‫های‬ ‫بلوک‬ ‫طراحی‬ ‫در‬ .‫کنند‬I/O‫برنامه‬
‫نام‬‫مرجع‬ ‫ولتاژ‬ ‫استانداردهای‬ ‫و‬ ‫تﻐذیه‬ ‫ولتاژ‬ ‫در‬ ‫زیاد‬ ‫تنوع‬ ‫به‬ ‫توان‬ ‫می‬ ‫آنها‬ ‫از‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫اساسی‬ ‫های‬ ‫چالش‬ ‫پذیر‬
.‫برد‬
3-3-‫از‬ ‫اسﺘفاده‬ ‫های‬ ‫مﺰیت‬FPGA‫ها‬
‫های‬ ‫مزیت‬ ‫از‬ ‫استاندارد‬ ‫و‬ ‫ساده‬ ‫نویسی‬ ‫برنامه‬ ‫و‬ ‫نیاز‬ ‫مورد‬ ‫افزار‬ ‫سخت‬ ‫کاهش‬‫از‬ ‫استفاده‬FPGA‫است‬.‫که‬ ‫آنچه‬
‫توانایی‬ ‫و‬ ‫قابلیت‬FPGA‫ها‬‫را‬‫باال‬‫برده‬‫است‬‫توانایی‬‫هایی‬‫است‬‫که‬:‫است‬ ‫شده‬ ‫اشاره‬ ‫آنها‬ ‫از‬ ‫مورد‬ ‫چند‬ ‫به‬‫زیر‬ ‫در‬
1.‫کاربرد‬‫اصلی‬FPGA‫در‬‫ایجاد‬‫هسته‬‫های‬‫پردازشی‬‫می‬‫باشد‬.
2.‫تست‬‫مدار‬‫سریع‬‫است‬.
3.‫برای‬‫تولیدات‬‫با‬‫تیراژ‬‫پایین‬‫ارزان‬‫تمام‬‫می‬‫شود‬.
4.‫متناسﺐ‬‫با‬،‫نیاز‬‫تﻐییرات‬‫الزم‬‫را‬‫در‬‫طراحی‬‫می‬‫توان‬‫انجام‬‫داد‬‫و‬‫مجددا‬FPGA‫را‬‫با‬‫ساختار‬‫جدید‬
‫برنامه‬‫ریزی‬‫نمود‬.
5.‫قابل‬‫برنامه‬‫ریزی‬‫توسط‬‫کاربر‬‫است‬.
6.‫می‬‫توان‬‫چند‬‫یک‬ ‫داخل‬ ‫پردازشی‬ ‫هسته‬FPGA‫تع‬‫چند‬ ‫واحد‬ ‫زمان‬ ‫یک‬ ‫در‬ ‫تا‬ ‫کرد‬‫ریف‬‫را‬ ‫کار‬
‫بدهد‬ ‫انجام‬ ‫باهم‬.
7.‫میکروکنترلرها‬‫و‬DSP‫ها‬‫و‬‫میکروپروسسورها‬‫به‬‫صورت‬‫سریال‬‫دستورالعمل‬‫اجرا‬‫می‬‫کنند‬‫و‬
‫قابلیت‬‫پردازش‬‫بصورت‬‫موازی‬‫در‬‫آنها‬‫وجود‬،‫ندارد‬‫اما‬‫در‬FPGA‫قابلیت‬‫پردازش‬‫موازی‬‫وجود‬
‫دارد‬‫و‬‫قابلیت‬‫انجام‬‫عملیات‬‫بصورت‬‫دارد‬ ‫را‬ ‫همزمان‬.
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
24
8.‫کاربردهای‬FPGA‫خیلی‬‫تخصصی‬‫می‬‫باشد‬‫ودر‬‫اکثر‬‫موارد‬‫به‬‫عنوان‬‫پردازشگر‬‫در‬‫مدارات‬
‫پردازشی‬‫استفاده‬‫می‬‫شود‬.‫سرعت‬‫باالی‬FPGA‫ها‬‫مثل‬ ‫سنگین‬ ‫پردازشی‬ ‫کارهای‬ ‫مساعد‬ ‫را‬ ‫آنها‬
‫سیستم‬ ‫به‬ ‫نسبت‬ ‫پردازش‬ ‫این‬ ‫سرعت‬ ‫و‬ ‫کند‬ ‫می‬ ‫صدا‬ ‫پردازش‬ ‫و‬ ‫تصویر‬ ‫پردازش‬‫خیلی‬ ‫دیگر‬ ‫های‬
.‫باالتراست‬
9.FPGA‫پیچیده‬ ‫توابع‬ ‫سازی‬ ‫پیاده‬ ‫در‬ ‫ها‬‫می‬ ‫کار‬ ‫به‬‫دیجیتالی‬ ‫ی‬‫که‬ ‫روند‬‫پردازش‬ ‫سرعت‬ ‫به‬ ‫نیاز‬
.‫دارد‬ ‫باالیی‬
10.‫کاهش‬‫سخت‬‫افزار‬‫مورد‬‫نیاز‬‫و‬‫برنامه‬‫استاندارد‬ ‫و‬ ‫ساده‬ ‫نویسی‬.
11.‫سرعت‬‫اجرای‬‫توابع‬‫منطقی‬‫در‬FPGA‫ها‬‫بسیار‬‫باال‬‫و‬.‫است‬ ‫ثانیه‬ ‫نانو‬ ‫حد‬ ‫در‬
12.‫امکان‬‫تعریف‬‫هر‬‫یک‬‫از‬‫پایه‬‫های‬IC‫به‬‫صورت‬‫ورودی‬‫یاخروجی‬‫یا‬‫هر‬.‫دو‬
13.‫امکان‬‫تعریف‬‫وضعیت‬‫عملکرد‬‫هر‬‫پایه‬‫در‬‫هنگام‬‫استفاده‬‫یا‬‫عدم‬‫استفاده‬.
14.‫امکان‬‫تشخیص‬‫تﻐیبیرات‬‫سطوح‬‫یا‬‫لبه‬‫های‬‫پایین‬‫رونده‬‫یا‬‫باال‬‫رونده‬‫منطقی‬‫اعمال‬‫شده‬‫به‬‫هر‬‫پایه‬.
15.‫امکان‬‫تﻐییر‬‫متناوب‬‫معمار‬‫ی‬‫داخلی‬‫با‬‫استفاده‬‫از‬‫سری‬‫های‬Bootable‫که‬‫نقشه‬‫معماری‬‫آنها‬‫در‬
‫یک‬‫حافظه‬‫خارجی‬‫نگهداری‬‫شده‬‫و‬‫با‬‫تﻐییر‬‫آدرﺱ‬‫برنامه‬‫ریزی‬‫توان‬ ‫می‬IC‫را‬‫بامعماری‬
‫جدید‬Boot‫کرده‬‫و‬‫از‬‫آن‬‫استفاده‬‫کرد‬.
16.‫امکان‬‫برنامه‬‫ریزی‬‫در‬‫مدار‬(ISP‫که‬‫تﻐییراتی‬ ‫اعمال‬ ‫بدون‬‫تا‬ ‫آورد‬ ‫می‬ ‫وجود‬ ‫به‬ ‫را‬ ‫قابلیت‬ ‫این‬‫)که‬
‫سخت‬‫ریزی‬ ‫برنامه‬ ‫پورت‬ ‫طریق‬ ‫از‬ ‫تنها‬ ‫و‬ ‫هستند‬ ‫افزاری‬jTAG‫داخلی‬ ‫معماری‬ ،IC‫را‬‫تﻐییر‬‫داد‬.
17..‫مربع‬ ‫متر‬ ‫سانتی‬ ‫چند‬ ‫مساحت‬ ‫به‬‫تنها‬ ‫ابعادی‬ ‫در‬ ‫سازی‬‫مجتمع‬ ‫و‬ ‫مدار‬‫حجم‬ ‫انگیز‬ ‫حیرت‬ ‫کاهش‬
18.‫کاهش‬‫یکسان‬‫سازی‬‫عناصر‬‫طراحی‬‫و‬‫از‬‫میان‬‫بردن‬‫تمامی‬‫مشکالت‬‫ناشی‬‫ا‬‫استاندارد‬ ‫تطابق‬ ‫عدم‬ ‫ز‬
.‫مختلف‬ ‫های‬
19.‫از‬‫میان‬‫بردن‬‫تمامی‬‫نویز‬‫های‬‫ناشی‬‫از‬‫وجود‬‫قطعات‬‫مختلف‬‫و‬‫مجزا‬‫در‬‫مدار‬.
20.‫کاهش‬.‫توان‬ ‫اتالﻑ‬ ‫و‬ ‫مصرفی‬ ‫توان‬ ‫چشمگیر‬
21.‫افزایش‬‫سرعت‬‫پردازش‬‫و‬‫خطاهای‬‫انتشار‬‫به‬‫دلیل‬‫استفاده‬‫از‬‫فناوری‬‫پیشرفته‬‫و‬‫دستیابی‬‫به‬‫خطاهای‬
‫انتشار‬‫تا‬4ns‫و‬‫فرکانس‬‫کالک‬‫فراتر‬‫از‬178‫مگاهرتز‬.
22.‫ولتاژ‬ ‫سطﺢ‬ ‫دو‬ ‫با‬ ‫کار‬5v‫و‬3.3v‫جهت‬‫استفاده‬‫از‬‫آنها‬‫در‬‫دستگاه‬‫های‬‫قابل‬‫حمل‬‫مانند‬‫گوشی‬‫های‬
‫مو‬‫بایل‬
23.‫توصیف‬ ‫توان‬ ‫عدم‬‫و‬ ‫داخلی‬ ‫محتوای‬ ‫به‬ ‫دستیابی‬ ‫امکان‬ ‫عدم‬ ‫دلیل‬ ‫به‬ ‫صد‬ ‫در‬ ‫صد‬‫ایمنی‬ ‫ضریﺐ‬
‫ساده‬ ‫انجام‬ ‫دلیل‬ ‫به‬ ‫داخلی‬ ‫محتوای‬‫فشرده‬ ‫و‬ ‫سازی‬.‫پیچیده‬ ‫بسیار‬ ‫سازی‬
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
25
‫می‬ ‫فراهم‬ ‫را‬ ‫سریع‬ ‫و‬ ‫،بهینه‬ ‫حجم‬ ‫،کم‬ ‫مجتمع‬ ‫طراحی‬ ‫یک‬ ‫انجام‬ ‫امکان‬ ‫که‬ ‫دیگر‬ ‫انگیز‬ ‫حیرت‬ ‫قابلیتهای‬ ‫از‬ ‫بسیاری‬‫و‬
‫آورد‬.
3-4-‫ﮐاربردهای‬FPGA
FPGA‫ها‬‫پیچیده‬ ‫و‬ ‫پیچیده‬ ‫نسبتا‬ ‫توابع‬ ‫سازی‬ ‫پیاده‬ ‫در‬‫ی‬‫دار‬ ‫باالیی‬ ‫پردازش‬ ‫سرعت‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫دیجیتال‬‫ن‬‫کار‬ ‫به‬ ‫د‬
.‫روند‬ ‫می‬.‫کاربردهای‬ ‫جمله‬ ‫از‬FPGA( ‫دیجیتال‬ ‫های‬ ‫سیگنال‬ ‫پردازش‬ ‫به‬ ‫توان‬ ‫می‬DSP، ‫افزاری‬ ‫نرم‬ ‫،رادیوهای‬ )
‫سازی‬ ‫نمونه‬ASIC،‫بیوانفورماتیک‬ ،‫نگاری‬ ‫رمز‬ ،‫صحبت‬ ‫صداو‬ ‫تصویر،تشخیص‬ ‫،پردازش‬ ‫پزشکی‬ ‫،تصویربرداری‬
.‫کرد‬ ‫اشاره‬ ‫علوم‬ ‫از‬ ‫فراوانی‬ ‫گستره‬ ‫در‬ ‫و‬ ‫متال‬ ‫تشخیص‬ ،‫نجوم‬ ،‫افزاری‬ ‫سخت‬ ‫سازی‬ ‫شبکه‬
‫از‬ ‫سنتی‬ ‫طور‬ ‫به‬FPGA‫ک‬ ‫معنی‬ ‫.بدین‬ ‫شود‬ ‫می‬ ‫استفاده‬ ‫باشد‬ ‫نمی‬ ‫انبوه‬ ‫تولید‬ ‫به‬ ‫نیار‬ ‫آنها‬ ‫در‬ ‫که‬ ‫مصارفی‬ ‫برای‬ ‫ها‬‫ه‬
‫بسیار‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫تراشه‬ ‫یک‬ ‫با‬ ‫مقایسه‬ ‫در‬ ‫اول‬ ‫از‬ ‫افزار‬ ‫سخت‬ ‫هر‬ ‫تولید‬ ‫هزینه‬ ، ‫کم‬ ‫حجم‬ ‫با‬ ‫های‬ ‫استفاده‬ ‫در‬
‫از‬ ‫دهند‬ ‫می‬‫ترجیﺢ‬ ‫ها‬ ‫شرکت‬ ‫و‬ ‫شود‬ ‫می‬ ‫باالتر‬FPGA.‫نمایند‬ ‫استفاده‬ ‫منظور‬ ‫بدین‬
‫کاربردهای‬ ‫از‬ ‫برخی‬FPGA: ‫از‬ ‫عبارتند‬
1.‫هوافضا‬ ‫و‬ ‫دفاعی‬ ‫صنایع‬
2.‫سازی‬ ‫نمونه‬ASIC
3.‫صوت‬
4.‫خودرو‬
5.‫الکترونیکی‬ ‫مدارات‬
6.‫داده‬ ‫مرکز‬
7.‫صنعت‬
8.‫پزشکی‬
9.‫امنیت‬
10.‫ویدئو‬ ‫و‬ ‫تصویر‬ ‫پردازش‬
11.‫سیمی‬ ‫ارتباطات‬
12.‫سیم‬ ‫بی‬ ‫ارتباطات‬
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
26
3-5-ASIC
‫همان‬ ‫یا‬ ‫خاص‬ ‫کاربرد‬ ‫با‬ ‫مجتمع‬ ‫مدارهای‬ASIC‫ها‬‫چیپ‬ ‫این‬ .‫اند‬ ‫شده‬ ‫سازی‬ ‫بهینه‬ ‫و‬ ‫طراحی‬ ،‫خاص‬ ‫منظور‬ ‫برای‬
‫کاربرد‬ ‫برای‬‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫میکروکنترلرهای‬ ‫از‬ ‫بهتر‬ ‫مراتﺐ‬ ‫به‬ ‫مصرفی‬ ‫توان‬ ‫و‬ ‫عملیاتی‬ ‫سرعت‬ ،‫کارایی‬ ‫نظر‬ ‫از‬ ‫ها‬
‫خاص‬ ‫کاربرد‬ ‫یک‬ ‫که‬ ‫معنی‬ ‫بدین‬ .‫ندارد‬ ‫را‬ ‫میکروکنترلر‬ ‫یک‬ ‫پذیری‬ ‫توسعه‬ ‫و‬ ‫انعطاﻑ‬ ‫قابلیت‬ ‫اما‬ ‫است‬ ‫مشابه‬
‫بصورت‬‫درون‬ ‫افزاری‬ ‫سخت‬ASIC‫با‬ ‫میتوان‬ ‫میکروکنترلر‬ ‫در‬ ‫آنکه‬ ‫حال‬ ‫نیست‬ ‫گسترش‬ ‫و‬ ‫تﻐییر‬ ‫قابل‬ ‫و‬ ‫شده‬ ‫تعبیه‬
.‫داد‬‫تﻐییر‬ ‫را‬ ‫آن‬ ‫عملکرد‬،‫میکرو‬ ‫مموری‬ ‫در‬ ‫شده‬ ‫ﺫخیره‬ ‫برنامه‬‫تﻐییر‬
ASIC‫ها‬‫صرفه‬ ‫به‬ ‫انبوه‬ ‫تولید‬ ‫برای‬‫هستند‬‫یعنی‬ .‫شود‬ ‫می‬ ‫تمام‬ ‫میکروکنترلر‬ ‫از‬ ‫تر‬ ‫گران‬ ‫بسیار‬ ‫کم‬ ‫تعداد‬ ‫برای‬ ‫و‬‫برای‬
‫سازی‬ ‫پیاده‬ASIC‫تعداد‬ ‫آن‬ ‫برای‬‫چیپ‬ ‫هر‬ ‫قیمت‬ ‫که‬ ‫کند‬ ‫می‬ ‫تولید‬ ‫گزاﻑ‬ ‫قیمتی‬ ‫با‬ ‫را‬ ‫باالیی‬ ‫تعداد‬ ‫پشتیبان‬ ‫شرکت‬
)‫ها‬ ‫چاپخانه‬ ‫در‬ ‫چاپ‬ ‫عملیات‬‫مثل‬ ً‫ا‬‫(دقیق‬ ‫است‬ ‫تر‬ ‫ارزان‬ ‫توجهی‬ ‫قابل‬ ‫بطور‬ ‫استفاده‬ ‫مورد‬‫میکروکنترلر‬ ‫قیمت‬ ‫از‬.
‫از‬ ‫استفاده‬ASIC‫نخ‬ .‫باشد‬ ‫می‬ ‫ای‬ ‫عمده‬ ‫عیوب‬ ‫دارای‬ ‫ها‬‫بسیار‬‫ها‬ ‫تراشه‬ ‫این‬ ‫تولید‬ ‫برای‬ ‫الزم‬ ‫اولیه‬ ‫هزینه‬ ‫که‬ ‫آن‬ ‫ست‬
‫قابل‬ ‫اقتصادی‬ ‫دیدگاه‬ ‫از‬ ‫ها‬ ‫آن‬ ‫تولید‬ ‫باشد‬ ‫کمتر‬ ‫خاص‬ ‫حد‬ ‫از‬ ‫نیاز‬ ‫مورد‬ ‫های‬ ‫تراشه‬ ‫تعداد‬ ‫اگر‬ ‫که‬ ‫طوری‬ ‫به‬ ‫باالست‬
‫نمی‬ ‫توجیه‬‫ب‬ ‫موضوع‬ ‫این‬ ‫که‬ ‫است‬ ‫طوالنی‬ ً‫ا‬‫نسبت‬ ‫ها‬ ‫آن‬ ‫تولید‬ ‫و‬ ‫طراحی‬ ‫برای‬ ‫الزم‬ ‫اولیه‬ ‫زمان‬ ً‫ا‬‫ثانی‬ . ‫باشد‬‫افزایش‬ ‫ه‬
‫یک‬ ‫ایجاد‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ‫که‬ ‫است‬ ‫آن‬ ‫ها‬ ‫تراشه‬ ‫این‬ ‫دیگر‬ ‫مشکل‬ . ‫شود‬ ‫می‬ ‫منجر‬ ‫بازار‬ ‫به‬ ‫محصول‬ ‫ارائه‬ ‫زمان‬
‫باید‬ ‫طراح‬ ‫که‬ ‫است‬ ‫آن‬ ‫دلیل‬ ‫این‬ ‫و‬ ‫شود‬ ‫طی‬ ً‫ا‬‫مجدد‬ ‫فوق‬ ‫هزینه‬ ‫پر‬ ‫و‬ ‫بر‬ ‫زمان‬ ‫پروسه‬ ‫باید‬ ،‫طراحی‬ ‫در‬ ‫کوچک‬ ‫تﻐییر‬
‫ک‬ ‫را‬ ‫کامل‬ ‫اطمینان‬ ‫خود‬ ‫طراحی‬ ‫از‬ ‫تولید‬ ‫سفارش‬ ‫از‬ ‫قبل‬.‫انبوه‬ ‫تولید‬ ‫در‬ ‫مخصوصا‬ ‫باشد‬ ‫کرده‬ ‫سﺐ‬‫بهره‬ ‫منظور‬ ‫به‬
‫قابلیت‬ ‫و‬ ‫کارایی‬ ‫از‬ ‫همزمان‬ ‫بردن‬ASIC،‫میکروکنترلرها‬ ‫پذیری‬ ‫انعطاﻑ‬ ‫و‬ ‫ها‬FPGA‫شدند‬ ‫معرفی‬ ‫ها‬‫راه‬ ‫که‬‫حلی‬
.‫باشند‬ ‫می‬ ‫نیاز‬ ‫مورد‬ ‫کارایی‬ ‫و‬ ‫باال‬ ‫پذیری‬ ‫انعطاﻑ‬ ‫با‬ ‫سیستم‬ ‫یک‬ ‫ایجاد‬ ‫برای‬FPGA‫نمونه‬ ‫تولید‬ ‫برای‬ ً‫ا‬‫غالب‬ ‫ها‬
‫اولی‬‫کارا‬ ‫نظر‬ ‫از‬ ‫اگرچه‬ .‫باشند‬ ‫می‬ ‫آل‬ ‫ایده‬ ‫محدود‬ ‫تولید‬ ‫کاربردهای‬ ‫برای‬ ‫استفاده‬ ‫همچنین‬ ‫و‬ ‫تست‬ ،‫ه‬‫ی‬‫و‬ ‫درحد‬ ‫ی‬
‫اندازه‬ASIC‫شده‬ ‫ﺫکر‬ ‫مشکالت‬ ‫اما‬ ،‫دارند‬ ‫باالتری‬ ‫مراتﺐ‬ ‫به‬ ‫مصرﻑ‬ ‫توان‬ ‫و‬ ‫نیستند‬ ‫ها‬ASIC‫ندارند‬ ‫را‬.‫بدین‬
‫توسط‬ ‫ابتدا‬ ‫را‬ ‫خود‬ ‫محصوالت‬ ‫کنندگان‬ ‫تولید‬ ‫ترتیﺐ‬FPGA‫سازی‬ ‫نمونه‬‫های‬ ‫تست‬ ‫و‬ ‫آزمایشات‬ ‫و‬ ‫نمایند‬ ‫می‬
‫یک‬ ‫تولید‬ ‫برای‬ ‫را‬ ‫خود‬ ‫طراحی‬ ‫سپس‬ ‫و‬ ‫داده‬ ‫انجام‬ ‫آن‬ ‫روی‬ ‫بر‬ ‫را‬ ‫خود‬ASIC.‫فرستند‬ ‫می‬ ‫سازنده‬ ‫به‬
ASIC‫تعداد‬ ‫چون‬ ‫روند‬ ‫نمی‬ ‫هدر‬ ‫آن‬ ‫تولید‬ ‫در‬ ‫مواد‬ ‫که‬ ‫است‬ ‫این‬ ‫هم‬ ‫آن‬ ‫که‬ ‫باشد‬ ‫می‬ ‫مهم‬ ‫مزیت‬ ‫یک‬ ‫دارای‬ ‫ها‬
‫یک‬ ‫باشند.در‬ ‫می‬ ‫شده‬ ‫ثابت‬ ‫طراحی‬ ‫در‬ ‫شده‬ ‫استفاده‬ ‫های‬ ‫ترانزیستور‬FPGA‫از‬ ‫توجهی‬ ‫قابل‬ ‫تعداد‬ ‫معموال‬
‫یک‬ ‫قیمت‬ ‫که‬ ‫است‬ ‫معنی‬ ‫بدین‬ ‫که‬ ‫گیرند‬ ‫می‬ ‫قرار‬ ‫استفاده‬ ‫بدون‬ ‫ترانزیستورها‬FPGA‫د‬‫با‬ ‫مقایسه‬ ‫ر‬ASIC‫که‬
.‫شود‬ ‫می‬ ‫بیشتر‬ ‫بسیار‬، ‫کند‬ ‫می‬ ‫را‬ ‫کار‬ ‫همان‬
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
27
‫اینکه‬ ‫وجود‬ ‫با‬ ‫باال‬ ‫توضیحات‬ ‫به‬ ‫توجه‬ ‫با‬ASIC‫از‬ ‫استفاده‬ ‫است‬ ‫کم‬ ‫تولید‬ ‫حجم‬ ‫که‬ ‫مواردی‬ ‫در‬ ‫اما‬ ‫است‬ ‫تر‬ ‫ارزان‬
FPGA‫هر‬ ‫تولید‬ ‫هزینه‬ ‫یعنی‬ ، ‫شود‬ ‫می‬ ‫ارزانتر‬IC. ‫عکس‬ ‫بر‬‫و‬ ‫یابد‬ ‫می‬ ‫کاهش‬ ‫تولید‬‫حجم‬ ‫افزایش‬ ‫با‬
3-6-‫های‬ ‫معﻤاری‬ ‫اﻧواﻉ‬FPGA
‫معماری‬FPGA‫دارای‬‫مختلف‬ ‫چهارنوع‬‫ها‬ ‫معماری‬ ‫این‬ ،‫اند‬ ‫شده‬ ‫ساخته‬ ‫مختلفی‬ ‫های‬ ‫شرکت‬ ‫توسط‬ ‫که‬ ‫باشد‬‫می‬
:‫از‬ ‫عبارتند‬
1.‫ارایه‬‫دو‬‫بعدی‬‫متقارن‬
2.‫سطری‬
3.‫ها‬ ‫گیت‬ ‫از‬ ‫دریایی‬
4.‫مدارات‬‫سلسله‬‫مراتبی‬
‫نوع‬‫اول‬‫از‬‫یک‬‫ارایه‬‫دو‬‫بعدی‬‫از‬‫بلوکهای‬‫منطقی‬‫که‬‫منابع‬‫اتصاالت‬‫به‬‫صورت‬‫سطری‬‫و‬‫ستونی‬‫بین‬‫این‬‫بلوکها‬
‫واقع‬‫شده‬‫تشکیل‬ ‫اند‬‫یافته‬‫است‬.
‫این‬‫نوع‬‫معماری‬‫توسط‬‫شر‬‫کت‬Xilinx.‫شود‬ ‫می‬ ‫استفاده‬
‫اولیه‬ ‫نسلهای‬ ‫به‬ ‫شبیه‬ ‫دوم‬ ‫نوع‬MPGA‫شرکت‬ ‫.توسط‬ ‫حاضر‬ ‫حال‬ ‫در‬ ‫و‬ ‫باشد‬ ‫می‬ ‫ها‬Actel.‫شود‬ ‫می‬ ‫سازی‬ ‫پیاده‬
‫پوشیده‬ ‫بلوکها‬ ‫این‬ ‫بین‬ ‫اتصال‬ ‫برقراری‬ ‫برای‬ ‫هایی‬ ‫الیه‬ ‫با‬ ‫که‬ ‫است‬ ‫منطقی‬ ‫کوچک‬ ‫بلوکهای‬ ‫از‬ ‫متشکل‬ ‫سوم‬ ‫نوع‬
‫همسایه‬ ‫سلول‬ ‫نزدیکترین‬ ‫به‬ ‫که‬ ‫قادرند‬ ‫تنها‬ ‫منطقی‬ ‫سلولهای‬ ‫ساختار‬ ‫گونه‬ ‫این‬ ‫.در‬ ‫است‬ ‫شده‬‫ا‬‫در‬ ‫که‬ ‫شوند‬ ‫متصل‬ ‫ی‬
‫مشابهی‬ ‫عمودی‬ ‫یا‬ ‫افقی‬ ‫مختصات‬‫قرار‬‫دارد‬.‫در‬‫این‬‫ساختار‬‫از‬‫س‬‫لولهای‬‫منطقی‬‫نیز‬‫می‬‫توان‬‫در‬‫جهت‬‫برقراری‬
‫ارتباط‬‫استفاده‬‫کرد‬.‫که‬‫البته‬‫چنین‬‫کاری‬‫باعث‬‫افزایش‬‫تاخیر‬‫در‬‫مسیر‬‫سیگنال‬‫و‬‫نیز‬‫کاهش‬‫ظرفیت‬‫گیتی‬‫در‬
‫معماری‬ ‫نوع‬ ‫.این‬ ‫گردد‬ ‫می‬ ‫دسترﺱ‬‫شبیه‬‫به‬‫نسلهای‬‫بعدی‬MPGA‫شرکت‬ ‫توسط‬ ‫هم‬ ‫ان‬ ‫که‬ ‫باشد‬ ‫می‬ ‫ها‬Actel
.‫شود‬ ‫می‬ ‫استفاده‬ ‫جدیدش‬ ‫معماریهای‬ ‫در‬
‫معماری‬ ‫چهارم‬ ‫نوع‬FPGA‫ازمعماری‬ ‫شده‬ ‫گرفته‬ ‫بر‬PLD‫ها‬‫و‬CPLD‫شرکت‬ ‫وتوسط‬ ‫میباشد‬ ‫ها‬Atera‫سری‬ ‫در‬
MAX.‫است‬ ‫شده‬ ‫استفاده‬ ‫کارخانه‬ ‫این‬ ‫ساخت‬
3-7-‫ﮐنندگان‬ ‫تولﻴد‬FPGA
‫های‬ ‫تراشه‬ ‫کنندگان‬ ‫تولید‬ ‫از‬FPGA:‫کرد‬ ‫اشاره‬ ‫زیر‬ ‫موارد‬ ‫به‬‫میتوان‬
1-Xilinx
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
28
2-Altera
3-Lattice Semiconductor
4-Silicon Blue
5-Quick Logic
6-Microsemi
7-Achronix
8-Actel
‫کننده‬ ‫تولید‬ ‫دو‬Xilinx‫و‬Altera‫از‬ ‫بیش‬ ‫حاضر‬ ‫حال‬ ‫در‬80%.‫دارند‬ ‫خود‬ ‫کنترل‬ ‫در‬ ‫را‬ ‫تولید‬ ‫بازار‬ ‫از‬
‫این‬‫افزارها‬ ‫نرم‬‫شرکتها‬‫ی‬‫اند‬ ‫کرده‬ ‫طراحی‬ ‫خود‬ ‫به‬‫مختص‬ ‫قابلیتهای‬ ‫با‬ ‫ی‬:‫زیرند‬ ‫قرار‬ ‫به‬ ‫آنها‬ ‫اهم‬ ‫که‬
MAXPLUS II– Fandation - Leonardo Spectrum – Modelsim
‫ن‬ ‫این‬‫معموال‬ ‫که‬ ‫دارند‬ ‫تفاوتهایی‬ ‫هم‬ ‫با‬ ‫دهی‬ ‫سرویس‬ ‫امکانات‬ ‫و‬ ‫قابلیت‬ ‫لحاظ‬ ‫از‬ ‫افزارها‬ ‫رم‬"‫انجام‬ ‫را‬ ‫زیر‬ ‫کارهای‬
:‫دهند‬ ‫می‬
Schematic Editor - text Editor - Waveform Editor (Simulator) - Compiler- synthesizer Fitter –
Programmer
3-8-‫با‬ ‫طراحی‬ ‫و‬ ‫ﻧویﺴی‬ ‫برﻧامه‬FPGA
‫برنامه‬‫با‬ ‫مدارات‬ ‫طراحی‬ ‫و‬ ‫نویسی‬FPGA‫به‬ ‫کلی‬ ‫طور‬ ‫به‬ ‫ها‬2‫شود‬ ‫می‬ ‫انجام‬ ‫صورت‬:
1.‫مانند‬ ‫افزاری‬ ‫سخت‬ ‫توصیف‬ ‫های‬ ‫زبان‬ ‫از‬ ‫استفاده‬ ‫با‬VHDL،AHDL‫و‬...
2.‫مدار‬ ‫طراحی‬ ‫از‬ ‫استفاده‬ ‫با‬
‫فرم‬ ‫از‬ ‫استفاده‬HDL‫مشخص‬ ‫نظرمان‬ ‫مورد‬ ‫ساختار‬ ‫بودن‬ ‫بزرگ‬ ‫صورت‬ ‫در‬ ‫چون‬ ‫است‬ ‫بهتر‬ ‫شماتیک‬ ‫فرم‬ ‫به‬ ‫نسبت‬
‫دید‬ ‫شماتیک‬ ‫دیگر‬ ‫سوی‬ ‫از‬ ،‫بود‬ ‫خواهد‬ ‫مشکل‬ ‫قطعات‬ ‫گذاشتن‬ ‫هم‬ ‫کنار‬ ‫و‬ ‫ها‬ ‫بندی‬ ‫سیم‬ ‫از‬ ‫زیادی‬ ‫حجم‬ ‫کردن‬
.‫دهد‬ ‫می‬ ‫ما‬ ‫به‬ ‫طراحی‬ ‫به‬ ‫نسبت‬‫تری‬ ‫ساده‬
‫مستق‬ ‫منطقی‬ ‫مدارات‬ ‫طراحی‬ ‫روش‬ ‫اصوال‬‫در‬ ‫.معموال‬ ‫گردد‬ ‫می‬ ‫انتخاب‬ ‫سازی‬ ‫پیاده‬ ‫برای‬ ‫که‬ ‫است‬ ‫نهایی‬ ‫تراشه‬ ‫از‬ ‫ل‬
‫بلوکهای‬ ‫از‬ ‫کتابخانه‬ ‫یک‬ ‫ها‬ ‫طراحی‬ ‫گونه‬ ‫این‬‫پیش‬‫ساخته‬‫در‬‫اختیار‬‫طرا‬‫که‬ ‫دارد‬ ‫قرار‬ ‫ح‬‫سرعت‬ ‫افزایش‬ ‫برای‬
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
29
‫اند‬ ‫شده‬ ‫بهینه‬ ‫و‬ ‫آزموده‬ ‫طراحی‬ ‫در‬ ‫پردازش‬.‫شده‬ ‫تعریف‬ ‫پیش‬ ‫از‬ ‫مدارهای‬ ‫این‬IP cores.‫شوند‬ ‫می‬ ‫نامیده‬‫بیشتر‬
‫توسعه‬ ‫برای‬ ‫دیگر‬ ‫برخی‬ ‫اما‬ .‫باشند‬ ‫نمی‬ ‫مجانی‬ ‫معموال‬ ‫و‬ ‫شوند‬ ‫می‬ ‫منتشر‬ ‫اختصاصی‬ ‫مجوزهای‬ ‫تحت‬ ‫مدارها‬ ‫این‬
‫اسم‬ ‫به‬ ‫دهندگان‬Open Cores.‫شوند‬ ‫می‬ ‫منتشر‬ ‫باز‬ ‫منبع‬ ‫و‬ ‫مجانی‬ ‫صورت‬ ‫به‬ ‫معموال‬‫نظیر‬ ‫تر‬ ‫پیچیده‬ ‫.اعضای‬
‫استاندارد‬ ‫های‬ ‫تراشه‬ ‫شبیه‬ ‫هایی‬ ‫ساختار‬ ‫یا‬ ‫و‬ ‫ها‬ ‫شمارنده‬T TL‫و‬CMOS‫یک‬ ‫معموال‬ ‫ماکرو‬ ‫.هر‬ ‫نامند‬ ‫می‬ ‫ماکرو‬ ‫را‬
‫پروسه‬ ‫.در‬ ‫کند‬ ‫می‬ ‫ایجاد‬ ‫را‬ ‫نظر‬ ‫مورد‬ ‫تابع‬ ‫مناسﺐ‬ ‫بندی‬ ‫سیم‬ ‫با‬ ‫که‬ ‫کند‬ ‫می‬ ‫اشﻐال‬ ‫را‬ ‫ها‬ ‫تراشه‬ ‫از‬ ‫سلول‬ ‫چند‬ ‫یا‬
‫باشد‬ ‫می‬ ‫بخش‬ ‫بخش‬ ‫صورت‬ ‫به‬ ‫طرح‬ ‫که‬ ‫انجا‬ ‫از‬ .‫دهد‬ ‫می‬ ‫تشکیل‬ ‫سازی‬ ‫شبیه‬ ‫مرحله‬ ‫را‬ ‫بخش‬ ‫مهمترین‬ ‫طراحی‬
‫می‬ ‫را‬ ‫ها‬ ‫بخش‬ ‫این‬ ‫کلیه‬‫دریافت‬ ‫و‬ ‫ورودی‬ ‫اعمال‬ ‫با‬ ‫و‬ ‫جداگانه‬ ‫توان‬‫خروجی‬‫های‬‫مور‬‫در‬ ‫و‬ ‫کرده‬ ‫تست‬ ‫نظر‬ ‫د‬
. ‫نمود‬‫تست‬ ‫جا‬ ‫یک‬ ‫طور‬ ‫به‬ ‫را‬ ‫طرح‬ ‫کل‬ ‫نهایت‬
‫استاندارد‬ ‫های‬ ‫تراشه‬ ‫خالﻑ‬ ‫بر‬‫بقیه‬ ‫کردو‬ ‫استفاده‬ ‫را‬ ‫طرح‬ ‫در‬ ‫استفاده‬ ‫مورد‬ ‫بخشهای‬ ‫تنها‬ ‫توان‬ ‫می‬ ‫ها‬ ‫ماکرو‬ ‫در‬
‫قاب‬ ‫سلول‬ ‫از‬ ‫بخشی‬ ‫هیچ‬ ‫دادن‬ ‫هدر‬ ‫بدون‬ ‫را‬ ‫ماکرو‬.‫زدود‬ ‫طرح‬ ‫از‬ ‫ریزی‬ ‫برنامه‬ ‫ل‬‫با‬ ‫اما‬‫این‬‫همه‬‫این‬‫مشکل‬‫گونه‬ ‫به‬
‫ا‬‫با‬ ‫طرح‬ ‫سازی‬ ‫پیاده‬ ‫بنابراین‬ .‫شود‬ ‫می‬ ‫ساخته‬ ‫سلول‬ ‫ثابتی‬ ‫تعداد‬ ‫با‬ ‫تراشه‬ ‫هر‬ ‫که‬ ‫انجا‬ ‫کند.از‬ ‫ظهور‬ ‫تواند‬ ‫می‬ ‫یگر‬ ‫د‬ ‫ی‬
‫بر‬ ‫را‬ ‫طرح‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ ‫سلولهای‬ ‫تعداد‬ ‫بتواند‬ ‫که‬ ‫گیرد‬ ‫می‬ ‫صورت‬ ‫ای‬ ‫تراشه‬ ‫اولین‬‫آ‬.‫کند‬ ‫ورده‬‫در‬ ‫رو‬ ‫این‬ ‫از‬
‫دارای‬ ‫تراشه‬ ‫کوچکترین‬ ‫که‬ ‫صورتی‬1000‫دارای‬ ‫بعدی‬ ‫تراشه‬ ‫و‬ ‫سلول‬1500‫به‬ ‫نیاز‬ ‫که‬ ‫طرحی‬ ‫برای‬ ‫باشد‬ ‫سلول‬
1010.‫دارد‬ ‫سلول‬30%. ‫شد‬ ‫خواهد‬ ‫رها‬ ‫استفاده‬ ‫بدون‬‫اخیر‬ ‫تراشه‬ ‫از‬
‫روی‬ ‫بر‬ ‫دهنده‬ ‫توسعه‬ ‫یک‬ ،‫طراحی‬ ‫معمولی‬ ‫روند‬ ‫یک‬ ‫در‬FPGA‫طی‬ ‫در‬ ‫مختلف‬ ‫مراحل‬ ‫در‬ ‫را‬ ‫خودش‬ ‫طراحی‬
‫توصیف‬ ‫ابتدا‬ .‫کند‬ ‫می‬ ‫سازی‬ ‫شبیه‬ ‫طراحی‬ ‫فرآیند‬RTL‫در‬VHDL‫یا‬Verilog‫از‬ ‫استفاده‬ ‫با‬‫س‬‫اخت‬tese
bench‫هایی‬‫روی‬ ‫بر‬‫طراحی‬ ‫شدن‬ ‫سنتز‬ ‫از‬ ‫بعد‬ ‫سپس‬ .‫شوند‬ ‫می‬ ‫مشاهده‬ ‫قابل‬ ‫سیستم‬ ‫نتایج‬ ‫و‬ ‫شده‬ ‫سازی‬ ‫شبیه‬netlist
،netlist‫تر‬ ‫گیت‬ ‫سطﺢ‬ ‫توصیف‬ ‫به‬‫نداشته‬‫وجود‬ ‫خطایی‬ ‫گونه‬ ‫هیچ‬ ‫تا‬ ‫گیرد‬ ‫می‬ ‫انجام‬ ‫دوباره‬ ‫سازی‬ ‫شبیه‬ ‫و‬ ‫شده‬ ‫جمه‬
‫روی‬ ‫بر‬ ‫طراحی‬ ‫نهایت‬ ‫در‬ ‫باشد‬FPGA‫سازی‬ ‫شبیه‬ ‫کار‬ ‫به‬ ‫انتشار‬ ‫تاخیرهای‬ ‫مرحله‬ ‫این‬ ‫در‬ ‫که‬ ‫شود‬ ‫می‬ ‫گذاشته‬
‫روی‬ ‫بر‬ ‫مقادیر‬ ‫این‬ ‫و‬ ‫شده‬ ‫اضافه‬netlist.‫شوند‬ ‫می‬ ‫یادداشت‬
‫داخ‬ ‫در‬ ‫طرح‬ ‫دادن‬ ‫جا‬ ‫تا‬ ‫شروع‬ ‫مرحله‬ ‫از‬‫چند‬ ‫یا‬ ‫یک‬ ‫ل‬FPGA‫کردن‬ ‫متصل‬ ‫همچنین‬ ‫و‬ ) ‫مدار‬ ‫اندازه‬ ‫به‬ ‫توجه‬ ‫(با‬
‫روی‬ ‫مدار‬‫سنتز‬ ‫اصطالحا‬ ‫هم‬ ‫به‬ ‫منطقی‬ ‫بلوکهای‬FPGA.‫شود‬ ‫می‬ ‫گفته‬
3-8-1-‫سازی‬ ‫شبﻴه‬
:‫شود‬ ‫می‬ ‫انجام‬ ‫افزار‬ ‫نرم‬‫توسط‬ ‫سازی‬ ‫شبیه‬ ‫نوع‬‫دو‬
3-8-1-1-‫منطقی‬ ‫سازی‬ ‫شبیه‬
‫تست‬ ‫را‬ ‫مدار‬ ‫عملکرد‬ ‫منطقی‬ ‫نظر‬‫از‬ ‫ساز‬ ‫شبیه‬ ‫این‬‫عملیات‬‫همچنین‬ ‫و‬ ‫بندی‬ ‫زمان‬ ‫از‬ ‫اطالعاتی‬ ‫عمل‬‫این‬ ‫کند.در‬ ‫می‬
.‫شود‬ ‫می‬ ‫مشخص‬ ‫مرحله‬ ‫این‬ ‫در‬ ‫باشد‬ ‫طراحی‬ ‫در‬ ‫خطایی‬ ‫نیست.اگر‬‫اختیار‬ ‫در‬ ‫سازمنطقی‬ ‫بهینه‬
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
30
3-8-1-2-‫زمانی‬ ‫ساز‬ ‫شبیه‬
‫تاخیر‬ ‫های‬ ‫پارامتر‬ .‫گیرد‬ ‫می‬ ‫صورت‬ ‫مشکالت‬ ‫سایر‬ ‫رفع‬ ‫و‬ ‫یابی‬ ‫مسیر‬ ‫از‬ ‫پیش‬ ‫که‬ ‫مرحله‬ ‫این‬ ‫در‬،‫خازن‬ ‫و‬ ‫توان‬‫های‬
‫و‬ ‫مدار‬‫ن‬ ‫غیره‬‫های‬ ‫تاخیر‬ . ‫دهد‬ ‫می‬ ‫دست‬ ‫به‬ ‫را‬ ‫تراشه‬ ‫عملکرد‬ ‫از‬ ‫واقعی‬ ‫تصویر‬ ‫و‬ ‫شده‬ ‫منتقل‬ ‫سازی‬ ‫شبیه‬ ‫محیط‬ ‫به‬ ‫یز‬
‫در‬ ‫افزار‬ ‫نرم‬ ‫که‬ ‫ای‬ ‫کتابخانه‬ ‫از‬ ‫واقع‬ ‫در‬ ‫فوق‬‫دسترﺱ‬‫دارد‬‫استخراﺝ‬‫می‬‫شود‬‫و‬‫معموال‬‫بدتر‬‫از‬‫حالت‬‫واقعی‬‫تراشه‬
‫در‬‫نظرگرفته‬‫شده‬‫است‬.‫به‬‫گونه‬‫ای‬‫که‬‫پس‬‫از‬‫برنامه‬‫ریزی‬‫تراشه‬‫عملکرد‬‫تراشه‬‫معموال‬‫سریعتر‬‫از‬‫مقدار‬‫پیش‬‫بی‬‫نی‬
.‫است‬ ‫سازی‬ ‫شبیه‬ ‫افزار‬ ‫نرم‬‫توسط‬ ‫شده‬
3-9-‫ریﺰی‬ ‫برﻧامه‬ ‫های‬ ‫تکنولوژی‬FPGA
‫روی‬ ‫متفاوت‬ ‫اتصاالت‬ ‫و‬ ‫مختلف‬ ‫مدارات‬ ‫شدن‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬FPGA‫الکتریکی‬ ‫سوئیچهای‬ ‫وجود‬ ‫دلیل‬ ‫به‬
‫سوئیچ‬ ‫.این‬ ‫دارد‬ ‫وجود‬ ‫تراشه‬ ‫این‬ ‫روی‬ ‫که‬ ‫است‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬‫بر‬ ‫منفی‬ ‫اثر‬ ‫تا‬ ‫باشند‬ ‫مشخصاتی‬ ‫دارای‬ ‫باید‬ ‫ها‬
‫عملکرد‬ ‫روی‬FPGA‫باشند‬ ‫نداشته‬.‫جمله‬ ‫از‬‫مشخصات‬ ‫این‬ ‫مهمترین‬‫آ‬‫را‬ ‫کمی‬ ‫جای‬ ‫امکان‬ ‫حد‬ ‫تا‬ ‫باید‬ ‫که‬ ‫است‬ ‫ن‬
‫ظرفیت‬ ‫و‬ ‫مقاومت‬ ‫و‬ ‫کنند‬ ‫اشﻐال‬‫بعضی‬ ‫که‬ ‫مشخصاتی‬ ‫سایر‬ .‫نکنند‬ ‫ایجاد‬ ‫زیادی‬ ‫تاخیر‬ ‫تا‬ ‫باشند‬ ‫داشته‬ ‫کمی‬ ‫خازنی‬
‫روی‬ ‫بر‬ ‫شده‬ ‫نوشته‬ ‫اطالعات‬ ‫حفظ‬ ‫قابلیت‬ ‫دارند‬ ‫سوئیچها‬ ‫این‬ ‫از‬‫آ‬(‫برق‬ ‫دادن‬ ‫دست‬ ‫از‬ ‫با‬ ‫نها‬Non_Volatile)،
‫مجدد‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬‫روی‬‫آنها‬(Reprogrammable)،(‫مداری‬ ‫داخل‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬Programmable
in system‫و‬ )‫غیره‬‫می‬‫که‬ .‫باشند‬‫سه‬‫مورد‬‫آخر‬‫هر‬‫کدام‬‫مزایا‬‫و‬‫معایبی‬‫دارند‬.‫به‬‫عنوان‬‫مثال‬‫های‬ ‫سوئیچ‬‫مبتنی‬‫بر‬
‫حافظه‬‫های‬‫موقت‬‫با‬‫قطع‬‫برق‬‫اطالعات‬‫خود‬‫را‬‫از‬‫دست‬‫می‬‫در‬ ،‫دهند‬‫نتیجه‬‫با‬‫هر‬‫شدن‬ ‫خاموش‬ ‫و‬ ‫روشن‬ ‫بار‬
‫سیستم‬،FPGA‫باید‬‫مجددا‬‫ب‬.‫شود‬ ‫ریزی‬ ‫رنامه‬
‫ریزی‬ ‫برنامه‬ ‫های‬ ‫تکنولوژی‬ ‫از‬ ‫برخی‬ ‫به‬ ‫زیر‬ ‫در‬FPGA:‫است‬ ‫شده‬ ‫اشاره‬
1.SRAM
2.Antifuse
3.ROM
4.EPROM
5.EEPROM
6.FLASH
7.FUSE
‫های‬ ‫تکنولوژی‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬SRAM،FLASH،Antifuse( ‫شناور‬ ‫های‬ ‫گیت‬ ‫و‬EPROM‫و‬EEPROM)
.‫باشند‬ ‫می‬ ‫مهمتر‬ ‫بقیه‬ ‫از‬
3-9-1-‫ریﺰی‬ ‫برﻧامه‬ ‫تکنولوژی‬SRAM
‫سلول‬ ‫از‬.‫شود‬ ‫می‬ ‫استفاده‬ ‫گونه‬ ‫دو‬ ‫به‬ ‫حافظه‬‫یا‬ ‫روشن‬ ‫کنترل‬ ‫برای‬ ‫موقت‬ ‫حافظه‬ ‫سلول‬ ‫یک‬ ‫از‬ ‫اول‬ ‫روش‬ ‫در‬
‫استف‬ ‫ترانزیستور‬ ‫یک‬ ‫بودن‬ ‫خاموش‬‫ا‬.‫شود‬ ‫می‬ ‫ده‬‫ر‬ ‫حافظه‬ ‫سلول‬ ‫خروجی‬ ‫یعنی‬‫متصل‬ ‫ترانزیستور‬ ‫این‬ ‫گیت‬ ‫به‬ ‫ا‬
‫می‬.‫کنند‬
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
31
‫خروجی‬ ‫اتصال‬ ‫با‬ ‫دوم‬ ‫روش‬ ‫در‬‫سلول‬ ‫های‬‫ما‬ ‫یک‬ ‫انتخاب‬ ‫ورودیهای‬ ‫به‬ ‫حافظه‬ ‫های‬‫پلکس‬ ‫لتی‬‫ر‬‫کنند‬ ‫می‬ ‫مشخص‬
‫خط‬ ‫از‬ ‫کدامیک‬ ‫که‬‫پلکسر‬ ‫مالتی‬ ‫ورودی‬ ‫های‬.‫شود‬ ‫می‬ ‫متصل‬ ‫خروجی‬ ‫به‬‫که‬ ‫است‬ ‫ضعف‬ ‫این‬ ‫دارای‬ ‫روش‬ ‫این‬
‫برق‬ ‫که‬ ‫بار‬ ‫هر‬ ‫باید‬‫سیستم‬‫قطع‬‫می‬‫شود‬‫مجددا‬‫محتوای‬‫سلولهای‬‫حافظه‬‫نوشته‬‫شود‬‫که‬‫این‬‫کار‬‫نیاز‬‫به‬‫این‬‫دارد‬
‫که‬‫یک‬‫حافظه‬‫دائمی‬PROM‫یا‬EPROM‫کنار‬ ‫در‬ ‫مﻐناطیسی‬ ‫دیسک‬ ‫یک‬ ‫یا‬FPGA‫بار‬ ‫هر‬ ‫تا‬ ‫شود‬ ‫گذاشته‬
‫بخواند‬ ‫ان‬ ‫روی‬ ‫از‬ ‫را‬ ‫خودش‬ ‫اطالعات‬ ‫شدن‬ ‫روشن‬ ‫موقع‬.‫سلول‬ ‫که‬ ‫است‬ ‫زیادی‬ ‫حجم‬ ‫روش‬ ‫این‬ ‫دیگر‬ ‫مشکل‬
.‫دهد‬ ‫می‬ ‫اختصاص‬ ‫خود‬ ‫به‬ ‫حافظه‬‫به‬ ‫حافظه‬ ‫سلول‬ ‫یک‬ ‫زیرا‬5‫یا‬6‫حال‬ ‫عین‬ ‫در‬ ‫.ولی‬ ‫دارد‬ ‫نیاز‬ ‫ترانزیستور‬،‫مزیت‬
‫ح‬ ‫از‬ ‫استفاده‬‫مجدد‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬ ‫موقت‬ ‫های‬ ‫افظه‬‫آ‬‫باشد.شرکت‬ ‫می‬ ‫مدار‬ ‫داخل‬ ‫در‬ ‫حتی‬ ‫ن‬Xilinx‫برای‬
‫ریزی‬ ‫برنامه‬FPGA‫ا‬ ‫خود‬ ‫ساخت‬ ‫های‬‫ا‬ ‫تکنولوژی‬ ‫این‬ ‫ز‬.‫کند‬ ‫می‬ ‫ستفاده‬
‫شکل‬3-2-‫یک‬ ‫سلول‬SRAM
3-9-2-‫ریﺰی‬ ‫برﻧامه‬ ‫تکنولوژی‬FLASH
‫بر‬ ‫مبتنی‬ ‫ریزی‬ ‫برنامه‬ ‫تکنولوژی‬ ‫استفاده‬ ‫مورد‬ ‫های‬ ‫تکنولوژی‬ ‫از‬ ‫دیگر‬ ‫یکی‬FLASH‫تکنولوژی‬ ‫این‬ .‫باشد‬ ‫می‬
‫این‬ ‫همچنین‬ .‫نمود‬ ‫اشاره‬ ‫تکنولوژی‬ ‫این‬ ‫بودن‬ ‫فرار‬ ‫غیر‬ ‫به‬ ‫توان‬ ‫می‬ ‫مثال‬ ‫عنوان‬ ‫به‬ .‫باشد‬ ‫می‬ ‫فراوانی‬ ‫فواید‬ ‫دارای‬
‫بر‬ ‫مبتنی‬ ‫تکنولوژی‬ ‫به‬ ‫نسبت‬ ‫تکنولوژی‬SRAM‫معایبی‬ ‫دارای‬ ‫تکنولوژی‬ ‫این‬ .‫باشد‬ ‫می‬ ‫کمتر‬ ‫موثر‬ ‫مساحت‬ ‫دارای‬
‫بر‬ ‫مبتنی‬ ‫ریزی‬ ‫برنامه‬ ‫که‬ ‫کرد‬ ‫اشاره‬ ‫نکته‬ ‫این‬ ‫به‬ ‫توان‬ ‫می‬ ‫جمله‬ ‫این‬ ‫از‬ ‫که‬ ‫باشد‬ ‫می‬ ‫نیز‬FLASH‫خالﻑ‬ ‫بر‬SRAM
‫فرآیند‬ ‫از‬ ‫تکنولوژی‬ ‫این‬ .‫شود‬ ‫پیکربندی‬ ‫یا‬ ‫ریزی‬ ‫برنامه‬ ‫دوباره‬ ‫نامحدودی‬ ‫تعداد‬ ‫به‬ ‫تواند‬ ‫نمی‬CMOS‫غیر‬
‫اس‬.‫نماید‬ ‫می‬ ‫استفاده‬ ‫تاندارد‬
3-9-3-‫ریﺰی‬ ‫برﻧامه‬ ‫تکنولوژی‬ANTI-FUSE
‫در‬ ‫فیوز‬ ‫انتی‬ ‫نوع‬ ‫دو‬FPGA‫نوع‬ ‫.یک‬ ‫است‬ ‫استفاده‬ ‫مورد‬‫آن‬‫عنوان‬ ‫تحت‬ ‫که‬ ‫ها‬PLICE‫شده‬ ‫شناخته‬‫و‬‫توسط‬
‫شرکت‬Actel‫عنوان‬ ‫تحت‬ ‫که‬ ‫دیگر‬ ‫نوع‬ ‫و‬ ‫شود‬ ‫می‬ ‫استفاده‬Vialink‫شود‬ ‫می‬ ‫شناخته‬،‫شرکت‬ ‫توسط‬Quicklogic
.‫شود‬ ‫می‬ ‫استفاده‬
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
32
FPGA‫کنند‬ ‫می‬ ‫استفاده‬ ‫فیوز‬ ‫انتی‬ ‫قابلیت‬ ‫از‬ ‫که‬ ‫هایی‬‫اصلی‬ ‫از‬ ‫ویﮋگی‬ ‫این‬ ‫که‬ ‫کنند‬ ‫می‬ ‫اشﻐال‬ ‫را‬ ‫کمی‬ ‫مساحت‬
،‫باشد‬ ‫می‬ ‫تکنولوژی‬ ‫این‬ ‫های‬ ‫مزیت‬ ‫ترین‬‫مزیت‬‫دیگر‬‫از‬ ‫استفاده‬‫آ‬‫کاری‬ ‫فرکانس‬ ‫بودن‬ ‫باال‬ ‫فیوزها‬ ‫نتی‬‫آن‬‫می‬ ‫ها‬
‫کمی‬ ‫مقاومتی‬ ‫اثر‬ ‫و‬ ‫خازنی‬ ‫ظرفیت‬ ‫که‬ ‫چرا‬ ‫باشد‬.‫دارند‬
‫کرد‬ ‫اشاره‬ ‫توان‬ ‫می‬ ‫روش‬ ‫این‬ ‫معایﺐ‬ ‫از‬‫ریزی‬ ‫برنامه‬‫فیوز‬ ‫انتی‬ ‫یک‬ ‫که‬ ‫وقتی‬ ‫و‬ ‫ندارند‬ ‫مجدد‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬ ‫که‬
‫قطع‬ ‫حالت‬ ‫به‬ ‫دیگر‬ ‫شد‬‫بر‬‫نمی‬‫فرآیند‬ ‫از‬ ‫تکنولوژی‬ ‫این‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬ ‫همچنین‬ ، ‫گردد‬CMOS‫استاندارد‬
.‫کند‬ ‫نمی‬ ‫استفاده‬
3-9-4-( ‫شناور‬ ‫های‬ ‫گﻴت‬ ‫تکنولوژی‬EPROM‫و‬EEPROM)
‫تکنولوژی‬ ‫در‬MOS‫سطﺢ‬ ‫اعمال‬ ‫با‬ ‫که‬ ‫کنند‬ ‫می‬ ‫عمل‬ ‫سوئیچی‬ ‫عنوان‬ ‫به‬ ‫خود‬ ‫ها‬ ‫ترانزیستور‬High‫يا‬Low‫به‬
‫سوئیچ‬ ‫شدن‬ ‫وصل‬ ‫و‬ ‫قطع‬ ‫باعث‬ ‫توان‬ ‫می‬ ‫گیتشان‬.‫شد‬ ‫ها‬‫دارای‬ ‫که‬ ‫شود‬ ‫می‬ ‫استفاده‬ ‫ترانزیستوری‬ ‫از‬ ‫روش‬ ‫این‬ ‫در‬
.‫است‬ ‫شناور‬ ‫گیت‬‫سطﺢ‬ ‫توان‬ ‫می‬ ‫شناور‬ ‫گیت‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬‫آ‬‫گیت‬ ‫کردن‬ ‫دشارژ‬ ‫و‬ ‫شارژ‬ ‫با‬ ‫را‬ ‫ترانزیستور‬ ‫ستانه‬
‫زیاد‬ ‫جریان‬ ‫یک‬ ‫گذراندن‬ ‫با‬ ‫که‬ ‫ترتیﺐ‬ ‫این‬ ‫به‬ . ‫کرد‬ ‫خاموش‬ ‫دائم‬ ‫صورت‬ ‫به‬ ‫را‬ ‫ترانزیستور‬ ‫و‬ ‫داد‬ ‫تﻐییر‬ ‫دوم‬‫بین‬
‫با‬ ‫که‬ ‫گیرد‬ ‫می‬ ‫قرار‬ ‫شناور‬ ‫گیت‬ ‫روی‬ ‫بار‬ ‫مقداری‬ ‫ترانزیستور‬ ‫درین‬ ‫و‬ ‫اصلی‬ ‫گیت‬‫ولتاژ‬ ‫رفتن‬ ‫باال‬ ‫عث‬‫آ‬‫ستانه‬
.‫است‬ ‫خاموش‬ ‫همیشه‬ ‫ترانزیستور‬ ‫کاری‬ ‫ولتاژهای‬ ‫در‬ ‫نتیجه‬ ‫در‬ ‫و‬ ‫شود‬ ‫می‬ ‫معمول‬ ‫حد‬ ‫از‬ ‫ترانزیستور‬‫بین‬ ‫از‬ ‫برای‬
‫این‬ ‫بردن‬‫ب‬‫در‬ ‫ار‬EPROM‫ماورا‬ ‫اشعه‬ ‫از‬‫ی‬‫ودر‬ ‫بنفش‬EEPROM.‫شود‬ ‫می‬ ‫استفاده‬ ‫الکتریکی‬ ‫جریان‬ ‫از‬
‫شرکت‬Altera‫استفاده‬ ‫روش‬ ‫مانند‬ ‫روش‬ ‫این‬ ‫مزیت‬ . ‫کرد‬ ‫می‬ ‫استفاده‬ ‫خود‬ ‫تولید‬ ‫اولیه‬ ‫های‬ ‫سری‬ ‫در‬ ‫روش‬ ‫این‬ ‫از‬
‫که‬ ‫است‬ ‫ﺫکر‬ ‫به‬ ‫است.الزم‬ ‫مجدد‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬ ‫موقت‬ ‫حافظه‬ ‫از‬EPROM‫مدار‬ ‫خارﺝ‬ ‫در‬‫و‬EEPROM‫در‬
‫مدار‬ ‫داخل‬.‫باشند‬‫می‬ ‫دارا‬ ‫را‬ ‫مجدد‬ ‫ریزی‬ ‫برنامه‬
3-10-‫افﺰار‬ ‫سخت‬ ‫توصﻴف‬ ‫زبان‬VHDL
‫عملکرد‬ ‫و‬ ‫طراحی‬ ،‫ساختار‬ ‫توصیف‬ ‫برای‬ ‫که‬ ‫است‬ ‫کامپیوتری‬ ‫زبانی‬ ،‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫ربان‬ ‫الکترونیک‬ ‫در‬
‫های‬ ‫زبان‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫دیجیتال‬ ‫منطقی‬ ‫مدارات‬ ‫و‬ ‫الکترونیکی‬ ‫مدارات‬HDL‫دهند‬ ‫می‬ ‫را‬ ‫اجازه‬ ‫این‬ ‫کاربر‬ ‫به‬
‫مانند‬ ‫هایی‬ ‫زبان‬ ‫با‬ ‫ها‬ ‫زبان‬ ‫این‬ ‫اصلی‬ ‫تفاوت‬ .‫کند‬ ‫تست‬ ‫تولید‬ ‫از‬ ‫قبل‬ ‫ابزارهایی‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ ‫خودش‬ ‫مدار‬ ‫که‬C‫در‬
‫که‬ ‫است‬ ‫این‬HDL‫بایستی‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫زبان‬ ‫اکثر‬ ‫حالیکه‬ ‫در‬ ‫کنند‬ ‫می‬ ‫اجرا‬ ‫همزمان‬ ‫شکل‬ ‫به‬ ‫را‬ ‫دستورات‬ ‫ها‬
‫به‬‫را‬ ‫برنامه‬ ‫خطوط‬.‫نمایند‬‫اجرا‬‫ترتیﺐ‬
‫های‬ ‫زبان‬HDL‫مدارات‬ ‫خصوص‬ ‫به‬ ،‫دهند‬ ‫می‬ ‫فرم‬‫مجتمع‬ ‫شکل‬ ‫به‬ ‫را‬ ‫الکترونیکی‬ ‫طراحی‬ ‫اتوماسیون‬ ‫های‬ ‫سیستم‬
.‫میکروپروسسورها‬ ‫مانند‬ ‫پیچیده‬ ‫بسیار‬
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
33
VHDL. ‫است‬ ‫افزاری‬ ‫سخت‬ ‫توصیف‬ ‫های‬ ‫زبان‬ ‫از‬ ‫یکی‬‫زبان‬VHDL‫توسط‬ ‫بار‬ ‫نخستین‬‫آمریکا‬ ‫دفاع‬ ‫وزارت‬‫به‬
‫توصیف‬ ‫و‬ ‫طراحی‬ ‫منظور‬‫مجتمع‬ ‫مدارهای‬‫سال‬ ‫در‬ ‫سپس‬ . ‫گرفت‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫و‬ ‫شد‬ ‫طراحی‬ ‫باال‬ ‫سرعت‬
1987‫انجمن‬ ‫توسط‬IEEE(‫انجمن‬‫الکترونیک‬ ‫و‬ ‫برق‬ ‫مهندسان‬‫استاندارد‬ ‫قالﺐ‬ ‫)در‬1987-1076IEEE‫ارائه‬
‫عنوان‬ ‫تحت‬ ‫زبان‬ ‫این‬ ‫دوم‬ ‫استاندارد‬ ،‫تصحیحات‬ ‫از‬ ‫ای‬ ‫پاره‬ ‫انجام‬ ‫و‬ ‫سال‬ ‫چند‬ ‫گذشت‬ ‫از‬ ‫پس‬ .‫گردید‬IEEE
1076-1993. ‫گرفت‬ ‫قرار‬ ‫عموم‬‫اختیار‬ ‫در‬
3-11-‫ارزش‬ ‫در‬ ‫مالحضه‬ ‫قابل‬ ‫فاﮐﺘورهای‬VHDL
1.‫زبان‬ ‫جهانی‬ ‫محبوبیت‬VHDL
2.‫زبان‬ ‫این‬ ‫در‬ ‫توصیف‬ ‫روشهای‬‫مختلف‬ ‫انواع‬ ‫وجود‬
3.‫ساز‬ ‫شبیه‬ ‫افزارهای‬ ‫نرم‬ ‫وجود‬VHDL
4.‫های‬ ‫کننده‬‫سنتز‬ ‫داشتن‬ ‫اختیار‬ ‫در‬VHDL
3-12-‫های‬ ‫مﺰیت‬VHDL
1.‫که‬ ‫این‬ ‫به‬ ‫توجه‬ ‫با‬VHDL‫سنتز‬ ‫روی‬ ‫به‬ ‫توان‬ ‫می‬ ‫را‬ ‫آن‬ ‫توسط‬ ‫نوشته‬ ‫کد‬ ،‫باشد‬ ‫می‬ ‫استاندارد‬ ‫زبان‬ ‫یک‬
‫و‬ ‫ها‬ ‫کننده‬‫تراشه‬. ‫ندارد‬ ‫وجود‬ ‫کد‬‫تﻐییر‬ ‫به‬ ‫نیازی‬‫و‬ ‫نمود‬ ‫سازی‬ ‫پیاده‬‫مختلف‬ ‫کنندگان‬ ‫تولید‬ ‫های‬
2.‫ساز‬ ‫شبیه‬‫و‬ ‫ها‬‫کامپایلرهای‬‫زب‬ ‫این‬. ‫باشند‬ ‫می‬ ‫قیمت‬ ‫ارزان‬ ‫و‬ ‫دسترﺱ‬ ‫در‬ ‫ان‬
3.‫رفتاری‬ ‫یا‬ ‫ساختاری‬ ‫صورت‬ ‫به‬ ‫را‬ ‫ها‬ ‫سیستم‬ ‫توان‬ ‫می‬ ‫زبان‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬‫سازی‬ ‫مدل‬‫توصیف‬ .‫نمود‬
‫سی‬ ‫عملکرد‬ ‫دهنده‬ ‫نشان‬ ‫رفتاری‬‫باشد‬‫می‬ ‫ورودی‬ ‫های‬ ‫سیگنال‬ ‫اساﺱ‬ ‫بر‬ ‫ها‬ ‫خروجی‬ ‫تولید‬ ‫چگونگی‬ ‫و‬ ‫ستم‬
‫بلوک‬ ‫جزئیات‬ ‫با‬ ‫شدن‬ ‫درگیر‬ ‫از‬ ‫و‬ ‫کرد‬ ‫بیان‬ ‫را‬ ‫سیستم‬ ‫کلی‬ ‫عملکرد‬ ‫توان‬ ‫می‬ ‫توصیف‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ .
‫در‬ . ‫نمود‬ ‫اجتناب‬ ‫شود‬ ‫منجر‬ ‫سیستم‬ ‫توصیف‬ ‫پیچیدگی‬ ‫به‬ ‫بزرگ‬ ‫های‬ ‫طرح‬ ‫در‬ ‫که‬ ‫سیستم‬ ‫سازنده‬ ‫های‬
‫ساختاری‬ ‫مدل‬ ‫مقابل‬‫بیشتری‬ ‫جزئیات‬ ‫بیانگر‬ ‫و‬ ‫است‬ ‫سیستم‬ ‫سازنده‬ ‫های‬ ‫بلوک‬ ‫ارتباط‬ ‫نحوه‬ ‫دهنده‬ ‫نشان‬
‫از‬‫افزار‬ ‫سخت‬‫توصیف‬ ‫امکان‬ ‫زبان‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫ترتیﺐ‬ ‫این‬ ‫به‬ . ‫باشد‬ ‫می‬‫سخت‬‫افزار‬‫سطﺢ‬ ‫از‬‫گیت‬‫تا‬
. ‫شود‬ ‫می‬ ‫فراهم‬ ‫سیستم‬
4.‫افزاری‬ ‫سخت‬ ‫توصیف‬ ‫از‬ ‫استفاده‬ ‫با‬‫سازنده‬ ‫های‬ ‫بلوک‬ ‫بین‬ ‫ارتباط‬ ‫توسط‬ ‫را‬ ‫پیچیده‬ ‫های‬ ‫سیستم‬ ‫توان‬ ‫می‬
‫زبان‬ ‫توسط‬ ‫ها‬ ‫سیستم‬ ‫این‬ ‫سازی‬ ‫پیاده‬ ‫ترتیﺐ‬ ‫این‬ ‫به‬ ،‫نمود‬ ‫سازی‬ ‫مدل‬ ‫ها‬ ‫آن‬VHDL‫های‬ ‫زبان‬ ‫از‬ ‫تر‬ ‫ساده‬
‫نویسی‬ ‫برنامه‬‫قبیل‬ ‫از‬c. ‫باشد‬ ‫می‬
‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA
34
5.‫و‬ ‫ها‬ ‫کتابخانه‬ ‫گیری‬ ‫بکار‬ ‫با‬component‫زبان‬ ‫در‬ ‫ها‬VHDL‫شد‬ ‫نوشته‬ ‫و‬ ‫موجود‬ ‫های‬ ‫المان‬ ‫از‬ ‫توان‬ ‫می‬ ،‫ه‬
‫نمود‬ ‫استفاده‬ ‫ها‬ ‫طراحی‬ ‫سایر‬ ‫در‬‫شبیه‬ ‫ها‬ ‫آن‬ ‫عملکرد‬ ‫واقع‬ ‫در‬ .DLL‫نویسی‬ ‫برنامه‬ ‫های‬ ‫زبان‬ ‫در‬ ‫توابع‬ ‫و‬ ‫ها‬
‫نرم‬.‫باشد‬ ‫می‬ ‫افزاری‬
6.‫توسط‬ ‫پیچیده‬ ‫های‬ ‫سیستم‬ ‫سازی‬ ‫پیاده‬ ‫و‬ ‫طراحی‬ ‫سرعت‬‫است‬ ‫شماتیک‬ ‫طراحی‬ ‫از‬ ‫بیشتر‬ ‫بسیار‬ ‫زبان‬ ‫این‬
‫اتصال‬ ‫چگونگی‬ ‫زیرا‬‫گیت‬‫نرم‬ ‫توسط‬ ،‫ها‬ ‫بلوک‬ ‫و‬ ‫ها‬‫کننده‬ ‫سنتز‬ ‫افزار‬‫ترتیﺐ‬ ‫این‬ ‫به‬ . ‫شود‬ ‫می‬ ‫تعیین‬
‫می‬‫پیاده‬ ‫کوتاهی‬ ‫زمان‬ ‫مدت‬ ‫در‬ ‫را‬ ‫پیچیده‬ ‫های‬ ‫سیستم‬ ‫توان‬‫نیاز‬‫مورد‬ ‫اصطالحات‬ ‫و‬ ‫تﻐییرات‬ ،‫کرده‬ ‫سازی‬
. ‫نمود‬ ‫اعمال‬ ‫برنامه‬ ‫در‬ ‫را‬
7.‫از‬ ‫اطمینان‬ ‫از‬ ‫پس‬ ‫و‬ ‫کند‬ ‫می‬ ‫ایجاد‬ ‫توصیف‬ ‫مورد‬ ‫سیستم‬ ‫سازی‬ ‫شبیه‬ ‫برای‬ ‫مناسبی‬ ‫بستر‬ ‫زبان‬ ‫این‬ ‫از‬ ‫استفاده‬
‫نظر‬ ‫مورد‬ ‫تراشه‬ ‫روی‬ ‫به‬ ‫را‬ ‫سیستم‬ ‫توصیف‬ ‫توان‬ ‫می‬ ،‫ساز‬ ‫شبیه‬ ‫محیط‬ ‫در‬ ‫شده‬ ‫نوشته‬ ‫کد‬ ‫عملکرد‬ ‫صحت‬
‫پیاده‬. ‫کرد‬
‫چهارم‬ ‫فصل‬-‫زبان‬ ‫به‬ ‫تصاویر‬ ‫ﻧﻤایی‬ ‫بﺰرگ‬ ‫برﻧامه‬ ‫سازی‬ ‫پﻴاده‬
‫افﺰار‬ ‫سخت‬ ‫توصﻴف‬
‫این‬ ‫در‬ ‫که‬ .‫باشد‬ ‫می‬ ‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫زبان‬ ‫به‬ ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬ ‫شبیه‬ ‫پروژه‬ ‫این‬ ‫اصلی‬ ‫هدﻑ‬
‫روی‬ ‫بر‬ ‫آن‬ ‫سازی‬ ‫پیاده‬ ‫امکان‬ ‫تا‬ ‫شود‬ ‫ارائه‬ ‫نقص‬ ‫بی‬ ‫و‬ ‫کامل‬ ‫ای‬ ‫پروژه‬ ‫است‬ ‫شده‬ ‫تالش‬ ‫راستا‬FPGA.‫شود‬ ‫فراهم‬
.‫پردازیم‬ ‫می‬ ‫شده‬ ‫طراحی‬ ‫افزار‬ ‫سخت‬ ‫ساخت‬ ‫مراحل‬ ‫به‬ ‫ادامه‬ ‫در‬
4-1-‫ﻧﻤایی‬ ‫بﺰرگ‬ ‫برﻧامه‬ ‫سازی‬ ‫پﻴاده‬
‫که‬ ‫شده‬ ‫کار‬ ‫صورت‬ ‫این‬ ‫به‬ ‫منظور‬ ‫این‬ ‫برای‬ ‫که‬ ‫باشد‬ ‫می‬ ‫تصاویر‬ ‫کردن‬ ‫بزرگ‬ ‫پروژه‬ ‫این‬ ‫انجام‬ ‫از‬ ‫اصلی‬ ‫هدﻑ‬
‫بزرگ‬ ‫مقدار‬ ‫با‬ ‫برابر‬ ‫آن‬ ‫سایز‬ ‫که‬ ‫مربعی‬ ‫ماتریس‬ ‫یک‬ ‫درون‬ ‫اولیه‬ ‫تصویر‬ ‫از‬ ‫پیکسل‬ ‫هر‬ ‫تصویر‬ ‫کردن‬ ‫بزرگ‬ ‫برای‬
‫عنوان‬ ‫به‬ ،‫شود‬ ‫تکرار‬ ‫است‬ ‫نمایی‬‫میکنیم‬ ‫فرض‬ ‫مثال‬‫داریم‬ ‫زیر‬ ‫صورت‬ ‫به‬‫ماتریس‬ ‫یک‬ ‫که‬:
[
𝑎 𝑏 𝑐
𝑑 𝑒 𝑓
]
‫ماتریس‬ ‫یک‬ ‫در‬ ‫را‬ ‫آن‬ ‫های‬ ‫درایه‬ ‫از‬ ‫هرکدام‬ ‫باید‬ ‫کنیم‬ ‫دوبرابر‬ ‫را‬ ‫آن‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬2×2.‫کنیم‬ ‫تکرار‬
:‫آید‬ ‫می‬ ‫در‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫شده‬ ‫بزرگ‬‫ماتریس‬
[
[
𝑎 𝑎
𝑎 𝑎
] [b b
b b
] [
c c
c c
]
[
𝑑 𝑑
𝑑 𝑑
] [
e e
e e
] [f f
f f
]
]
‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬
36
4-2-‫های‬ ‫پﻴﻦ‬FPGA
1.Data:FPGA‫دارای‬24: ‫گیرد‬ ‫می‬ ‫قرار‬ ‫آنها‬ ‫روی‬ ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫داده‬ ‫که‬ ‫بوده‬ ‫دیتا‬ ‫پایه‬
Data(0)‫الی‬Data(23)
2.CMD:FPGA‫داری‬3‫پایه‬Command‫ب‬ ‫که‬ ، ‫است‬ ‫دستور‬ ‫یا‬‫داد‬ ‫دستور‬ ‫آن‬ ‫به‬ ‫توان‬‫ورودی‬ ‫و‬
‫می‬: ‫باشند‬CMD 0،CMD 1‫و‬CMD 2
3.CMDD:FPGA‫دارای‬13‫پایه‬Command Data‫نیاز‬ ‫مورد‬ ‫داده‬ ‫بتوان‬ ‫تا‬ ‫است‬CMD‫به‬ ‫را‬
FPGA: ‫باشند‬‫می‬ ‫ورودی/خروجی‬ ‫که‬ ‫داد‬ ‫قرار‬ ‫آن‬ ‫در‬ ‫را‬ ‫دستور‬ ‫اجرا‬ ‫نتیجه‬ ‫یا‬ ‫و‬ ‫داد‬CMDD0‫الی‬
CMDD12
4.WE:Write Enable‫ورودی‬ :
5.RE:Read Enable:‫ورودی‬
6.RST:Reset‫ورودی‬ :
7.CLK:Clock‫ورودی‬ :
8.RD:Ready‫نبودن‬ ‫یا‬ ‫بودن‬ ‫آماده‬ ‫وضعیت‬ ‫دادن‬ ‫نشان‬ ‫برای‬ :FPGA‫خروجی‬ ‫و‬ ‫شود‬ ‫می‬ ‫استفاده‬
.‫باشد‬ ‫می‬
4-2-1-‫ﺧروجی‬ ‫های‬ ‫پایه‬FPGA
‫شکل‬3-3-‫ساﺧﺘار‬FPGA
‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬
37
‫های‬ ‫پایه‬ ‫از‬ ‫بعضی‬ ، ‫شود‬ ‫می‬ ‫مشاهده‬ ‫باال‬ ‫شکل‬ ‫در‬ ‫که‬ ‫طور‬ ‫همان‬FPGA‫در‬ ‫نقش‬ ‫دو‬ ‫دارای‬FPGA‫مثال‬ ، ‫هستند‬
‫پایه‬Data(0)‫نقش‬ ‫بر‬ ‫عالوه‬Data 0‫نقش‬ ،)‫(ورودی/خروجی‬Command Data 0‫ایفا‬ ‫نیز‬‫را‬ )‫(ورودی/خروجی‬
.‫کند‬ ‫می‬
4-3-‫ﻧحوه‬Config‫پﻴکربندی‬ ‫و‬FPGA
‫های‬ ‫پایه‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫پروژه‬ ‫این‬ ‫در‬CMD‫و‬CMDD‫دستگاه‬ ‫مختلف‬ ‫عملکردهای‬ ‫برای‬ ‫مختلفی‬ ‫های‬ ‫حالت‬
: ‫دهیم‬ ‫می‬ ‫توضیﺢ‬ ‫را‬ ‫پیکربندی‬ ‫این‬ ‫ی‬ ‫نحوه‬ ‫زیر‬ ‫در‬ .‫ایم‬ ‫کرده‬ ‫ایجاد‬
1.‫و‬ ‫دستور‬ ‫ابتدا‬ ‫در‬Command‫های‬ ‫پایه‬ ‫روی‬ ‫را‬ ‫نظر‬ ‫مورد‬CMD 0–CMD 2‫همچنین‬ ‫و‬ ‫داده‬ ‫قرار‬
‫و‬ ‫دستور‬ ‫داده‬Command Data‫های‬ ‫پایه‬ ‫روی‬ ‫را‬CMDD0‫الی‬CMDD12. ‫داده‬ ‫قرار‬
2.‫پایه‬RST. ‫نموده‬‫فعال‬ ‫را‬
‫و‬ ‫دستورات‬ ‫نوشتن‬ ‫برای‬command:‫کنیم‬ ‫می‬ ‫عمل‬‫زیر‬ ‫صورت‬ ‫به‬ ‫نیز‬ ‫ها‬
1.: ‫ریست‬
‫برای‬Reset‫باید‬ ‫نمودن‬CMD[2-0]‫برابر‬ ‫را‬"000"‫مقدار‬ ‫به‬ ‫بسته‬ ‫و‬ ‫داد‬ ‫قرار‬CMDD‫خواهد‬ ‫متفاوتی‬ ‫عمکلرد‬
: ‫داشت‬
‫عملکرد‬CMDD[1-0]CMD[2-0]
‫و‬ ‫کلی‬ ‫نمودن‬‫ریست‬‫اولیه‬ ‫تنظیمات‬ ‫به‬‫برگشت‬00
000
‫عکس‬ ‫یک‬ ‫که‬‫صورتی‬‫در‬Load‫مشکل‬‫با‬‫دستگاه‬ ‫و‬ ،‫باشد‬ ‫شده‬
‫را‬ ‫دستگاه‬ ‫بخواهیم‬‫و‬‫باشیم‬‫داده‬ ‫نادرستی‬‫دستور‬ ‫یا‬ ‫و‬‫باشد‬‫روبروشده‬
‫عکس‬ ‫و‬‫کنیم‬‫کار‬‫آماده‬Load‫استفاده‬ ‫حالت‬ ‫این‬ ‫از‬ ‫نرود‬‫بین‬‫از‬ ‫شده‬
‫کنیم‬ ‫می‬
01
‫عکس‬Load‫رود‬ ‫نمی‬ ‫بین‬‫از‬ ‫شده‬‫بزرگ‬‫عکس‬ ‫و‬ ‫شده‬
‫کند‬‫نمی‬‫تﻐییر‬‫ورودی/خروجی‬‫داده‬ ‫ُد‬‫م‬
10
-11
2: ‫ورودی/خروجی‬ ‫داده‬ ‫ُد‬‫م‬‫.تﻐییر‬
‫تواند‬ ‫می‬ ‫ورودی/خروجی‬ ‫داده‬ ‫ُد‬‫م‬24‫یا‬ ‫بیتی‬16‫فرض‬ ‫پیش‬ ‫صورت‬ ‫باشد(به‬ ‫بیتی‬24)‫است‬ ‫بیتی‬
‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬
38
‫ُد‬‫م‬‫تﻐییر‬ ‫برای‬‫باید‬CMD[2-0]‫برابر‬"001": ‫شود‬
‫عملکرد‬CMDD[0]CMD[2-0]
:‫ورودی/خروجی‬‫داده‬ ‫مد‬24‫بیتی‬0
001
:‫ورودی/خروجی‬‫داده‬ ‫مد‬16‫بیتی‬1
‫د‬‫قبال‬ ‫عکس‬‫یک‬ ‫که‬ ‫صورتی‬ ‫ر‬Load، )‫شده‬ ‫بارگذاری‬ ‫عکس‬ ‫با‬‫متفاوت‬ ‫ُدی‬‫م‬(‫دهیم‬‫تﻐییر‬ ‫را‬ ‫ُد‬‫م‬ ‫و‬ ، ‫باشد‬‫شده‬
‫عکس‬Load. ‫رفت‬ ‫خواهند‬ ‫بین‬ ‫از‬ ‫شده‬ ‫بزرگ‬‫و‬ ‫شده‬
3.: ‫بزرگنمایی‬‫میزان‬‫تﻐییر‬
‫باید‬ ، ‫نمایی‬ ‫بزرگ‬‫میزان‬‫تﻐییر‬ ‫برای‬CMD[2-0]‫برابر‬ ‫را‬"010"‫داخل‬ ‫را‬ ‫نمایی‬ ‫بزرگ‬‫میزان‬ ‫و‬ ‫داده‬ ‫قرار‬
CMDD: ‫دهیم‬ ‫قرار‬
‫مقدار‬ ‫به‬‫پیکسل‬ ‫بزرگنمایی(هر‬‫میزان‬CMDD)‫شود‬ ‫می‬‫بزرگ‬CMDD[12-0]CMD[2-0]
0‫بوده‬‫یکسان‬‫خروجی‬ ‫و‬‫ورودی‬‫عکس‬ :‫بزرگنمایی‬‫عدم‬ :0010
1‫است‬ ‫ورودی‬‫عکس‬ ‫برابر‬‫دو‬ ‫خروجی‬ ‫عکس‬ :1
i(‫خروجی‬ ‫عکس‬ :i+1‫است‬ ‫ورودی‬‫عکس‬ ‫برابر‬ )… : i
8191‫خروجی‬ ‫عکس‬ :8192‫است‬ ‫ورودی‬ ‫عکس‬ ‫برابر‬8191
. ‫رود‬ ‫می‬ ‫بین‬‫از‬ ‫شده‬ ‫بزرگ‬ ‫عکس‬ ، ‫بزرگنمایی‬‫میزان‬‫تﻐییر‬ ‫از‬ ‫پس‬
‫بزر‬‫میزان‬.‫باشد‬ ‫می‬ ‫صفر‬‫فرض‬ ‫پیش‬ ‫بصورت‬ ‫نمایی‬ ‫گ‬
4.‫سایز‬‫تعیین‬: ‫اصلی‬ ‫عکس‬
‫باید‬ ‫اصلی‬ ‫عکس‬‫سایز‬ ‫نمودن‬‫مشخص‬ ‫برای‬CMD[2-0]،"011": ‫باشد‬
‫نتیجه‬CMDD[0]CMD[2-0]
‫در‬ ‫را‬ ‫عکس‬ ‫طول‬ :‫عکس‬ ‫طول‬ ‫تﻐییر‬CMDD[12-1]‫ریخته‬
‫پیش‬‫بصورت‬‫عکس‬ ‫طول‬‫فرض‬240‫بوده‬‫پیکسل‬
0
011
: ‫ها‬‫ستون‬‫تعداد‬ ‫تﻐییر‬‫در‬ ‫را‬ ‫ها‬ ‫ستون‬‫تعداد‬CMDD[12-1]‫ریخته‬
‫عکس‬ ‫عرض‬‫پیش‬‫بصورت‬‫فرض‬320‫بوده‬‫پیکسل‬
1
5: ‫وضعیت‬ ‫نوشتن‬‫و‬ ‫.خواندن‬Debug Status:
‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬
39
‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬FPGA‫را‬debug‫باید‬ ، )‫امکان‬ ‫صورت‬ ‫دهیم(در‬ ‫تﻐییر‬ ‫یا‬ ‫بخوانیم‬ ‫آنرا‬ ‫وضعیت‬ ‫و‬ ‫نمائیم‬
CMD[2-0]‫را‬"100". ‫داد‬ ‫قرار‬
‫باید‬ ‫بخوانیم‬ ‫را‬ ‫وضعیت‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬CMDD[0]،"0"‫وضعیت‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫و‬FPGA‫را‬
‫باید‬ ، ‫دهیم‬‫تﻐییر‬"1": ‫باشد‬
‫نتیجه‬CMDD[0]CMD[2-0]
‫خواندن‬:‫وضعیت‬FPGA‫در‬CMDD[11:0]‫شود‬ ‫می‬ ‫ریخته‬0
100
‫در‬ ‫باید‬‫را‬ ‫جدید‬ ‫وضعیت‬: ‫نوشتن‬CMDD[12:1]‫ریخت‬1
‫وضعیت‬ ‫دادن‬‫تﻐییر‬ ‫و‬ ‫وضعیت‬ ‫نوشتن‬ ‫برای‬FPGA.‫باشد‬‫پذیر‬ ‫امکان‬ ‫باید‬‫جدید‬ ‫وضعیت‬ ،
6‫عکس‬‫از‬ ‫پیکسل‬ ‫یک‬ ‫.خواندن‬Load: ‫شده‬
‫عکس‬ ‫به‬ ‫مربوط‬ ‫حافظه‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬Load‫روی‬ ‫شده‬FPGA‫باید‬ ، ‫بخوانیم‬ ‫را‬CMD[2-0]‫با‬ ‫برابر‬
"101"‫در‬ ‫پیکسل‬ ‫شماره‬ ‫همچنین‬ ‫و‬ ، ‫شود‬CMDD.‫گیرد‬ ‫قرار‬
4-4-‫دسﺘﮕاه‬ ‫اﻧدازی‬ ‫راه‬
‫آنرا‬ ‫ابتدا‬ ، ‫دستگاه‬ ‫اندازی‬ ‫راه‬ ‫برای‬Config: ‫دهیم‬ ‫می‬ ‫انجام‬ ‫را‬ ‫زیر‬ ‫موارد‬ ‫سپس‬ ‫و‬ ‫نموده‬
1.: ‫دستگاه‬ ‫به‬ ‫عکس‬ ‫انتقال‬
‫خط‬ ‫روی‬ ‫را‬ ‫پیکسل‬ ‫اولین‬ ‫اطالعات‬ ، ‫دستگاه‬ ‫به‬ ‫عکس‬ ‫یک‬ ‫انتقال‬ ‫برای‬Data‫پایه‬ ‫و‬ ‫داده‬ ‫قرار‬RE
‫های‬ ‫(پایه‬ ‫نموده‬‫فعال‬ ‫را‬WE‫و‬RST‫یک‬ ‫سپس‬ ‫و‬ )‫باشند‬ ‫فعال‬ ‫غیر‬ ‫باید‬Clock‫داده‬ ‫دستگاه‬ ‫به‬
‫پایه‬ ‫ابتدا‬RD‫دستگاه‬)‫دیگر‬ ‫دستور‬ ‫یا‬ ‫کار‬ ‫یک‬ ‫انجام‬ ‫برای‬ ‫دستگاه‬ ‫آمادگی‬ ‫(عدم‬ ‫نموده‬ ‫غیرفعال‬ ‫را‬
‫پایه‬ ‫دستگاه‬ ‫آمادگی‬ ‫و‬ ‫دیتا‬ ‫نمودن‬ ‫ﺫخیره‬ ‫از‬ ‫پس‬ ‫و‬RD‫ترتیت‬ ‫همین‬ ‫به‬‫توان‬ ‫می‬ ‫حال‬ ‫؛‬ ‫شود‬ ‫می‬ ‫فعال‬
‫را‬ ‫ها‬ ‫پیکسل‬ ‫سایر‬ ‫اطالعات‬. ‫نمود‬‫منتقل‬ ‫دستگاه‬ ‫به‬ ‫یکی‬ ‫یکی‬
2.: ‫تصویر‬ ‫بزرگنمایی‬
‫بزرگنما‬ ‫برای‬‫خروجی‬ ‫عکس‬ ‫شدن‬ ‫آماده‬ ‫و‬ ‫تصویر‬ ‫یی‬‫های‬ ‫پایه‬ ‫باید‬WE‫و‬RE‫(پایه‬ ‫نموده‬ ‫فعال‬ ‫را‬
RST‫یک‬ ‫سپس‬ ‫و‬ )‫باشد‬‫فعال‬ ‫غیر‬ ‫باید‬Clock.‫دهیم‬ ‫می‬ ‫دستگاه‬ ‫به‬
‫پایه‬ ‫ابتدا‬RD‫دستگاه‬)‫دیگر‬ ‫دستور‬ ‫یا‬ ‫کار‬ ‫یک‬ ‫انجام‬ ‫برای‬‫دستگاه‬ ‫آمادگی‬ ‫(عدم‬ ‫نموده‬ ‫غیرفعال‬ ‫را‬
‫پایه‬ ‫دستگاه‬ ‫آمادگی‬ ‫و‬ ‫خروجی‬ ‫عکس‬ ‫شدن‬ ‫آماده‬ ‫و‬ ‫عکس‬ ‫شدن‬ ‫بزرگ‬ ‫از‬ ‫پس‬ ‫و‬RD‫می‬ ‫فعال‬
‫شود‬.
‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬
40
3.: ‫خروجی‬ ‫به‬ ‫شده‬ ‫بزرگ‬ ‫عکس‬ ‫انتقال‬
‫خط‬ ‫روی‬ ‫را‬ ‫پیکسل‬‫اولین‬ ‫اطالعات‬ ، ‫دستگاه‬ ‫به‬ ‫عکس‬‫یک‬ ‫انتقال‬ ‫برای‬Data‫داد‬ ‫قرار‬‫پایه‬ ‫و‬ ‫ه‬WE
‫های‬ ‫(پایه‬ ‫نموده‬‫فعال‬ ‫را‬RE‫و‬RST‫یک‬ ‫سپس‬ ‫و‬ )‫باشند‬ ‫فعال‬ ‫غیر‬ ‫باید‬Clock.‫دهیم‬ ‫می‬ ‫دستگاه‬ ‫به‬
‫پایه‬ ‫ابتدا‬RD‫دستگاه‬‫ﺫخیره‬ ‫از‬ ‫پس‬ ‫و‬ )‫دیگر‬ ‫دستور‬ ‫یا‬ ‫کار‬ ‫یک‬ ‫انجام‬ ‫برای‬ ‫دستگاه‬ ‫آمادگی‬ ‫(عدم‬ ‫نموده‬ ‫غیرفعال‬ ‫را‬
‫پایه‬ ‫دستگاه‬ ‫آمادگی‬ ‫و‬ ‫دیتا‬ ‫نمودن‬RD‫حال‬ ‫؛‬ ‫شود‬ ‫می‬ ‫فعال‬‫را‬ ‫ها‬ ‫پیکسل‬ ‫سایر‬ ‫اطالعات‬ ‫ترتیت‬ ‫همین‬ ‫به‬ ‫توان‬ ‫می‬
. ‫نمود‬‫منتقل‬ ‫دستگاه‬ ‫به‬ ‫یکی‬ ‫یکی‬
4-5-‫برﻧامه‬ ‫طراحی‬
1.‫تابع‬BinToInt:
(‫اینتیجر‬ ‫به‬ ‫را‬ ‫باینری‬ ‫مقادیر‬ ‫تابع‬ ‫این‬integer.‫کند‬ ‫می‬ ‫تبدیل‬ )
FUNCTION BinToInt (bin : BIT_VECTOR) RETURN INTEGER IS
VARIABLE result: INTEGER;
BEGIN
result := 0;
FOR I IN bin’RANGE LOOP
IF bin(i) = ‘1’ THEN
result := result + 2**i;
END IF;
END LOOP;
RETURN result;
END BinToInt;
2.‫تابع‬IntToBin:
‫مقادیر‬‫تبدیل‬ ‫برای‬integer.‫شود‬ ‫می‬ ‫استفاده‬ ‫باینری‬ ‫به‬
Function IntToBin (Number : Integer ; MaxIndex : Integer) Return Bit_Vector is
variable s : Bit_Vector(MaxIndex downto 0) := “000000000000000000000000”;
variable t : Integer;
variable I : Integer;
‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬
41
BEGIN
t := Number;
I := 0;
while t /= 0 Loop
IF(t mod 2 =0) then
s(i) := ‘0’;
ELSE
s(i) := ‘1’;
END IF;
I := I + 1;
t := t / 2;
END Loop;
return (s);
END IntToBin;
‫عرض‬ ‫و‬ ‫طول‬ ‫مقادیر‬ ‫خواهیم‬ ‫می‬ ‫که‬ ‫کرد‬ ‫اشاره‬ ‫وقتی‬ ‫به‬ ‫توان‬ ‫می‬ ‫دارد‬ ‫کاربرد‬ ‫تابع‬ ‫این‬ ‫که‬ ‫مواقعی‬ ‫جمله‬ ‫از‬‫عکس‬
‫با‬ ‫برابر‬ ‫را‬ ‫عکس‬ ‫طول‬ ‫گوییم‬ ‫می‬ ‫دستگاه‬ ‫به‬ ‫مثال‬ ‫طور‬ ‫بدهیم.(به‬ ‫دستگاه‬ ‫به‬ ‫را‬320‫به‬ ‫ابتدا‬ ‫عدد‬ ‫این‬ ‫باید‬ ‫که‬ ‫بده‬ ‫قرار‬
‫شود‬ ‫تبدیل‬ ‫باینری‬)
3.‫رنگی‬ ‫مد‬16‫و‬24: ‫بیتی‬
‫تابع‬ ‫یکدیگر‬ ‫به‬ ‫آنها‬ ‫تبدیل‬ ‫برای‬ ‫و‬ ‫دادیم‬ ‫قرار‬ ‫نظر‬ ‫مد‬ ‫را‬ ‫رنگی‬ ‫مدهای‬ ‫پروژه‬ ‫این‬ ‫در‬FUNCTION
Color24To16‫های‬ ‫بیت‬ ‫که‬ ‫است‬ ‫گونه‬ ‫این‬ ‫تبدیل‬ ‫این‬ ‫نحوه‬ .‫ایم‬ ‫کرده‬ ‫سازی‬ ‫پیاده‬ ‫را‬5‫و‬6‫و‬7‫و‬14‫و‬15‫و‬21‫و‬
22‫و‬23‫مد‬ ‫تبدیل‬ ‫(برای‬ ‫نمیکنیم‬ ‫استفاده‬ ‫را‬24‫مد‬ ‫به‬16‫مد‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬ .)16‫به‬ ‫را‬
‫مد‬24.‫دهیم‬ ‫قرار‬ ‫صفر‬ ‫را‬ ‫شده‬ ‫گفته‬ ‫های‬ ‫بیت‬ ‫مقادیر‬ ‫باید‬‫کنیم‬ ‫تبدیل‬
4.‫حافظه‬‫عکس‬ ‫سازی‬ ‫ﺫخیره‬ ‫برای‬
‫هرکدام‬ ‫که‬ ‫کنیم‬ ‫می‬ ‫ایجاد‬ ‫آرایه‬ ‫صورت‬ ‫به‬ ‫حافظه‬ ‫یک‬ ‫کنیم‬ ‫می‬ ‫دریافت‬ ‫ورودی‬ ‫از‬ ‫که‬ ‫عکسی‬ ‫سازی‬ ‫ﺫخیره‬ ‫برای‬
‫آرایه‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫نیز‬ ‫آن‬ ‫های‬ ‫خانه‬ ‫از‬24‫مد‬ ‫وجود‬ ‫علت‬ ‫به‬ ‫اینکار‬ ‫دلیل‬ .‫باشد‬ ‫می‬ ‫بیتی‬24‫در‬ ‫و‬ ‫باشد‬ ‫می‬ ‫بیتی‬
‫مد‬ ‫از‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬16‫ک‬ ‫استفاده‬ ‫بیتی‬‫های‬ ‫خانه‬ ‫باید‬‫نیم‬16‫تا‬23.‫کنیم‬ ‫پر‬ ‫صفر‬ ‫مقدار‬ ‫با‬‫را‬
‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬
42
‫حافظه‬ ‫نیز‬‫شده‬ ‫بزرگ‬ ‫عکس‬ ‫سازی‬ ‫ﺫخیره‬ ‫برای‬.‫شود‬ ‫ایجاد‬ ‫باید‬ ‫صورت‬ ‫همین‬ ‫به‬ ‫ای‬
5.Process (clk , RST)
‫پروسس‬ ‫این‬ ‫در‬‫به‬ ‫باتوجه‬‫قسمت‬ ‫در‬ ‫که‬ ‫پیکربندی‬ ‫نحوه‬4-3‫شد‬ ‫داده‬ ‫توضیﺢ‬‫های‬ ‫حالت‬ ‫به‬ ‫افزار‬ ‫سخت‬
.‫رود‬ ‫می‬ ‫مختلفی‬
‫ﺫکر‬ ‫قابل‬‫های‬ ‫بیت‬ ‫که‬ ‫است‬[0-12]CMDD‫خطوط‬ ‫همان‬Data[0-12]‫های‬ ‫بیت‬‫و‬ ‫باشند‬‫می‬CMD[2:0]
‫،خطوط‬Data[15-13].‫باشند‬ ‫می‬
‫خط‬ ‫که‬ ‫صورتی‬ ‫در‬RD‫نگرفته‬ ‫انجام‬ ‫دستگاه‬ ‫روی‬ ‫الزم‬ ‫عملیات‬ ‫که‬ ‫میشود‬ ‫مشخص‬ ‫باشد‬ ‫داشته‬ ‫را‬ ‫صفر‬ ‫مقدار‬
‫باشد‬ ‫می‬ ‫عکس‬ ‫کردن‬ ‫بزرگ‬ ‫حال‬ ‫در‬ ‫دستگاه‬ ‫که‬ ‫هنگامی‬ ‫مثال‬ ‫عنوان‬ ‫به‬‫خط‬RD‫وقتی‬ ‫و‬ ‫دارد‬ ‫را‬ ‫صفر‬ ‫مقدار‬
‫شد‬ ‫انجام‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫بزرگنمایی‬ ‫عمل‬ ‫که‬RD‫که‬ ‫است‬ ‫این‬ ‫ی‬ ‫دهنده‬ ‫نشان‬ ‫این‬ ‫که‬ ‫میگیرد‬ ‫یک‬ ‫مقدار‬
‫رفتن‬ ‫آماده‬ ‫و‬ ‫داده‬ ‫انجام‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫را‬ ‫عملیات‬ ‫دستگاه‬‫به‬state.‫میباشد‬ ‫بعدی‬
‫اعمال‬ ‫این‬ ‫انجام‬ ‫برای‬ ‫که‬ ‫باشیم‬ ‫داشته‬ ‫توجه‬ ‫باید‬‫خط‬ ‫مقدار‬RST(.‫کند‬ ‫تﻐییر‬ ‫یک‬ ‫به‬ ‫صفر‬ ‫از‬ ‫باید‬RST‫باید‬
) .‫باشد‬ ‫فعال‬
‫عکس‬ ‫طول،عرض‬ ،‫بزرگنمایی‬ ‫مقادیر‬ ‫پروسس‬ ‫این‬ ‫در‬‫طول‬ ‫فرض‬ ‫پیش‬ ‫صورت‬ ‫به‬ ‫که‬ ‫میشود‬ ‫دهی‬ ‫مقدار‬
‫را‬ ‫عکس‬320‫را‬ ‫آن‬ ‫،عرض‬240‫با‬ ‫برابر‬ ‫را‬ ‫بزرگنمایی‬ ‫مقدار‬ ‫و‬0‫باهم‬‫خروجی‬ ‫و‬ ‫ورودی‬ ‫عکس‬ ‫حالت‬ ‫این‬ ‫(در‬
‫گر‬ ‫نظر‬ ‫در‬ ).‫باشند‬ ‫می‬ ‫برابر‬.‫ایم‬ ‫فته‬
‫برای‬ ‫و‬ ‫خیر‬ ‫یا‬ ‫است‬ ‫رسیده‬ ‫اتمام‬ ‫به‬ ‫ورودی‬ ‫عکس‬ ‫خواندن‬ ‫اینکه‬ ‫کردن‬ ‫مشخص‬ ‫برای‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬
‫خط‬ ‫دو‬ ‫است‬ ‫رسیده‬ ‫پایان‬ ‫به‬ ‫عکس‬ ‫کردن‬ ‫بزرگ‬ ‫اینکه‬ ‫نمودن‬ ‫مشخص‬image-ready‫و‬resimage-ready‫را‬
‫می‬ ‫مشخص‬ ‫باشند‬ ‫داشته‬ ‫را‬ ‫یک‬ ‫مقدار‬ ‫خطوط‬ ‫این‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫که‬ ‫ایم‬ ‫گرفته‬ ‫نظر‬ ‫در‬‫به‬ ‫عملیات‬ ‫این‬ ‫که‬ ‫شود‬
.‫است‬ ‫رسیده‬ ‫اتمام‬
6.Resize‫عکس‬ ‫کردن‬
‫خطوط‬ ‫مقادیر‬ ‫عمل‬ ‫این‬ ‫برای‬RE‫و‬WE‫ی‬ ‫رونده‬ ‫باال‬ ‫ی‬ ‫لبه‬ ‫آمدن‬ ‫با‬ ‫که‬ ‫باشند‬ ‫یک‬ ‫باید‬Clk‫که‬ ‫صورتی‬ ‫در‬
‫حالت‬ ‫در‬ ‫دستگاه‬ReSizeImage‫یا‬DownLoadImage‫خط‬ ‫باشد‬RD‫و‬resimage-ready‫صفر‬ ‫مقدار‬
‫حالت‬ ‫به‬ ‫دستگاه‬ ‫و‬ ‫میگیرد‬ReSizingImage‫حلقه‬ ‫چهار‬ ‫توسط‬ ‫سپس‬ ‫و‬ ‫رفته‬for‫در‬ ‫آن‬ ‫عملکرد‬ ‫ی‬ ‫نحوه‬ ‫که‬
‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬
43
‫قسمت‬4-1‫خطوط‬ ‫آخر‬ ‫در‬ . ‫پردازد‬ ‫می‬ ‫تصویر‬ ‫بزرگنمایی‬ ‫به‬ ‫شد‬ ‫داده‬ ‫توضیﺢ‬RD‫و‬resimage-ready
‫مقدار‬‫حالت‬ ‫به‬‫دستگاه‬ ‫و‬ ‫گرفته‬ ‫یک‬ReSizeImage.‫رود‬ ‫می‬
4-6-‫ﻧﺘایج‬ ‫و‬ ‫سازی‬ ‫شبﻴه‬
‫سازی‬ ‫شبیه‬ ‫افزار‬ ‫نرم‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫سازی‬ ‫شبیه‬ ‫این‬ .‫پردازیم‬ ‫می‬ ‫شده‬ ‫نوشته‬ ‫برنامه‬ ‫سازی‬ ‫شبیه‬ ‫به‬ ‫قسمت‬ ‫این‬ ‫در‬
ModelSim‫شرکت‬Altera‫است‬ ‫شده‬ ‫سازی‬ ‫شبیه‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫برنامه‬ ‫این‬ ‫های‬ ‫قسمت‬ ‫تمامی‬ .‫است‬ ‫گرفته‬ ‫انجام‬
‫احتمالی‬ ‫اشکال‬ ‫گونه‬ ‫هر‬ ‫از‬ ‫تا‬‫آید‬ ‫عمل‬ ‫به‬‫جلوگیری‬.
‫پروژه‬ ‫این‬ ‫در‬‫یک‬ ‫سازی‬ ‫شبیه‬ ‫عمل‬ ‫انجام‬ ‫برای‬testbench‫عملکرد‬‫ی‬ ‫نحوه‬ ‫توضیﺢ‬ ‫به‬ ‫زیر‬ ‫در‬ ‫که‬ ‫است‬ ‫شده‬ ‫نوشته‬
.‫ایم‬ ‫پرداخته‬ ‫آن‬
‫این‬testbench‫های‬ ‫پروسیجر‬ ‫به‬ ‫توان‬ ‫می‬ ‫آن‬ ‫ی‬ ‫جمله‬ ‫از‬ ‫که‬ ‫است‬ ‫پروسیجر‬ ‫چند‬ ‫از‬ ‫متشکل‬SetZoomOut‫که‬
‫بزرگنمایی‬ ‫میزان‬ ‫تعیین‬ ‫برای‬،SetPicW، ‫عکس‬ ‫طول‬ ‫برای‬ ‫که‬Set PicH‫برای‬‫اشاره‬ ‫میتوان‬ ‫غیره‬‫و‬ ‫عکس‬ ‫عرض‬
‫توضیﺢ‬ ‫به‬ ‫ادامه‬ ‫در‬ ‫که‬ ‫کرد‬‫از‬ ‫برخی‬‫پرداخته‬ ‫آنها‬.‫ایم‬
‫در‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬testbench‫خطوط‬ ‫شده‬ ‫نوشته‬DataIn‫و‬DateOut‫گرفنه‬ ‫نظر‬ ‫در‬ ‫هم‬ ‫از‬ ‫مجزا‬ ‫صورت‬ ‫به‬
.‫اند‬ ‫شده‬
‫یک‬ ‫صورت‬ ‫به‬ ‫برنامه‬ ‫های‬ ‫ورودی‬Component‫برنامه‬ ‫مخلف‬ ‫قسمت‬ ‫در‬ ‫آنها‬ ‫از‬ ‫بتوانیم‬ ‫تا‬ ‫اند‬ ‫شده‬ ‫گرفته‬ ‫نظر‬ ‫در‬
.‫کنیم‬ ‫استفاده‬
‫خط‬ ‫پردازیم‬ ‫می‬ ‫آنها‬ ‫به‬ ‫ادامه‬ ‫در‬ ‫که‬ ‫پروسیجرهایی‬ ‫تمام‬ ‫در‬RST‫مقدار‬ ‫ابتدا‬ ‫در‬ ‫دلیل‬ ‫همین‬ ‫به‬ ‫بشود‬ ‫فعال‬ ‫باید‬1‫و‬
‫گذشت‬ ‫از‬ ‫بعد‬1ns‫مقدار‬ ‫دوباره‬0.‫گیرد‬ ‫می‬ ‫خود‬ ‫به‬ ‫را‬
1.‫رنگی‬ ‫مد‬16‫و‬24‫بیتی‬
‫ا‬ ‫در‬‫مقدار‬ ‫پروسیجر‬ ‫ین‬001‫در‬ ‫را‬CMD[2-0]‫ریخته‬(Data IN (15 down to 13)‫طبق‬ ‫صورت‬ ‫این‬ ‫در‬ )
‫توضیحات‬‫بخش‬ ‫در‬ ‫شده‬ ‫گفته‬4-3.‫میگیرد‬ ‫قرار‬ ‫/خروجی‬ ‫ورودی‬ ‫داده‬ ‫مد‬‫تﻐییر‬ ‫حالت‬ ‫در‬
Procedure SetColorMode(Constant Mode;Signal DataIn; Signal RST)
{
DataIn(0) <= Mode;
DataIn(15 downto 13) <= "001";
‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬
44
RST <= '1' , '0' after 1 ns ;
}
2.‫نمایی‬ ‫بزرگ‬ ‫اندازه‬‫تعیین‬
‫های‬ ‫پایه‬ ‫روی‬ ‫تصاویر‬ ‫بزرگنمایی‬ ‫مقدار‬ ‫پروسیجر‬ ‫این‬ ‫در‬CMDD[12-0]‫گیرد‬ ‫می‬ ‫قرار‬( Data IN (12 down
to 0) )‫های‬ ‫پایه‬ ‫همچنین‬ ،CMD[2-0]‫مقدار‬010‫در‬ ‫شده‬ ‫ارائه‬ ‫توضیحات‬ ‫طبق‬ ‫صورت‬ ‫این‬ ‫در‬ ‫که‬ ‫گیرد‬ ‫می‬
‫بخش‬4-3.‫گیریم‬ ‫می‬ ‫قرار‬‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬‫میزان‬‫تﻐییر‬ ‫حالت‬ ‫در‬
Procedure SetZoomOut(Constant ZoomOutValue;Signal DataIn;Signal RST)
{
DataIn(12 downto 0) <= IntToBin(ZoomOutValue,13);
DataIn(15 downto 13) <= "010";
RST <= '1' , '0' after 1 ns ;
}
3.‫عکس‬ ‫طول‬‫تﻐییر‬
‫های‬ ‫پایه‬ ‫پروسیجر‬ ‫این‬ ‫در‬CMD[2-0]‫با‬ ‫را‬011‫در‬ ‫عکس‬ ‫طول‬ ‫اندازه‬ ‫و‬ ‫کنیم‬ ‫می‬ ‫مقداردهی‬CMDD[12-1]
‫شود‬ ‫می‬ ‫ریخته‬.
Procedure SetPicW(Constant W;Signal DataIn;Signal RST)
{
DataIn(0) <= '0';
DataIn(12 downto 1) <= IntToBin(W,12);
DataIn(15 downto 13) <= "011";
RST <= '1' , '0' after 1 ns ;
}
4.‫عکس‬ ‫عرض‬‫تﻐییر‬
‫های‬ ‫پایه‬ ‫پروسیجر‬ ‫این‬ ‫در‬CMD[2-0]‫با‬ ‫را‬011‫مقدار‬‫می‬ ‫دهی‬‫در‬ ‫عکس‬ ‫عرض‬ ‫اندازه‬ ‫و‬ ‫کنیم‬CMDD[12-1]
.‫شود‬ ‫می‬ ‫ریخته‬
Procedure SetPicH(Constant H;Signal DataIn;Signal RST)
‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬
45
{
DataIn(0) <= '1';
DataIn(12 downto 1) <= IntToBin(H,12);
DataIn(15 downto 13) <= "011";
RST <= '1' , '0' after 1 ns ;
}
‫در‬tese bench‫(کد‬ ‫شده‬ ‫نوشته‬use unit)‫شده‬ ‫پیوست‬‫فرض‬ ‫پیش‬ ‫صورت‬ ‫به‬ ‫عکس‬ ‫عرض‬ ‫و‬ ‫طول‬320‫و‬240
‫مقدار‬ ‫فرض‬ ‫پیش‬ ‫صورت‬ ‫به‬ ‫همچنین‬ ‫و‬ ‫است‬ ‫شده‬ ‫گرفته‬ ‫نظر‬ ‫در‬ZoomOut‫و‬CMode‫نظرگرفته‬‫در‬ ‫صفر‬‫با‬‫برابر‬
.‫است‬ ‫شده‬‫عکس‬‫یک‬ (320×240‫مد‬ ‫در‬24‫بزرگنمایی‬ ‫مقدار‬ ‫با‬‫بیتی‬1‫است‬ ‫شده‬ ‫گرفته‬ ‫نظر‬ ‫در‬).
‫در‬‫دس‬ ‫عملکرد‬ ‫دادن‬ ‫نشان‬ ‫منظور‬ ‫به‬ ‫ادامه‬‫عکس‬ ‫یک‬ ‫تگاه‬2×3‫را‬ ‫آن‬ ‫خواهیم‬ ‫می‬ ‫و‬ ‫دهیم‬ ‫می‬ ‫دستگاه‬ ‫به‬ ‫را‬6‫برابر‬
‫کنیم‬‫ابتدا‬ ‫در‬ ‫عکس‬ ‫سایز‬ ‫که‬ ‫شود‬ ‫می‬ ‫مشاهده‬ ‫ایم‬ ‫آورده‬ ‫زیر‬ ‫در‬ ‫که‬ ‫شده‬ ‫سازی‬ ‫شبیه‬ ‫تصاویر‬ ‫در‬ ‫که‬ ‫همانطور‬
320×240‫به‬ ‫ادامه‬ ‫در‬ ‫که‬ ‫است‬ ‫بوده‬2×3‫است‬ ‫کرده‬‫تﻐییر‬‫در‬‫تﻐییر‬ ‫همچنین‬state‫توا‬ ‫می‬ ‫را‬ ‫ها‬‫مشاهده‬ ‫ن‬.‫کرد‬
‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬
46
‫شکل‬4-1-‫سازی‬ ‫شبﻴه‬‫ﻧﺘﻴجه‬
‫کد‬VHDL. ‫باشد‬ ‫می‬ ‫نامه‬ ‫پایان‬ ‫این‬ ‫به‬ ‫شده‬ ‫پیوست‬ ‫دی‬ ‫سی‬ ‫داخل‬ ‫برنامه‬‫این‬
‫پنجم‬ ‫فصل‬-‫گﻴری‬ ‫ﻧﺘﻴجه‬
‫پردازش‬‫تصویر‬‫و‬‫بینایی‬‫ماشین‬‫از‬‫مهمترین‬‫شاخه‬‫ها‬‫ی‬‫هوش‬‫مصنوعی‬‫است‬.‫این‬‫سیستم‬‫ها‬‫با‬‫مکانیزاسیون‬
‫سیستم‬‫ها‬‫ی‬‫فعلی‬‫امکانات‬‫مناسبی‬‫در‬‫اختیار‬‫ما‬‫قرار‬‫می‬‫دهداز‬‫آنجایی‬‫که‬‫درک‬‫محیط‬‫پیرامون‬‫یکی‬‫از‬‫اساسی‬
‫ترین‬‫عامل‬‫ها‬‫ی‬‫هوشمند‬‫هر‬‫عاملی‬‫محسوب‬‫می‬‫شود‬،‫مسئله‬‫پردازش‬‫تصویر‬‫اهمیت‬‫خود‬‫را‬‫بیشتر‬‫نشان‬‫می‬‫دهد‬‫و‬
‫بعضی‬‫از‬‫این‬‫کاربردها‬‫آنچنان‬‫به‬‫پردازش‬‫تصویر‬‫وابسته‬‫هستند‬‫که‬‫بدون‬‫آن‬،‫اساسا‬‫قابل‬‫استفاده‬‫نمی‬‫باشند‬.‫در‬
‫کنار‬‫این‬‫موارد‬،‫خطاها‬‫ی‬‫بینایی‬‫انسان‬‫و‬‫عدم‬‫توانایی‬‫انسان‬‫در‬‫انجام‬‫کارها‬‫ی‬‫مداوم‬‫و‬‫طوالنی‬‫نیاز‬‫به‬‫پردازش‬
‫تصویر‬‫و‬‫بینایی‬‫ماشین‬‫را‬‫بیشتر‬‫جلوه‬‫می‬‫دهد‬.‫دامنه‬‫کاربرد‬‫این‬‫شاخه‬‫از‬‫فناور‬‫ی‬‫در‬‫حال‬‫رشد‬،‫بسیار‬‫وسیع‬‫است‬‫و‬
‫از‬‫کاربردها‬‫ی‬‫عا‬‫م‬‫و‬‫معمولی‬‫مثل‬‫کنترل‬‫کیفیت‬‫خط‬‫تولید‬‫و‬‫نظارت‬‫ویدئویی‬‫گرفته‬‫تا‬‫تکنولوژ‬‫ها‬‫ی‬‫جدید‬‫مثل‬
‫اتومبیل‬‫ها‬‫ی‬‫بدون‬‫راننده‬‫را‬‫دربرگرفته‬‫است‬.‫با‬‫توجه‬‫به‬‫رشد‬‫چشمگیر‬‫که‬‫علم‬‫پردازش‬‫تصویر‬‫در‬‫سالها‬‫ی‬‫اخیر‬
‫داشته‬‫است‬،‫آینده‬‫بسیار‬‫روشنی‬‫در‬‫این‬‫علم‬‫دیده‬‫می‬‫شود‬.‫و‬‫این‬‫شاخه‬‫از‬‫هوش‬‫مصنوعی‬‫ازپر‬‫کاربرد‬‫ترین‬‫شاخه‬
‫ها‬‫می‬‫باشد‬‫که‬‫هنوز‬‫مسایل‬‫حل‬‫نشده‬‫زیاد‬‫ی‬‫درخود‬.‫دارد‬
FPGA‫کرده‬ ‫ایجاد‬ ‫دهندگان‬ ‫توسعه‬ ‫و‬ ‫طراحان‬ ‫برای‬ ‫را‬ ‫کارا‬ ‫و‬ ‫مختلف‬ ‫های‬ ‫سیستم‬ ‫توسعه‬ ‫برای‬ ‫مناسﺐ‬ ‫بستری‬ ‫ها‬
‫و‬ ‫ریخت‬ ‫برنامه‬ ‫بار‬ ‫چندین‬ ‫آنها‬ ‫روی‬ ‫بر‬ ‫توان‬ ‫می‬ ‫و‬ ‫هستند‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫مجتمع‬ ‫مدارات‬ ‫این‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬ .‫اند‬
،‫کنیم‬ ‫تست‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ ‫نظرمان‬ ‫مورد‬ ‫سیستم‬‫توج‬ ‫مورد‬‫سودمند‬ ‫بسیار‬ ‫تحقیقاتی‬ ‫موارد‬ ‫در‬ ‫و‬ ‫گیرند‬ ‫می‬ ‫قرار‬ ‫ه‬
.‫باشند‬ ‫می‬
‫آستانه‬ ‫مانند‬ ‫مفاهیمی‬ ‫و‬ ‫شد‬ ‫پرداخته‬ ‫تصویر‬ ‫پردازش‬ ‫از‬ ‫ای‬ ‫تاریخچه‬ ‫به‬ ،‫مقدمه‬ ‫ایراد‬ ‫از‬ ‫پس‬ ‫نامه‬ ‫پایان‬ ‫این‬ ‫ابتدای‬ ‫در‬
.‫شد‬ ‫داده‬ ‫توضیﺢ‬ ‫وغیره‬ ‫تصویر‬ ‫های‬ ‫لبه‬ ،‫هیستوگرام‬ ، ‫گیری‬
‫فصل‬‫پنجم‬‫نتیجه‬‫گیری‬
48
‫ها‬ ‫تراشه‬ ‫از‬ ‫ای‬ ‫تاریخچه‬ ‫به‬ ‫سوم‬ ‫فصل‬ ‫در‬‫ی‬FPGA‫شده‬ ‫طراحی‬ ‫شکلی‬ ‫به‬ ‫مدارات‬ ‫این‬ ‫که‬ ‫دریافتیم‬ ‫و‬ ‫شد‬ ‫پرداخته‬
‫باشند‬ ‫می‬ ‫مکرر‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫که‬ ‫اند‬‫افزاری‬ ‫سخت‬ ‫توصیف‬ ‫ربان‬ ‫به‬ ‫راجع‬ ‫توضیحاتی‬ ‫به‬ ‫ادامه‬ ‫در‬ ‫و‬VHDL
.‫پرداختیم‬
‫را‬ ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫چهارم‬ ‫فصل‬ ‫در‬‫روی‬ ‫به‬ ‫انتقال‬ ‫قابلیت‬ ‫که‬FPGA‫زبان‬ ‫به‬ ‫دارد‬ ‫را‬VHDL‫طراحی‬
.‫کردیم‬
‫نوشت‬ ‫کوتاه‬‫ها‬
49
‫ها‬ ‫نوشت‬ ‫کوتاه‬
HDL:Hardware Description Language
FPGA:Field – Programmable Gate Array
VHDL: VHSIC(Very High Speed Integrated Circuit) Hardware Description Language
PLD: Programmable Logic Design
CMOS: Complementary Metal-Oxide Semiconductor
JPL: Jet Propulsion
CAT:Computerized Arial Topography
MRI: Magnetic Resonance Imagery
PIXEL: Picture Element
JPEG: Joint Photographic Expert Group
MPEG: Moving Picture Expert Group
LB: Logic Block
LUT: Look-up Table
SOC: System On Chip
ASIC: Application – Specific Integrated Circuit
‫منابع‬
50
‫منابع‬
[1]،‫رافائل‬ ،‫گونسالس‬"‫رقمی‬ ‫تصویر‬ ‫پردازش‬"‫فردوسی‬ ‫دانشگاه‬ ،‫پنجم‬ ‫چاپ‬ ،‫جعفری‬ ‫داود‬ ،‫خادمی‬ ‫مرتضی‬ ،
،‫مشهد‬1389.
[2]،‫ثانی‬ ‫برومند‬‫سینا‬"‫روی‬ ‫بر‬ ‫نرم‬ ‫پردازنده‬ ‫یک‬ ‫سازی‬‫شبیه‬ ‫و‬ ‫طراحی‬FPGA،"‫و‬ ‫فنی‬ ‫دانشکده‬ ،‫لیسانس‬
،‫کرمان‬ ‫باهنر‬‫شهید‬ ‫دانشگاه‬ ،‫مهندسی‬1392.
[3]،‫سیفی‬ ‫فاطمه‬"‫تصویر‬ ‫پردازش‬".‫شمال‬ ‫دانشگاه‬ ،‫افزار‬ ‫نرم‬ ‫مهندسی‬ ‫گروه‬ ،‫لیسانس‬ ،
[4]‫احمد‬.‫کامپیوتر‬ ‫و‬ ‫برق‬ ‫علمی‬ ‫های‬ ‫تازه‬ ‫و‬ ‫طباطبائیان،مقاله‬ ‫رضا‬
[5]،‫سفیدگران‬ ‫فرشید‬"‫آموزش‬VHDL"،‫افزار‬ ‫سخت‬ ‫مهندشی‬ ‫گروه‬ ،‫لیسانس‬ ،1382.
[6]،‫جهاندار‬ ‫ابراهیم‬"‫ز‬ ‫خودآموز‬‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫بان‬"‫ف‬ ‫دانشکده‬ ،.‫اصفهان‬ ‫دانشگاه‬ ،‫مهندسی‬ ‫نی‬
[7] V . A Pedroni, Circuit Design and Simulation with VHDL , The MIT Press,
2010.
[8] http://en.wikipedia.org.
[9] http://wikiproject.ir
[10] http://iran24h.com
[11] http://fa.wikipedia.org/wiki
[12]‫رباتیک‬ ‫و‬ ‫مصنوعی‬ ‫هوش‬ ‫فکر‬ ‫,اتاق‬http://ai.amini.eu/tutorial/diplntro.aspx
[13]،‫لبند‬ ‫لنارت‬ ،‫شوهولم‬ ‫اشتنان‬"‫آموزش‬VHDL"‫هنری‬ ‫فرهنگی‬ ‫موسسه‬ ،‫تهران‬ ،‫اول‬ ‫چاپ‬ ،‫گیتی‬ ‫،فرزان‬
،‫تهران‬ ‫دیباگران‬1383.
Abstract: The science of image processing is a useful and widely used science in
artificial intelligence. Day by day, this science has comprehensively and professionally
been finding a more significant and fundamental role in modern society and our country,
Iran, is almost at the beginning of the way. Besides, in working with images and
processing them, the issue of great image data is one of the considerable points. Also,
according to the capabilities and advantages of the FPGA as well as the worldwide
popularity and importance of HDL language, in the present study an effort is made to
consider magnifying images in the hardware description language. In addition, designing
stages serves as coding different parts in VHDL language and the attempt has been in
the direction of the completion of various parts of this hardware. All device functions;
furthermore, are simulated and tested using Modelism software and finally, it is ready
for being loaded on FPGA.
Shahid Bahonar University of kerman
Faculty of Technical Engineering
Department of Computer Engineering
B.Sc.Thesis
Image enlargement simulation in VHDL
Supervisor:
Dr. Vahid Sattari Naeini
By:
Vida Rajabi
May 2014

Rajabi

  • 1.
  • 2.
    ‫کرمان‬ ‫باهنر‬ ‫شهید‬‫دانشگاه‬ ‫مهندسی‬ ‫و‬ ‫فنی‬ ‫دانشکده‬ ‫افزار‬ ‫سخت‬ ‫گرایش‬ ‫کامپیوتر‬ ‫مهندسی‬ ‫رشته‬ ‫کارشناسی‬ ‫پروژه‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬ ‫شبیه‬‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫زبان‬‫به‬ ‫تصاویر‬ :‫راهنما‬ ‫استاد‬ ‫نائینی‬ ‫ستاری‬ ‫وحید‬ ‫دکتر‬ : ‫دانشجو‬ ‫رجبی‬ ‫ویدا‬ ‫ماه‬ ‫خرداد‬1393
  • 3.
    :‫تشکر‬ ‫و‬ ‫تقدیر‬ ‫تشکر‬‫با‬‫ت‬ ‫و‬ ‫گرامی‬ ‫استاد‬ ‫و‬ ‫منان‬ ‫خداوند‬ ‫از‬.‫نمودند‬ ‫یاری‬ ‫پروژه‬ ‫این‬ ‫انجام‬ ‫راستای‬ ‫در‬ ‫مرا‬ ‫که‬ ‫دوستانی‬ ‫مام‬
  • 4.
    :‫به‬ ‫تقدیم‬ ‫به‬‫تقدیم‬ ‫احترام‬‫با‬ ‫اول‬ ،‫پدرم‬‫ین‬‫است‬ ‫ســرم‬ ‫بر‬‫محبتـش‬ ‫چتر‬ ‫همـواره‬ ‫که‬ ،‫اســتادم‬ ‫آموختم‬ ‫او‬ ‫از‬ ‫را‬ ‫زندگی‬ ‫الفبای‬ ‫که‬ ‫بزرگواری‬. ‫است‬ ‫پنــاهم‬ ‫یگانه‬ ‫پرمهـرش‬ ‫دامان‬ ‫که‬ ،‫گاهم‬ ‫تکیه‬ ‫بلند‬ ،‫مادرم‬ ‫آموختم‬ ‫او‬ ‫از‬ ‫را‬ ‫ورزیدن‬ ‫عشــق‬ ‫که‬ ‫مهربانی‬.
  • 5.
    : ‫چکیده‬‫به‬ ‫امروزی‬‫جامعه‬ ‫در‬ ‫علم‬ ‫این‬ ،‫باشد‬ ‫می‬ ‫مصنوعی‬ ‫هوش‬ ‫در‬ ‫مفید‬ ‫و‬ ‫پرکاربرد‬ ‫علوم‬ ‫از‬ ‫تصویر‬ ‫پردازش‬ ‫علم‬ .‫است‬ ‫راه‬ ‫آغاز‬ ‫در‬ ‫تقریبا‬ ‫نیز‬ ‫ما‬ ‫کشور‬ ‫در‬ ‫و‬ ‫کند‬ ‫می‬ ‫پیدا‬ ‫مهمتری‬ ‫و‬ ‫اساسی‬ ‫نقش‬ ‫روز‬ ‫به‬ ‫روز‬ ‫تخصصی‬ ‫و‬ ‫جامع‬ ‫صورت‬ ‫ت‬ ‫با‬ ‫کار‬ ‫در‬ ‫مهم‬ ‫بسیار‬ ‫موضوعات‬ ‫از‬ ‫نیز‬ ‫تصویری‬ ‫های‬ ‫داده‬ ‫بزرگی‬ ‫مسئله‬‫با‬ ‫همچنین‬ .‫باشد‬ ‫می‬ ‫آنها‬ ‫وپردازش‬ ‫صاویر‬ ‫های‬ ‫قابلیت‬ ‫و‬ ‫ها‬ ‫مزیت‬ ‫به‬ ‫توجه‬FPGA‫زبان‬ ‫جهانی‬ ‫محبوبیت‬ ‫و‬ ‫اهمیت‬ ‫و‬HDL‫نمایی‬ ‫بزرگ‬ ‫نوشته‬ ‫این‬ ‫در‬ ‫مختلف‬ ‫های‬ ‫قسمت‬ ‫کدنویسی‬ ‫صورت‬ ‫به‬ ‫طراحی‬ ‫مراحل‬ .‫ایم‬ ‫کرده‬ ‫سازی‬ ‫پیاده‬ ‫را‬ ‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫زبان‬ ‫به‬ ‫تصاویر‬ ‫زبان‬ ‫به‬VHDL. ‫است‬ ‫شده‬ ‫تالش‬ ‫افزار‬ ‫سخت‬ ‫این‬ ‫مختلف‬ ‫های‬ ‫قسمت‬ ‫تکمیل‬ ‫جهت‬ ‫در‬ ‫و‬ ‫بوده‬‫عملکردهای‬ ‫تمام‬ ‫افزار‬ ‫نرم‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫دستگاه‬Modelsim‫سازی‬ ‫شبیه‬‫تست‬ ‫و‬‫شده‬‫روی‬ ‫بر‬ ‫بارگذاری‬ ‫آماده‬ ‫نهایت‬ ‫در‬ ‫و‬FPGA‫می‬ .‫باشد‬
  • 6.
    ‫مطالب‬ ‫فهرست‬ ‫عنوان‬‫صفحه‬ ‫یک‬ ‫فصل‬-‫مقدمه‬......................................................................................................1 ‫دوم‬‫فصل‬–‫تصویر‬ ‫پردازش‬.........................................................................................................................3 2-1-‫تصویر‬ ‫پردازش‬ ‫تاریخچه‬.................................................................................................................3 2-2-‫تصویر‬ ‫پردازش‬ ‫علم‬.........................................................................................................................5 2-3-‫تصویر‬ ‫پردازش‬ ‫در‬ ‫اصطالحاتی‬.....................................................................................................6 2-3-1-‫پیکسل‬......................................................................................................................................6 2-3-2-‫تصویر‬.......................................................................................................................................6 2-3-3-‫تصویر‬ ‫کردن‬ ‫خاکستری‬..........................................................................................................6 2-3-4-‫همسایگی‬...................................................................................................................................7 2-3-5-‫تصویر‬ ‫دقت‬.............................................................................................................................7 2-4-‫تصویر‬ ‫پردازش‬ ‫در‬ ‫اصلی‬ ‫عملیات‬..................................................................................................7 2-5-‫تولید‬ ‫تا‬ ‫سیستم‬ ‫به‬ ‫ورود‬ ‫لحظه‬ ‫از‬ ‫تصویر‬ ‫یک‬ ‫که‬ ‫مراحلی‬‫کند‬ ‫طی‬ ‫باید‬ ‫خروجی‬ ‫تصویر‬............8 2-5-1-‫ورودی‬ ‫تصویر‬ ‫دریافت‬...........................................................................................................8 2-5-2-‫تصویر‬ ‫پردازش‬ ‫پیش‬...............................................................................................................8 2-5-3-‫تصویر‬ ‫پردازش‬........................................................................................................................8 2-5-4-‫تصویر‬ ‫آنالیز‬............................................................................................................................8 2-6-‫هیستوگرام‬........................................................................................................................................9 2-7-‫گیری‬ ‫آستانه‬...................................................................................................................................10
  • 7.
    ‫مطالب‬ ‫فهرست‬ ‫عنوان‬‫صفحه‬ 2-8-‫تصویر‬ ‫یک‬‫در‬ ‫لبه‬ ‫تشخیص‬...........................................................................................................10 2-8-1-‫ها‬ ‫لبه‬ ‫انواع‬..............................................................................................................................11 2-8-1-1-‫افقی‬ ‫لبه‬.........................................................................................................................11 2-8-1-2-‫عمودی‬‫لبه‬.....................................................................................................................11 2-8-1-3-‫مورب‬ ‫لبه‬.......................................................................................................................11 2-9-‫ع‬‫تصاویر‬ ‫روی‬ ‫ملیات‬......................................................................................................................11 2-9-1-‫تصویر‬ ‫دو‬ ‫تفریق‬....................................................................................................................11 2-9-2-‫تصویر‬ ‫دو‬ ‫جمع‬.....................................................................................................................12 2-9-3-‫تصاویر‬ ‫از‬ ‫گیری‬ ‫میانگین‬......................................................................................................13 2-9-4-‫تصویر‬ ‫کردن‬ ‫مکمل‬..............................................................................................................13 2-9-5-‫تصویر‬ ‫کردن‬ ‫فیلتر‬................................................................................................................14 2-9-5-1-‫تیز‬ ‫های‬ ‫پیکسل‬..............................................................................................................14 2-9-5-2-‫آرام‬ ‫های‬ ‫پیکسل‬............................................................................................................14 2-9-5-3-‫کننده‬ ‫آرام‬ ‫فیلترهای‬.......................................................................................................14 2-9-5-4-‫کننده‬ ‫تیز‬ ‫فیلترهای‬........................................................................................................15 2-10-‫تصاویر‬ ‫سازی‬ ‫فشرده‬....................................................................................................................15 2-10-1-‫روش‬JPEG.........................................................................................................................16 2-10-2-‫روش‬MPEG....................................................................................................................16
  • 8.
    ‫مطالب‬ ‫فهرست‬ ‫عنوان‬‫صفحه‬ 2-10-3-‫روش‬MPEG2.................................................................................................................16 2-10-4-‫روش‬MPEG4.................................................................................................................17 2-11-‫تصویر‬ ‫پردازش‬‫کاربرد‬................................................................................................................17 ‫سوم‬ ‫فصل‬-‫پذیر‬ ‫برنامه‬ ‫منطقی‬ ‫های‬ ‫آرایه‬FPGA...............................................................................18 3-1-‫تاریخچه‬..........................................................................................................................................20 3-2-‫ساختارکلی‬FPGA........................................................................................................................21 3-2-1-‫پذیر‬ ‫برنامه‬ ‫منطقی‬ ‫های‬ ‫بلوک‬...............................................................................................22 3-2-2-‫پذیر‬ ‫برنامه‬‫اتصاالت‬...............................................................................................................22 3-2-3-‫ورودی‬ ‫های‬ ‫بل.ک‬-‫خروجی‬..............................................................................................23 3-3-‫از‬ ‫استفاده‬ ‫های‬ ‫مزیت‬FPGA‫ها‬...................................................................................................23 3-4-‫کاربرد‬FPGA................................................................................................................................25 3-5-ASIC..............................................................................................................................................26 3-6-‫های‬ ‫معماری‬ ‫انواع‬FPGA.............................................................................................................27 3-7-‫کنندگان‬ ‫تولید‬FPGA...................................................................................................................27 3-8-‫با‬ ‫طراحی‬ ‫و‬ ‫نویسی‬ ‫برنامه‬FPGA..................................................................................................28 3-8-1-‫سازی‬ ‫شبیه‬...............................................................................................................................29 3-8-1-1-‫منطقی‬ ‫سازی‬ ‫شبیه‬..........................................................................................................29 3-8-1-2-‫زمانی‬ ‫ساز‬ ‫شبیه‬...............................................................................................................30
  • 9.
    ‫مطالب‬ ‫فهرست‬ ‫عنوان‬‫صفحه‬ 3-9-‫ریزی‬ ‫برنامه‬‫های‬ ‫تگنولوژی‬FPGA.............................................................................................30 3-9-1-‫ریزی‬ ‫برنامه‬‫تکنولوژی‬SRAM..........................................................................................30 3-9-2-‫ریزی‬ ‫برنامه‬‫تکنولوژی‬FLASH..........................................................................................31 3-9-3-‫ریزی‬ ‫برنامه‬‫تکنولوژی‬ANTI-FUSE................................................................................31 3-9-4-‫شناور‬ ‫های‬ ‫گیت‬ ‫تکنولوژی‬....................................................................................................32 3-10-‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫زبان‬VHDL.............................................................................................32 3-11-‫ارزش‬ ‫در‬ ‫مالحضه‬ ‫قابل‬ ‫فاکتورهای‬VHDL.............................................................................33 3-12-‫های‬ ‫مزیت‬VHDL......................................................................................................................33 ‫چهارم‬ ‫فصل‬-‫زبان‬ ‫به‬ ‫تصاویر‬ ‫نمایی‬‫بزرگ‬ ‫برنامه‬‫سازی‬ ‫پیاده‬‫افزار‬ ‫سخت‬ ‫توصیف‬...............................35 4-1-‫نمایی‬‫بزرگ‬‫سازی‬ ‫پیاده‬................................................................................................................36 4-2-‫های‬ ‫پین‬FPGA............................................................................................................................36 4-2-1-‫پایه‬‫خروجی‬ ‫های‬FPGA....................................................................................................36 4-3-‫نحوه‬config‫پیکربندی‬ ‫و‬FPGA...............................................................................................37 4-4-‫دستگاه‬ ‫اندازی‬ ‫راه‬.........................................................................................................................39 4-5-‫برنامه‬ ‫طراحی‬..................................................................................................................................40 4-6-‫نتایج‬ ‫و‬ ‫سازی‬ ‫شبیه‬.........................................................................................................................43 ‫پنجم‬ ‫فصل‬-‫نتیجه‬‫گیری‬..............................................................................................................................47 ‫نوشت‬ ‫کوتاه‬..................................................................................................................................................49 ‫منابع‬...............................................................................................................................................................50
  • 10.
    ‫ها‬ ‫شکل‬ ‫فهرست‬ ‫شکل‬2-1-‫هیستوگرام‬‫تعدیل‬ ‫از‬ ‫قبل‬..........................................................................................................10 ‫شکل‬2-2-‫هیستوگرام‬ ‫تبدیل‬ ‫از‬ ‫بعد‬...........................................................................................................10 ‫شکل‬2-3-‫تصاویر‬ ‫جمع‬.............................................................................................................................12 ‫شکل‬2-4-‫تصویر‬ ‫گیری‬ ‫میانگین‬...............................................................................................................13 ‫شکل‬2-5-‫کننده‬ ‫آرام‬ ‫فیلتر‬ ‫تاثیر‬................................................................................................................15 ‫شکل‬2-6-‫تیز‬ ‫فیلترهای‬ ‫تاثیر‬‫کننده‬...........................................................................................................15 ‫شکل‬3-1-‫کلی‬ ‫ساختار‬FPGA................................................................................................................21 ‫شکل‬3-2-‫یک‬ ‫سلول‬SRAM..................................................................................................................31 ‫شکل‬3-3-‫ساختار‬FPGA.........................................................................................................................36 ‫شکل‬4-1-‫سازی‬ ‫شبیه‬ ‫نتیجه‬.......................................................................................................................46
  • 11.
    ‫فصل‬‫یک‬–‫مقدمه‬ ‫امروزه‬‫پردازش‬‫تصویر‬‫بهترین‬‫ابزار‬‫برا‬‫ی‬‫استخراﺝ‬‫ویﮋگی‬‫ها‬‫تحلیل‬ ‫و‬‫موقعیت‬‫در‬ ‫و‬‫نهایت‬‫تصمیم‬‫گیر‬‫ی‬ ‫صحیﺢ‬‫می‬‫باشد‬.‫در‬‫مورد‬‫انسان‬‫نیز‬‫به‬‫همین‬‫صورت‬‫است‬،‫اطالعات‬‫از‬‫طریق‬‫چشم‬‫به‬‫مﻐز‬‫ارسال‬‫می‬‫شوند‬‫و‬‫مﻐز‬ ‫با‬‫پردازش‬‫این‬‫اطالعات‬‫تصمیم‬‫نهایی‬‫را‬‫گرفته‬‫و‬‫فرمان‬‫صادر‬‫می‬‫کند‬.‫هدﻑ‬‫از‬‫پردازش‬‫تصویر‬‫پیاده‬‫ساز‬‫ی‬ ‫عملکرد‬‫ﺫهن‬‫انسان‬‫در‬‫قبال‬‫داده‬‫ها‬‫ی‬‫دریافتی‬‫از‬‫چشم‬‫نمی‬‫باشد‬‫زیرا‬‫این‬‫عملیات‬‫بسیار‬‫پیچیده‬‫و‬‫حجیم‬‫است‬، ‫بلکه‬‫هدﻑ‬‫پیش‬‫پردازش‬‫ها‬‫وانجام‬‫پردازش‬‫خاصی‬‫برا‬‫ی‬‫استخراﺝ‬‫ویﮋگی‬‫مورد‬‫نیاز‬‫برا‬‫ی‬‫رسیدن‬‫به‬‫اهداﻑ‬‫از‬ ‫پیش‬‫تعیین‬‫شده‬‫می‬‫باشد‬. ‫تصویر‬‫یک‬ ‫تبدیل‬ ‫برای‬ ‫روشی‬ ‫تصویر‬ ‫پردازش‬‫منظور‬ ‫به‬ ،‫آن‬ ‫روی‬ ‫بر‬ ‫عملیات‬ ‫از‬ ‫برخی‬ ‫انجام‬ ‫و‬ ‫دیجیتال‬ ‫صورت‬ ‫به‬ .‫است‬ ‫آن‬ ‫از‬ ‫مفید‬ ‫اطالعات‬ ‫از‬ ‫برخی‬‫استخراﺝ‬ ‫برای‬‫یا‬ ‫و‬ ‫یافته‬ ‫بهبود‬‫تصویر‬ ‫یک‬ ‫دریافت‬ ‫و‬ ‫صنعتی‬ ‫کنترل‬ ، ‫پزشکی‬ ‫مهندسی‬ ، ‫دفاعی‬ ‫های‬ ‫سیستم‬ ، ‫رباتیک‬ ‫توان‬ ‫می‬ ‫را‬ ‫تصویر‬ ‫پردازش‬ ‫عمده‬ ‫کاربرد‬ ‫پنج‬ ‫عنوان‬‫کامپیوتری‬ ‫گرافیک‬‫کرد‬. ‫باشد‬ ‫می‬ ‫تصویر‬ ‫پردازش‬ ‫زمینه‬ ‫در‬ ‫مهم‬ ‫مسائل‬ ‫از‬ ‫یکی‬ ‫تصاویر‬ ‫کردن‬ ‫بزرگ‬ ‫ی‬ ‫مسئله‬‫افزارهای‬ ‫نرم‬ ‫امروزه‬ . ‫اشاره‬ ‫پزشکی‬ ‫زمینه‬ ‫در‬ ‫توان‬ ‫می‬ ‫تصاویر‬ ‫کردن‬ ‫بزرگ‬ ‫های‬ ‫کاربرد‬ ‫مهمترین‬ ‫از‬ .‫دارد‬ ‫وجود‬ ‫زمینه‬ ‫این‬ ‫در‬ ‫گوناگونی‬ ‫همچنین‬ .‫کرد‬‫انداز‬ ‫در‬ ‫چاپ‬ ‫منظور‬ ‫به‬ ‫کوچک‬ ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬‫بنرهای‬ ، ‫ها‬ ‫بورد‬ ‫بیل‬ ‫برای‬ ‫بزرگ‬ ‫های‬ ‫ه‬ .‫باشد‬ ‫می‬ ‫آن‬ ‫کاربردهای‬ ‫دیگر‬ ‫از‬ ‫غیره‬‫و‬‫تبلیﻐاتی‬ ‫بزرگ‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬‫زبان‬‫سخت‬ ‫توصیف‬ ‫های‬‫افزار‬‫نیز‬‫ابزار‬ ‫مهمترین‬ ‫از‬ ‫یکی‬‫سخت‬ ‫طراحی‬ ‫مدرن‬ ‫های‬‫افزار‬‫ها‬ ‫می‬‫باش‬‫ن‬‫افزایش‬ ‫به‬ ‫رو‬ ‫صنعت‬ ‫در‬ ‫آنها‬ ‫کاربرد‬ ‫که‬ ‫د‬‫تا‬ ‫طراحی‬ ‫فرایند‬ ‫نشدنی‬ ‫جدا‬ ‫عضو‬ ‫امروزه‬ ‫که‬ ‫طوری‬ ‫به‬ ‫است‬ ‫سخت‬ ‫سازی‬ ‫پیاده‬‫افزار‬‫می‬ ‫شمار‬ ‫به‬ ‫مدرن‬ ‫های‬.‫روند‬
  • 12.
    ‫اول‬ ‫فصل‬‫مقدمه‬ 2 ‫زبان‬ ‫اینکه‬‫به‬ ‫توجه‬ ‫با‬‫ها‬‫سخت‬ ‫توصیف‬ ‫ی‬‫افزار‬‫بهترین‬ ‫جزء‬‫ابزار‬‫سخت‬ ‫جنبش‬ ‫توسعه‬ ‫های‬‫شمار‬ ‫به‬ ‫آزاد‬ ‫افزار‬ ‫می‬،‫روند‬‫پروژ‬ ‫این‬ ‫در‬‫ما‬ ‫ه‬‫مسئله‬ ‫سازی‬ ‫شبیه‬ ‫و‬ ‫سازی‬ ‫پیاده‬‫را‬ ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬‫سخت‬ ‫توصیف‬ ‫زبان‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫افزار‬VHDL‫روی‬ ‫بر‬ ‫انتقال‬ ‫امکانات‬ ‫نبود‬ ‫به‬‫توجه‬ ‫با‬‫و‬ ‫دهیم‬ ‫می‬ ‫انجام‬FPGA.‫کنیم‬ ‫می‬ ‫واگذار‬ ‫آینده‬ ‫به‬ ‫را‬ ‫شرح‬ ‫کلی‬ ‫نگاه‬‫یک‬ ‫در‬.‫بود‬ ‫خواهد‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫بندی‬ ‫فصل‬ ‫در‬‫دوم‬ ‫فصل‬‫پردازش‬ ‫به‬.‫پردازیم‬ ‫می‬ ‫تصویر‬‫در‬ ‫تصویر‬ ‫انالیز‬ ‫راستای‬ ‫در‬ ‫که‬ ‫هایی‬ ‫پردازش‬ ‫و‬ ‫عملیات‬ ‫مجموعه‬ ‫به‬ ‫گویند‬ ‫تصویر‬ ‫پردازش‬ ‫علم‬ ،‫است‬ ‫شده‬ ‫انجام‬ ‫مختلف‬ ‫های‬ ‫زمینه‬‫هوش‬ ‫در‬ ‫مفید‬ ‫و‬ ‫پرکاربرد‬ ‫علوم‬ ‫از‬ ‫یکی‬ ‫که‬ ، .‫باشد‬ ‫می‬ ‫مصنوعی‬‫توضیحا‬ ‫سپس‬ ‫و‬ ‫پردازیم‬ ‫می‬ ‫تصویر‬ ‫پردازش‬ ‫از‬ ‫ای‬ ‫تاریخچه‬ ‫به‬ ‫فصل‬ ‫این‬ ‫ادامه‬ ‫در‬‫به‬ ‫راجع‬ ‫تی‬ ‫این‬ ‫روزافزون‬ ‫پیشرفت‬ ‫شاهد‬ ‫که‬ ‫امیدواریم‬ .‫است‬ ‫شده‬ ‫ﺫکر‬ ‫تصویر‬ ‫پردازش‬ ‫کاربردهای‬ ‫و‬ ‫تصاویر‬ ‫روی‬ ‫عملیات‬ .‫باشیم‬ ‫کشور‬ ‫در‬ ‫علم‬ ‫معرفی‬ ‫به‬ ‫سوم‬ ‫فصل‬ ‫در‬FPGA‫مختلف‬ ‫علوم‬ ‫در‬ ‫کاربردشان‬ ‫و‬ ‫آنها‬ ‫ریزی‬ ‫برنامه‬ ‫روشهای‬ ، ‫آنها‬ ‫معماری‬ ، ‫ها‬ ‫پ‬‫زبان‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫ایم‬ ‫رداخته‬‫افزار‬ ‫سخت‬ ‫توصیف‬‫ی‬VHDL.‫ایم‬ ‫پزداخته‬ ‫آن‬ ‫مزایای‬ ‫و‬ ‫زبان‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬ ‫پیاده‬ ‫و‬ ‫طراحی‬ ‫نحوه‬ ‫و‬ ‫معرفی‬ ‫به‬ ‫شروع‬ ‫چهارم‬ ‫فصل‬ ‫در‬ ‫افزار‬ ‫سخت‬ ‫توصیف‬VHDL‫پرداخته‬‫پیکربندی‬ ‫ی‬ ‫نحوه‬ ‫به‬ ‫راجع‬ ‫توضیحاتی‬ ‫سپس‬ ‫و‬FPGA‫دستگاه‬ ‫اندازی‬ ‫راه‬ ‫و‬ ‫دهیم‬ ‫می‬ ‫نشان‬ ‫را‬‫ایم‬ ‫آورده‬ ‫دست‬ ‫به‬‫افزار‬ ‫سخت‬ ‫این‬ ‫طراحی‬ ‫از‬ ‫که‬ ‫نتایجی‬ ‫نهایت‬ ‫در‬ ‫و‬ ‫است‬ ‫شده‬ ‫آورده‬. .‫پردازیم‬ ‫می‬ ‫بودیم‬ ‫آن‬ ‫دنبال‬ ‫به‬ ‫که‬ ‫اهدافی‬ ‫و‬ ‫نتایج‬ ‫بررسی‬ ‫به‬‫پنجم‬ ‫فصل‬ ‫در‬ ‫نهایت‬ ‫در‬
  • 13.
    ‫دو‬ ‫فصل‬‫م‬-‫تصویر‬ ‫پردازش‬ ‫علم‬‫پردازش‬‫تصویر‬،‫از‬‫علوم‬‫پرکاربرد‬‫و‬‫مفید‬‫در‬‫هوش‬‫مصنوعی‬‫می‬‫باشد‬.‫است‬‫ﺫکر‬ ‫قابل‬‫پردازش‬ ‫علم‬ ‫که‬ ‫در‬ ‫و‬ ‫کند‬ ‫می‬ ‫پیدا‬ ‫تری‬ ‫مهم‬ ‫و‬ ‫اساسی‬ ‫نقش‬ ‫روز‬ ‫به‬ ‫روز‬ ، ‫تخصصی‬ ‫و‬ ‫جامع‬ ‫صورت‬ ‫به‬ ‫امروزی‬ ‫دنیای‬ ‫در‬ ‫تصویر‬ ‫است‬ ‫راه‬ ‫اغاز‬ ‫در‬ ً‫ا‬‫تقریب‬ ‫نیز‬ ‫ما‬ ‫کشور‬.‫مسئله‬‫بزرگی‬‫داده‬‫ها‬‫ی‬‫تصویر‬‫و‬‫تالش‬‫جهت‬‫حذﻑ‬‫نویز‬‫و‬‫اختالالت‬‫تصویر‬ ‫نظیر‬‫پارامترها‬‫ی‬‫حاصل‬‫از‬‫منابع‬‫نور‬‫نامناسﺐ‬،‫عدم‬‫تناسﺐ‬‫ترکیﺐ‬‫رنﮓ‬‫ها‬‫و‬‫عوامل‬‫متعدد‬‫دیگر‬‫در‬‫تصاویر‬ ‫دریافتی‬،‫از‬‫موضوعات‬‫بسیار‬‫مهم‬‫در‬‫کار‬‫با‬‫تصاویر‬‫و‬‫پردازش‬‫آنها‬‫می‬‫باشد‬. ‫امروزه‬‫پردازش‬‫تصویر‬‫بهترین‬‫ابزار‬‫برا‬‫ی‬‫استخراﺝ‬‫ویﮋگی‬‫ها‬‫وتحلیل‬‫موقعیت‬‫ودر‬‫نهایت‬‫تصمیم‬‫گیر‬‫ی‬‫صحیﺢ‬ ‫می‬.‫باشد‬ ‫به‬ ‫فصل‬ ‫این‬ ‫در‬.‫پردازیم‬ ‫می‬ ‫تصویر‬ ‫پردازش‬ ‫مفاهیم‬ 2-1-‫تصویر‬ ‫پردازش‬ ‫تاریخچه‬ ‫سال‬ ‫از‬1964‫اکنون‬ ،‫فضایی‬ ‫تحقیقات‬ ‫برنامه‬ ‫بر‬ ‫عالوه‬ .‫است‬ ‫کرده‬ ‫فراوانی‬ ‫رشد‬ ،‫تصویر‬ ‫پردازش‬ ‫موضوع‬ ،‫تاکنون‬ ‫ام‬ ،‫هستند‬ ‫نامرتبط‬ ‫هم‬ ‫با‬ ‫مسائل‬ ‫این‬ ‫اغلﺐ‬ ‫چه‬ ‫گر‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫متعددی‬ ‫موارد‬ ‫در‬ ،‫تصویر‬ ‫پردازش‬ ‫فنون‬ ‫از‬‫ا‬ ‫نمونه‬ ‫برای‬ .‫باشد‬ ‫انسان‬ ‫تحلیل‬ ‫و‬ ‫تعبیر‬ ‫برای‬ ‫تصویری‬ ‫اطالعات‬ ‫ارتقای‬ ‫به‬ ‫قادر‬ ‫که‬ ‫هستند‬ ‫هایی‬ ‫روش‬ ‫نیازمند‬ ‫عموما‬ ‫ای‬ ‫رایانه‬ ‫های‬ ‫شیوه‬ ‫پزشکی‬ ‫در‬Contrast‫ایکس‬ ‫اشعه‬ ‫تصاویر‬ ‫اسانتر‬ ‫تعبیر‬ ‫برای‬ ‫که‬ ‫این‬ ‫یا‬ ‫دهند‬ ‫می‬ ‫ارتقا‬ ‫را‬ ‫تصویر‬ ‫ها‬ ‫روش‬ ‫این‬ ‫از‬ ‫نیز‬‫جﻐرافیایی‬ ‫متخصصان‬ .‫کنند‬ ‫می‬ ‫رمز‬ ،‫رنﮓ‬ ‫با‬ ‫را‬ ‫روشنایی‬ ‫شدت‬ ‫سطوح‬ ،‫پزشکی‬ ‫تصاویر‬ ‫سایر‬ ‫یا‬ ‫روش‬ ‫یا‬‫الگوهای‬ ‫مطالعه‬ ‫برای‬ ‫مشابه‬ ‫های‬‫آل‬‫بدس‬ ‫ای‬ ‫ماهواره‬ ‫و‬ ‫هوایی‬ ‫برداری‬ ‫تصویر‬ ‫با‬ ‫که‬ ‫هوا‬ ‫ودگی‬،‫است‬ ‫امده‬ ‫ت‬
  • 14.
    ‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬ 4 ‫تنها‬‫که‬ ‫ای‬ ‫شده‬ ‫مات‬ ‫های‬ ‫عکس‬ ‫بازیابی‬ ‫برای‬ ‫تصویر‬ ‫پردازش‬ ‫های‬ ‫روش‬ ‫نیز‬ ‫شناسی‬ ‫باستان‬ ‫در‬ .‫کنند‬ ‫می‬ ‫استفاده‬ ‫بارها‬ ‫ای‬ ‫رایانه‬ ‫فنون‬ ،‫مرتبط‬ ‫های‬ ‫زمینه‬ ‫و‬ ‫فیزیک‬ ‫در‬ .‫گیرد‬ ‫می‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ،‫هستند‬ ‫نادر‬ ‫هنری‬ ‫اثار‬ ‫مانده‬ ‫باقی‬ ‫ن‬ ‫موضوعاتی‬ ‫به‬ ‫مربوط‬ ‫های‬ ‫ازمایش‬ ‫تصاویر‬.‫اند‬ ‫داده‬ ‫ارتقا‬ ‫را‬ ‫الکترونی‬ ‫ریزبینی‬ ‫تصاویر‬ ‫و‬ ‫پرانرژی‬ ‫پالسماهای‬ ‫ظیر‬ ‫اجرای‬ ،‫ای‬ ‫هسته‬ ‫پزشکی‬ ،‫شناسی‬ ‫زیست‬ ،‫نجوم‬ ‫در‬ ‫توان‬ ‫می‬ ‫نیز‬ ‫را‬ ‫تصویر‬ ‫پردازش‬ ‫از‬ ‫دیگری‬ ‫موفق‬ ‫کاربردهای‬ ‫کرد‬ ‫بیان‬‫صنعت‬‫و‬ ‫دفع‬ ،‫قانون‬..‫است‬ ‫مصنوعی‬ ‫هوش‬ ‫در‬ ‫مهم‬ ‫مسائل‬ ‫از‬ ‫یکی‬ ‫تصویر‬ ‫پردازش‬ ‫دهه‬ ‫اوایل‬ ‫در‬60‫سفی‬‫رنجر‬ ‫فضایی‬ ‫نه‬7‫زمین‬ ‫به‬ ‫ماه‬ ‫سطﺢ‬ ‫از‬ ‫مبهمی‬ ‫تلویزیونی‬ ‫تصاویر‬ ‫ارسال‬ ‫به‬ ‫شروع‬ ‫ناسا‬ ‫به‬ ‫متعلق‬ .‫بود‬‫تصاویر‬ ‫روی‬ ‫تصمیماتی‬ ‫اعمال‬ ‫نیازمند‬ ‫اپولو‬ ‫سفینه‬ ‫فرود‬ ‫برای‬ ‫محلی‬ ‫یافتن‬ ‫برای‬ ‫تصویر‬ ‫جزئیات‬ ‫استخراﺝ‬ .‫کرد‬ ‫البراتوار‬ ‫عهده‬ ‫به‬ ‫مهم‬ ‫کار‬ ‫این‬(JPL) Jet Propulsion‫قرار‬.‫شد‬ ‫داده‬‫بدین‬‫ترتیﺐ‬‫زمینه‬‫تخصصی‬‫پردازش‬ ‫تصاویر‬‫رقومی‬‫اغاز‬‫گردید‬‫و‬‫مثل‬‫تمام‬‫تکنولوژی‬‫های‬‫دیگر‬ً‫ا‬‫سریع‬‫استفاده‬‫های‬‫متعدد‬‫پیدا‬‫کرد‬. ‫دهه‬ ‫در‬ ‫رقومی‬ ‫تصاویر‬ ‫پردازش‬ ‫کاربردهای‬ ‫ترین‬ ‫ابتدایی‬60‫و‬70‫شد‬ ‫باعث‬ ‫که‬ ‫بود‬ ‫جاسوسی‬ ‫و‬ ‫نظامی‬ ‫های‬ ‫جنبه‬ .‫اید‬ ‫بوجود‬ ‫باالتر‬ ‫کیفیت‬ ‫با‬ ‫تصاویر‬ ‫به‬ ‫نیاز‬‫که‬ ‫شد‬ ‫پیدا‬ ‫زمین‬ ‫سطﺢ‬ ‫رقومی‬ ‫تصاویر‬ ‫برای‬ ‫دیگری‬ ‫مصارﻑ‬ ‫ان‬ ‫از‬ ‫پس‬ ‫طیفی‬ ‫چند‬ ‫تصاویر‬ ‫کاربرد‬(Multi Spectral)‫از‬ ‫استفاده‬ ‫با‬ ‫همچنین‬ .‫است‬ ‫جمله‬ ‫ان‬ ‫از‬ ‫داری‬ ‫جنگل‬ ‫و‬ ‫کشاورزی‬ ‫در‬ ‫الودگی‬ ‫منابع‬ ‫ردیابی‬ ‫یا‬ ‫و‬ ‫افتاده‬ ‫دور‬ ‫های‬ ‫سرزمین‬ ‫در‬ ‫نفت‬ ‫کنکاش‬ ‫مثل‬ ‫هایی‬ ‫عملیات‬ ‫رقمی‬ ‫تصاویر‬‫از‬ ‫شهری‬ ‫دا‬‫متخصصین‬ ‫کار‬ ‫دفتر‬ ‫خل‬‫آ‬‫شد‬ ‫انجام‬ ‫نها‬. ‫دهه‬ ‫اواسط‬ ‫از‬70‫دهه‬ ‫اواسط‬ ‫تا‬80‫ی‬ ‫ها‬ ‫اسکنر‬ ‫اختراع‬CAT(Computerized Arial Topography)‫و‬ ‫اسکنر‬‫های‬MRIResonance Imagery)(Magnetic‫کننده‬ ‫استفاده‬ ‫چاپ‬ ‫صنعت‬ .‫کردند‬ ‫متحول‬ ‫را‬ ‫پزشکی‬ ‫دهه‬ ‫اواخر‬ ‫در‬ .‫بود‬ ‫بعدی‬80‫تصاویر‬ ‫پردازش‬‫امر‬ ‫به‬ ‫نقش‬ ‫این‬ ‫امروزه‬ ‫بطوریکه‬ ‫شد‬ ‫سرگرمی‬ ‫دنیای‬ ‫وارد‬ ‫رقمی‬ ‫ظهور‬ ‫با‬ ‫واقع‬ ‫در‬ ‫یعنی‬ ‫بینند‬ ‫می‬ ‫عمال‬ ‫که‬ ‫هایی‬ ‫روبات‬ ‫با‬ ‫صنعت‬ ‫دنیای‬ ‫ترتیﺐ‬ ‫همین‬ ‫به‬ .‫است‬ ‫شده‬ ‫تبدیل‬ ‫عادی‬ ‫تکنولوژی‬Machine Vision‫است‬ ‫تحول‬ ‫حال‬ ‫در‬ ‫هم‬ ‫هنوز‬ ‫و‬ ‫شد‬ ‫متحول‬. ‫ها‬ ‫کامپیوتر‬ ‫شدن‬ ‫ارزانتر‬ ‫و‬ ‫سریعتر‬ ‫با‬ ‫ساله‬ ‫هر‬‫افراد‬ ،‫ارتباطات‬ ‫تکنولوژی‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫تصاویر‬ ‫پخش‬ ‫امکان‬ ‫ایجاد‬ ‫و‬ ‫کار‬ ‫و‬ ‫کسﺐ‬ ‫انجام‬ ‫برای‬ ‫زنده‬ ‫روش‬ ‫یک‬ ‫ویدئویی‬ ‫های‬ ‫کنفرانس‬ .‫کنند‬ ‫می‬ ‫پیدا‬ ‫دسترسی‬ ‫تصاویر‬ ‫این‬ ‫به‬ ‫بیشتری‬ ‫با‬ ‫خوشبختانه‬ .‫اند‬ ‫کرده‬ ‫پیدا‬ ‫خوبی‬ ‫به‬ ‫را‬ ‫تصاویر‬ ‫مدیریت‬ ‫و‬ ‫نمایش‬ ‫توانایی‬ ‫خانگی‬ ‫ی‬ ‫کامپیوترها‬ ‫و‬ ‫اند‬ ‫شده‬‫باالتر‬ ‫شده‬ ‫کمتر‬ ‫ها‬ ‫نگرانی‬ ‫تصاویر‬ ‫پردازش‬ ‫امکانات‬ ‫بابت‬ ‫از‬ ‫دیگر‬ ‫کامپیوترها‬ ‫حافظه‬ ‫فضای‬ ‫و‬ ‫پردازش‬ ‫سرعت‬ ‫رفتن‬ ‫کند‬ ‫می‬ ‫پیدا‬ ‫ادامه‬ ‫رشد‬ ‫به‬‫رو‬ ‫روند‬ ‫این‬ ‫روز‬ ‫به‬ ‫روز‬ ‫و‬ ‫است‬.
  • 15.
    ‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬ 5 ‫به‬‫دیجیتالی‬ ‫های‬ ‫دوربین‬ ‫و‬ ‫اسکنرها‬ ‫مانند‬ ‫گسسته‬ ‫اطالعات‬ ‫اخذ‬ ‫های‬ ‫روش‬ ‫در‬ ‫که‬ ‫متعددی‬ ‫های‬ ‫پیشرفت‬ ‫با‬ ‫امروزه‬ ‫است‬ ‫یافته‬ ‫فراوانی‬ ‫کاربرد‬ ‫تصویر‬ ‫پردازش‬ ،‫است‬ ‫امده‬ ‫وجود‬. 2-2-‫علم‬‫تصویر‬ ‫پردازش‬ ‫علم‬ ،‫است‬ ‫شده‬ ‫انجام‬ ‫مختلف‬ ‫های‬ ‫زمینه‬ ‫در‬ ‫تصویر‬ ‫انالیز‬ ‫راستای‬ ‫در‬ ‫که‬ ‫هایی‬ ‫پردازش‬ ‫و‬ ‫عملیات‬ ‫مجموعه‬ ‫به‬ .‫گویند‬ ‫تصویر‬ ‫پردازش‬‫نوع‬ ‫هر‬ ‫از‬ ‫عبارتست‬ ‫تصویر‬ ‫پردازش‬ ‫خاص‬ ‫معنای‬ ‫در‬‫سیگنال‬ ‫پردازش‬‫یک‬ ‫ورودی‬ ‫که‬ ‫یا‬ ‫عکس‬ ‫مثل‬ ‫است‬ ‫تصویر‬‫صحنه‬‫می‬ ‫تصویر‬ ‫پردازشگر‬ ‫خروجی‬ .‫فیلم‬ ‫یک‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫یک‬ ‫یا‬ ‫تصویر‬ ‫یک‬ ‫تواند‬ ‫ا‬‫یا‬ ‫ویﮋه‬ ‫نشانهای‬ ‫ز‬‫متﻐیرهای‬.‫باشد‬ ‫تصویر‬ ‫به‬ ‫مربوط‬ ‫گسترده‬ ‫تحقیقات‬ ‫و‬ ‫مطالعات‬ ‫باز‬ ‫دیر‬ ‫از‬ ‫و‬ ‫باشد‬ ‫می‬ ‫مهندسی‬ ‫فنون‬ ‫در‬ ‫مفید‬ ‫و‬ ‫پرکاربرد‬ ‫علوم‬ ‫از‬ ،‫تصویر‬ ‫پردازش‬ ‫علم‬ ‫صو‬‫زمینه‬ ‫این‬ ‫در‬ ‫ای‬‫فراوانی‬ ‫های‬ ‫پیشرفت‬ ‫و‬ ‫گرفته‬ ‫رت‬‫زمینه‬ ‫این‬ ‫در‬‫است‬ ‫شده‬ ‫حاصل‬. ‫می‬ ‫گفته‬ ‫دیجیتال‬ ‫تصویر‬ ‫پردازش‬ ‫موضوع‬ ‫به‬ ‫بیشتر‬ ‫امروزه‬ ‫تصاویر‬ ‫پردازش‬‫شاخه‬ ‫که‬ ‫شود‬‫از‬ ‫ای‬‫رایانه‬ ‫دانش‬‫است‬ ‫پردازش‬ ‫با‬ ‫که‬‫سیگنال‬‫با‬ ‫شده‬ ‫برداشته‬ ‫تصاویر‬ ‫نماینده‬ ‫که‬ ‫دیجیتال‬‫دیجیتال‬ ‫دوربین‬‫توسط‬ ‫شده‬ ‫پویش‬ ‫یا‬‫پویشگر‬ .‫دارد‬ ‫کار‬ ‫و‬ ‫سر‬ ‫هستند‬ ‫عمده‬ ‫شاخه‬ ‫دو‬ ‫دارای‬ ‫تصاویر‬ ‫پردازش‬‫تصاویر‬ ‫بهبود‬‫و‬‫ماشین‬ ‫بینایی‬‫روشهایی‬ ‫دربرگیرنده‬ ‫تصاویر‬ ‫بهبود‬ .‫است‬ ‫از‬ ‫استفاده‬ ‫چون‬‫فیلتر‬‫و‬ ‫محوکننده‬‫تضاد‬ ‫افزایش‬‫نمایش‬ ‫از‬ ‫اطمینان‬ ‫و‬ ‫تصاویر‬ ‫دیداری‬ ‫کیفیت‬ ‫کردن‬ ‫بهتر‬ ‫برای‬ ‫مقصد(مانند‬ ‫محیط‬ ‫در‬ ‫آنها‬ ‫درست‬‫چاپگر‬‫یا‬‫رایانه‬ ‫نمایشگر‬‫ب‬ ‫ماشین‬ ‫بینایی‬ ‫که‬ ‫حالی‬ ‫در‬ ،‫)است‬‫می‬ ‫روشهایی‬ ‫ه‬‫پردازد‬ ‫می‬ ‫آنها‬ ‫کمک‬ ‫به‬ ‫که‬‫چون‬ ‫کارهایی‬ ‫در‬ ‫آنها‬ ‫از‬ ‫تا‬ ‫کرد‬ ‫درک‬ ‫را‬ ‫تصاویر‬ ‫محتوای‬ ‫و‬ ‫معنی‬ ‫توان‬‫رباتیک‬‫و‬‫محو‬‫ر‬ ‫ت‬‫صاویر‬.‫شود‬ ‫استفاده‬ ‫منابع‬ ‫از‬ ‫حاصل‬ ‫پارامترهای‬ ‫نظیر‬ ‫تصویری‬ ‫اختالالت‬ ‫و‬ ‫نویز‬ ‫حذﻑ‬ ‫جهت‬ ‫تالش‬ ‫و‬ ‫تصویری‬ ‫های‬ ‫داده‬ ‫بزرگی‬ ‫مسئله‬ ‫تصاویر‬ ‫در‬ ‫دیگر‬ ‫متعدد‬ ‫عوامل‬ ‫و‬ ‫ها‬ ‫رنﮓ‬ ‫ترکیﺐ‬ ‫تناسﺐ‬ ‫عدم‬ ،‫نامناسﺐ‬ ‫نوری‬‫در‬ ‫مهم‬ ‫بسیار‬ ‫موضوعات‬ ‫از‬ ،‫دریافتی‬ ‫باشد‬ ‫می‬ ‫انها‬ ‫پردازش‬ ‫و‬ ‫تصاویر‬ ‫با‬ ‫کار‬. ‫تکنیک‬ ‫اغلﺐ‬‫تکنیک‬ ‫بکاربستن‬‫و‬ ‫بعدی‬‫دو‬ ‫سیگنال‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫تصویر‬ ‫با‬ ‫برخورد‬‫شامل‬ ‫تصویر‬ ‫پردازش‬ ‫های‬‫های‬ ‫می‬ ‫آنها‬ ‫روی‬ ‫سیگنال‬ ‫پردازش‬ ‫استاندارد‬‫اشاره‬ ‫تصویر‬ ‫دیجیتالی‬ ‫پردازش‬ ‫به‬ ‫اغلﺐ‬ ‫تصویر‬ ‫پردازش‬ .‫شود‬‫می‬‫ولی‬ ‫کند‬ ‫و‬ ‫نوری‬ ‫پردازش‬‫آنالوگ‬.‫دارند‬ ‫وجود‬ ‫هم‬ ‫تصویر‬
  • 16.
    ‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬ 6 2-3-‫تصاویر‬‫پردازش‬ ‫در‬ ‫اصطالحاتی‬ 2-3-1-‫پﻴکﺴل‬ ‫جز‬ ‫کوچکترین‬PIXEL‫مخفف‬ ‫پیکسل‬ .‫است‬Picture Element‫متشکل‬ ‫تصویر‬ ‫یک‬ .‫است‬ ‫تصویر‬ ‫المان‬ ‫معنی‬ ‫به‬ ‫می‬ ‫عکس‬ ‫دیجیتال‬ ‫دوربین‬ ‫یک‬ ‫با‬ ‫که‬ ‫زمانی‬ ‫واقع‬ ‫در‬ .‫اند‬ ‫گرفته‬ ‫قرار‬ ‫هم‬ ‫کنار‬ ‫در‬ ‫که‬ ‫است‬ ‫پیکسل‬ ‫زیادی‬ ‫تعداد‬ ‫از‬ ‫شما‬ ‫دوربین‬ ‫رزولوشن‬ ‫اگر‬ ‫گیرید‬480×640‫ابعاد‬ ‫با‬ ‫ماتریس‬ ‫که‬ ‫است‬ ‫معنی‬ ‫این‬ ‫به‬ ‫باشد‬480×640‫اختیار‬ ‫در‬ ‫که‬ ‫شماست‬640‫پیکسل‬‫و‬ ‫طول‬ ‫در‬480‫دوربین‬ ‫در‬ ‫نوری‬ ‫سلول‬ ‫یک‬ ‫پیکسل‬ ‫هر‬ ‫ازای‬ ‫به‬ .‫دارد‬ ‫عرض‬ ‫در‬ ‫پیکسل‬ ‫رنﮓ‬ ‫ازای‬ ‫به‬ ‫مثال‬ ‫طور‬ ‫به‬ ،‫کند‬ ‫می‬ ‫تعیین‬ ‫پیکسل‬ ‫این‬ ‫برای‬ ‫را‬ ‫عددی‬ ‫مقدار‬ ‫نوری‬ ‫سلول‬ ‫این‬ ‫نور‬ ‫شدت‬ .‫دارد‬ ‫وجود‬ ‫مقدار‬ ‫سفید‬ ‫رنﮓ‬ ‫ازای‬ ‫به‬‫و‬ ‫شود‬ ‫می‬ ‫ﺫخیره‬ ‫پیکسل‬ ‫در‬ ‫صفر‬ ‫مقدار‬ ‫سیاه‬255‫شو‬ ‫می‬ ‫ﺫخیره‬ ‫آن‬ ‫در‬.‫د‬ 2-3-2-‫تصویر‬ ‫دوبعدی‬ ‫تابع‬ ‫توسط‬ ‫میتوان‬ ‫را‬ ‫تصویر‬ ‫یک‬f(x,y)‫آن‬ ‫در‬ ‫که‬X‫و‬Y‫مقدار‬ ‫و‬ ‫مکانی‬ ‫مختصات‬ ‫را‬f‫را‬ ‫نقطه‬ ‫هر‬ ‫در‬ ‫مونوکروم‬ ‫تصاویر‬ ‫روشنایی‬ ‫شدت‬ ‫به‬ ‫نیز‬ ‫خاکستری‬ ‫سطﺢ‬ ‫اصطالح‬ .‫نامند‬ ‫می‬ ‫نقطه‬ ‫آن‬ ‫در‬ ‫تصویر‬ ‫روشنایی‬ ‫شدت‬ ‫دوبعدی‬ ‫تصاویر‬ ‫تعدادی‬ ‫از‬ ‫نیز‬ ‫رنگی‬ ‫تصاویر‬ .‫شود‬ ‫می‬ ‫اطالق‬‫مقادیر‬ ‫که‬ ‫زمانی‬ .‫شود‬ ‫می‬ ‫تشکیل‬X‫و‬Y‫ومقدار‬ f(x,y)‫یک‬ ‫را‬ ‫شوند،تصویر‬ ‫بیان‬ ‫محدود‬ ‫و‬ ‫گسسته‬ ‫مقادیر‬ ‫با‬‫مقادیر‬ ‫کردن‬ ‫دیجیتال‬ .‫نامند‬ ‫می‬ ‫دیجیتالی‬ ‫تصویر‬X ‫و‬Y‫را‬sampling‫مقدار‬ ‫کردن‬ ‫دیجیتال‬ ‫و‬f(x,y)‫را‬quantization‫تصویر‬ ‫یک‬ ‫نمایش‬ ‫برای‬ .‫گویند‬ ‫می‬M×N‫از‬ ‫که‬ )‫(ماتریس‬ ‫دوبعدی‬ ‫آرایه‬ ‫یک‬M‫و‬ ‫سطر‬N‫دهنده‬ ‫نشان‬ ‫آرایه‬ ‫از‬ ‫عنصر‬ ‫هر‬ ‫مقدار‬ .‫کنیم‬ ‫می‬ ‫استفاده‬ ‫دارد‬ ‫ستون‬ ‫مقدار‬ ‫یک‬ ‫آرایه‬ ‫عنصر‬ ‫هر‬ ، ‫کرد‬ ‫خواهیم‬ ‫سازی‬ ‫پیاده‬ ‫که‬ ‫توابعی‬ ‫تمام‬ ‫در‬ .‫است‬ ‫نقطه‬ ‫آن‬ ‫در‬ ‫تصویر‬ ‫روشنایی‬ ‫شدت‬ 8‫بین‬ ‫مقداری‬ ‫میتواند‬ ‫که‬ ‫است‬ ‫بیتی‬0‫و‬255‫باشد‬ ‫داشته‬‫مقدار‬ .0‫مقدار‬ ‫و‬ )‫تیره(سیاه‬ ‫رنﮓ‬ ‫دهنده‬ ‫نشان‬255‫نشان‬ .‫است‬ )‫(سفید‬ ‫روشن‬ ‫رنﮓ‬ ‫دهنده‬ 2-3-3-‫ﺧاﮐﺴﺘر‬‫ی‬(Grayscale)‫تصویر‬ ‫ﮐردن‬ ‫در‬‫رایج‬‫ترین‬‫مدل‬‫رنﮓ‬‫گرافیک‬‫کامپیوتر‬‫ی‬،‫رن‬‫ـ‬‫ﮓ‬‫ه‬‫ـ‬‫ا‬‫از‬‫ترکیﺐ‬‫سه‬‫رنﮓ‬‫قرمز‬،‫سبز‬‫و‬‫آبی‬‫به‬‫وجود‬‫می‬‫آیند‬ ‫که‬‫در‬‫مجموع‬16581375‫رنﮓ‬‫متفاوت‬‫را‬‫توسط‬‫این‬‫س‬‫ـ‬‫ه‬‫مولف‬‫ـ‬‫ه‬‫می‬‫توان‬‫تولید‬‫کرد‬.‫این‬‫مدل‬‫رنﮓ‬‫در‬‫گرافیک‬ ‫کامپیوتر‬‫نام‬ ‫با‬ ‫ی‬RGB‫شناخته‬‫می‬‫شود‬.‫در‬‫کن‬‫ـ‬‫ار‬‫این‬‫م‬‫ـ‬‫دل‬‫همچون‬ ‫دیگری‬ ‫های‬ ‫،مدل‬HSV،HSI،CMYK،
  • 17.
    ‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬ 7 Grayscale‫نیز‬‫وجود‬‫دارد‬‫ک‬‫ـ‬‫ه‬‫هری‬‫ـ‬‫ک‬‫از‬‫آن‬‫ه‬‫ـ‬‫ا‬‫ب‬‫ـ‬‫ه‬‫روش‬‫متفاوتی‬‫به‬‫نمایش‬‫رنﮓ‬‫ها‬‫می‬‫پردازند‬.‫در‬‫این‬‫بین‬ ‫م‬‫ـ‬‫دل‬‫رنﮓ‬Grayscale‫از‬‫اهمی‬‫ـ‬‫ت‬‫وی‬‫ـ‬‫ﮋه‬‫ا‬‫ی‬‫برخ‬‫ـ‬‫وردار‬‫است‬. ‫تصویر‬‫یک‬RGB‫مقادیر‬ ‫آنها‬ ‫از‬ ‫هریک‬ ‫که‬ ‫است‬ ‫ماتریس‬ ‫سه‬ ‫از‬ ‫متشکل‬Red، )‫(قرمز‬Green‫و‬ )‫(سبز‬Blue ‫های‬ ‫مولفه‬ ‫که‬ ‫داشت‬ ‫خواهد‬ ‫خاکستری‬ ‫مقدار‬ ‫زمانی‬ ‫پیکسل‬ ‫یک‬ .‫دارند‬ ‫می‬ ‫نگه‬ ‫را‬ ‫رنگی‬ ‫تصویر‬ )‫(آبی‬R‫و‬G‫و‬B .‫باشند‬ ‫داشته‬ ‫یکسانی‬ ‫مقادیر‬ ‫آن‬ 2-3-4-‫هﻤﺴایﮕی‬ 2‫نوع‬‫همسایگی‬‫وجود‬:‫دارد‬ 1.‫همسایگی‬8:‫صورت‬ ‫به‬ ‫تایی‬ (i-1 , j-1),(i , j-1),(i+1 , j-1),(i-1 , j),(i+1 , j),(i-1 ,j+1),(i ,j+1),(i+1, j+1) 2.‫همسایگی‬4: ‫صورت‬ ‫به‬ ‫تایی‬ (i-1 , j),(i+1 , j),(i ,j-1),(i ,j+1) 2-3-5-‫تصویر‬ ‫دقت‬ ‫پیکسل‬ ‫شماره‬ ‫به‬ ‫بستگی‬ ‫تصویر‬ ‫دقت‬‫تصویر‬ ‫یک‬ ‫با‬ .‫دارد‬ ‫ها‬2‫حداکثر‬ ،‫بیتی‬‫روشنایی‬ ‫دامنه‬2*2‫یعنی‬4‫می‬‫باشد‬ ‫از‬ ‫آن‬ ‫دامنه‬ ‫که‬0‫تا‬3‫می‬ ‫تﻐییر‬‫تصویر‬ .‫ندارد‬ ‫را‬ )‫الزم‬ ‫پذیری‬ ‫(تفکیک‬ ‫دقت‬ ‫تصویر‬ ‫حالت‬ ‫این‬ ‫در‬ .‫کند‬8‫بیتی‬ ‫دامنه‬ ‫حداکثر‬256‫بین‬ ‫آن‬‫تﻐییرات‬ ‫و‬ ‫دارد‬0‫تا‬255.‫دارد‬ ‫باالتری‬‫دقت‬ ‫که‬ .‫است‬ 2-4-‫پردازش‬ ‫در‬ ‫اصلی‬ ‫عﻤلﻴات‬‫تصویر‬ 1.‫هندسی‬ ‫تبدیالت‬‫و‬ ‫چرخش‬ ،‫اندازه‬‫تﻐییر‬ :... 2.‫رنﮓ‬:‫رنﮓ‬ ‫فضای‬‫تﻐییر‬ ‫یا‬ ‫و‬ ‫وضوح‬ ،‫روشنایی‬‫تﻐییر‬ 3.‫و‬ ‫دو‬‫ترکیﺐ‬ : ‫تصاویر‬‫ترکیﺐ‬‫تصویر‬ ‫چند‬ ‫یا‬ 4.‫تصویر‬ ‫حجم‬ ‫کاهش‬ : ‫تصویر‬ ‫سازی‬ ‫فشرده‬
  • 18.
    ‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬ 8 5.‫تصویر‬‫بندی‬‫قطعه‬:‫تجزیه‬‫تصویر‬‫به‬‫قطعات‬‫با‬‫معنی‬ 6.‫تفاوت‬ ‫آوردن‬ ‫دست‬ ‫به‬ :‫تصاویر‬ ‫تفاوت‬‫های‬‫تصویر‬ 7.‫تصویر‬ ‫دو‬ ‫از‬ ‫میانگین‬ ‫تصویر‬ ‫آوردن‬ ‫دست‬ ‫به‬: ‫گیری‬ ‫میانگین‬ 2-5-‫ت‬ ‫سﻴﺴﺘم‬ ‫به‬ ‫ورود‬ ‫لحظه‬ ‫از‬ ‫تصویر‬ ‫یک‬ ‫ﮐه‬ ‫مراحلی‬‫باید‬ ‫ﺧروجی‬ ‫تصویر‬ ‫تولﻴد‬ ‫ا‬ ‫ﮐند‬ ‫طی‬ 2-5-1-‫دریافت‬‫تصویر‬‫ورود‬‫ی‬ ‫در‬‫این‬‫مرحله‬‫تصویر‬‫از‬‫ورود‬‫ی‬‫خوانده‬‫شده‬‫و‬‫وارد‬‫سیستم‬‫می‬‫گردد‬.‫تصویر‬‫ورود‬‫ی‬‫میتواند‬‫بر‬‫رو‬‫ی‬‫ابزار‬‫ﺫخیر‬‫ه‬ ‫ساز‬‫بوده‬‫و‬‫یا‬‫از‬‫یک‬‫دوربین‬‫گرفته‬‫شود‬.‫به‬‫عنوان‬‫مثال‬‫در‬‫سیستم‬‫تشخیص‬‫اثر‬‫انگشت‬‫تصویر‬‫ور‬‫و‬‫د‬‫ی‬‫از‬‫طریق‬ ‫اسکنر‬‫اثر‬‫انگشت‬‫وارد‬‫سیستم‬‫می‬.‫شود‬ 2-5-2-‫پﻴﺶ‬‫پردازش‬‫تصویر‬ ‫اهداﻑ‬‫کلی‬‫در‬‫این‬‫مرحله‬‫را‬‫می‬‫توان‬‫ارتقا‬‫تصویر‬‫وحذﻑ‬‫مولفه‬‫ها‬‫ی‬‫غیر‬‫ضرور‬‫ی‬‫از‬‫تصویر‬‫دانست‬.‫به‬‫عنوان‬ ‫مثال‬‫خشکی‬‫پوست‬،‫جراحت‬‫یا‬ ‫و‬‫عدم‬‫تمیز‬‫ی‬‫پوست‬‫از‬‫موارد‬‫ی‬‫هستند‬‫که‬‫قبل‬‫از‬‫پردازش‬‫تصویر‬‫انگشت‬‫باید‬‫با‬ ‫استفاده‬‫از‬‫تکنیک‬‫ها‬‫ی‬‫پردازش‬‫تصویر‬‫به‬‫رفع‬‫آن‬‫ها‬.‫پرداخت‬ 2-5-3-‫پردازش‬‫تصویر‬ ‫هدﻑ‬‫کلی‬‫در‬‫این‬‫مرحله‬‫شناسایی‬‫و‬‫ویﮋگی‬‫هایی‬‫از‬‫تصویر‬‫است‬‫که‬‫بتوان‬‫از‬‫آن‬‫ها‬‫برا‬‫ی‬‫کاربر‬‫مورد‬‫نظر‬‫خود‬ ‫استفاده‬‫کرد‬.‫شناسایی‬‫نقاط‬‫ویﮋه‬‫و‬‫انحناها‬‫از‬‫جمله‬‫ویﮋگی‬‫هایی‬‫هستند‬‫که‬‫در‬‫سیستم‬‫تشخیص‬‫اثر‬‫انگشت‬‫می‬ ‫توانند‬‫استخراﺝ‬‫گردند‬. 2-5-4-‫ﺁﻧالﻴﺰ‬‫تصویر‬ ‫در‬‫این‬‫مرحله‬‫با‬‫استفاده‬‫از‬‫ویﮋگی‬‫ها‬‫ی‬‫استخراﺝ‬‫شده‬‫به‬‫آنالیز‬‫تصویر‬‫می‬‫پردازیم‬.‫به‬‫عنوان‬‫مثال‬‫پس‬‫از‬‫شناسایی‬ ‫نقاط‬‫ویﮋه‬‫و‬‫انحناها‬‫در‬‫سیستم‬‫تشخیص‬‫اثر‬‫انگشت‬‫با‬‫آنالیز‬‫کردن‬‫تصویر‬‫سعی‬‫می‬‫کنیم‬‫شخص‬‫متناظر‬‫با‬‫اثر‬
  • 19.
    ‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬ 9 ‫انگشت‬‫را‬‫پیدا‬‫کنیم‬.‫آنالیز‬‫تصویر‬‫معموال‬‫از‬‫تکنیک‬‫ها‬‫ی‬‫هوش‬‫مصنوعی‬‫همانند‬‫شبکه‬‫ها‬‫ی‬‫عصبی‬،‫درخت‬‫ها‬‫ی‬ ‫تصمیم‬،‫کالﺱ‬‫بند‬‫ی‬‫و‬....‫استفاده‬.‫کند‬‫می‬ 2-6-‫هﻴﺴﺘوگرام‬ ‫مشخص‬ ‫ورودی‬ ‫تصویر‬ ‫در‬ ‫روشنایی‬ ‫سطﺢ‬ ‫هر‬ ‫های‬ ‫پیکسل‬ ‫تعداد‬ ‫آن‬ ‫توسط‬ ‫که‬ ‫است‬ ‫نموداری‬ ‫تصویر‬ ‫هیستوگرام‬ ‫تصویر‬ ‫یک‬ ‫ورودی‬ ‫تصویر‬ ‫کنید‬ ‫فرض‬ .‫شود‬ ‫می‬Grayscale‫با‬256‫از‬ ‫هریک‬ ‫بنابراین‬ ، ‫باشد‬ ‫روشنایی‬ ‫سطﺢ‬ [ ‫بازه‬ ‫در‬ ‫مقداری‬ ‫تصویر‬ ‫های‬ ‫پیکسل‬255...0.‫باشند‬ ‫داشته‬ ‫توانند‬ ‫می‬ ] ‫دس‬ ‫به‬ ‫برای‬‫هر‬ ‫های‬ ‫پیکسل‬ ‫تعداد‬ ، ‫تصویر‬ ‫های‬ ‫پیکسل‬ ‫کل‬ ‫پیمایش‬ ‫با‬ ‫است‬ ‫،کافی‬ ‫تصویر‬ ‫هیستوگرام‬ ‫آوردن‬ ‫ت‬ ‫پیکسل‬ ‫کل‬ ‫تعداد‬ ‫به‬ ‫هیستوگرام‬ ‫مقادیر‬ ‫کردن‬ ‫تقسیم‬ ‫از‬ ‫نیز‬ ‫نرمال‬ ‫هیستوگرام‬ . ‫کنیم‬ ‫می‬ ‫محاسبه‬ ‫را‬ ‫روشنایی‬ ‫سطﺢ‬ ‫هیس‬ ‫مقادیر‬ ‫که‬ ‫شود‬ ‫می‬ ‫موجﺐ‬ ‫هیستوگرام‬ ‫سازی‬ ‫نرمال‬ .‫آید‬ ‫می‬ ‫دست‬ ‫به‬ ‫تصویر‬ ‫های‬[ ‫بازه‬ ‫در‬ ‫توگرام‬0،1‫قرار‬ ] .‫گیرند‬ ‫صورت‬ ‫بـدین‬ .‫است‬ ‫دیجیتالی‬ ‫های‬ ‫دوربین‬ ‫خودکـار‬ ‫فوکوﺱ‬ ‫در‬ ‫هیستوگرام‬ ‫کاربـردهـای‬ ‫از‬ ‫یکی‬‫دوربین‬ ‫لنز‬ ‫که‬ ‫تصویر‬ ‫کنتراست‬ ‫سپس‬ .‫گیرد‬ ‫می‬ ‫صحنه‬ ‫از‬ ‫تصویری‬ ‫خود‬ ‫حرکت‬ ‫از‬ ‫گام‬ ‫هر‬ ‫در‬ ‫و‬ ‫کرده‬ ‫حرکت‬ ‫انتها‬ ‫تا‬ ‫ابتدا‬ ‫از‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ ‫شده‬ ‫گرفته‬‫محلی‬ ،‫رسید‬ ‫خود‬ ‫حرکتی‬ ‫انتهای‬ ‫به‬ ‫لنز‬ ‫که‬ ‫آن‬ ‫از‬ ‫پس‬ .‫کند‬ ‫می‬ ‫محاسبه‬ ‫آن‬ ‫هیستوگرام‬ .‫گردد‬ ‫می‬ ‫تعیین‬ ‫لنز‬ ‫محل‬ ‫عنوان‬ ‫به‬ ،‫است‬ ‫بوده‬ ‫خود‬ ‫کنتراست‬ ‫بیشترین‬ ‫دارای‬ ‫تصویر‬ ‫آن‬ ‫در‬ ‫که‬ ‫لنز‬ ‫حرکت‬ ‫از‬‫یکی‬ ‫زمانی‬ .‫است‬ ‫پایین‬ ‫کنتراست‬ ‫با‬ ‫تصاویر‬ ‫کنتراست‬ ‫افزایش‬ ‫در‬ ‫هیستورگرام‬ ‫کاربردهای‬ ‫از‬ ‫دیگر‬‫گوییم‬ ‫می‬ ‫که‬ ‫کم‬ ‫تصویر‬ ‫روشنایی‬ ‫شدت‬ ‫بیشتری‬ ‫و‬ ‫کمترین‬ ‫بین‬ ‫اختالﻑ‬ ‫که‬ ‫است‬ ‫معنا‬ ‫بدان‬ ‫این‬ ‫است‬ ‫کم‬ ‫تصویری‬ ‫کنتراست‬ .‫یابد‬ ‫افزایش‬ ‫ممکن‬ ‫حد‬ ‫تا‬ ‫ورودی‬ ‫تصویر‬ ‫کنتراست‬ ‫که‬ ‫شود‬ ‫می‬ ‫موجﺐ‬ ‫هیستوگرام‬ ‫سازی‬ ‫تعدیل‬ ‫هم‬ .‫است‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫نیز‬‫گیری‬ ‫آستانه‬ ‫برای‬ ‫هیستوگرام‬ ‫از‬
  • 20.
    ‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬ 10 ‫شکل‬2-1-‫قبل‬‫هﻴﺴﺘوگرام‬‫تعدیل‬ ‫از‬ ‫شکل‬2-2-‫هﻴﺴﺘوگرام‬ ‫تعدیل‬ ‫از‬ ‫بعد‬ 2-7-( ‫گﻴری‬ ‫ﺁسﺘاﻧه‬Threshold) ‫عکس‬ ‫یک‬ ‫از‬ ‫خواهیم‬ ‫می‬ ‫کنید‬ ‫فرض‬16‫پیکسل‬ ‫تک‬ ‫تک‬ ‫باید‬‫کار‬ ‫این‬ ‫برای‬ ‫بسازیم‬ ‫وسفید‬ ‫سیاه‬ ‫تصویر‬ ‫یک‬ ‫بیتی‬ ‫کوچکتر‬ ‫اگر‬ ‫و‬ ‫سفید‬ ‫رنﮓ‬ ‫آن‬ ‫جای‬ ‫به‬ ‫بود‬ ‫مشخص‬ ‫مقدار‬ ‫آن‬ ‫از‬ ‫بزرگتر‬ ‫اگر‬ ،‫کنیم‬ ‫مقایسه‬ ‫مشخصی‬ ‫مقدار‬ ‫با‬ ‫را‬ ‫ها‬ ‫یا‬ ‫گیری‬ ‫آستانه‬ ‫کار‬ ‫این‬ ‫به‬‫دهیم‬ ‫می‬ ‫قرار‬ ‫سیاه‬ ‫مقدار‬ ‫آن‬ ‫جای‬ ‫به‬ ‫بود‬Threshold.‫گویند‬ ‫می‬ 2-8-‫در‬ ‫لبه‬ ‫تشخﻴص‬‫تصویر‬ ‫یک‬ ‫در‬ ‫نور‬ ‫شدت‬ ‫اختالﻑ‬ ‫تصویر‬ ‫در‬ ‫لبه‬ ‫یک‬ ‫ایجاد‬ ‫دلیل‬2.‫گوییم‬ ‫می‬ ‫لبه‬ ‫آن‬ ‫به‬ ‫که‬ ‫است‬ ‫محل‬ ‫آن‬ ‫طرﻑ‬.‫در‬‫واقع‬‫لبه‬ ‫ب‬‫ـ‬‫ه‬‫قس‬‫ـ‬‫متی‬‫از‬‫تصویر‬‫گفته‬‫می‬‫شود‬‫که‬‫در‬‫آن‬‫اخ‬‫ـ‬‫تالﻑ‬‫ش‬‫ـ‬‫دت‬‫روش‬‫ـ‬‫نایی‬‫ی‬‫ـ‬‫ک‬‫پیکسل‬‫با‬‫پیکسل‬‫مجاور‬‫خودش‬‫از‬ ‫مق‬‫ـ‬‫دار‬‫مشخص‬‫ـ‬‫ی‬‫بیش‬‫ـ‬‫تر‬‫باشد‬.‫لبه‬‫ها‬‫قسمتی‬‫از‬‫تصویر‬‫هستند‬‫که‬‫استخوان‬‫بند‬‫ی‬‫را‬ ‫تصویر‬‫مشخص‬‫می‬.‫کنند‬ ‫لبه‬‫باشند‬ ‫دیدگاه‬ ‫به‬ ‫وابسته‬ ‫است‬ ‫ممکن‬ ‫ها‬-‫می‬ ‫یعنی‬،‫صحنه‬ ‫هندسه‬ ً‫ا‬‫نوع‬ ‫و‬ ،‫کنند‬ ‫تﻐییر‬ ‫دید‬ ‫نقطه‬ ‫تﻐییر‬ ‫با‬ ‫توانند‬ ‫گرفته‬ ‫را‬ ‫همدیگر‬ ‫جلوی‬ ‫که‬ ‫اجسامی‬‫می‬ ‫نشان‬ ‫را‬ ‫آن‬ ‫مانند‬ ‫و‬ ‫اند‬‫باشند‬ ‫دیدگاه‬ ‫به‬ ‫نابسته‬ ‫است‬ ‫ممکن‬ ‫یا‬ ‫دهند‬-‫که‬
  • 21.
    ‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬ 11 ‫ویﮋگی‬‫نمایانگر‬ ً‫ال‬‫معمو‬‫دیده‬ ‫اجسام‬ ‫های‬‫همچون‬ ‫شده‬‫نشان‬‫گذاری‬‫مفهوم‬ ‫باالتر‬ ‫و‬ ‫بعد‬ ‫دو‬ ‫در‬ .‫باشند‬ ‫سطﺢ‬ ‫شکل‬ ‫و‬ ‫ها‬ ‫تصویر‬.‫شود‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ‫باید‬ ‫سیاه‬ ‫بخش‬ ‫یک‬ ‫و‬ ‫قرمزرنﮓ‬ ‫بخش‬ ‫یک‬ ‫میان‬ ‫مرز‬ )‫نمونه‬ ‫است(برای‬ ‫ممکن‬ ‫نوعی‬ ‫لبه‬ ‫یک‬‫حال‬ ‫باشد؛‬ ‫رنﮓ‬‫آنکه‬ ‫خط‬ ‫یک‬‫می‬‫تواند‬‫پیکسل‬ ‫کمی‬ ‫تعداد‬‫لبه‬ ‫یک‬ ‫خط‬ ‫سوی‬ ‫هر‬ ‫در‬ .‫باشد‬ ‫یکنواخت‬ ‫زمینه‬ ‫یک‬ ‫در‬ ‫ناهمرنﮓ‬ ‫های‬ ‫لبه‬ .‫داشت‬ ‫خواهد‬ ‫وجود‬.‫دارند‬ ‫تصویر‬ ‫پردازش‬ ‫کاربردهای‬ ‫در‬ ‫مهمی‬ ‫نقش‬ ‫ها‬ 2-8-1-‫اﻧواﻉ‬‫لبه‬:‫ها‬ 2-8-1-1-:‫افقی‬ ‫لبه‬ ‫برا‬‫ی‬‫لبه‬‫ها‬‫ی‬‫افقی‬‫از‬‫ستون‬‫اول‬‫به‬‫صورت‬‫عم‬‫ـ‬‫ود‬‫ی‬‫ش‬‫ـ‬‫روع‬‫ب‬‫ـه‬‫حرکت‬‫می‬‫کنیم‬‫و‬‫هر‬‫پیکس‬‫ـ‬‫ل‬‫را‬‫ب‬‫ـ‬‫ا‬‫پیکس‬‫ـ‬‫ل‬‫قب‬‫ـ‬‫ل‬ ‫از‬‫خ‬‫ـ‬‫ودش‬‫مقایسه‬‫می‬‫کنیم‬‫اگر‬‫تفاوت‬‫آنها‬‫از‬‫عدد‬‫مشخصی‬‫بیش‬‫ـ‬‫تر‬‫باش‬‫ـ‬‫آنجا‬ ‫د‬‫لبه‬‫است‬.‫در‬‫غیر‬‫این‬‫صورت‬‫به‬‫آن‬ ‫کار‬‫ی‬.‫نداریم‬ 2-8-1-2-‫عمودی‬ ‫لبه‬ ‫یافتن‬‫لبه‬‫ها‬‫ی‬‫عمود‬‫ی‬‫هم‬‫به‬‫ص‬‫ـ‬‫ورت‬‫شود‬ ‫می‬ ‫انجام‬ ‫افقی‬ ‫های‬ ‫لبه‬‫به‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬‫صورت‬‫افقی‬‫شروع‬‫به‬ ‫حرکت‬‫می‬.‫کنیم‬ 2-8-1-3-‫مورب‬ ‫لبه‬ ‫از‬ ‫ترکیبی‬ ‫مورب‬ ‫های‬ ‫لبه‬ ‫گفت‬ ‫توان‬ ‫می‬2‫و‬ ‫افقی‬ ‫لبه‬‫جذر‬ ‫که‬ ‫صورت‬‫این‬ ‫به‬. ‫هستند‬ ‫عمودی‬‫هر‬ ‫مختصات‬ ‫جمع‬ .‫نیست‬‫لبه‬ ‫صورت‬‫این‬ ‫غیر‬ ‫در‬ ‫باشد‬‫بیشتر‬ ‫مشخص‬ ‫عددی‬ ‫از‬ ‫باید‬ ‫پیکسل‬ 2-9-‫تصاویر‬ ‫روی‬ ‫عﻤلﻴات‬ 2-9-1-‫تفریﻖ‬‫دو‬‫تصویر‬ . ‫کنیم‬ ‫کم‬ ‫هم‬ ‫از‬ ‫را‬ ‫تصویر‬ ‫دو‬ ‫متناظر‬ ‫های‬ ‫پیکسل‬ ‫روشنایی‬ ‫شدت‬ ‫که‬ ‫است‬ ‫مفهوم‬ ‫بدین‬ ‫اندازه‬ ‫هم‬ ‫تصویر‬ ‫دو‬ ‫تفریق‬ ‫می‬ ‫منظور‬ ‫این‬ ‫برای‬ .‫هستند‬ ‫آلزایمر‬ ‫بیماری‬ ‫دچار‬ ‫که‬ ‫کنیم‬ ‫بررسی‬ ‫را‬ ‫افرادی‬ ‫مﻐز‬ ‫تﻐییرات‬ ‫خواهیم‬ ‫می‬ ‫کنید‬ ‫فرض‬
  • 22.
    ‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬ 12 ‫تصویر‬‫با‬ ‫مختلف‬ ‫مراحل‬ ‫در‬ ‫را‬ ‫سالم‬ ‫مﻐز‬ ‫یک‬ ‫از‬ ‫تصویری‬ ‫توانیم‬‫مقایسه‬ ، ‫است‬ ‫آلزایمر‬ ‫بیماری‬‫دچار‬ ‫که‬ ‫فردی‬ ‫مﻐز‬ ‫است‬ ‫شده‬ ‫تﻐییر‬ ‫دچار‬ ‫مﻐر‬ ‫نقاط‬ ‫آن‬ ‫در‬ ‫که‬ ‫مﻐز‬ ‫از‬ ‫نقاطی‬ ‫مذکور‬ ‫تصویر‬ ‫دو‬ ‫روی‬ ‫بر‬ ‫فوق‬ ‫عملگر‬ ‫اعمال‬ ‫با‬ . ‫کنیم‬ . ‫شوند‬ ‫می‬ ‫مشخص‬ ‫هنگام‬ ‫توانیم‬ ‫می‬ ‫همچنینی‬ . ‫کنیم‬ ‫می‬ ‫تبدیل‬ ‫صفر‬ ‫مقدار‬ ‫به‬ ‫را‬ ‫منفی‬ ‫مقادیر‬ ، ‫ها‬ ‫پیکس‬ ‫مقادیر‬ ‫تفریق‬ ‫هنگام‬‫تفر‬‫ی‬‫از‬ ‫ق‬ ‫کنیم‬ ‫استفاده‬ ‫نیز‬ ‫تفریق‬ ‫قدرمطلق‬.‫در‬ ‫حرکت‬ ‫شناسایی‬ ‫به‬ ‫توان‬ ‫می‬ ‫تصویر‬ ‫دو‬ ‫تفریق‬ ‫از‬ ‫کاربردی‬ ‫مثال‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫گرفته‬ ‫متوالی‬ ‫فریم‬ ‫دو‬ ‫بین‬ ‫در‬ ‫که‬ ‫است‬ ‫داده‬ ‫رخ‬ ‫حرکت‬ ‫گوییم‬ ‫می‬ ‫زمانی‬ .‫کرد‬ ‫اشاره‬ ‫بسته‬ ‫مدار‬ ‫دوربین‬ ‫های‬ ‫سیستم‬ ‫هما‬ ‫و‬ .‫باشد‬ ‫داشته‬ ‫وجود‬ ‫اختالﻑ‬ ‫دوربین‬ ‫از‬ ‫شده‬‫ابتدا‬ ‫در‬ ‫که‬ ‫نطور‬‫شد‬ ‫ﺫکر‬‫از‬ ‫تصویر‬ ‫دو‬ ‫بین‬ ‫اختالﻑ‬ ‫محاسبه‬ ‫برای‬ ، ‫اختالﻑ‬ ‫توانیم‬ ‫می‬ ‫دوربین‬ ‫از‬ ‫شده‬ ‫گرفته‬ ‫قبلی‬ ‫فریم‬ ‫و‬ ‫فعلی‬ ‫فریم‬ ‫تفریق‬ ‫با‬ ‫بنابراین‬ .‫کنیم‬ ‫می‬ ‫استفاده‬ ‫تفریق‬ ‫عملگر‬ ‫زمینه‬ ‫پشت‬ ‫حذﻑ‬ ‫به‬ ‫توان‬ ‫می‬ ‫تصویر‬ ‫دو‬ ‫تفریق‬ ‫کاربردهای‬ ‫دیگر‬ ‫از‬ .‫کنیم‬ ‫پیدا‬ ‫را‬ ‫تصویر‬ ‫دو‬ ‫در‬ ‫موجود‬‫از‬ ‫ثابت‬ .‫کرد‬ ‫اشاره‬ ‫تصویر‬ 2-9-2-‫جﻤﻊ‬‫دو‬‫تصویر‬ ‫جمع‬ ‫باهم‬ ‫را‬ ‫تصویر‬ ‫دو‬ ‫متناظر‬ ‫های‬ ‫پیکسل‬ ‫روشنایی‬ ‫شدت‬ ، ‫دوتصویر‬ ‫در‬ ‫که‬ ‫است‬ ‫مفهموم‬ ‫بدین‬ ‫تصویر‬ ‫دو‬ ‫جمع‬ ‫دو‬ ‫به‬‫نیاز‬‫منظور‬ ‫این‬ ‫برای‬.‫است‬ ‫تصویر‬ ‫به‬ ‫زمینه‬ ‫پشت‬ ‫افزودن‬ ‫تصویر‬ ‫دو‬ ‫جمع‬ ‫کاربردهای‬ ‫ترین‬ ‫رایج‬ ‫از‬ ‫یکی‬ . ‫کنیم‬ ‫زم‬ ‫پشت‬ ‫تصویر‬‫جمع‬ ‫از‬ .‫شود‬ ‫گرفته‬ ‫ثابت‬ ‫رنﮓ‬ ‫با‬ ‫ای‬ ‫پرده‬ ‫مقابل‬ ‫در‬ ‫باید‬ ‫شی‬ ‫تصویر‬ ‫که‬ ‫داریم‬ ‫شی‬ ‫تصویر‬ ‫و‬ ‫ینه‬ .‫آید‬ ‫می‬ ‫دست‬ ‫به‬‫دلخواه‬ ‫زمینه‬ ‫پشت‬ ‫با‬ ‫تصویری‬ ‫مذکور‬ ‫تصویر‬ ‫دو‬ ‫کردن‬ ‫اول‬ ‫تصویر‬‫دوم‬‫تصویر‬ ‫جﻤﻊ‬ ‫حاصل‬ ‫شکل‬2-3-‫تصاویر‬ ‫جﻤﻊ‬
  • 23.
    ‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬ 13 2-9-3-‫مﻴاﻧﮕﻴﻦگﻴر‬‫ی‬‫از‬‫تصویر‬ ‫خواهیم‬‫می‬ ‫و‬ ‫دارد‬ ‫وجود‬ ‫مختلفی‬ ‫نویزهای‬ ‫ها‬ ‫آن‬ ‫از‬ ‫هرکدام‬ ‫روی‬ ‫بر‬ ‫و‬ ‫داریم‬ ‫یکسان‬ ‫تصویر‬ ‫چند‬ ‫که‬ ‫هنگامی‬ ،‫کنیم‬ ‫می‬ ‫استفاده‬ ‫گیری‬ ‫میانگین‬ ‫از‬ ‫دهیم‬ ‫ارتقا‬ ‫را‬ ‫تصاویر‬ ‫این‬ ‫کیفیت‬‫متناظر‬ ‫های‬ ‫پیکسل‬ ‫مقادیر‬ ‫که‬ ‫صورت‬ ‫بدین‬ ‫تقسیم‬ ‫تصاویر‬ ‫کل‬ ‫تعداد‬ ‫به‬ ‫سپس‬ ‫و‬ ‫کرده‬ ‫جمع‬ ‫باهم‬ ‫را‬ ‫تصاویر‬ ‫همه‬ ‫در‬‫می‬‫تعداد‬ ‫هرقدر‬ ‫که‬ ‫است‬ ‫بدیهی‬ .‫کنیم‬ ‫خواهد‬ ‫نزدیک‬ ‫واقعیت‬ ‫به‬ ‫بیشتر‬ ‫نیز‬ ‫آنها‬ ‫گیری‬ ‫میانگین‬ ‫از‬ ‫حاصل‬ ‫تصویر‬ ، ‫باشد‬ ‫بیشتر‬ ‫گیری‬ ‫میانگین‬ ‫برای‬ ‫تصاویر‬ .‫بود‬ ‫نویز‬ ‫تصویر‬‫نویزدار‬ ‫تصویر‬ ‫دار‬‫نویزدار‬ ‫تصویر‬‫نویزدار‬ ‫تصویر‬‫تصویر‬‫بدون‬‫نویز‬ ‫نویزدار‬ ‫تصاویر‬ ‫میانگین‬ ‫شکل‬2-4-‫میانگی‬‫گی‬ ‫ن‬‫تصویر‬‫ری‬ 2-9-4-‫ﮐردن‬ ‫مکﻤل‬‫تصویر‬ ‫قرار‬ ‫بزرگ‬ ‫سیاه‬ ‫محدوده‬ ‫با‬ ‫تصویر‬ ‫یک‬ ‫در‬ ‫تصویر‬ ‫اصلی‬ ‫اجزای‬ ‫که‬ ‫مواردی‬ ‫در‬‫تصویر‬ ‫مکمل‬ ‫از‬ ،‫باشد‬ ‫گرفته‬ .‫کنیم‬ ‫می‬ ‫استفاده‬ ‫فقط‬ ‫که‬ ‫سفید‬ ‫و‬ ‫سیاه‬ ‫تصویر‬ ‫یک‬ ‫در‬‫دارای‬‫روشنایی‬ ‫شدت‬ ‫سطﺢ‬ ‫دو‬0‫و‬1‫باشد‬‫می‬‫تصویر‬ ‫کردن‬ ‫مکمل‬ ‫از‬ ‫منظور‬ ، ،1‫مقدار‬ ‫با‬ ‫پیکسلهای‬ ‫کردن‬0‫و‬0‫مقدار‬ ‫با‬ ‫های‬ ‫پیکسل‬ ‫کردن‬1‫از‬ ‫که‬ ‫تصویری‬ ‫در‬ .‫است‬L‫روشنایی‬ ‫سطﺢ‬
  • 24.
    ‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬ 14 (0...‫و‬1-L‫نمایش‬‫برای‬ )‫دست‬ ‫به‬ ‫زیر‬ ‫فرمول‬ ‫از‬ ‫پیکسل‬ ‫یک‬ ‫مکمل‬ ، ‫کند‬ ‫می‬ ‫استفاده‬ ‫ها‬ ‫پیکسل‬ ‫روشنایی‬ ‫شدت‬ ‫می‬: ‫آید‬ Pixel[ I , j ] = L -1 – Pixel[ I , j ] 2-9-5-‫فﻴلﺘر‬‫ﮐردن‬‫تصویر‬ :‫شوند‬ ‫می‬ ‫تقسیم‬ ‫دسته‬ ‫دو‬ ‫به‬‫تصاویر‬ ‫های‬ ‫پیکسل‬ 2-9-5-1-‫تیز‬ ‫های‬ ‫پیکسل‬ ‫تصویر‬ ‫از‬ ‫هایی‬ ‫پیکسل‬‫روشنایی‬ ‫شدت‬ ‫اختالﻑ‬ ‫که‬ ‫را‬( ‫آنها‬،‫باشند‬ ‫زیاد‬ ‫خود‬ ‫همسایه‬ ‫های‬ ‫پیکسل‬ ‫با‬ )‫پیکسل‬ ‫مقدار‬ ‫نشان‬ ‫یا‬ ‫هستند‬ ‫تصویر‬ ‫در‬ ‫موجود‬ ‫اشیای‬ ‫های‬ ‫لبه‬ ‫دهنده‬ ‫نشان‬ ‫یا‬ ‫معموال‬ ‫تیز‬ ‫های‬ ‫پیکسل‬ .‫نامیم‬ ‫می‬ ‫تیز‬ ‫های‬ ‫پیکسل‬ ‫های‬ ‫پیکسل‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫تصویر‬ ‫جزئیات‬ ‫که‬ ‫گفت‬ ‫توان‬ ‫می‬ ‫کلی‬ ‫حالت‬ ‫در‬ ‫و‬ ‫هستند‬ ‫تصویر‬ ‫یک‬ ‫نویزهای‬ ‫دهنده‬ ‫تیز‬،‫شوند‬ ‫می‬ ‫گرفته‬ ‫کم‬ ‫وب‬ ‫یک‬ ‫یا‬ ‫موبایل‬ ‫توسط‬ ‫شﺐ‬ ‫هنگام‬ ‫که‬ ‫تصاویری‬ ،‫مثال‬ ‫عنوان‬ ‫به‬ .‫شوند‬ ‫می‬ ‫استخراﺝ‬ ‫فلفل‬ ‫معروﻑ‬ ‫نویز‬ ‫دارای‬-‫هستند‬ ‫نمکی‬. 2-9-5-2-‫آرام‬ ‫های‬ ‫پیکسل‬ ‫روشنایی‬ ‫شدت‬ ‫اختالﻑ‬ ‫که‬ ‫تصویر‬ ‫از‬ ‫هایی‬ ‫پیکسل‬ .‫دارند‬ ‫قرار‬ ‫تصویر‬ ‫آرام‬ ‫های‬ ‫پیکسل‬ ،‫تیز‬ ‫های‬ ‫پیکسل‬ ‫مقابل‬ ‫در‬ ‫با‬ ‫آنها‬.‫نامیم‬ ‫می‬ ‫تصویر‬ ‫آرام‬ ‫های‬ ‫پیکسل‬ ،‫است‬ ‫کم‬ ‫خود‬ ‫همجوار‬ ‫های‬ ‫پیکسل‬ .‫پردازیم‬ ‫می‬ ‫تصاویر‬ ‫کردن‬‫فیلتر‬ ‫شرح‬ ‫به‬ ‫شده‬ ‫گفته‬ ‫مطالﺐ‬ ‫به‬ ‫توجه‬ ‫با‬ ‫به‬‫فیلترها‬ ‫مکانی‬ ‫حوزه‬ ‫در‬2:‫شوند‬ ‫می‬ ‫تقسیم‬ ‫دسته‬ 2-9-5-3-‫کننده‬ ‫آرام‬ ‫فیلترهای‬ ‫ه‬ ‫پیکسل‬ ‫روشنایی‬ ‫شدت‬ ‫در‬ ‫تﻐییر‬ ‫اعمال‬ ‫با‬ ‫کننده‬ ‫آرام‬ ‫فیلترهای‬‫تولید‬ ‫موجﺐ‬ ‫تصویر‬ ‫تیز‬ ‫ای‬‫می‬ ‫تری‬ ‫آرام‬ ‫تصاویر‬ ‫آرام‬ ‫های‬ ‫پیکسل‬ ‫روی‬ ‫بر‬ ‫چندانی‬ ‫تاثیر‬ ‫فیلترها‬ ‫این‬ ‫همچنین‬ .‫شود‬‫بدین‬ ‫تصویر‬ ‫شدن‬ ‫آرام‬ .‫گذارند‬ ‫نمی‬ ‫تصویر‬ ‫می‬ ‫بین‬ ‫از‬ ‫تصویر‬ ‫جزئیات‬ ‫از‬ ‫بخشی‬ ‫که‬ ‫است‬ ‫معنی‬‫یک‬ ‫روی‬ ‫بر‬ ‫کننده‬ ‫آرام‬ ‫فیلتر‬ ‫یک‬ ‫اعمال‬ ‫مثال‬ ‫عنوان‬ ‫به‬ .‫رود‬ ‫موجﺐ‬ ‫نویزدار‬ ‫تصویر‬‫کاهش‬‫می‬ ‫را‬ ‫کننده‬ ‫آرام‬ ‫های‬ ‫فیلتر‬ ‫از‬ ‫ساده‬ ‫کاربردی‬ ‫مثال‬ ‫یک‬ .‫شد‬ ‫خواهد‬ ‫نویزها‬ ‫شدت‬ ‫حذﻑ‬ ‫توان‬‫کرد‬ ‫بیان‬ ‫صورت‬‫تصاویر‬ ‫از‬ ‫ها‬‫چروک‬ ‫و‬ ‫چین‬. ‫میانگین‬ ‫فیلتر‬ ‫یک‬ .‫هستند‬ ‫میانگین‬ ‫فیلترهای‬ ‫تصویر‬ ‫کننده‬ ‫آرام‬ ‫فیلترهای‬ ‫ترین‬ ‫ساده‬m*n،‫مقدار‬ ‫که‬ ‫است‬ ‫ماسکی‬ ‫عدد‬ ‫با‬ ‫برابر‬ ‫آن‬ ‫عناصر‬ ‫از‬ ‫هریک‬1(m.n)/‫دیگر‬ ‫عبارت‬ ‫به‬ .‫است‬‫است‬ ‫برابر‬ ‫خروجی‬ ‫تصویر‬ ‫در‬ ‫پیکسل‬ ‫هر‬ ‫مقدار‬ ‫جاری‬ ‫پیکسل‬ ‫روشنایی‬ ‫شدت‬ ‫مقدار‬ ‫میانگین‬ ‫با‬‫جاری‬ ‫پیکسل‬ ‫همسایه‬ ‫های‬ ‫پیکسل‬ ‫و‬.
  • 25.
    ‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬ 15 ‫شده‬‫ﺁرام‬‫تصویر‬‫اصلی‬‫تصویر‬ ‫شکل‬2-5-‫ﮐننده‬‫ﺁرام‬ ‫فﻴلﺘر‬ ‫تاثﻴر‬ 2-9-5-4-‫تیزکننده‬ ‫فیلترهای‬ ‫است‬ ‫موجﺐ‬ ‫تصویر‬ ‫آرام‬ ‫های‬ ‫پیکسل‬ ‫روی‬ ‫بر‬ ‫تﻐییر‬ ‫اعمال‬ ‫با‬ ‫کننده‬ ‫تیز‬ ‫فیلترهای‬ ،‫کننده‬ ‫آرام‬ ‫فیلترهای‬ ‫برخالﻑ‬‫خ‬‫راﺝ‬ ‫تصویر‬ ‫که‬ ‫بینیم‬ ‫می‬ ‫موارد‬ ‫برخی‬ ‫در‬ .‫شوند‬ ‫می‬ ‫تصویر‬ ‫از‬ ‫بیشتری‬ ‫جزئیات‬‫جزئیات‬ ( ‫است‬ ‫مانند‬ ‫بلور‬ ‫حالتی‬ ‫داری‬ ‫کنیم‬ ‫می‬ ‫استفاده‬ ‫تصویر‬ ‫کننده‬‫تیز‬ ‫فیلترهای‬ ‫از‬ ،‫بلوری‬ ‫خاصیت‬ ‫حذﻑ‬ ‫برای‬ ‫مواردی‬‫چنین‬ ‫در‬ . )‫نیستند‬ ‫نمایان‬. ‫شده‬‫تﻴﺰ‬‫تصویر‬‫اصلی‬ ‫تصویر‬ ‫شکل‬2-6-‫ﮐننده‬ ‫تﻴﺰ‬‫فﻴلﺘرهای‬ ‫تاثﻴر‬ 2-10-‫تصاویر‬ ‫سازی‬ ‫فشرده‬ ‫ﺫخیره‬ ‫برای‬‫حجم‬ ‫باید‬ ‫تصاویر‬ ‫سازی‬‫اطالعات‬‫روش‬ ‫تمام‬ ‫اساﺱ‬ ‫و‬ ‫داد‬ ‫کاهش‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫جایی‬ ‫تا‬ ‫را‬‫های‬ ‫فشرده‬‫بخش‬ ‫گذاردن‬ ‫کنار‬ ‫سازی‬‫داده‬ ‫و‬ ‫اطالعات‬ ‫از‬ ‫هایی‬‫فشرده‬ ‫نسبت‬ ‫یا‬ ‫است.ضریﺐ‬ ‫ها‬‫صد‬ ‫در‬ ‫و‬ ‫میزان‬ ‫سازی‬ ‫می‬ ‫مشخص‬ ‫را‬ ‫اطالعات‬ ‫گذاشتن‬ ‫کنار‬‫ﺫخیره‬ ‫روش‬ ‫این‬ .‫کند‬‫آسان‬ ‫را‬ ‫اطالعات‬ ‫انتقال‬ ‫و‬ ‫سازی‬‫می‬ ‫تر‬‫و‬ ‫کند‬ ‫پهنای‬‫باند‬‫و‬‫فرکانس‬‫می‬ ‫کاهش‬ ‫نیاز‬ ‫مورد‬.‫یابد‬
  • 26.
    ‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬ 16 ‫روش‬‫امروزه‬‫فشرده‬ ‫برای‬ ‫پیشرفته‬ ‫و‬ ‫متعدد‬ ‫هایی‬‫فشرده‬ .‫دارد‬ ‫وجود‬ ‫سازی‬‫تبعیت‬ ‫مهم‬ ‫اصل‬ ‫این‬ ‫از‬ ‫تصویر‬ ‫سازی‬ ‫می‬‫نمی‬ ‫را‬ ‫آنها‬ ‫تمایز‬ ‫و‬ ‫دیده‬ ‫یکسان‬ ‫را‬ ‫هم‬ ‫به‬ ‫نزدیک‬ ‫تصویری‬ ‫عنصر‬ ‫دو‬ ‫فاصل‬ ‫حد‬ ‫انسان‬ ‫چشم‬ ‫که‬ ‫کند‬‫تواند‬ ‫اث‬ ‫همچنین‬ .‫دهد‬ ‫تشخیص‬‫نمی‬ ‫بین‬ ‫از‬ ‫و‬ ‫مانده‬ ‫باقی‬ ‫چشم‬ ‫در‬ ‫معینی‬ ‫زمان‬ ‫مدت‬ ‫برای‬ ‫تصویر‬ ‫و‬ ‫نور‬ ‫ر‬‫این‬ ‫که‬ ‫رود‬ ‫ساخت‬ ‫در‬ ‫ویﮋگی‬‫متحرک‬ ‫تصاویر‬‫بوده‬‫توجه‬ ‫مورد‬.‫است‬ :‫از‬ ‫عبارتند‬‫ها‬ ‫روش‬ ‫این‬ ‫جمله‬ ‫،از‬ ‫شود‬ ‫می‬ ‫انجام‬ ‫مختلفی‬ ‫روشهای‬ ‫به‬‫تصاویر‬ ‫سازی‬ ‫فشرده‬ 2-10-1-‫روش‬JPEG ‫کلمات‬ ‫مخفف‬ ‫واقع‬ ‫در‬ ‫فرمت‬ ‫این‬ ‫نام‬JOINT PHOTOGRAPHIC EXPERT GROUP‫روش‬ ‫این‬ ‫از‬ .‫است‬ ‫فشرده‬ ‫در‬‫می‬ ‫استفاده‬ ‫ساکن‬ ‫گرافیکی‬ ‫تصاویر‬ ‫و‬ ‫عکس‬ ‫سازی‬.‫شود‬JPEG‫ساده‬ ‫و‬ ‫اولین‬‫فشرده‬ ‫در‬ ‫روش‬ ‫ترین‬‫سازی‬ ‫فشرده‬ ‫برای‬ ‫شد‬ ‫سعی‬ ‫ابتدا‬ ‫در‬ ‫است‬ ‫تصویر‬‫تصاویر‬ ‫منظور‬ ‫این‬ ‫برای‬.‫گیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫متحرک‬ ‫تصاویر‬ ‫سازی‬ ‫می‬ ‫فشرده‬ ‫عکس‬ ‫مانند‬ ‫فریم‬ ‫به‬ ‫فریم‬ ‫صورت‬ ‫به‬‫شد‬‫روش‬ ‫ابداع‬ ‫با‬ ‫و‬ ‫ند‬MOTION JPEG‫این‬ ‫دادن‬ ‫ارتباط‬ ‫برای‬ ‫عکس‬.‫بود‬ ‫همراه‬ ‫مشکالتی‬ ‫با‬‫که‬ ‫شد‬ ‫تالش‬ ‫هم‬ ‫به‬ ‫ها‬ 2-10-2-‫روش‬MPEG ‫عبارت‬ ‫مخفف‬ ‫فرمت‬ ‫این‬ ‫نام‬MOVING PICTURE EXPERT GROUP‫سال‬ ‫ابتدای‬ ‫در‬ ‫روش‬ ‫این‬ .‫است‬90 ‫حدود‬ ‫سرعت‬ ‫با‬ ‫تصویر‬ ‫اطالعات‬ ‫آن‬ ‫در‬ ‫و‬ ‫شد‬ ‫ابداع‬5/1‫ثا‬ ‫بر‬ ‫مگابیت‬‫می‬ ‫پیدا‬ ‫انتقال‬ ‫نیه‬‫تصاویر‬ ‫تهیه‬ ‫در‬ ‫و‬ ‫کرد‬ ‫می‬ ‫استفاده‬ ‫ویدئویی‬‫حدود‬ ‫ﺫخیره‬ ‫امکان‬ ‫روش‬ ‫این‬ .‫شد‬650‫حدود‬ ‫معادل‬ ‫اطالعات‬ ‫مگابایت‬70‫تصویر‬ ‫دقیقه‬ ‫در‬ .‫آورد‬ ‫وجود‬ ‫به‬ ‫را‬ ‫دیسک‬ ‫یک‬ ‫در‬ ‫متحرک‬MPEG‫بیت‬‫صورت‬ ‫به‬ ‫اطالعات‬ ‫های‬‫سریال‬‫می‬ ‫ارسال‬‫به‬ ‫و‬ ‫شوند‬ ‫بیت‬ ‫آنها‬ ‫همراه‬‫هماهنﮓ‬ ‫و‬ ‫کنترل‬ ‫های‬‫می‬ ‫ارسال‬ ‫نیز‬ ‫کننده‬‫بیت‬ ‫قرارگیری‬ ‫نحوه‬ ‫و‬ ‫موقعیت‬ ‫که‬ ‫شوند‬‫اطالعاتی‬ ‫های‬ ‫می‬‫تعیین‬ ‫تصویر‬ ‫و‬ ‫صدا‬ ‫اطالعات‬ ‫ثبت‬ ‫و‬ ‫انتقال‬ ‫برای‬ ‫را‬.‫کند‬ 2-10-3-‫روش‬MPEG2 ‫فشرده‬ ‫ضریﺐ‬ ‫از‬ ‫روش‬ ‫این‬ ‫در‬‫می‬ ‫استفاده‬ ‫باالتری‬ ‫سازی‬‫اطالعات‬ ‫به‬‫دسترسی‬ ‫امکان‬ ‫و‬ ‫شود‬3‫تا‬15‫بر‬ ‫مگابیت‬ ‫ثانیه‬‫در‬ ‫روش‬ ‫این‬ ‫از‬ .‫است‬‫دی‬‫وی‬‫دی‬‫های‬‫امروزی‬‫می‬ ‫استفاده‬.‫شود‬
  • 27.
    ‫دوم‬ ‫فصل‬‫تصویر‬ ‫پردازش‬ 17 2-10-4-‫روش‬MPEG4 ‫می‬‫استفاده‬ ‫دارند‬ ‫کار‬ ‫سرو‬ ‫اطالعات‬ ‫کند‬ ‫یا‬ ‫سریع‬ ‫انتقال‬ ‫با‬ ‫که‬ ‫تجهیزاتی‬ ‫برای‬ ‫روش‬ ‫این‬ ‫از‬‫توانایی‬ ‫روش‬ ‫این‬ .‫شود‬ ‫شبکه‬ ‫در‬ .‫دارد‬ ‫را‬ ‫باال‬ ‫کیفیت‬ ‫با‬ ‫تصویر‬ ‫ارائه‬ ‫و‬ ‫خطا‬ ‫جبران‬‫از‬ ‫که‬ ‫کاربرانی‬ ‫برای‬ ‫تصویر‬ ‫باید‬ ‫کامپیوتری‬ ‫های‬ ‫مودم‬‫های‬‫می‬ ‫استفاده‬ ‫کند‬ ‫یا‬ ‫سریع‬‫روش‬ ‫حالتی‬ ‫چنین‬ ‫در‬ ،‫شود‬ ‫داده‬ ‫نمایش‬ ‫خوبی‬ ‫به‬ ‫کنند‬MPEG4.‫است‬ ‫مناسﺐ‬ ‫دوربین‬ ‫در‬ ‫روش‬ ‫این‬ ‫از‬‫می‬ ‫استفاده‬ ‫نیز‬ ‫تلویزیونی‬ ‫های‬‫یک‬ ‫تقسیم‬ ‫روش‬ ‫این‬ ‫اصلی‬ ‫ایده‬ .‫شود‬‫یک‬ ‫به‬ ‫ویدئویی‬ ‫فریم‬ ‫می‬ ‫قرار‬ ‫هم‬ ‫کنار‬ ‫خاصی‬ ‫قاعده‬ ‫مطابق‬ ‫که‬ ‫است‬ ‫موضوع‬ ‫چند‬ ‫یا‬‫و‬ ‫مجزا‬ ‫صورت‬ ‫به‬ ‫اجزا‬ ‫این‬ ‫از‬ ‫کدام‬ ‫هر‬ .‫گیرند‬ ‫قابل‬ ‫جداگانه‬‫کپی‬.‫هستند‬ ‫انتقال‬ ‫یا‬ ‫و‬ 2-11-‫تصویر‬ ‫پردازش‬ ‫ﮐاربرد‬ ‫پنج‬‫و‬ ‫صنعتی‬ ‫کنترل‬ ، ‫پزشکی‬ ‫مهندسی‬ ، ‫دفاعی‬ ‫های‬ ‫سیستم‬ ، ‫رباتیک‬ ‫توان‬ ‫می‬ ‫را‬ ‫تصویر‬ ‫پردازش‬ ‫عمده‬ ‫کاربرد‬ ‫تشخیص‬ ‫و‬ ‫ربات‬ ‫هدایت‬ ‫برای‬ ‫تصویر‬ ‫پردازش‬ ‫از‬ ‫معموال‬ ‫رباتیک‬ ‫های‬ ‫سیستم‬ ‫در‬ .‫کرد‬ ‫عنوان‬ ‫کامپیوتری‬ ‫گرافیک‬ ‫یک‬ ‫رهگیری‬ ‫یا‬ ‫و‬ ‫هدﻑ‬ ‫یافتن‬ ‫برای‬ ‫دفاعی‬ ‫های‬ ‫سیستم‬ ‫در‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫اشیا‬‫تصویر‬ ‫پردازش‬ ‫متحرک‬ ‫هدﻑ‬ ‫نرم‬ ‫معروفترین‬ ‫از‬ ‫یکی‬ ‫نیز‬ ‫گرافیکی‬ ‫کاربردهای‬ ‫مورد‬ ‫در‬ .‫باشد‬ ‫می‬ ‫موجود‬ ‫های‬ ‫روش‬ ‫اعتمادترین‬ ‫قابل‬ ‫از‬ ‫یکی‬ ‫باشد‬ ‫می‬ ‫فتوشاپ‬ ‫تصویر‬ ‫پردازش‬ ‫بر‬ ‫مبتنی‬ ‫افزارهای‬.‫تصاویر‬ ‫پردازش‬ ‫کاربرد‬ ‫ترین‬ ‫رایج‬ ‫نیز‬ ‫بیماری‬ ‫نوع‬ ‫تشخیص‬ ‫تو‬ ‫خطوط‬ ‫امروزه‬ ، ‫نهایت‬ ‫در‬ .‫است‬ ‫پزشکی‬‫کنترل‬ ‫همچنین‬ ‫و‬ ‫شده‬ ‫تولید‬ ‫محصوالت‬ ‫کیفیت‬ ‫کنترل‬ ‫برای‬ ‫صنعتی‬ ‫لید‬ .‫اند‬ ‫جسته‬ ‫بهره‬ ‫تصویر‬ ‫پردازش‬ ‫بر‬ ‫مبتنی‬ ‫های‬ ‫سیستم‬ ‫از‬ ‫تولید‬ ‫خط‬ ‫حرکات‬‫در‬ ‫همچنین‬ ‫تصویر‬ ‫پردازش‬‫های‬ ‫زمینه‬ ‫مختلف‬‫که‬ ‫دارد‬ ‫فراوانی‬ ‫کاربردهای‬ ‫نیز‬ ‫دیگری‬،‫نوردی‬ ‫فضا‬ ‫و‬ ‫نجوم‬ ،‫کشاورزی‬ ،‫شهرسازی‬ ،‫هواشناسی‬ ‫از‬ ‫عبارتند‬ ‫شناسی‬ ‫زمین‬ ‫و‬ ‫روانشناسی‬ ،‫اقتصاد‬ ،‫سینما‬ ،‫تبلیﻐات‬ ،‫شناسی‬ ‫باستان‬ ،‫علمی‬ ‫های‬ ‫فناوری‬. ‫پردازش‬‫تصویر‬‫در‬‫افزایش‬‫سرعت‬‫پیشرفت‬‫ها‬‫ی‬‫علمی‬‫نیز‬‫تﺄثیر‬‫فوق‬‫العاده‬‫داشته‬‫است‬.‫اولین‬‫و‬‫مشخص‬‫ترین‬‫تﺄثیر‬ ‫آن‬‫را‬‫می‬‫توان‬‫در‬‫علم‬‫عکاسی‬‫یا‬‫هنر‬‫دید‬.‫این‬‫علم‬‫در‬‫پیشرفت‬‫علوم‬‫پایه‬‫فیزیک‬،‫شیمی‬‫و‬‫مخصوصا‬‫تحقیقات‬ ‫فیزیکی‬‫و‬‫کمک‬ ‫مکانیکی‬‫فراوانی‬‫کرده‬.‫است‬
  • 28.
    ‫سوم‬ ‫فصل‬-‫پذیر‬ ‫برﻧامه‬‫منطقی‬ ‫های‬ ‫ﺁرایه‬FPGA ‫الکترونیک‬ ‫صنعت‬ ‫در‬FPGA‫نوع‬ ‫از‬ ( ‫مجتمع‬ ‫هادی‬ ‫نیمه‬ ‫سیلیکونی‬ ‫های‬ ‫تراشه‬ ‫از‬ ‫خاصی‬ ‫نوع‬ ‫به‬VLSI‫می‬ ‫)گفته‬ ‫دارای‬ ،‫هستند‬ ‫خود‬ ‫روی‬ ‫بر‬ ‫ثابت‬ ‫الکترونیکی‬ ‫شبکه‬ ‫یک‬ ‫دارای‬ ‫که‬ ‫سیلیکونی‬ ‫های‬ ‫تراشه‬ ‫دیگر‬ ‫برخالﻑ‬ ‫که‬ ‫شود‬ ‫نمی‬ ‫تشکیل‬ ‫را‬ ‫الکترونیکی‬ ‫مدار‬ ‫هیچ‬ ‫اولیه‬ ‫حالت‬ ‫در‬ ‫که‬ ‫هستند‬ ‫الکترونیکی‬ ‫های‬ ‫المان‬ ‫از‬ )‫(ماتریس‬ ‫مجموعه‬ ‫یک‬ ‫واقع‬ ‫در‬ .‫دهند‬FPGA‫ها‬ ‫تراشه‬ ‫از‬ ‫خاصی‬ ‫دسته‬ ‫به‬ ‫متعلق‬ ‫ها‬‫برنامه‬ ‫قابل‬ ‫های‬ ‫تراشه‬ ‫آنها‬ ‫به‬ ‫مجموع‬ ‫در‬ ‫که‬ ‫باشند‬ ‫می‬ ( ‫ریزی‬Programmable Array( ‫میدانی‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫ابزارهای‬ ‫افتاده‬ ‫جا‬ ‫کامال‬ ‫اصطالح‬ ‫در‬ ‫یا‬ )Field- Programmable Array – FPD‫بعد‬‫مشتری‬ ‫یا‬ ‫طراح‬ ‫توسط‬ ‫پیکربندی‬ ‫امکان‬ ‫نامگذاری‬‫این‬ ‫دلیل‬ ،‫شود‬ ‫می‬ ‫گفته‬ ) ‫ان‬ ‫تولید‬ ‫از‬.‫باشد‬ ‫می‬ ‫بوه‬‫بودن‬ ‫پذیر‬ ‫برنامه‬ ‫بار‬ ‫چند‬ ‫طبیعت‬FPGA‫مناسﺐ‬ ‫آموزشی‬ ‫های‬ ‫استفاده‬ ‫برای‬ ‫را‬ ‫آنها‬ ‫ها‬ ‫همچنین‬ .‫سازند‬ ‫بهینه‬ ‫و‬ ‫تصحیﺢ‬ ‫را‬ ‫خود‬ ‫پردازنده‬ ‫طراحی‬ ‫تواند‬ ‫می‬ ‫کاربر‬ ‫آنها‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫چون‬ ‫است‬ ‫کرده‬FPGA ‫ها‬ ‫تکنولوژی‬ ‫ساله‬ ‫هر‬ ‫چون‬ ‫باشد‬ ‫می‬ ‫مناسﺐ‬ ‫نیز‬ ‫دانشگاهی‬ ‫جامعه‬ ‫برای‬ ‫ها‬‫می‬ ‫تولید‬ ‫تر‬ ‫مناسﺐ‬ ‫قیمت‬ ‫با‬ ‫جدیدتر‬ ‫ی‬ .‫شود‬ FPGA‫زمینه‬ ‫در‬ ‫و‬ ‫شده‬ ‫صنعت‬ ‫وارد‬ ‫اخیر‬ ‫سالهای‬ ‫در‬ ‫که‬ ‫تکنولوژیهاییست‬ ‫از‬ ‫یکی‬‫الکترونیک‬‫بسیار‬ ‫دیجیتال‬ ‫از‬ ‫بسیاری‬ ‫در‬ ‫امروز‬ ‫و‬ ‫شده‬ ‫ظاهر‬ ‫خوب‬‫پروژه‬‫خصوصا‬ ‫صنعتی‬ ‫مهم‬ ‫های‬"‫پروژه‬.‫گردد‬ ‫می‬ ‫استفاده‬ ‫مخابراتی‬ ‫های‬ ‫از‬ ‫بخشی‬ ، ‫صدا‬ ‫و‬ ‫تصویر‬ ‫پروسسور‬ ، ‫کنترلر‬ ‫میکرو‬ ‫مانند‬ ‫تری‬ ‫پیچیده‬ ‫مدارات‬ ‫میتوان‬ ‫مجتمع‬ ‫مدار‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫مدار‬ ‫گیرنده‬. ‫کرد‬ ‫طراحی‬ ‫کم‬ ‫نسبی‬‫قیمت‬ ‫با‬‫را‬ ... ‫و‬ ‫مخابراتی‬ ‫ات‬ ‫در‬ ‫منطقی‬ ‫توابع‬ ‫اجرای‬ ‫سرعت‬FPGA‫بخواهیم‬ ‫اگر‬ . ‫است‬ ‫ثانیه‬ ‫نانو‬ ‫حد‬ ‫در‬ ‫و‬ ‫باال‬ ‫بسیار‬ ‫ها‬FPGA‫طور‬ ‫به‬ ‫را‬ ‫ها‬ ‫منطقی‬ ‫بلوک‬ ‫باالیی‬ ‫تعداد‬ ‫از‬ ‫که‬ ‫تراشه‬ ‫یک‬ ‫از‬ ‫است‬ ‫عبارت‬ ، ‫کنیم‬ ‫تشریﺢ‬ ‫ساده‬- LB (Logic Block)‫خطوط‬ ، ‫پ‬ ‫و‬ ‫ارتباطی‬‫خروجی‬ / ‫ورودی‬ ‫های‬ ‫ایه‬(IOB)‫قرار‬ ‫یکدیگر‬ ‫کنار‬ ‫در‬ ‫ای‬ ‫آرایه‬ ‫صورت‬ ‫به‬ ‫که‬ ‫است‬ ‫شده‬ ‫تشکیل‬ ‫تشکیل‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫های‬ ‫سوئیچ‬ ‫از‬ ‫است‬ ‫منطقی‬ ‫های‬ ‫بلوک‬ ‫بین‬ ‫ارتباط‬ ‫آنها‬ ‫وظیفه‬ ‫که‬ ‫ارتباطی‬ ‫خطوط‬ . ‫دارند‬
  • 29.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 19 ‫برنام‬‫قابل‬ ‫یکبار‬ ‫تنها‬ ‫برخی‬ ، ‫دارند‬ ‫که‬ ‫نوعی‬ ‫به‬ ‫بسته‬ ‫ها‬ ‫سوئیچ‬ ‫این‬ . ‫اند‬ ‫شده‬‫دفعات‬ ‫تعداد‬ ‫به‬ ‫برخی‬ ‫و‬ ‫هستند‬ ‫ریزی‬ ‫ه‬ ‫شوند‬ ‫می‬ ‫ریزی‬ ‫برنامه‬ ‫زیادی‬. ‫نوع‬ ‫به‬ ‫و‬ ‫است‬ ‫متفاوت‬ ‫منطقی‬ ‫بلوک‬ ‫هر‬ ‫های‬ ‫ورودی‬ ‫تعداد‬FPGA‫های‬ ‫بلوک‬ ‫مثال‬ ‫عنوان‬ ‫به‬ . ‫شود‬ ‫می‬ ‫مربوط‬ ‫خانواده‬ ‫در‬ ‫منطقی‬‫ی‬ACT-1‫نوع‬ ‫از‬ ،8‫منطقی‬ ‫های‬ ‫سلول‬ ، ‫منطقی‬ ‫های‬ ‫بلوک‬ ‫به‬ ‫موارد‬ ‫برخی‬ ‫در‬ . ‫است‬ ‫ورودی‬ ‫شود‬ ‫می‬ ‫گفته‬ ‫نیز‬. ‫جداول‬ ‫اساﺱ‬ ‫بر‬ ‫منطقی‬ ‫های‬ ‫سلول‬ ‫از‬ ‫بسیاری‬LUT‫شوند‬ ‫می‬ ‫ساخته‬LUT.‫حافظه‬ ‫سلولهای‬ ‫تعدادی‬ ‫از‬SRAM ‫ریزی‬ ‫برنامه‬ ‫هنگام‬ ‫در‬ ‫که‬ ‫شود‬ ‫می‬ ‫تشکیل‬FPGA‫شوند‬ ‫می‬ ‫دهی‬ ‫مقدار‬ ،. ‫کلی‬ ‫طور‬ ‫به‬‫پیکربندی‬FPGA.‫پذیرد‬ ‫می‬ ‫انجام‬ ‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫زبان‬ ‫توسط‬ ‫(نظیر‬ ‫میکروکنترلرهایی‬ ‫با‬ ‫فرد‬ ‫که‬ ‫صورتی‬ ‫در‬AVR ,ARM.‫بود‬ ‫خواهد‬ ‫آسان‬ ‫قسمت‬ ‫این‬ ‫درک‬ ،‫باشد‬ ‫آشنا‬ ) .‫باشد‬ ‫می‬ ‫پردازش‬ ‫قدرت‬ ‫و‬ ‫خروجی‬ ،‫ورودی‬ ‫دارای‬ ‫که‬ ‫است‬ ‫منظوره‬ ‫همه‬ ‫پردازنده‬ ‫یک‬ ‫میکروکنترلر‬‫میکرو‬ ‫دارای‬ ‫ها‬ ‫کنترلر‬‫باش‬ ‫می‬ ‫خاصی‬ ‫کامپایلرهای‬‫ن‬‫های‬ ‫زبان‬ ‫با‬ ‫که‬ ‫د‬Assembly،basic c‫برنامه‬ ‫آنها‬ ‫برای‬ ‫توان‬ ‫می‬ ‫نام‬ ‫به‬ ‫دستگاهی‬ ‫توسط‬ ‫را‬ ‫شده‬ ‫نوشته‬ ‫برنامه‬ ‫سپس‬ ‫نوشت‬programmer‫به‬‫سی‬ ‫آی‬ ‫روی‬‫انتقال‬‫و‬ ‫دهند‬ ‫می‬‫در‬ Rom‫می‬ ‫ﺫخیره‬‫شود‬.‫را‬ ‫میکرو‬ ‫روی‬ ‫برنامه‬ ‫ریختن‬Programming‫میکروکنترلرها‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬ .‫گویند‬ ‫می‬ ‫به‬ ‫را‬ ‫خود‬ ‫برنامه‬ ‫باید‬ ‫که‬ ‫است‬ ‫نهایی‬ ‫کاربر‬ ‫بلکه‬ ‫دهند‬ ‫نمی‬ ‫انجام‬ ‫پردازشی‬ ‫و‬ ‫ندارند‬ ‫ای‬ ‫برنامه‬ ‫خریداری‬ ‫هنگام‬ ‫در‬ ‫را‬ ‫آن‬ ‫و‬ ‫بنویسد‬‫میکروکنترلر‬ ‫آن‬ ‫برای‬ ‫قبولی‬ ‫قابل‬ ‫زبان‬Program.‫کند‬ ‫های‬ ‫تراشه‬ ‫در‬ ‫روند‬ ‫این‬FPGA.‫افتد‬ ‫می‬ ‫اتفاق‬ ‫نیز‬‫های‬ ‫تراشه‬ ‫در‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬FPGA‫به‬ ‫توانند‬ ‫می‬ ‫خود‬ ‫(که‬ ‫به‬‫را‬ ‫منطقی‬ ‫واحدهای‬ ‫کدام‬ ‫تراشه‬ ‫که‬ ‫کند‬ ‫مشخص‬ ‫باید‬ ‫بلکه‬ ‫ندارد‬ ‫اجرا‬ ‫به‬ ‫نیازی‬ ‫کد‬ )‫شوند‬ ‫تبدیل‬ ‫هم‬ ‫میکرو‬ ‫یک‬ ‫را‬ ‫خواهیم‬ ‫می‬ ‫ما‬ ‫که‬ ‫افزاری‬ ‫سخت‬ ‫نوعی‬ ‫به‬ ‫باید‬ ‫کلی‬ ‫طور‬ ‫به‬ ‫غیره‬ ‫و‬ ‫کند‬ ‫کوتاه‬ ‫اتصال‬ ‫را‬ ‫کدام‬ ،‫کند‬ ‫وصل‬ ‫هم‬ ‫توص‬.‫کند‬ ‫یف‬ ‫کند‬ ‫می‬ ‫توصیف‬ ‫را‬ ‫افزار‬ ‫سخت‬ ‫که‬ ‫کد‬ ‫این‬"‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫کد‬"(Hardware Description Code‫نام‬ ) ‫مینویسند‬ ‫آن‬ ‫قواعد‬ ‫و‬ ‫سینتاکس‬ ‫روی‬ ‫از‬ ‫را‬ ‫کد‬ ‫این‬ ‫که‬ ‫زبانی‬ . ‫دارد‬"‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫زبان‬"(Hardware Description Language‫هایی‬ ‫زبان‬ ‫کد‬ ‫با‬ ‫کد‬ ‫نوع‬ ‫این‬ .‫شود‬ ‫می‬ ‫)نامیده‬‫مثل‬C‫زبان‬ ‫کد‬ ‫زیرا‬ ، ‫دارد‬ ‫تفاوت‬C‫یک‬ ‫یک‬ ‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫کد‬ ‫اما‬ ‫است‬ ‫پردازنده‬ ‫روی‬ ‫بر‬ ‫اجرا‬ ‫قابل‬ ‫پی‬ ‫در‬ ‫پی‬ ‫دستورات‬ ‫مجموعه‬ ‫و‬ ‫افزاری‬ ‫نرم‬ ‫روند‬ ‫مثل‬ ‫میدانی‬ ‫خام‬ ‫تراشه‬FPGA.‫کند‬ ‫می‬ ‫کاربردی‬ ‫افزار‬ ‫سخت‬ ‫یک‬ ‫به‬‫تبدیل‬ ‫را‬
  • 30.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 20 ‫جمله‬‫از‬ ‫زیادی‬ ‫های‬ ‫نمونه‬ ‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫های‬ ‫زبان‬Abel, Verilog,VHDL‫آنها‬ ‫مشهورترین‬ ‫که‬ ‫دارد‬ VHDL,Verilog‫نویسی‬ ‫برنامه‬ ‫یکپارچه‬ ‫های‬ ‫محیط‬ ‫ها‬ ‫زبان‬ ‫این‬ ‫از‬ ‫هرکدام‬ ‫برای‬ .‫باشد‬ ‫می‬IDE‫مثل‬Modelsim ‫و‬Quartus‫قالﺐ‬ ‫کد‬ ‫به‬ ‫شده‬ ‫نوشته‬ ‫برنامه‬ ‫تبدیل‬ ‫و‬ ‫کامپایل‬ ،‫ویرایش‬ ،‫نوشتن‬ ‫برای‬ ‫ابزارها‬ ‫تمامی‬ ‫که‬ ‫دارند‬ ‫وجود‬ ‫ر‬ ‫تراشه‬ ‫روی‬ ‫انتقال‬.‫کند‬ ‫می‬ ‫فراهم‬ ‫یکجا‬ ‫ا‬ 3-1-‫تاریخچه‬ ‫صنعت‬FPGA‫های‬ ‫تراشه‬ ‫توسط‬ ‫ابتدا‬ ‫در‬(PROM)Programmable read-only memory‫و‬Programmable Logic deevices(PLDs).‫گرفت‬ ‫شکل‬ ‫ها‬PROM‫و‬ ‫ها‬PLD‫ها‬‫در‬ ‫ای‬ ‫دسته‬ ‫طور‬ ‫به‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬ ‫دو‬ ‫هر‬ .‫داشتند‬ ‫را‬ ‫کارخانه‬ ‫دهه‬ ‫اواخر‬ ‫در‬1980‫توسط‬ ‫تحقیق‬ ‫برای‬ ‫را‬ ‫ای‬ ‫بودجه‬ ‫دریایی‬ ‫نیروی‬ ‫جنﮓ‬ ‫دپارتمان‬Steve Casselman‫برای‬ ‫بتواند‬ ‫که‬ ‫کامپیوتری‬ ‫ساخت‬600000.‫داد‬ ‫تخصیص‬ ،‫کند‬ ‫سازی‬ ‫پیاده‬ ‫را‬ ‫پذیر‬ ‫برنامه‬ ‫گیت‬Caselman‫و‬ ‫شد‬ ‫موفق‬ ‫سال‬ ‫در‬1992.‫نمود‬‫ثبت‬ ‫را‬ ‫اختراع‬ ‫این‬ ‫تکنولو‬ ‫و‬ ‫بنیادی‬ ‫مفاهیم‬ ‫از‬ ‫برخی‬‫توسط‬ ‫پذیر‬ ‫برنامه‬ ‫منطقی‬ ‫های‬ ‫بلوک‬ ‫و‬ ‫ها‬ ‫گیت‬ ،‫ها‬ ‫آرایه‬ ‫برای‬ ‫صنعتی‬ ‫های‬ ‫ژی‬ David W.Page‫و‬LuVerne R.Paterson‫سال‬ ‫در‬1985.‫بودند‬ ‫شده‬ ‫ثبت‬ Ross Freeman‫و‬Bernard Vonderscmitt‫موسسان‬Xilinx‫نام‬‫به‬ ‫تجاری‬ ‫پذیر‬ ‫برنامه‬ ‫گیت‬ ‫آرایه‬ ‫بار‬ ‫اولین‬ ‫برای‬ XC2064‫سال‬ ‫در‬ ‫را‬1985‫اخت‬.‫نمودند‬ ‫راع‬XC2064‫ها‬ ‫گیت‬ ‫میان‬ ‫پذیر‬ ‫برنامه‬ ‫اتصاالت‬ ‫و‬ ‫پذیر‬ ‫برنامه‬ ‫های‬ ‫گیت‬ .‫بود‬ ‫جدیدی‬ ‫بازار‬ ‫و‬ ‫تکنولوژی‬ ‫یک‬ ‫شروع‬ ‫که‬ ،‫داشت‬ ‫را‬XC2064‫دارای‬64‫پیکربندی‬ ‫قابل‬ ‫منطقی‬ ‫بلوک‬ (CLB‫مراجعه‬ ‫جدول‬ ‫دو‬ ، )3.‫بود‬ ‫ورودی‬ ‫دهه‬1990‫زمانی‬ ‫دوره‬ ‫مهمترین‬FPGA‫تو‬ ‫حجم‬ ‫لحاظ‬ ‫از‬ ‫هم‬ ،‫بود‬ ‫ها‬‫دهه‬ ‫ابتدای‬ ‫در‬ .‫آن‬ ‫رساندن‬ ‫کمال‬ ‫به‬ ‫هم‬ ‫و‬ ‫لید‬ 1990‫از‬FPGA‫دهه‬ ‫این‬ ‫اواخر‬ ‫در‬ .‫شد‬ ‫می‬ ‫استفاده‬ ‫ارتباطات‬ ‫و‬ ‫سازی‬ ‫شبکه‬ ‫مصارﻑ‬ ‫برای‬ ‫ها‬FPGA‫خود‬ ‫راه‬ ‫ها‬ .‫نمودند‬ ‫باز‬ ‫صنعتی‬ ‫مصارﻑ‬ ‫برای‬ ‫را‬ ‫از‬ ‫استفاده‬ ‫در‬ ‫جدیدی‬ ‫گرایش‬FPGA‫ها‬‫اتصاالت‬ ‫و‬ ‫منطقی‬ ‫های‬ ‫بلوک‬ ‫ترکیﺐ‬ ‫هم‬ ‫آن‬ ‫که‬ ‫است‬ ‫آمده‬ ‫وجود‬ ‫به‬ ‫یک‬FPGA‫یک‬ ‫دادن‬ ‫شکل‬ ‫برای‬ ‫توکار‬ ‫میکروپروسسور‬ ‫یک‬ ‫با‬ ‫سنتی‬system on programmable chip‫کامل‬ ‫به‬ ‫توان‬ ‫می‬ ‫مخلوط‬ ‫تکنولوژی‬ ‫این‬ ‫از‬ ‫مثال‬ ‫بعنوان‬ .‫باشد‬ ‫می‬SoC‫پذیر‬ ‫برنامه‬7000-TM Zynq‫شرکت‬Xilinx‫که‬
  • 31.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 21 ‫پروسس‬‫یک‬ ‫شامل‬‫ور‬1.0 GHz dual-core ARM Cortex-A9‫شده‬ ‫ساخته‬ ‫منطق‬ ‫در‬ ‫توکار‬FPGA‫نمونه‬‫یا‬ ‫و‬ ‫بود‬ ‫شرکت‬Altera‫نام‬ ‫به‬Arria V FPGA.‫کرد‬ ‫اشاره‬ ‫سال‬ ‫در‬2010‫شرکت‬Xilinx‫اولین‬SoC‫تجاری‬ ‫برند‬ ‫با‬ ‫را‬ ‫پذیر‬ ‫برنامه‬ ‫کامال‬7000-TM Zynq‫تمامی‬ ‫شامل‬ ‫که‬ ‫را‬ ‫میکروکنترلر‬ ‫یک‬ ‫های‬ ‫ویﮋگی‬ARM‫محصول‬ ‫روی‬ ‫بر‬ ‫را‬ ‫است‬FPGA‫طراحان‬ ‫تا‬ ‫نمود‬ ‫معرفی‬embedded‫به‬ ‫پروسسوری‬ ‫بستر‬ ‫همکاری‬ ‫با‬ .‫نمایند‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫بتوانند‬ ‫راحتی‬ARM‫خانواده‬ ‫روی‬ ‫بر‬FPGA28،‫نانومتری‬ ‫افزارهای‬ ‫نرم‬ ‫دهندگان‬ ‫توسعه‬ ‫و‬ ‫سیستم‬ ‫معماران‬embedded‫برای‬ ‫را‬ ‫سریال‬ ‫و‬ ‫موازی‬ ‫پردازش‬ ‫از‬ ‫ترکیبی‬ ‫توانستند‬ ‫از‬ ‫استفاده‬ .‫داد‬ ‫افزایش‬ ‫را‬ ‫نوع‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫پیچیدگی‬ ‫تدریج‬ ‫به‬ ‫که‬ ،‫ببرند‬ ‫بکار‬ ‫خود‬ ‫های‬ ‫سیستم‬ ‫طراحی‬FPGA‫با‬ ‫تراشه‬ ‫یک‬CPU‫از‬ ،‫انجامد‬ ‫می‬ ‫بیشتر‬ ‫اطمینان‬ ‫قابلیت‬ ‫و‬ ‫کوچکتر‬ ‫های‬ ‫سیستم‬ ،‫قطعات‬ ‫هزینه‬ ‫کاهش‬ ‫به‬ ‫مجزا‬ ‫خرا‬ ‫از‬ ‫ناشی‬ ‫مدرن‬ ‫الکترونیکی‬ ‫مدارات‬ ‫مشکالت‬ ‫بیشتر‬ ‫که‬ ‫آنجایی‬‫روی‬ ‫بر‬ ‫ها‬ ‫تراشه‬ ‫اتصاالت‬ ‫بی‬PCB‫باشد‬ ‫می‬ ‫ها‬ .‫ها‬ ‫تراشه‬ ‫خود‬ ‫تا‬ ‫از‬ ‫بسیاری‬FPGA‫پردازش‬ ‫ایده‬ ‫شود‬ ‫می‬ ‫باعث‬ ‫که‬ ‫دارند‬ ‫را‬ ‫اجرا‬ ‫زمان‬ ‫در‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬ ‫امروزی‬ ‫های‬ ‫مثال‬ .‫آورد‬ ‫می‬ ‫وجود‬ ‫به‬ ‫را‬ ‫پیکربندی‬ ‫قابل‬ ‫های‬ ‫سیستم‬ ‫یا‬ ‫شونده‬ ‫پیکربندی‬CPU‫هایی‬‫را‬ ‫خود‬ ‫اجرا‬ ‫زمان‬ ‫در‬ ‫که‬ ‫پیکرب‬.‫شوند‬ ‫تر‬ ‫مناسﺐ‬ ‫وظیفه‬ ‫یک‬ ‫انجام‬ ‫برای‬‫تا‬ ‫کنند‬ ‫می‬ ‫ندی‬ 3-2-‫ﮐلی‬ ‫ساﺧﺘار‬FPGA FPGA‫دارای‬ ‫همچنین‬ ‫است‬ ‫شده‬ ‫تشکیل‬ ‫اند‬ ‫نشده‬ ‫محدود‬ ‫خاصی‬ ‫کار‬ ‫برای‬ ‫که‬ ‫منطقی‬ ‫عناصر‬ ‫سری‬ ‫یک‬ ‫از‬ .‫است‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫اتصاالت‬‫و‬ ‫منطقی‬ ‫بلوکهای‬ ‫یعنی‬ ‫مدار‬ ‫یک‬ ‫دهنده‬ ‫تشکیل‬ ‫اصلی‬ ‫جزء‬ ‫دو‬ ‫هر‬ ‫بنابراین‬ .‫است‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫آنها‬ ‫بین‬ ‫اتصاالت‬ ‫همچنین‬ ‫شکل‬3-1-‫ﮐلی‬ ‫ساﺧﺘار‬FPGA
  • 32.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 22 ‫اصلی‬‫معماری‬ ‫است‬ ‫شده‬ ‫داده‬ ‫نشان‬ ‫باال‬ ‫شکل‬ ‫در‬ ‫که‬ ‫همانطور‬FPGA‫عبارتند‬ ‫که‬ ‫باشد‬ ‫می‬ ‫اصلی‬ ‫جزء‬ ‫سه‬ ‫دارای‬ :‫از‬ 1.(‫پذیر‬ ‫برنامه‬ ‫منطقی‬ ‫های‬ ‫بلوک‬Logic Blocks) 2.‫پذیر‬ ‫برنامه‬ ‫اتصاالت‬ 3.‫ورودی‬ ‫های‬ ‫بلوک‬-‫خروجی‬(I/O Blocks) ‫روی‬ ‫بر‬ ‫دسترﺱ‬ ‫در‬ ‫منابع‬ ‫میزان‬ ‫به‬ ‫باتوجه‬ ‫بایستی‬ ‫کار‬ ‫برای‬ ‫کاربردی‬ ‫مدار‬ ‫یک‬FPGA‫تعداد‬ .‫شود‬ ‫نگاشت‬LB‫ها‬ ‫و‬I/O،‫هستند‬ ‫گیری‬ ‫اندازه‬ ‫قابل‬ ‫سادگی‬ ‫به‬ ‫طراحی‬ ‫در‬ ‫نیاز‬ ‫مورد‬ ‫های‬‫مورد‬ ‫های‬ ‫کانال‬ ‫و‬ ‫مسیرها‬ ‫تعداد‬ ‫که‬ ‫حالی‬ ‫در‬ .‫است‬ ‫متفاوت‬ ‫مشابه‬ ‫منطقی‬ ‫اعمال‬ ‫تعداد‬ ‫با‬ ‫هایی‬ ‫طراحی‬ ‫در‬ ‫حتی‬ ‫نیاز‬ 3-2-1-‫پذیر‬ ‫برﻧامه‬ ‫منطقی‬ ‫های‬ ‫بلوک‬ ‫کوچک‬ ‫خیلی‬ ‫است‬ ‫ممکن‬ ‫منطقی‬ ‫های‬ ‫بلوک‬‫(به‬‫ماکروسل‬ ‫یک‬ ‫ی‬ ‫اندازه‬)‫خیلی‬ ‫یا‬ ‫و‬‫بزرگتر‬‫باشند‬.‫و‬ ‫ساختار‬ ‫گیت‬ ‫یک‬ ‫حد‬ ‫(در‬ ‫ساده‬ ‫خیلی‬ ‫تواند‬ ‫می‬ ‫منطقی‬ ‫بلوکهای‬ ‫محتویات‬NAND‫چند‬ ‫(نظیر‬ ‫پیچیده‬ ‫خیلی‬ ‫یا‬ ‫و‬ )MUX ‫یا‬Look-Up Table‫قسمتهای‬ ‫که‬ ‫هستند‬ ‫جایی‬ ‫حقیقت‬ ‫در‬ ‫منطقی‬ ‫بلوکهای‬ .‫باشد‬ ‫فالپ‬ ‫فلیپ‬ ‫یک‬ ‫همراه‬ ‫به‬ ) ‫ق‬ ‫که‬ ‫مداری‬ ‫باید‬ ‫ابتدا‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬ .‫گیرند‬ ‫می‬ ‫قرار‬ ‫مدار‬ ‫اصلی‬‫رار‬‫روی‬ ‫است‬FPGA‫اجزای‬ ‫به‬ ‫بگیرد‬ ‫قرار‬ ‫کردن‬ ‫متصل‬ ‫با‬ ‫توان‬ ‫می‬ ‫که‬ ‫است‬ ‫عمل‬ ‫این‬ ‫از‬ ‫بعد‬ ‫شودو‬ ‫تقسیم‬ ‫هستند‬ ‫منطقی‬ ‫بلوکهای‬ ‫محتویات‬ ‫همان‬ ‫که‬ ‫یکسانی‬ .‫آورد‬ ‫بدست‬ ‫را‬ ‫واقعی‬ ‫مدارهای‬ ‫هم‬ ‫به‬ ‫پایه‬ ‫بلوکهای‬ 3-2-2-‫پذیر‬ ‫برﻧامه‬ ‫اتصاالت‬ ‫معموال‬ ، ‫روند‬ ‫می‬ ‫بکار‬ ‫اتصاالت‬ ‫برای‬ ‫که‬ ‫عناصری‬"‫می‬ ‫که‬ ‫فلزی‬ ‫قطعات‬ ‫از‬ ‫و‬ ‫گیرند‬ ‫می‬ ‫قرار‬ ‫منطقی‬ ‫بلوکهای‬ ‫بین‬ ‫قابل‬ ‫سوئیچهای‬ ‫از‬ ‫قطعات‬ ‫این‬ ‫کردن‬ ‫متصل‬ ‫برای‬ ،‫اند‬ ‫شده‬ ‫تشکیل‬ ‫شوند‬ ‫متصل‬ ‫منطقی‬ ‫بلوکهای‬ ‫به‬ ‫یا‬ ‫هم‬ ‫به‬ ‫توانند‬ ‫طولهای‬ ‫توانند‬ ‫می‬ ‫قطعات‬ ‫این‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫ریزی‬ ‫برنامه‬‫برای‬ ‫خروجی‬ ‫ورودی‬ ‫بلوکهای‬ .‫باشند‬ ‫داشته‬ ‫متفاوتی‬ ‫پینهای‬ ‫اینکه‬FPGA‫ولتاژهای‬ ‫برای‬ ‫همچنین‬ ،‫ورودی/خروجی‬ ‫یا‬ ‫خروجی‬ ‫یا‬ ‫ورودی‬ ‫مختلف‬ ‫مدهای‬ ‫در‬ ‫بتوان‬ ‫را‬ ‫مختلف‬3.3‫یا‬5‫که‬ ‫باشد‬ ‫ای‬ ‫گونه‬ ‫یه‬ ‫باید‬ ‫هم‬ ‫با‬ ‫دو‬ ‫این‬ ‫طراحی‬ ‫زیرا‬ .‫روند‬ ‫می‬ ‫بکار‬ ‫کرد‬ ‫ریزی‬ ‫برنامه‬ ... ‫و‬ ‫ولت‬ ‫مد‬ ‫سازی‬ ‫پیاده‬‫روی‬ ‫را‬ ‫مختلف‬ ‫منطقی‬ ‫ارات‬FPGA‫معموال‬ .‫سازد‬ ‫پذیر‬ ‫امکان‬"‫هر‬ ‫پذیری‬ ‫انطاﻑ‬ ‫و‬ ‫پیچیدگی‬ ‫بین‬ ‫شود‬ ‫می‬ ‫کم‬ ‫دیگری‬ ‫یکی‬ ‫شدن‬ ‫زیاد‬ ‫با‬ ‫یعنی‬ .‫دارد‬ ‫وجود‬ ‫معکوﺱ‬ ‫نسبت‬ ‫یک‬ ‫اتصالی‬ ‫منبع‬ ‫و‬ ‫منطقی‬ ‫بلوکهای‬ ‫دوی‬ .‫بالعکس‬‫و‬
  • 33.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 23 ‫مال‬‫شامل‬ ‫قسمت‬ ‫این‬ .‫باشد‬ ‫می‬ ‫ها‬ ‫طراحی‬ ‫در‬ ‫پیچیدگی‬ ‫کاهش‬ ‫قسمت‬ ‫این‬ ‫اصلی‬ ‫هدﻑ‬‫ترانزیستورهای‬ ،‫پلکسرها‬ ‫تی‬ .‫گیرند‬ ‫می‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫مطلوب‬ ‫اتصاالت‬ ‫ایجاد‬ ‫برای‬ ‫هرکدام‬ ‫که‬ ‫باشد‬ ‫می‬ ‫حالته‬ ‫سه‬ ‫بافرهای‬‫و‬ ‫میدان‬ ‫اثر‬ 3-2-3-‫ورودی‬ ‫های‬ ‫بلوک‬-‫ﺧروجی‬ ‫از‬ ‫خارﺝ‬ ‫قطعات‬ ‫از‬ ‫گسترده‬ ‫طیف‬ ‫با‬ ‫مسیریابی‬ ‫ساختارهای‬ ‫و‬ ‫منطقی‬ ‫های‬ ‫بلوک‬ ‫میان‬ ‫ارتباط‬ ‫ایجاد‬ ‫برای‬FPGA ‫،نیاز‬‫آن‬ ‫به‬ ‫که‬ ‫داریم‬ ‫واسطی‬ ‫و‬ ‫بستر‬ ‫به‬I/O pad‫یا‬I/O.‫شود‬ ‫می‬ ‫گفته‬ ‫پذیر‬ ‫برنامه‬I/O‫آن‬ ‫اطراﻑ‬ ‫اجزای‬ ‫دیگر‬ ‫و‬ ‫پد‬ ‫های‬ ‫سلول‬ ‫بعنوان‬ ‫را‬ ‫مدارات‬ ‫منطق‬ ‫از‬ ‫هایی‬ ‫فرم‬I/O‫یک‬ ‫برای‬ ‫مهمی‬ ‫اجزای‬ ‫ها‬ ‫سلول‬ ‫این‬ .‫کنند‬ ‫می‬ ‫پشتیبانی‬ ‫را‬ FPGA‫تقریبا‬ ‫و‬ ‫هستند‬40%‫یک‬ ‫موثر‬ ‫مساحت‬ ‫از‬FPGA‫می‬ ‫اشﻐال‬ ‫را‬‫های‬ ‫بلوک‬ ‫طراحی‬ ‫در‬ .‫کنند‬I/O‫برنامه‬ ‫نام‬‫مرجع‬ ‫ولتاژ‬ ‫استانداردهای‬ ‫و‬ ‫تﻐذیه‬ ‫ولتاژ‬ ‫در‬ ‫زیاد‬ ‫تنوع‬ ‫به‬ ‫توان‬ ‫می‬ ‫آنها‬ ‫از‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫اساسی‬ ‫های‬ ‫چالش‬ ‫پذیر‬ .‫برد‬ 3-3-‫از‬ ‫اسﺘفاده‬ ‫های‬ ‫مﺰیت‬FPGA‫ها‬ ‫های‬ ‫مزیت‬ ‫از‬ ‫استاندارد‬ ‫و‬ ‫ساده‬ ‫نویسی‬ ‫برنامه‬ ‫و‬ ‫نیاز‬ ‫مورد‬ ‫افزار‬ ‫سخت‬ ‫کاهش‬‫از‬ ‫استفاده‬FPGA‫است‬.‫که‬ ‫آنچه‬ ‫توانایی‬ ‫و‬ ‫قابلیت‬FPGA‫ها‬‫را‬‫باال‬‫برده‬‫است‬‫توانایی‬‫هایی‬‫است‬‫که‬:‫است‬ ‫شده‬ ‫اشاره‬ ‫آنها‬ ‫از‬ ‫مورد‬ ‫چند‬ ‫به‬‫زیر‬ ‫در‬ 1.‫کاربرد‬‫اصلی‬FPGA‫در‬‫ایجاد‬‫هسته‬‫های‬‫پردازشی‬‫می‬‫باشد‬. 2.‫تست‬‫مدار‬‫سریع‬‫است‬. 3.‫برای‬‫تولیدات‬‫با‬‫تیراژ‬‫پایین‬‫ارزان‬‫تمام‬‫می‬‫شود‬. 4.‫متناسﺐ‬‫با‬،‫نیاز‬‫تﻐییرات‬‫الزم‬‫را‬‫در‬‫طراحی‬‫می‬‫توان‬‫انجام‬‫داد‬‫و‬‫مجددا‬FPGA‫را‬‫با‬‫ساختار‬‫جدید‬ ‫برنامه‬‫ریزی‬‫نمود‬. 5.‫قابل‬‫برنامه‬‫ریزی‬‫توسط‬‫کاربر‬‫است‬. 6.‫می‬‫توان‬‫چند‬‫یک‬ ‫داخل‬ ‫پردازشی‬ ‫هسته‬FPGA‫تع‬‫چند‬ ‫واحد‬ ‫زمان‬ ‫یک‬ ‫در‬ ‫تا‬ ‫کرد‬‫ریف‬‫را‬ ‫کار‬ ‫بدهد‬ ‫انجام‬ ‫باهم‬. 7.‫میکروکنترلرها‬‫و‬DSP‫ها‬‫و‬‫میکروپروسسورها‬‫به‬‫صورت‬‫سریال‬‫دستورالعمل‬‫اجرا‬‫می‬‫کنند‬‫و‬ ‫قابلیت‬‫پردازش‬‫بصورت‬‫موازی‬‫در‬‫آنها‬‫وجود‬،‫ندارد‬‫اما‬‫در‬FPGA‫قابلیت‬‫پردازش‬‫موازی‬‫وجود‬ ‫دارد‬‫و‬‫قابلیت‬‫انجام‬‫عملیات‬‫بصورت‬‫دارد‬ ‫را‬ ‫همزمان‬.
  • 34.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 24 8.‫کاربردهای‬FPGA‫خیلی‬‫تخصصی‬‫می‬‫باشد‬‫ودر‬‫اکثر‬‫موارد‬‫به‬‫عنوان‬‫پردازشگر‬‫در‬‫مدارات‬ ‫پردازشی‬‫استفاده‬‫می‬‫شود‬.‫سرعت‬‫باالی‬FPGA‫ها‬‫مثل‬‫سنگین‬ ‫پردازشی‬ ‫کارهای‬ ‫مساعد‬ ‫را‬ ‫آنها‬ ‫سیستم‬ ‫به‬ ‫نسبت‬ ‫پردازش‬ ‫این‬ ‫سرعت‬ ‫و‬ ‫کند‬ ‫می‬ ‫صدا‬ ‫پردازش‬ ‫و‬ ‫تصویر‬ ‫پردازش‬‫خیلی‬ ‫دیگر‬ ‫های‬ .‫باالتراست‬ 9.FPGA‫پیچیده‬ ‫توابع‬ ‫سازی‬ ‫پیاده‬ ‫در‬ ‫ها‬‫می‬ ‫کار‬ ‫به‬‫دیجیتالی‬ ‫ی‬‫که‬ ‫روند‬‫پردازش‬ ‫سرعت‬ ‫به‬ ‫نیاز‬ .‫دارد‬ ‫باالیی‬ 10.‫کاهش‬‫سخت‬‫افزار‬‫مورد‬‫نیاز‬‫و‬‫برنامه‬‫استاندارد‬ ‫و‬ ‫ساده‬ ‫نویسی‬. 11.‫سرعت‬‫اجرای‬‫توابع‬‫منطقی‬‫در‬FPGA‫ها‬‫بسیار‬‫باال‬‫و‬.‫است‬ ‫ثانیه‬ ‫نانو‬ ‫حد‬ ‫در‬ 12.‫امکان‬‫تعریف‬‫هر‬‫یک‬‫از‬‫پایه‬‫های‬IC‫به‬‫صورت‬‫ورودی‬‫یاخروجی‬‫یا‬‫هر‬.‫دو‬ 13.‫امکان‬‫تعریف‬‫وضعیت‬‫عملکرد‬‫هر‬‫پایه‬‫در‬‫هنگام‬‫استفاده‬‫یا‬‫عدم‬‫استفاده‬. 14.‫امکان‬‫تشخیص‬‫تﻐیبیرات‬‫سطوح‬‫یا‬‫لبه‬‫های‬‫پایین‬‫رونده‬‫یا‬‫باال‬‫رونده‬‫منطقی‬‫اعمال‬‫شده‬‫به‬‫هر‬‫پایه‬. 15.‫امکان‬‫تﻐییر‬‫متناوب‬‫معمار‬‫ی‬‫داخلی‬‫با‬‫استفاده‬‫از‬‫سری‬‫های‬Bootable‫که‬‫نقشه‬‫معماری‬‫آنها‬‫در‬ ‫یک‬‫حافظه‬‫خارجی‬‫نگهداری‬‫شده‬‫و‬‫با‬‫تﻐییر‬‫آدرﺱ‬‫برنامه‬‫ریزی‬‫توان‬ ‫می‬IC‫را‬‫بامعماری‬ ‫جدید‬Boot‫کرده‬‫و‬‫از‬‫آن‬‫استفاده‬‫کرد‬. 16.‫امکان‬‫برنامه‬‫ریزی‬‫در‬‫مدار‬(ISP‫که‬‫تﻐییراتی‬ ‫اعمال‬ ‫بدون‬‫تا‬ ‫آورد‬ ‫می‬ ‫وجود‬ ‫به‬ ‫را‬ ‫قابلیت‬ ‫این‬‫)که‬ ‫سخت‬‫ریزی‬ ‫برنامه‬ ‫پورت‬ ‫طریق‬ ‫از‬ ‫تنها‬ ‫و‬ ‫هستند‬ ‫افزاری‬jTAG‫داخلی‬ ‫معماری‬ ،IC‫را‬‫تﻐییر‬‫داد‬. 17..‫مربع‬ ‫متر‬ ‫سانتی‬ ‫چند‬ ‫مساحت‬ ‫به‬‫تنها‬ ‫ابعادی‬ ‫در‬ ‫سازی‬‫مجتمع‬ ‫و‬ ‫مدار‬‫حجم‬ ‫انگیز‬ ‫حیرت‬ ‫کاهش‬ 18.‫کاهش‬‫یکسان‬‫سازی‬‫عناصر‬‫طراحی‬‫و‬‫از‬‫میان‬‫بردن‬‫تمامی‬‫مشکالت‬‫ناشی‬‫ا‬‫استاندارد‬ ‫تطابق‬ ‫عدم‬ ‫ز‬ .‫مختلف‬ ‫های‬ 19.‫از‬‫میان‬‫بردن‬‫تمامی‬‫نویز‬‫های‬‫ناشی‬‫از‬‫وجود‬‫قطعات‬‫مختلف‬‫و‬‫مجزا‬‫در‬‫مدار‬. 20.‫کاهش‬.‫توان‬ ‫اتالﻑ‬ ‫و‬ ‫مصرفی‬ ‫توان‬ ‫چشمگیر‬ 21.‫افزایش‬‫سرعت‬‫پردازش‬‫و‬‫خطاهای‬‫انتشار‬‫به‬‫دلیل‬‫استفاده‬‫از‬‫فناوری‬‫پیشرفته‬‫و‬‫دستیابی‬‫به‬‫خطاهای‬ ‫انتشار‬‫تا‬4ns‫و‬‫فرکانس‬‫کالک‬‫فراتر‬‫از‬178‫مگاهرتز‬. 22.‫ولتاژ‬ ‫سطﺢ‬ ‫دو‬ ‫با‬ ‫کار‬5v‫و‬3.3v‫جهت‬‫استفاده‬‫از‬‫آنها‬‫در‬‫دستگاه‬‫های‬‫قابل‬‫حمل‬‫مانند‬‫گوشی‬‫های‬ ‫مو‬‫بایل‬ 23.‫توصیف‬ ‫توان‬ ‫عدم‬‫و‬ ‫داخلی‬ ‫محتوای‬ ‫به‬ ‫دستیابی‬ ‫امکان‬ ‫عدم‬ ‫دلیل‬ ‫به‬ ‫صد‬ ‫در‬ ‫صد‬‫ایمنی‬ ‫ضریﺐ‬ ‫ساده‬ ‫انجام‬ ‫دلیل‬ ‫به‬ ‫داخلی‬ ‫محتوای‬‫فشرده‬ ‫و‬ ‫سازی‬.‫پیچیده‬ ‫بسیار‬ ‫سازی‬
  • 35.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 25 ‫می‬‫فراهم‬ ‫را‬ ‫سریع‬ ‫و‬ ‫،بهینه‬ ‫حجم‬ ‫،کم‬ ‫مجتمع‬ ‫طراحی‬ ‫یک‬ ‫انجام‬ ‫امکان‬ ‫که‬ ‫دیگر‬ ‫انگیز‬ ‫حیرت‬ ‫قابلیتهای‬ ‫از‬ ‫بسیاری‬‫و‬ ‫آورد‬. 3-4-‫ﮐاربردهای‬FPGA FPGA‫ها‬‫پیچیده‬ ‫و‬ ‫پیچیده‬ ‫نسبتا‬ ‫توابع‬ ‫سازی‬ ‫پیاده‬ ‫در‬‫ی‬‫دار‬ ‫باالیی‬ ‫پردازش‬ ‫سرعت‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫دیجیتال‬‫ن‬‫کار‬ ‫به‬ ‫د‬ .‫روند‬ ‫می‬.‫کاربردهای‬ ‫جمله‬ ‫از‬FPGA( ‫دیجیتال‬ ‫های‬ ‫سیگنال‬ ‫پردازش‬ ‫به‬ ‫توان‬ ‫می‬DSP، ‫افزاری‬ ‫نرم‬ ‫،رادیوهای‬ ) ‫سازی‬ ‫نمونه‬ASIC،‫بیوانفورماتیک‬ ،‫نگاری‬ ‫رمز‬ ،‫صحبت‬ ‫صداو‬ ‫تصویر،تشخیص‬ ‫،پردازش‬ ‫پزشکی‬ ‫،تصویربرداری‬ .‫کرد‬ ‫اشاره‬ ‫علوم‬ ‫از‬ ‫فراوانی‬ ‫گستره‬ ‫در‬ ‫و‬ ‫متال‬ ‫تشخیص‬ ،‫نجوم‬ ،‫افزاری‬ ‫سخت‬ ‫سازی‬ ‫شبکه‬ ‫از‬ ‫سنتی‬ ‫طور‬ ‫به‬FPGA‫ک‬ ‫معنی‬ ‫.بدین‬ ‫شود‬ ‫می‬ ‫استفاده‬ ‫باشد‬ ‫نمی‬ ‫انبوه‬ ‫تولید‬ ‫به‬ ‫نیار‬ ‫آنها‬ ‫در‬ ‫که‬ ‫مصارفی‬ ‫برای‬ ‫ها‬‫ه‬ ‫بسیار‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫تراشه‬ ‫یک‬ ‫با‬ ‫مقایسه‬ ‫در‬ ‫اول‬ ‫از‬ ‫افزار‬ ‫سخت‬ ‫هر‬ ‫تولید‬ ‫هزینه‬ ، ‫کم‬ ‫حجم‬ ‫با‬ ‫های‬ ‫استفاده‬ ‫در‬ ‫از‬ ‫دهند‬ ‫می‬‫ترجیﺢ‬ ‫ها‬ ‫شرکت‬ ‫و‬ ‫شود‬ ‫می‬ ‫باالتر‬FPGA.‫نمایند‬ ‫استفاده‬ ‫منظور‬ ‫بدین‬ ‫کاربردهای‬ ‫از‬ ‫برخی‬FPGA: ‫از‬ ‫عبارتند‬ 1.‫هوافضا‬ ‫و‬ ‫دفاعی‬ ‫صنایع‬ 2.‫سازی‬ ‫نمونه‬ASIC 3.‫صوت‬ 4.‫خودرو‬ 5.‫الکترونیکی‬ ‫مدارات‬ 6.‫داده‬ ‫مرکز‬ 7.‫صنعت‬ 8.‫پزشکی‬ 9.‫امنیت‬ 10.‫ویدئو‬ ‫و‬ ‫تصویر‬ ‫پردازش‬ 11.‫سیمی‬ ‫ارتباطات‬ 12.‫سیم‬ ‫بی‬ ‫ارتباطات‬
  • 36.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 26 3-5-ASIC ‫همان‬‫یا‬ ‫خاص‬ ‫کاربرد‬ ‫با‬ ‫مجتمع‬ ‫مدارهای‬ASIC‫ها‬‫چیپ‬ ‫این‬ .‫اند‬ ‫شده‬ ‫سازی‬ ‫بهینه‬ ‫و‬ ‫طراحی‬ ،‫خاص‬ ‫منظور‬ ‫برای‬ ‫کاربرد‬ ‫برای‬‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫میکروکنترلرهای‬ ‫از‬ ‫بهتر‬ ‫مراتﺐ‬ ‫به‬ ‫مصرفی‬ ‫توان‬ ‫و‬ ‫عملیاتی‬ ‫سرعت‬ ،‫کارایی‬ ‫نظر‬ ‫از‬ ‫ها‬ ‫خاص‬ ‫کاربرد‬ ‫یک‬ ‫که‬ ‫معنی‬ ‫بدین‬ .‫ندارد‬ ‫را‬ ‫میکروکنترلر‬ ‫یک‬ ‫پذیری‬ ‫توسعه‬ ‫و‬ ‫انعطاﻑ‬ ‫قابلیت‬ ‫اما‬ ‫است‬ ‫مشابه‬ ‫بصورت‬‫درون‬ ‫افزاری‬ ‫سخت‬ASIC‫با‬ ‫میتوان‬ ‫میکروکنترلر‬ ‫در‬ ‫آنکه‬ ‫حال‬ ‫نیست‬ ‫گسترش‬ ‫و‬ ‫تﻐییر‬ ‫قابل‬ ‫و‬ ‫شده‬ ‫تعبیه‬ .‫داد‬‫تﻐییر‬ ‫را‬ ‫آن‬ ‫عملکرد‬،‫میکرو‬ ‫مموری‬ ‫در‬ ‫شده‬ ‫ﺫخیره‬ ‫برنامه‬‫تﻐییر‬ ASIC‫ها‬‫صرفه‬ ‫به‬ ‫انبوه‬ ‫تولید‬ ‫برای‬‫هستند‬‫یعنی‬ .‫شود‬ ‫می‬ ‫تمام‬ ‫میکروکنترلر‬ ‫از‬ ‫تر‬ ‫گران‬ ‫بسیار‬ ‫کم‬ ‫تعداد‬ ‫برای‬ ‫و‬‫برای‬ ‫سازی‬ ‫پیاده‬ASIC‫تعداد‬ ‫آن‬ ‫برای‬‫چیپ‬ ‫هر‬ ‫قیمت‬ ‫که‬ ‫کند‬ ‫می‬ ‫تولید‬ ‫گزاﻑ‬ ‫قیمتی‬ ‫با‬ ‫را‬ ‫باالیی‬ ‫تعداد‬ ‫پشتیبان‬ ‫شرکت‬ )‫ها‬ ‫چاپخانه‬ ‫در‬ ‫چاپ‬ ‫عملیات‬‫مثل‬ ً‫ا‬‫(دقیق‬ ‫است‬ ‫تر‬ ‫ارزان‬ ‫توجهی‬ ‫قابل‬ ‫بطور‬ ‫استفاده‬ ‫مورد‬‫میکروکنترلر‬ ‫قیمت‬ ‫از‬. ‫از‬ ‫استفاده‬ASIC‫نخ‬ .‫باشد‬ ‫می‬ ‫ای‬ ‫عمده‬ ‫عیوب‬ ‫دارای‬ ‫ها‬‫بسیار‬‫ها‬ ‫تراشه‬ ‫این‬ ‫تولید‬ ‫برای‬ ‫الزم‬ ‫اولیه‬ ‫هزینه‬ ‫که‬ ‫آن‬ ‫ست‬ ‫قابل‬ ‫اقتصادی‬ ‫دیدگاه‬ ‫از‬ ‫ها‬ ‫آن‬ ‫تولید‬ ‫باشد‬ ‫کمتر‬ ‫خاص‬ ‫حد‬ ‫از‬ ‫نیاز‬ ‫مورد‬ ‫های‬ ‫تراشه‬ ‫تعداد‬ ‫اگر‬ ‫که‬ ‫طوری‬ ‫به‬ ‫باالست‬ ‫نمی‬ ‫توجیه‬‫ب‬ ‫موضوع‬ ‫این‬ ‫که‬ ‫است‬ ‫طوالنی‬ ً‫ا‬‫نسبت‬ ‫ها‬ ‫آن‬ ‫تولید‬ ‫و‬ ‫طراحی‬ ‫برای‬ ‫الزم‬ ‫اولیه‬ ‫زمان‬ ً‫ا‬‫ثانی‬ . ‫باشد‬‫افزایش‬ ‫ه‬ ‫یک‬ ‫ایجاد‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ‫که‬ ‫است‬ ‫آن‬ ‫ها‬ ‫تراشه‬ ‫این‬ ‫دیگر‬ ‫مشکل‬ . ‫شود‬ ‫می‬ ‫منجر‬ ‫بازار‬ ‫به‬ ‫محصول‬ ‫ارائه‬ ‫زمان‬ ‫باید‬ ‫طراح‬ ‫که‬ ‫است‬ ‫آن‬ ‫دلیل‬ ‫این‬ ‫و‬ ‫شود‬ ‫طی‬ ً‫ا‬‫مجدد‬ ‫فوق‬ ‫هزینه‬ ‫پر‬ ‫و‬ ‫بر‬ ‫زمان‬ ‫پروسه‬ ‫باید‬ ،‫طراحی‬ ‫در‬ ‫کوچک‬ ‫تﻐییر‬ ‫ک‬ ‫را‬ ‫کامل‬ ‫اطمینان‬ ‫خود‬ ‫طراحی‬ ‫از‬ ‫تولید‬ ‫سفارش‬ ‫از‬ ‫قبل‬.‫انبوه‬ ‫تولید‬ ‫در‬ ‫مخصوصا‬ ‫باشد‬ ‫کرده‬ ‫سﺐ‬‫بهره‬ ‫منظور‬ ‫به‬ ‫قابلیت‬ ‫و‬ ‫کارایی‬ ‫از‬ ‫همزمان‬ ‫بردن‬ASIC،‫میکروکنترلرها‬ ‫پذیری‬ ‫انعطاﻑ‬ ‫و‬ ‫ها‬FPGA‫شدند‬ ‫معرفی‬ ‫ها‬‫راه‬ ‫که‬‫حلی‬ .‫باشند‬ ‫می‬ ‫نیاز‬ ‫مورد‬ ‫کارایی‬ ‫و‬ ‫باال‬ ‫پذیری‬ ‫انعطاﻑ‬ ‫با‬ ‫سیستم‬ ‫یک‬ ‫ایجاد‬ ‫برای‬FPGA‫نمونه‬ ‫تولید‬ ‫برای‬ ً‫ا‬‫غالب‬ ‫ها‬ ‫اولی‬‫کارا‬ ‫نظر‬ ‫از‬ ‫اگرچه‬ .‫باشند‬ ‫می‬ ‫آل‬ ‫ایده‬ ‫محدود‬ ‫تولید‬ ‫کاربردهای‬ ‫برای‬ ‫استفاده‬ ‫همچنین‬ ‫و‬ ‫تست‬ ،‫ه‬‫ی‬‫و‬ ‫درحد‬ ‫ی‬ ‫اندازه‬ASIC‫شده‬ ‫ﺫکر‬ ‫مشکالت‬ ‫اما‬ ،‫دارند‬ ‫باالتری‬ ‫مراتﺐ‬ ‫به‬ ‫مصرﻑ‬ ‫توان‬ ‫و‬ ‫نیستند‬ ‫ها‬ASIC‫ندارند‬ ‫را‬.‫بدین‬ ‫توسط‬ ‫ابتدا‬ ‫را‬ ‫خود‬ ‫محصوالت‬ ‫کنندگان‬ ‫تولید‬ ‫ترتیﺐ‬FPGA‫سازی‬ ‫نمونه‬‫های‬ ‫تست‬ ‫و‬ ‫آزمایشات‬ ‫و‬ ‫نمایند‬ ‫می‬ ‫یک‬ ‫تولید‬ ‫برای‬ ‫را‬ ‫خود‬ ‫طراحی‬ ‫سپس‬ ‫و‬ ‫داده‬ ‫انجام‬ ‫آن‬ ‫روی‬ ‫بر‬ ‫را‬ ‫خود‬ASIC.‫فرستند‬ ‫می‬ ‫سازنده‬ ‫به‬ ASIC‫تعداد‬ ‫چون‬ ‫روند‬ ‫نمی‬ ‫هدر‬ ‫آن‬ ‫تولید‬ ‫در‬ ‫مواد‬ ‫که‬ ‫است‬ ‫این‬ ‫هم‬ ‫آن‬ ‫که‬ ‫باشد‬ ‫می‬ ‫مهم‬ ‫مزیت‬ ‫یک‬ ‫دارای‬ ‫ها‬ ‫یک‬ ‫باشند.در‬ ‫می‬ ‫شده‬ ‫ثابت‬ ‫طراحی‬ ‫در‬ ‫شده‬ ‫استفاده‬ ‫های‬ ‫ترانزیستور‬FPGA‫از‬ ‫توجهی‬ ‫قابل‬ ‫تعداد‬ ‫معموال‬ ‫یک‬ ‫قیمت‬ ‫که‬ ‫است‬ ‫معنی‬ ‫بدین‬ ‫که‬ ‫گیرند‬ ‫می‬ ‫قرار‬ ‫استفاده‬ ‫بدون‬ ‫ترانزیستورها‬FPGA‫د‬‫با‬ ‫مقایسه‬ ‫ر‬ASIC‫که‬ .‫شود‬ ‫می‬ ‫بیشتر‬ ‫بسیار‬، ‫کند‬ ‫می‬ ‫را‬ ‫کار‬ ‫همان‬
  • 37.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 27 ‫اینکه‬‫وجود‬ ‫با‬ ‫باال‬ ‫توضیحات‬ ‫به‬ ‫توجه‬ ‫با‬ASIC‫از‬ ‫استفاده‬ ‫است‬ ‫کم‬ ‫تولید‬ ‫حجم‬ ‫که‬ ‫مواردی‬ ‫در‬ ‫اما‬ ‫است‬ ‫تر‬ ‫ارزان‬ FPGA‫هر‬ ‫تولید‬ ‫هزینه‬ ‫یعنی‬ ، ‫شود‬ ‫می‬ ‫ارزانتر‬IC. ‫عکس‬ ‫بر‬‫و‬ ‫یابد‬ ‫می‬ ‫کاهش‬ ‫تولید‬‫حجم‬ ‫افزایش‬ ‫با‬ 3-6-‫های‬ ‫معﻤاری‬ ‫اﻧواﻉ‬FPGA ‫معماری‬FPGA‫دارای‬‫مختلف‬ ‫چهارنوع‬‫ها‬ ‫معماری‬ ‫این‬ ،‫اند‬ ‫شده‬ ‫ساخته‬ ‫مختلفی‬ ‫های‬ ‫شرکت‬ ‫توسط‬ ‫که‬ ‫باشد‬‫می‬ :‫از‬ ‫عبارتند‬ 1.‫ارایه‬‫دو‬‫بعدی‬‫متقارن‬ 2.‫سطری‬ 3.‫ها‬ ‫گیت‬ ‫از‬ ‫دریایی‬ 4.‫مدارات‬‫سلسله‬‫مراتبی‬ ‫نوع‬‫اول‬‫از‬‫یک‬‫ارایه‬‫دو‬‫بعدی‬‫از‬‫بلوکهای‬‫منطقی‬‫که‬‫منابع‬‫اتصاالت‬‫به‬‫صورت‬‫سطری‬‫و‬‫ستونی‬‫بین‬‫این‬‫بلوکها‬ ‫واقع‬‫شده‬‫تشکیل‬ ‫اند‬‫یافته‬‫است‬. ‫این‬‫نوع‬‫معماری‬‫توسط‬‫شر‬‫کت‬Xilinx.‫شود‬ ‫می‬ ‫استفاده‬ ‫اولیه‬ ‫نسلهای‬ ‫به‬ ‫شبیه‬ ‫دوم‬ ‫نوع‬MPGA‫شرکت‬ ‫.توسط‬ ‫حاضر‬ ‫حال‬ ‫در‬ ‫و‬ ‫باشد‬ ‫می‬ ‫ها‬Actel.‫شود‬ ‫می‬ ‫سازی‬ ‫پیاده‬ ‫پوشیده‬ ‫بلوکها‬ ‫این‬ ‫بین‬ ‫اتصال‬ ‫برقراری‬ ‫برای‬ ‫هایی‬ ‫الیه‬ ‫با‬ ‫که‬ ‫است‬ ‫منطقی‬ ‫کوچک‬ ‫بلوکهای‬ ‫از‬ ‫متشکل‬ ‫سوم‬ ‫نوع‬ ‫همسایه‬ ‫سلول‬ ‫نزدیکترین‬ ‫به‬ ‫که‬ ‫قادرند‬ ‫تنها‬ ‫منطقی‬ ‫سلولهای‬ ‫ساختار‬ ‫گونه‬ ‫این‬ ‫.در‬ ‫است‬ ‫شده‬‫ا‬‫در‬ ‫که‬ ‫شوند‬ ‫متصل‬ ‫ی‬ ‫مشابهی‬ ‫عمودی‬ ‫یا‬ ‫افقی‬ ‫مختصات‬‫قرار‬‫دارد‬.‫در‬‫این‬‫ساختار‬‫از‬‫س‬‫لولهای‬‫منطقی‬‫نیز‬‫می‬‫توان‬‫در‬‫جهت‬‫برقراری‬ ‫ارتباط‬‫استفاده‬‫کرد‬.‫که‬‫البته‬‫چنین‬‫کاری‬‫باعث‬‫افزایش‬‫تاخیر‬‫در‬‫مسیر‬‫سیگنال‬‫و‬‫نیز‬‫کاهش‬‫ظرفیت‬‫گیتی‬‫در‬ ‫معماری‬ ‫نوع‬ ‫.این‬ ‫گردد‬ ‫می‬ ‫دسترﺱ‬‫شبیه‬‫به‬‫نسلهای‬‫بعدی‬MPGA‫شرکت‬ ‫توسط‬ ‫هم‬ ‫ان‬ ‫که‬ ‫باشد‬ ‫می‬ ‫ها‬Actel .‫شود‬ ‫می‬ ‫استفاده‬ ‫جدیدش‬ ‫معماریهای‬ ‫در‬ ‫معماری‬ ‫چهارم‬ ‫نوع‬FPGA‫ازمعماری‬ ‫شده‬ ‫گرفته‬ ‫بر‬PLD‫ها‬‫و‬CPLD‫شرکت‬ ‫وتوسط‬ ‫میباشد‬ ‫ها‬Atera‫سری‬ ‫در‬ MAX.‫است‬ ‫شده‬ ‫استفاده‬ ‫کارخانه‬ ‫این‬ ‫ساخت‬ 3-7-‫ﮐنندگان‬ ‫تولﻴد‬FPGA ‫های‬ ‫تراشه‬ ‫کنندگان‬ ‫تولید‬ ‫از‬FPGA:‫کرد‬ ‫اشاره‬ ‫زیر‬ ‫موارد‬ ‫به‬‫میتوان‬ 1-Xilinx
  • 38.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 28 2-Altera 3-LatticeSemiconductor 4-Silicon Blue 5-Quick Logic 6-Microsemi 7-Achronix 8-Actel ‫کننده‬ ‫تولید‬ ‫دو‬Xilinx‫و‬Altera‫از‬ ‫بیش‬ ‫حاضر‬ ‫حال‬ ‫در‬80%.‫دارند‬ ‫خود‬ ‫کنترل‬ ‫در‬ ‫را‬ ‫تولید‬ ‫بازار‬ ‫از‬ ‫این‬‫افزارها‬ ‫نرم‬‫شرکتها‬‫ی‬‫اند‬ ‫کرده‬ ‫طراحی‬ ‫خود‬ ‫به‬‫مختص‬ ‫قابلیتهای‬ ‫با‬ ‫ی‬:‫زیرند‬ ‫قرار‬ ‫به‬ ‫آنها‬ ‫اهم‬ ‫که‬ MAXPLUS II– Fandation - Leonardo Spectrum – Modelsim ‫ن‬ ‫این‬‫معموال‬ ‫که‬ ‫دارند‬ ‫تفاوتهایی‬ ‫هم‬ ‫با‬ ‫دهی‬ ‫سرویس‬ ‫امکانات‬ ‫و‬ ‫قابلیت‬ ‫لحاظ‬ ‫از‬ ‫افزارها‬ ‫رم‬"‫انجام‬ ‫را‬ ‫زیر‬ ‫کارهای‬ :‫دهند‬ ‫می‬ Schematic Editor - text Editor - Waveform Editor (Simulator) - Compiler- synthesizer Fitter – Programmer 3-8-‫با‬ ‫طراحی‬ ‫و‬ ‫ﻧویﺴی‬ ‫برﻧامه‬FPGA ‫برنامه‬‫با‬ ‫مدارات‬ ‫طراحی‬ ‫و‬ ‫نویسی‬FPGA‫به‬ ‫کلی‬ ‫طور‬ ‫به‬ ‫ها‬2‫شود‬ ‫می‬ ‫انجام‬ ‫صورت‬: 1.‫مانند‬ ‫افزاری‬ ‫سخت‬ ‫توصیف‬ ‫های‬ ‫زبان‬ ‫از‬ ‫استفاده‬ ‫با‬VHDL،AHDL‫و‬... 2.‫مدار‬ ‫طراحی‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫فرم‬ ‫از‬ ‫استفاده‬HDL‫مشخص‬ ‫نظرمان‬ ‫مورد‬ ‫ساختار‬ ‫بودن‬ ‫بزرگ‬ ‫صورت‬ ‫در‬ ‫چون‬ ‫است‬ ‫بهتر‬ ‫شماتیک‬ ‫فرم‬ ‫به‬ ‫نسبت‬ ‫دید‬ ‫شماتیک‬ ‫دیگر‬ ‫سوی‬ ‫از‬ ،‫بود‬ ‫خواهد‬ ‫مشکل‬ ‫قطعات‬ ‫گذاشتن‬ ‫هم‬ ‫کنار‬ ‫و‬ ‫ها‬ ‫بندی‬ ‫سیم‬ ‫از‬ ‫زیادی‬ ‫حجم‬ ‫کردن‬ .‫دهد‬ ‫می‬ ‫ما‬ ‫به‬ ‫طراحی‬ ‫به‬ ‫نسبت‬‫تری‬ ‫ساده‬ ‫مستق‬ ‫منطقی‬ ‫مدارات‬ ‫طراحی‬ ‫روش‬ ‫اصوال‬‫در‬ ‫.معموال‬ ‫گردد‬ ‫می‬ ‫انتخاب‬ ‫سازی‬ ‫پیاده‬ ‫برای‬ ‫که‬ ‫است‬ ‫نهایی‬ ‫تراشه‬ ‫از‬ ‫ل‬ ‫بلوکهای‬ ‫از‬ ‫کتابخانه‬ ‫یک‬ ‫ها‬ ‫طراحی‬ ‫گونه‬ ‫این‬‫پیش‬‫ساخته‬‫در‬‫اختیار‬‫طرا‬‫که‬ ‫دارد‬ ‫قرار‬ ‫ح‬‫سرعت‬ ‫افزایش‬ ‫برای‬
  • 39.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 29 ‫اند‬‫شده‬ ‫بهینه‬ ‫و‬ ‫آزموده‬ ‫طراحی‬ ‫در‬ ‫پردازش‬.‫شده‬ ‫تعریف‬ ‫پیش‬ ‫از‬ ‫مدارهای‬ ‫این‬IP cores.‫شوند‬ ‫می‬ ‫نامیده‬‫بیشتر‬ ‫توسعه‬ ‫برای‬ ‫دیگر‬ ‫برخی‬ ‫اما‬ .‫باشند‬ ‫نمی‬ ‫مجانی‬ ‫معموال‬ ‫و‬ ‫شوند‬ ‫می‬ ‫منتشر‬ ‫اختصاصی‬ ‫مجوزهای‬ ‫تحت‬ ‫مدارها‬ ‫این‬ ‫اسم‬ ‫به‬ ‫دهندگان‬Open Cores.‫شوند‬ ‫می‬ ‫منتشر‬ ‫باز‬ ‫منبع‬ ‫و‬ ‫مجانی‬ ‫صورت‬ ‫به‬ ‫معموال‬‫نظیر‬ ‫تر‬ ‫پیچیده‬ ‫.اعضای‬ ‫استاندارد‬ ‫های‬ ‫تراشه‬ ‫شبیه‬ ‫هایی‬ ‫ساختار‬ ‫یا‬ ‫و‬ ‫ها‬ ‫شمارنده‬T TL‫و‬CMOS‫یک‬ ‫معموال‬ ‫ماکرو‬ ‫.هر‬ ‫نامند‬ ‫می‬ ‫ماکرو‬ ‫را‬ ‫پروسه‬ ‫.در‬ ‫کند‬ ‫می‬ ‫ایجاد‬ ‫را‬ ‫نظر‬ ‫مورد‬ ‫تابع‬ ‫مناسﺐ‬ ‫بندی‬ ‫سیم‬ ‫با‬ ‫که‬ ‫کند‬ ‫می‬ ‫اشﻐال‬ ‫را‬ ‫ها‬ ‫تراشه‬ ‫از‬ ‫سلول‬ ‫چند‬ ‫یا‬ ‫باشد‬ ‫می‬ ‫بخش‬ ‫بخش‬ ‫صورت‬ ‫به‬ ‫طرح‬ ‫که‬ ‫انجا‬ ‫از‬ .‫دهد‬ ‫می‬ ‫تشکیل‬ ‫سازی‬ ‫شبیه‬ ‫مرحله‬ ‫را‬ ‫بخش‬ ‫مهمترین‬ ‫طراحی‬ ‫می‬ ‫را‬ ‫ها‬ ‫بخش‬ ‫این‬ ‫کلیه‬‫دریافت‬ ‫و‬ ‫ورودی‬ ‫اعمال‬ ‫با‬ ‫و‬ ‫جداگانه‬ ‫توان‬‫خروجی‬‫های‬‫مور‬‫در‬ ‫و‬ ‫کرده‬ ‫تست‬ ‫نظر‬ ‫د‬ . ‫نمود‬‫تست‬ ‫جا‬ ‫یک‬ ‫طور‬ ‫به‬ ‫را‬ ‫طرح‬ ‫کل‬ ‫نهایت‬ ‫استاندارد‬ ‫های‬ ‫تراشه‬ ‫خالﻑ‬ ‫بر‬‫بقیه‬ ‫کردو‬ ‫استفاده‬ ‫را‬ ‫طرح‬ ‫در‬ ‫استفاده‬ ‫مورد‬ ‫بخشهای‬ ‫تنها‬ ‫توان‬ ‫می‬ ‫ها‬ ‫ماکرو‬ ‫در‬ ‫قاب‬ ‫سلول‬ ‫از‬ ‫بخشی‬ ‫هیچ‬ ‫دادن‬ ‫هدر‬ ‫بدون‬ ‫را‬ ‫ماکرو‬.‫زدود‬ ‫طرح‬ ‫از‬ ‫ریزی‬ ‫برنامه‬ ‫ل‬‫با‬ ‫اما‬‫این‬‫همه‬‫این‬‫مشکل‬‫گونه‬ ‫به‬ ‫ا‬‫با‬ ‫طرح‬ ‫سازی‬ ‫پیاده‬ ‫بنابراین‬ .‫شود‬ ‫می‬ ‫ساخته‬ ‫سلول‬ ‫ثابتی‬ ‫تعداد‬ ‫با‬ ‫تراشه‬ ‫هر‬ ‫که‬ ‫انجا‬ ‫کند.از‬ ‫ظهور‬ ‫تواند‬ ‫می‬ ‫یگر‬ ‫د‬ ‫ی‬ ‫بر‬ ‫را‬ ‫طرح‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ ‫سلولهای‬ ‫تعداد‬ ‫بتواند‬ ‫که‬ ‫گیرد‬ ‫می‬ ‫صورت‬ ‫ای‬ ‫تراشه‬ ‫اولین‬‫آ‬.‫کند‬ ‫ورده‬‫در‬ ‫رو‬ ‫این‬ ‫از‬ ‫دارای‬ ‫تراشه‬ ‫کوچکترین‬ ‫که‬ ‫صورتی‬1000‫دارای‬ ‫بعدی‬ ‫تراشه‬ ‫و‬ ‫سلول‬1500‫به‬ ‫نیاز‬ ‫که‬ ‫طرحی‬ ‫برای‬ ‫باشد‬ ‫سلول‬ 1010.‫دارد‬ ‫سلول‬30%. ‫شد‬ ‫خواهد‬ ‫رها‬ ‫استفاده‬ ‫بدون‬‫اخیر‬ ‫تراشه‬ ‫از‬ ‫روی‬ ‫بر‬ ‫دهنده‬ ‫توسعه‬ ‫یک‬ ،‫طراحی‬ ‫معمولی‬ ‫روند‬ ‫یک‬ ‫در‬FPGA‫طی‬ ‫در‬ ‫مختلف‬ ‫مراحل‬ ‫در‬ ‫را‬ ‫خودش‬ ‫طراحی‬ ‫توصیف‬ ‫ابتدا‬ .‫کند‬ ‫می‬ ‫سازی‬ ‫شبیه‬ ‫طراحی‬ ‫فرآیند‬RTL‫در‬VHDL‫یا‬Verilog‫از‬ ‫استفاده‬ ‫با‬‫س‬‫اخت‬tese bench‫هایی‬‫روی‬ ‫بر‬‫طراحی‬ ‫شدن‬ ‫سنتز‬ ‫از‬ ‫بعد‬ ‫سپس‬ .‫شوند‬ ‫می‬ ‫مشاهده‬ ‫قابل‬ ‫سیستم‬ ‫نتایج‬ ‫و‬ ‫شده‬ ‫سازی‬ ‫شبیه‬netlist ،netlist‫تر‬ ‫گیت‬ ‫سطﺢ‬ ‫توصیف‬ ‫به‬‫نداشته‬‫وجود‬ ‫خطایی‬ ‫گونه‬ ‫هیچ‬ ‫تا‬ ‫گیرد‬ ‫می‬ ‫انجام‬ ‫دوباره‬ ‫سازی‬ ‫شبیه‬ ‫و‬ ‫شده‬ ‫جمه‬ ‫روی‬ ‫بر‬ ‫طراحی‬ ‫نهایت‬ ‫در‬ ‫باشد‬FPGA‫سازی‬ ‫شبیه‬ ‫کار‬ ‫به‬ ‫انتشار‬ ‫تاخیرهای‬ ‫مرحله‬ ‫این‬ ‫در‬ ‫که‬ ‫شود‬ ‫می‬ ‫گذاشته‬ ‫روی‬ ‫بر‬ ‫مقادیر‬ ‫این‬ ‫و‬ ‫شده‬ ‫اضافه‬netlist.‫شوند‬ ‫می‬ ‫یادداشت‬ ‫داخ‬ ‫در‬ ‫طرح‬ ‫دادن‬ ‫جا‬ ‫تا‬ ‫شروع‬ ‫مرحله‬ ‫از‬‫چند‬ ‫یا‬ ‫یک‬ ‫ل‬FPGA‫کردن‬ ‫متصل‬ ‫همچنین‬ ‫و‬ ) ‫مدار‬ ‫اندازه‬ ‫به‬ ‫توجه‬ ‫(با‬ ‫روی‬ ‫مدار‬‫سنتز‬ ‫اصطالحا‬ ‫هم‬ ‫به‬ ‫منطقی‬ ‫بلوکهای‬FPGA.‫شود‬ ‫می‬ ‫گفته‬ 3-8-1-‫سازی‬ ‫شبﻴه‬ :‫شود‬ ‫می‬ ‫انجام‬ ‫افزار‬ ‫نرم‬‫توسط‬ ‫سازی‬ ‫شبیه‬ ‫نوع‬‫دو‬ 3-8-1-1-‫منطقی‬ ‫سازی‬ ‫شبیه‬ ‫تست‬ ‫را‬ ‫مدار‬ ‫عملکرد‬ ‫منطقی‬ ‫نظر‬‫از‬ ‫ساز‬ ‫شبیه‬ ‫این‬‫عملیات‬‫همچنین‬ ‫و‬ ‫بندی‬ ‫زمان‬ ‫از‬ ‫اطالعاتی‬ ‫عمل‬‫این‬ ‫کند.در‬ ‫می‬ .‫شود‬ ‫می‬ ‫مشخص‬ ‫مرحله‬ ‫این‬ ‫در‬ ‫باشد‬ ‫طراحی‬ ‫در‬ ‫خطایی‬ ‫نیست.اگر‬‫اختیار‬ ‫در‬ ‫سازمنطقی‬ ‫بهینه‬
  • 40.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 30 3-8-1-2-‫زمانی‬‫ساز‬ ‫شبیه‬ ‫تاخیر‬ ‫های‬ ‫پارامتر‬ .‫گیرد‬ ‫می‬ ‫صورت‬ ‫مشکالت‬ ‫سایر‬ ‫رفع‬ ‫و‬ ‫یابی‬ ‫مسیر‬ ‫از‬ ‫پیش‬ ‫که‬ ‫مرحله‬ ‫این‬ ‫در‬،‫خازن‬ ‫و‬ ‫توان‬‫های‬ ‫و‬ ‫مدار‬‫ن‬ ‫غیره‬‫های‬ ‫تاخیر‬ . ‫دهد‬ ‫می‬ ‫دست‬ ‫به‬ ‫را‬ ‫تراشه‬ ‫عملکرد‬ ‫از‬ ‫واقعی‬ ‫تصویر‬ ‫و‬ ‫شده‬ ‫منتقل‬ ‫سازی‬ ‫شبیه‬ ‫محیط‬ ‫به‬ ‫یز‬ ‫در‬ ‫افزار‬ ‫نرم‬ ‫که‬ ‫ای‬ ‫کتابخانه‬ ‫از‬ ‫واقع‬ ‫در‬ ‫فوق‬‫دسترﺱ‬‫دارد‬‫استخراﺝ‬‫می‬‫شود‬‫و‬‫معموال‬‫بدتر‬‫از‬‫حالت‬‫واقعی‬‫تراشه‬ ‫در‬‫نظرگرفته‬‫شده‬‫است‬.‫به‬‫گونه‬‫ای‬‫که‬‫پس‬‫از‬‫برنامه‬‫ریزی‬‫تراشه‬‫عملکرد‬‫تراشه‬‫معموال‬‫سریعتر‬‫از‬‫مقدار‬‫پیش‬‫بی‬‫نی‬ .‫است‬ ‫سازی‬ ‫شبیه‬ ‫افزار‬ ‫نرم‬‫توسط‬ ‫شده‬ 3-9-‫ریﺰی‬ ‫برﻧامه‬ ‫های‬ ‫تکنولوژی‬FPGA ‫روی‬ ‫متفاوت‬ ‫اتصاالت‬ ‫و‬ ‫مختلف‬ ‫مدارات‬ ‫شدن‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬FPGA‫الکتریکی‬ ‫سوئیچهای‬ ‫وجود‬ ‫دلیل‬ ‫به‬ ‫سوئیچ‬ ‫.این‬ ‫دارد‬ ‫وجود‬ ‫تراشه‬ ‫این‬ ‫روی‬ ‫که‬ ‫است‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬‫بر‬ ‫منفی‬ ‫اثر‬ ‫تا‬ ‫باشند‬ ‫مشخصاتی‬ ‫دارای‬ ‫باید‬ ‫ها‬ ‫عملکرد‬ ‫روی‬FPGA‫باشند‬ ‫نداشته‬.‫جمله‬ ‫از‬‫مشخصات‬ ‫این‬ ‫مهمترین‬‫آ‬‫را‬ ‫کمی‬ ‫جای‬ ‫امکان‬ ‫حد‬ ‫تا‬ ‫باید‬ ‫که‬ ‫است‬ ‫ن‬ ‫ظرفیت‬ ‫و‬ ‫مقاومت‬ ‫و‬ ‫کنند‬ ‫اشﻐال‬‫بعضی‬ ‫که‬ ‫مشخصاتی‬ ‫سایر‬ .‫نکنند‬ ‫ایجاد‬ ‫زیادی‬ ‫تاخیر‬ ‫تا‬ ‫باشند‬ ‫داشته‬ ‫کمی‬ ‫خازنی‬ ‫روی‬ ‫بر‬ ‫شده‬ ‫نوشته‬ ‫اطالعات‬ ‫حفظ‬ ‫قابلیت‬ ‫دارند‬ ‫سوئیچها‬ ‫این‬ ‫از‬‫آ‬(‫برق‬ ‫دادن‬ ‫دست‬ ‫از‬ ‫با‬ ‫نها‬Non_Volatile)، ‫مجدد‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬‫روی‬‫آنها‬(Reprogrammable)،(‫مداری‬ ‫داخل‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬Programmable in system‫و‬ )‫غیره‬‫می‬‫که‬ .‫باشند‬‫سه‬‫مورد‬‫آخر‬‫هر‬‫کدام‬‫مزایا‬‫و‬‫معایبی‬‫دارند‬.‫به‬‫عنوان‬‫مثال‬‫های‬ ‫سوئیچ‬‫مبتنی‬‫بر‬ ‫حافظه‬‫های‬‫موقت‬‫با‬‫قطع‬‫برق‬‫اطالعات‬‫خود‬‫را‬‫از‬‫دست‬‫می‬‫در‬ ،‫دهند‬‫نتیجه‬‫با‬‫هر‬‫شدن‬ ‫خاموش‬ ‫و‬ ‫روشن‬ ‫بار‬ ‫سیستم‬،FPGA‫باید‬‫مجددا‬‫ب‬.‫شود‬ ‫ریزی‬ ‫رنامه‬ ‫ریزی‬ ‫برنامه‬ ‫های‬ ‫تکنولوژی‬ ‫از‬ ‫برخی‬ ‫به‬ ‫زیر‬ ‫در‬FPGA:‫است‬ ‫شده‬ ‫اشاره‬ 1.SRAM 2.Antifuse 3.ROM 4.EPROM 5.EEPROM 6.FLASH 7.FUSE ‫های‬ ‫تکنولوژی‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬SRAM،FLASH،Antifuse( ‫شناور‬ ‫های‬ ‫گیت‬ ‫و‬EPROM‫و‬EEPROM) .‫باشند‬ ‫می‬ ‫مهمتر‬ ‫بقیه‬ ‫از‬ 3-9-1-‫ریﺰی‬ ‫برﻧامه‬ ‫تکنولوژی‬SRAM ‫سلول‬ ‫از‬.‫شود‬ ‫می‬ ‫استفاده‬ ‫گونه‬ ‫دو‬ ‫به‬ ‫حافظه‬‫یا‬ ‫روشن‬ ‫کنترل‬ ‫برای‬ ‫موقت‬ ‫حافظه‬ ‫سلول‬ ‫یک‬ ‫از‬ ‫اول‬ ‫روش‬ ‫در‬ ‫استف‬ ‫ترانزیستور‬ ‫یک‬ ‫بودن‬ ‫خاموش‬‫ا‬.‫شود‬ ‫می‬ ‫ده‬‫ر‬ ‫حافظه‬ ‫سلول‬ ‫خروجی‬ ‫یعنی‬‫متصل‬ ‫ترانزیستور‬ ‫این‬ ‫گیت‬ ‫به‬ ‫ا‬ ‫می‬.‫کنند‬
  • 41.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 31 ‫خروجی‬‫اتصال‬ ‫با‬ ‫دوم‬ ‫روش‬ ‫در‬‫سلول‬ ‫های‬‫ما‬ ‫یک‬ ‫انتخاب‬ ‫ورودیهای‬ ‫به‬ ‫حافظه‬ ‫های‬‫پلکس‬ ‫لتی‬‫ر‬‫کنند‬ ‫می‬ ‫مشخص‬ ‫خط‬ ‫از‬ ‫کدامیک‬ ‫که‬‫پلکسر‬ ‫مالتی‬ ‫ورودی‬ ‫های‬.‫شود‬ ‫می‬ ‫متصل‬ ‫خروجی‬ ‫به‬‫که‬ ‫است‬ ‫ضعف‬ ‫این‬ ‫دارای‬ ‫روش‬ ‫این‬ ‫برق‬ ‫که‬ ‫بار‬ ‫هر‬ ‫باید‬‫سیستم‬‫قطع‬‫می‬‫شود‬‫مجددا‬‫محتوای‬‫سلولهای‬‫حافظه‬‫نوشته‬‫شود‬‫که‬‫این‬‫کار‬‫نیاز‬‫به‬‫این‬‫دارد‬ ‫که‬‫یک‬‫حافظه‬‫دائمی‬PROM‫یا‬EPROM‫کنار‬ ‫در‬ ‫مﻐناطیسی‬ ‫دیسک‬ ‫یک‬ ‫یا‬FPGA‫بار‬ ‫هر‬ ‫تا‬ ‫شود‬ ‫گذاشته‬ ‫بخواند‬ ‫ان‬ ‫روی‬ ‫از‬ ‫را‬ ‫خودش‬ ‫اطالعات‬ ‫شدن‬ ‫روشن‬ ‫موقع‬.‫سلول‬ ‫که‬ ‫است‬ ‫زیادی‬ ‫حجم‬ ‫روش‬ ‫این‬ ‫دیگر‬ ‫مشکل‬ .‫دهد‬ ‫می‬ ‫اختصاص‬ ‫خود‬ ‫به‬ ‫حافظه‬‫به‬ ‫حافظه‬ ‫سلول‬ ‫یک‬ ‫زیرا‬5‫یا‬6‫حال‬ ‫عین‬ ‫در‬ ‫.ولی‬ ‫دارد‬ ‫نیاز‬ ‫ترانزیستور‬،‫مزیت‬ ‫ح‬ ‫از‬ ‫استفاده‬‫مجدد‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬ ‫موقت‬ ‫های‬ ‫افظه‬‫آ‬‫باشد.شرکت‬ ‫می‬ ‫مدار‬ ‫داخل‬ ‫در‬ ‫حتی‬ ‫ن‬Xilinx‫برای‬ ‫ریزی‬ ‫برنامه‬FPGA‫ا‬ ‫خود‬ ‫ساخت‬ ‫های‬‫ا‬ ‫تکنولوژی‬ ‫این‬ ‫ز‬.‫کند‬ ‫می‬ ‫ستفاده‬ ‫شکل‬3-2-‫یک‬ ‫سلول‬SRAM 3-9-2-‫ریﺰی‬ ‫برﻧامه‬ ‫تکنولوژی‬FLASH ‫بر‬ ‫مبتنی‬ ‫ریزی‬ ‫برنامه‬ ‫تکنولوژی‬ ‫استفاده‬ ‫مورد‬ ‫های‬ ‫تکنولوژی‬ ‫از‬ ‫دیگر‬ ‫یکی‬FLASH‫تکنولوژی‬ ‫این‬ .‫باشد‬ ‫می‬ ‫این‬ ‫همچنین‬ .‫نمود‬ ‫اشاره‬ ‫تکنولوژی‬ ‫این‬ ‫بودن‬ ‫فرار‬ ‫غیر‬ ‫به‬ ‫توان‬ ‫می‬ ‫مثال‬ ‫عنوان‬ ‫به‬ .‫باشد‬ ‫می‬ ‫فراوانی‬ ‫فواید‬ ‫دارای‬ ‫بر‬ ‫مبتنی‬ ‫تکنولوژی‬ ‫به‬ ‫نسبت‬ ‫تکنولوژی‬SRAM‫معایبی‬ ‫دارای‬ ‫تکنولوژی‬ ‫این‬ .‫باشد‬ ‫می‬ ‫کمتر‬ ‫موثر‬ ‫مساحت‬ ‫دارای‬ ‫بر‬ ‫مبتنی‬ ‫ریزی‬ ‫برنامه‬ ‫که‬ ‫کرد‬ ‫اشاره‬ ‫نکته‬ ‫این‬ ‫به‬ ‫توان‬ ‫می‬ ‫جمله‬ ‫این‬ ‫از‬ ‫که‬ ‫باشد‬ ‫می‬ ‫نیز‬FLASH‫خالﻑ‬ ‫بر‬SRAM ‫فرآیند‬ ‫از‬ ‫تکنولوژی‬ ‫این‬ .‫شود‬ ‫پیکربندی‬ ‫یا‬ ‫ریزی‬ ‫برنامه‬ ‫دوباره‬ ‫نامحدودی‬ ‫تعداد‬ ‫به‬ ‫تواند‬ ‫نمی‬CMOS‫غیر‬ ‫اس‬.‫نماید‬ ‫می‬ ‫استفاده‬ ‫تاندارد‬ 3-9-3-‫ریﺰی‬ ‫برﻧامه‬ ‫تکنولوژی‬ANTI-FUSE ‫در‬ ‫فیوز‬ ‫انتی‬ ‫نوع‬ ‫دو‬FPGA‫نوع‬ ‫.یک‬ ‫است‬ ‫استفاده‬ ‫مورد‬‫آن‬‫عنوان‬ ‫تحت‬ ‫که‬ ‫ها‬PLICE‫شده‬ ‫شناخته‬‫و‬‫توسط‬ ‫شرکت‬Actel‫عنوان‬ ‫تحت‬ ‫که‬ ‫دیگر‬ ‫نوع‬ ‫و‬ ‫شود‬ ‫می‬ ‫استفاده‬Vialink‫شود‬ ‫می‬ ‫شناخته‬،‫شرکت‬ ‫توسط‬Quicklogic .‫شود‬ ‫می‬ ‫استفاده‬
  • 42.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 32 FPGA‫کنند‬‫می‬ ‫استفاده‬ ‫فیوز‬ ‫انتی‬ ‫قابلیت‬ ‫از‬ ‫که‬ ‫هایی‬‫اصلی‬ ‫از‬ ‫ویﮋگی‬ ‫این‬ ‫که‬ ‫کنند‬ ‫می‬ ‫اشﻐال‬ ‫را‬ ‫کمی‬ ‫مساحت‬ ،‫باشد‬ ‫می‬ ‫تکنولوژی‬ ‫این‬ ‫های‬ ‫مزیت‬ ‫ترین‬‫مزیت‬‫دیگر‬‫از‬ ‫استفاده‬‫آ‬‫کاری‬ ‫فرکانس‬ ‫بودن‬ ‫باال‬ ‫فیوزها‬ ‫نتی‬‫آن‬‫می‬ ‫ها‬ ‫کمی‬ ‫مقاومتی‬ ‫اثر‬ ‫و‬ ‫خازنی‬ ‫ظرفیت‬ ‫که‬ ‫چرا‬ ‫باشد‬.‫دارند‬ ‫کرد‬ ‫اشاره‬ ‫توان‬ ‫می‬ ‫روش‬ ‫این‬ ‫معایﺐ‬ ‫از‬‫ریزی‬ ‫برنامه‬‫فیوز‬ ‫انتی‬ ‫یک‬ ‫که‬ ‫وقتی‬ ‫و‬ ‫ندارند‬ ‫مجدد‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬ ‫که‬ ‫قطع‬ ‫حالت‬ ‫به‬ ‫دیگر‬ ‫شد‬‫بر‬‫نمی‬‫فرآیند‬ ‫از‬ ‫تکنولوژی‬ ‫این‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬ ‫همچنین‬ ، ‫گردد‬CMOS‫استاندارد‬ .‫کند‬ ‫نمی‬ ‫استفاده‬ 3-9-4-( ‫شناور‬ ‫های‬ ‫گﻴت‬ ‫تکنولوژی‬EPROM‫و‬EEPROM) ‫تکنولوژی‬ ‫در‬MOS‫سطﺢ‬ ‫اعمال‬ ‫با‬ ‫که‬ ‫کنند‬ ‫می‬ ‫عمل‬ ‫سوئیچی‬ ‫عنوان‬ ‫به‬ ‫خود‬ ‫ها‬ ‫ترانزیستور‬High‫يا‬Low‫به‬ ‫سوئیچ‬ ‫شدن‬ ‫وصل‬ ‫و‬ ‫قطع‬ ‫باعث‬ ‫توان‬ ‫می‬ ‫گیتشان‬.‫شد‬ ‫ها‬‫دارای‬ ‫که‬ ‫شود‬ ‫می‬ ‫استفاده‬ ‫ترانزیستوری‬ ‫از‬ ‫روش‬ ‫این‬ ‫در‬ .‫است‬ ‫شناور‬ ‫گیت‬‫سطﺢ‬ ‫توان‬ ‫می‬ ‫شناور‬ ‫گیت‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬‫آ‬‫گیت‬ ‫کردن‬ ‫دشارژ‬ ‫و‬ ‫شارژ‬ ‫با‬ ‫را‬ ‫ترانزیستور‬ ‫ستانه‬ ‫زیاد‬ ‫جریان‬ ‫یک‬ ‫گذراندن‬ ‫با‬ ‫که‬ ‫ترتیﺐ‬ ‫این‬ ‫به‬ . ‫کرد‬ ‫خاموش‬ ‫دائم‬ ‫صورت‬ ‫به‬ ‫را‬ ‫ترانزیستور‬ ‫و‬ ‫داد‬ ‫تﻐییر‬ ‫دوم‬‫بین‬ ‫با‬ ‫که‬ ‫گیرد‬ ‫می‬ ‫قرار‬ ‫شناور‬ ‫گیت‬ ‫روی‬ ‫بار‬ ‫مقداری‬ ‫ترانزیستور‬ ‫درین‬ ‫و‬ ‫اصلی‬ ‫گیت‬‫ولتاژ‬ ‫رفتن‬ ‫باال‬ ‫عث‬‫آ‬‫ستانه‬ .‫است‬ ‫خاموش‬ ‫همیشه‬ ‫ترانزیستور‬ ‫کاری‬ ‫ولتاژهای‬ ‫در‬ ‫نتیجه‬ ‫در‬ ‫و‬ ‫شود‬ ‫می‬ ‫معمول‬ ‫حد‬ ‫از‬ ‫ترانزیستور‬‫بین‬ ‫از‬ ‫برای‬ ‫این‬ ‫بردن‬‫ب‬‫در‬ ‫ار‬EPROM‫ماورا‬ ‫اشعه‬ ‫از‬‫ی‬‫ودر‬ ‫بنفش‬EEPROM.‫شود‬ ‫می‬ ‫استفاده‬ ‫الکتریکی‬ ‫جریان‬ ‫از‬ ‫شرکت‬Altera‫استفاده‬ ‫روش‬ ‫مانند‬ ‫روش‬ ‫این‬ ‫مزیت‬ . ‫کرد‬ ‫می‬ ‫استفاده‬ ‫خود‬ ‫تولید‬ ‫اولیه‬ ‫های‬ ‫سری‬ ‫در‬ ‫روش‬ ‫این‬ ‫از‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫به‬ ‫است.الزم‬ ‫مجدد‬ ‫ریزی‬ ‫برنامه‬ ‫قابلیت‬ ‫موقت‬ ‫حافظه‬ ‫از‬EPROM‫مدار‬ ‫خارﺝ‬ ‫در‬‫و‬EEPROM‫در‬ ‫مدار‬ ‫داخل‬.‫باشند‬‫می‬ ‫دارا‬ ‫را‬ ‫مجدد‬ ‫ریزی‬ ‫برنامه‬ 3-10-‫افﺰار‬ ‫سخت‬ ‫توصﻴف‬ ‫زبان‬VHDL ‫عملکرد‬ ‫و‬ ‫طراحی‬ ،‫ساختار‬ ‫توصیف‬ ‫برای‬ ‫که‬ ‫است‬ ‫کامپیوتری‬ ‫زبانی‬ ،‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫ربان‬ ‫الکترونیک‬ ‫در‬ ‫های‬ ‫زبان‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫دیجیتال‬ ‫منطقی‬ ‫مدارات‬ ‫و‬ ‫الکترونیکی‬ ‫مدارات‬HDL‫دهند‬ ‫می‬ ‫را‬ ‫اجازه‬ ‫این‬ ‫کاربر‬ ‫به‬ ‫مانند‬ ‫هایی‬ ‫زبان‬ ‫با‬ ‫ها‬ ‫زبان‬ ‫این‬ ‫اصلی‬ ‫تفاوت‬ .‫کند‬ ‫تست‬ ‫تولید‬ ‫از‬ ‫قبل‬ ‫ابزارهایی‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ ‫خودش‬ ‫مدار‬ ‫که‬C‫در‬ ‫که‬ ‫است‬ ‫این‬HDL‫بایستی‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫زبان‬ ‫اکثر‬ ‫حالیکه‬ ‫در‬ ‫کنند‬ ‫می‬ ‫اجرا‬ ‫همزمان‬ ‫شکل‬ ‫به‬ ‫را‬ ‫دستورات‬ ‫ها‬ ‫به‬‫را‬ ‫برنامه‬ ‫خطوط‬.‫نمایند‬‫اجرا‬‫ترتیﺐ‬ ‫های‬ ‫زبان‬HDL‫مدارات‬ ‫خصوص‬ ‫به‬ ،‫دهند‬ ‫می‬ ‫فرم‬‫مجتمع‬ ‫شکل‬ ‫به‬ ‫را‬ ‫الکترونیکی‬ ‫طراحی‬ ‫اتوماسیون‬ ‫های‬ ‫سیستم‬ .‫میکروپروسسورها‬ ‫مانند‬ ‫پیچیده‬ ‫بسیار‬
  • 43.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 33 VHDL.‫است‬ ‫افزاری‬ ‫سخت‬ ‫توصیف‬ ‫های‬ ‫زبان‬ ‫از‬ ‫یکی‬‫زبان‬VHDL‫توسط‬ ‫بار‬ ‫نخستین‬‫آمریکا‬ ‫دفاع‬ ‫وزارت‬‫به‬ ‫توصیف‬ ‫و‬ ‫طراحی‬ ‫منظور‬‫مجتمع‬ ‫مدارهای‬‫سال‬ ‫در‬ ‫سپس‬ . ‫گرفت‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫و‬ ‫شد‬ ‫طراحی‬ ‫باال‬ ‫سرعت‬ 1987‫انجمن‬ ‫توسط‬IEEE(‫انجمن‬‫الکترونیک‬ ‫و‬ ‫برق‬ ‫مهندسان‬‫استاندارد‬ ‫قالﺐ‬ ‫)در‬1987-1076IEEE‫ارائه‬ ‫عنوان‬ ‫تحت‬ ‫زبان‬ ‫این‬ ‫دوم‬ ‫استاندارد‬ ،‫تصحیحات‬ ‫از‬ ‫ای‬ ‫پاره‬ ‫انجام‬ ‫و‬ ‫سال‬ ‫چند‬ ‫گذشت‬ ‫از‬ ‫پس‬ .‫گردید‬IEEE 1076-1993. ‫گرفت‬ ‫قرار‬ ‫عموم‬‫اختیار‬ ‫در‬ 3-11-‫ارزش‬ ‫در‬ ‫مالحضه‬ ‫قابل‬ ‫فاﮐﺘورهای‬VHDL 1.‫زبان‬ ‫جهانی‬ ‫محبوبیت‬VHDL 2.‫زبان‬ ‫این‬ ‫در‬ ‫توصیف‬ ‫روشهای‬‫مختلف‬ ‫انواع‬ ‫وجود‬ 3.‫ساز‬ ‫شبیه‬ ‫افزارهای‬ ‫نرم‬ ‫وجود‬VHDL 4.‫های‬ ‫کننده‬‫سنتز‬ ‫داشتن‬ ‫اختیار‬ ‫در‬VHDL 3-12-‫های‬ ‫مﺰیت‬VHDL 1.‫که‬ ‫این‬ ‫به‬ ‫توجه‬ ‫با‬VHDL‫سنتز‬ ‫روی‬ ‫به‬ ‫توان‬ ‫می‬ ‫را‬ ‫آن‬ ‫توسط‬ ‫نوشته‬ ‫کد‬ ،‫باشد‬ ‫می‬ ‫استاندارد‬ ‫زبان‬ ‫یک‬ ‫و‬ ‫ها‬ ‫کننده‬‫تراشه‬. ‫ندارد‬ ‫وجود‬ ‫کد‬‫تﻐییر‬ ‫به‬ ‫نیازی‬‫و‬ ‫نمود‬ ‫سازی‬ ‫پیاده‬‫مختلف‬ ‫کنندگان‬ ‫تولید‬ ‫های‬ 2.‫ساز‬ ‫شبیه‬‫و‬ ‫ها‬‫کامپایلرهای‬‫زب‬ ‫این‬. ‫باشند‬ ‫می‬ ‫قیمت‬ ‫ارزان‬ ‫و‬ ‫دسترﺱ‬ ‫در‬ ‫ان‬ 3.‫رفتاری‬ ‫یا‬ ‫ساختاری‬ ‫صورت‬ ‫به‬ ‫را‬ ‫ها‬ ‫سیستم‬ ‫توان‬ ‫می‬ ‫زبان‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬‫سازی‬ ‫مدل‬‫توصیف‬ .‫نمود‬ ‫سی‬ ‫عملکرد‬ ‫دهنده‬ ‫نشان‬ ‫رفتاری‬‫باشد‬‫می‬ ‫ورودی‬ ‫های‬ ‫سیگنال‬ ‫اساﺱ‬ ‫بر‬ ‫ها‬ ‫خروجی‬ ‫تولید‬ ‫چگونگی‬ ‫و‬ ‫ستم‬ ‫بلوک‬ ‫جزئیات‬ ‫با‬ ‫شدن‬ ‫درگیر‬ ‫از‬ ‫و‬ ‫کرد‬ ‫بیان‬ ‫را‬ ‫سیستم‬ ‫کلی‬ ‫عملکرد‬ ‫توان‬ ‫می‬ ‫توصیف‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ . ‫در‬ . ‫نمود‬ ‫اجتناب‬ ‫شود‬ ‫منجر‬ ‫سیستم‬ ‫توصیف‬ ‫پیچیدگی‬ ‫به‬ ‫بزرگ‬ ‫های‬ ‫طرح‬ ‫در‬ ‫که‬ ‫سیستم‬ ‫سازنده‬ ‫های‬ ‫ساختاری‬ ‫مدل‬ ‫مقابل‬‫بیشتری‬ ‫جزئیات‬ ‫بیانگر‬ ‫و‬ ‫است‬ ‫سیستم‬ ‫سازنده‬ ‫های‬ ‫بلوک‬ ‫ارتباط‬ ‫نحوه‬ ‫دهنده‬ ‫نشان‬ ‫از‬‫افزار‬ ‫سخت‬‫توصیف‬ ‫امکان‬ ‫زبان‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫ترتیﺐ‬ ‫این‬ ‫به‬ . ‫باشد‬ ‫می‬‫سخت‬‫افزار‬‫سطﺢ‬ ‫از‬‫گیت‬‫تا‬ . ‫شود‬ ‫می‬ ‫فراهم‬ ‫سیستم‬ 4.‫افزاری‬ ‫سخت‬ ‫توصیف‬ ‫از‬ ‫استفاده‬ ‫با‬‫سازنده‬ ‫های‬ ‫بلوک‬ ‫بین‬ ‫ارتباط‬ ‫توسط‬ ‫را‬ ‫پیچیده‬ ‫های‬ ‫سیستم‬ ‫توان‬ ‫می‬ ‫زبان‬ ‫توسط‬ ‫ها‬ ‫سیستم‬ ‫این‬ ‫سازی‬ ‫پیاده‬ ‫ترتیﺐ‬ ‫این‬ ‫به‬ ،‫نمود‬ ‫سازی‬ ‫مدل‬ ‫ها‬ ‫آن‬VHDL‫های‬ ‫زبان‬ ‫از‬ ‫تر‬ ‫ساده‬ ‫نویسی‬ ‫برنامه‬‫قبیل‬ ‫از‬c. ‫باشد‬ ‫می‬
  • 44.
    ‫فصل‬‫سوم‬‫آرایه‬‫برنامه‬ ‫منطقی‬ ‫های‬‫پذیر‬FPGA 34 5.‫و‬‫ها‬ ‫کتابخانه‬ ‫گیری‬ ‫بکار‬ ‫با‬component‫زبان‬ ‫در‬ ‫ها‬VHDL‫شد‬ ‫نوشته‬ ‫و‬ ‫موجود‬ ‫های‬ ‫المان‬ ‫از‬ ‫توان‬ ‫می‬ ،‫ه‬ ‫نمود‬ ‫استفاده‬ ‫ها‬ ‫طراحی‬ ‫سایر‬ ‫در‬‫شبیه‬ ‫ها‬ ‫آن‬ ‫عملکرد‬ ‫واقع‬ ‫در‬ .DLL‫نویسی‬ ‫برنامه‬ ‫های‬ ‫زبان‬ ‫در‬ ‫توابع‬ ‫و‬ ‫ها‬ ‫نرم‬.‫باشد‬ ‫می‬ ‫افزاری‬ 6.‫توسط‬ ‫پیچیده‬ ‫های‬ ‫سیستم‬ ‫سازی‬ ‫پیاده‬ ‫و‬ ‫طراحی‬ ‫سرعت‬‫است‬ ‫شماتیک‬ ‫طراحی‬ ‫از‬ ‫بیشتر‬ ‫بسیار‬ ‫زبان‬ ‫این‬ ‫اتصال‬ ‫چگونگی‬ ‫زیرا‬‫گیت‬‫نرم‬ ‫توسط‬ ،‫ها‬ ‫بلوک‬ ‫و‬ ‫ها‬‫کننده‬ ‫سنتز‬ ‫افزار‬‫ترتیﺐ‬ ‫این‬ ‫به‬ . ‫شود‬ ‫می‬ ‫تعیین‬ ‫می‬‫پیاده‬ ‫کوتاهی‬ ‫زمان‬ ‫مدت‬ ‫در‬ ‫را‬ ‫پیچیده‬ ‫های‬ ‫سیستم‬ ‫توان‬‫نیاز‬‫مورد‬ ‫اصطالحات‬ ‫و‬ ‫تﻐییرات‬ ،‫کرده‬ ‫سازی‬ . ‫نمود‬ ‫اعمال‬ ‫برنامه‬ ‫در‬ ‫را‬ 7.‫از‬ ‫اطمینان‬ ‫از‬ ‫پس‬ ‫و‬ ‫کند‬ ‫می‬ ‫ایجاد‬ ‫توصیف‬ ‫مورد‬ ‫سیستم‬ ‫سازی‬ ‫شبیه‬ ‫برای‬ ‫مناسبی‬ ‫بستر‬ ‫زبان‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫نظر‬ ‫مورد‬ ‫تراشه‬ ‫روی‬ ‫به‬ ‫را‬ ‫سیستم‬ ‫توصیف‬ ‫توان‬ ‫می‬ ،‫ساز‬ ‫شبیه‬ ‫محیط‬ ‫در‬ ‫شده‬ ‫نوشته‬ ‫کد‬ ‫عملکرد‬ ‫صحت‬ ‫پیاده‬. ‫کرد‬
  • 45.
    ‫چهارم‬ ‫فصل‬-‫زبان‬ ‫به‬‫تصاویر‬ ‫ﻧﻤایی‬ ‫بﺰرگ‬ ‫برﻧامه‬ ‫سازی‬ ‫پﻴاده‬ ‫افﺰار‬ ‫سخت‬ ‫توصﻴف‬ ‫این‬ ‫در‬ ‫که‬ .‫باشد‬ ‫می‬ ‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫زبان‬ ‫به‬ ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫سازی‬ ‫شبیه‬ ‫پروژه‬ ‫این‬ ‫اصلی‬ ‫هدﻑ‬ ‫روی‬ ‫بر‬ ‫آن‬ ‫سازی‬ ‫پیاده‬ ‫امکان‬ ‫تا‬ ‫شود‬ ‫ارائه‬ ‫نقص‬ ‫بی‬ ‫و‬ ‫کامل‬ ‫ای‬ ‫پروژه‬ ‫است‬ ‫شده‬ ‫تالش‬ ‫راستا‬FPGA.‫شود‬ ‫فراهم‬ .‫پردازیم‬ ‫می‬ ‫شده‬ ‫طراحی‬ ‫افزار‬ ‫سخت‬ ‫ساخت‬ ‫مراحل‬ ‫به‬ ‫ادامه‬ ‫در‬ 4-1-‫ﻧﻤایی‬ ‫بﺰرگ‬ ‫برﻧامه‬ ‫سازی‬ ‫پﻴاده‬ ‫که‬ ‫شده‬ ‫کار‬ ‫صورت‬ ‫این‬ ‫به‬ ‫منظور‬ ‫این‬ ‫برای‬ ‫که‬ ‫باشد‬ ‫می‬ ‫تصاویر‬ ‫کردن‬ ‫بزرگ‬ ‫پروژه‬ ‫این‬ ‫انجام‬ ‫از‬ ‫اصلی‬ ‫هدﻑ‬ ‫بزرگ‬ ‫مقدار‬ ‫با‬ ‫برابر‬ ‫آن‬ ‫سایز‬ ‫که‬ ‫مربعی‬ ‫ماتریس‬ ‫یک‬ ‫درون‬ ‫اولیه‬ ‫تصویر‬ ‫از‬ ‫پیکسل‬ ‫هر‬ ‫تصویر‬ ‫کردن‬ ‫بزرگ‬ ‫برای‬ ‫عنوان‬ ‫به‬ ،‫شود‬ ‫تکرار‬ ‫است‬ ‫نمایی‬‫میکنیم‬ ‫فرض‬ ‫مثال‬‫داریم‬ ‫زیر‬ ‫صورت‬ ‫به‬‫ماتریس‬ ‫یک‬ ‫که‬: [ 𝑎 𝑏 𝑐 𝑑 𝑒 𝑓 ] ‫ماتریس‬ ‫یک‬ ‫در‬ ‫را‬ ‫آن‬ ‫های‬ ‫درایه‬ ‫از‬ ‫هرکدام‬ ‫باید‬ ‫کنیم‬ ‫دوبرابر‬ ‫را‬ ‫آن‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬2×2.‫کنیم‬ ‫تکرار‬ :‫آید‬ ‫می‬ ‫در‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫شده‬ ‫بزرگ‬‫ماتریس‬ [ [ 𝑎 𝑎 𝑎 𝑎 ] [b b b b ] [ c c c c ] [ 𝑑 𝑑 𝑑 𝑑 ] [ e e e e ] [f f f f ] ]
  • 46.
    ‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬‫بزرگ‬ ‫برنامه‬ ‫سازی‬ 36 4-2-‫های‬ ‫پﻴﻦ‬FPGA 1.Data:FPGA‫دارای‬24: ‫گیرد‬ ‫می‬ ‫قرار‬ ‫آنها‬ ‫روی‬ ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫داده‬ ‫که‬ ‫بوده‬ ‫دیتا‬ ‫پایه‬ Data(0)‫الی‬Data(23) 2.CMD:FPGA‫داری‬3‫پایه‬Command‫ب‬ ‫که‬ ، ‫است‬ ‫دستور‬ ‫یا‬‫داد‬ ‫دستور‬ ‫آن‬ ‫به‬ ‫توان‬‫ورودی‬ ‫و‬ ‫می‬: ‫باشند‬CMD 0،CMD 1‫و‬CMD 2 3.CMDD:FPGA‫دارای‬13‫پایه‬Command Data‫نیاز‬ ‫مورد‬ ‫داده‬ ‫بتوان‬ ‫تا‬ ‫است‬CMD‫به‬ ‫را‬ FPGA: ‫باشند‬‫می‬ ‫ورودی/خروجی‬ ‫که‬ ‫داد‬ ‫قرار‬ ‫آن‬ ‫در‬ ‫را‬ ‫دستور‬ ‫اجرا‬ ‫نتیجه‬ ‫یا‬ ‫و‬ ‫داد‬CMDD0‫الی‬ CMDD12 4.WE:Write Enable‫ورودی‬ : 5.RE:Read Enable:‫ورودی‬ 6.RST:Reset‫ورودی‬ : 7.CLK:Clock‫ورودی‬ : 8.RD:Ready‫نبودن‬ ‫یا‬ ‫بودن‬ ‫آماده‬ ‫وضعیت‬ ‫دادن‬ ‫نشان‬ ‫برای‬ :FPGA‫خروجی‬ ‫و‬ ‫شود‬ ‫می‬ ‫استفاده‬ .‫باشد‬ ‫می‬ 4-2-1-‫ﺧروجی‬ ‫های‬ ‫پایه‬FPGA ‫شکل‬3-3-‫ساﺧﺘار‬FPGA
  • 47.
    ‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬‫بزرگ‬ ‫برنامه‬ ‫سازی‬ 37 ‫های‬ ‫پایه‬ ‫از‬ ‫بعضی‬ ، ‫شود‬ ‫می‬ ‫مشاهده‬ ‫باال‬ ‫شکل‬ ‫در‬ ‫که‬ ‫طور‬ ‫همان‬FPGA‫در‬ ‫نقش‬ ‫دو‬ ‫دارای‬FPGA‫مثال‬ ، ‫هستند‬ ‫پایه‬Data(0)‫نقش‬ ‫بر‬ ‫عالوه‬Data 0‫نقش‬ ،)‫(ورودی/خروجی‬Command Data 0‫ایفا‬ ‫نیز‬‫را‬ )‫(ورودی/خروجی‬ .‫کند‬ ‫می‬ 4-3-‫ﻧحوه‬Config‫پﻴکربندی‬ ‫و‬FPGA ‫های‬ ‫پایه‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫پروژه‬ ‫این‬ ‫در‬CMD‫و‬CMDD‫دستگاه‬ ‫مختلف‬ ‫عملکردهای‬ ‫برای‬ ‫مختلفی‬ ‫های‬ ‫حالت‬ : ‫دهیم‬ ‫می‬ ‫توضیﺢ‬ ‫را‬ ‫پیکربندی‬ ‫این‬ ‫ی‬ ‫نحوه‬ ‫زیر‬ ‫در‬ .‫ایم‬ ‫کرده‬ ‫ایجاد‬ 1.‫و‬ ‫دستور‬ ‫ابتدا‬ ‫در‬Command‫های‬ ‫پایه‬ ‫روی‬ ‫را‬ ‫نظر‬ ‫مورد‬CMD 0–CMD 2‫همچنین‬ ‫و‬ ‫داده‬ ‫قرار‬ ‫و‬ ‫دستور‬ ‫داده‬Command Data‫های‬ ‫پایه‬ ‫روی‬ ‫را‬CMDD0‫الی‬CMDD12. ‫داده‬ ‫قرار‬ 2.‫پایه‬RST. ‫نموده‬‫فعال‬ ‫را‬ ‫و‬ ‫دستورات‬ ‫نوشتن‬ ‫برای‬command:‫کنیم‬ ‫می‬ ‫عمل‬‫زیر‬ ‫صورت‬ ‫به‬ ‫نیز‬ ‫ها‬ 1.: ‫ریست‬ ‫برای‬Reset‫باید‬ ‫نمودن‬CMD[2-0]‫برابر‬ ‫را‬"000"‫مقدار‬ ‫به‬ ‫بسته‬ ‫و‬ ‫داد‬ ‫قرار‬CMDD‫خواهد‬ ‫متفاوتی‬ ‫عمکلرد‬ : ‫داشت‬ ‫عملکرد‬CMDD[1-0]CMD[2-0] ‫و‬ ‫کلی‬ ‫نمودن‬‫ریست‬‫اولیه‬ ‫تنظیمات‬ ‫به‬‫برگشت‬00 000 ‫عکس‬ ‫یک‬ ‫که‬‫صورتی‬‫در‬Load‫مشکل‬‫با‬‫دستگاه‬ ‫و‬ ،‫باشد‬ ‫شده‬ ‫را‬ ‫دستگاه‬ ‫بخواهیم‬‫و‬‫باشیم‬‫داده‬ ‫نادرستی‬‫دستور‬ ‫یا‬ ‫و‬‫باشد‬‫روبروشده‬ ‫عکس‬ ‫و‬‫کنیم‬‫کار‬‫آماده‬Load‫استفاده‬ ‫حالت‬ ‫این‬ ‫از‬ ‫نرود‬‫بین‬‫از‬ ‫شده‬ ‫کنیم‬ ‫می‬ 01 ‫عکس‬Load‫رود‬ ‫نمی‬ ‫بین‬‫از‬ ‫شده‬‫بزرگ‬‫عکس‬ ‫و‬ ‫شده‬ ‫کند‬‫نمی‬‫تﻐییر‬‫ورودی/خروجی‬‫داده‬ ‫ُد‬‫م‬ 10 -11 2: ‫ورودی/خروجی‬ ‫داده‬ ‫ُد‬‫م‬‫.تﻐییر‬ ‫تواند‬ ‫می‬ ‫ورودی/خروجی‬ ‫داده‬ ‫ُد‬‫م‬24‫یا‬ ‫بیتی‬16‫فرض‬ ‫پیش‬ ‫صورت‬ ‫باشد(به‬ ‫بیتی‬24)‫است‬ ‫بیتی‬
  • 48.
    ‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬‫بزرگ‬ ‫برنامه‬ ‫سازی‬ 38 ‫ُد‬‫م‬‫تﻐییر‬ ‫برای‬‫باید‬CMD[2-0]‫برابر‬"001": ‫شود‬ ‫عملکرد‬CMDD[0]CMD[2-0] :‫ورودی/خروجی‬‫داده‬ ‫مد‬24‫بیتی‬0 001 :‫ورودی/خروجی‬‫داده‬ ‫مد‬16‫بیتی‬1 ‫د‬‫قبال‬ ‫عکس‬‫یک‬ ‫که‬ ‫صورتی‬ ‫ر‬Load، )‫شده‬ ‫بارگذاری‬ ‫عکس‬ ‫با‬‫متفاوت‬ ‫ُدی‬‫م‬(‫دهیم‬‫تﻐییر‬ ‫را‬ ‫ُد‬‫م‬ ‫و‬ ، ‫باشد‬‫شده‬ ‫عکس‬Load. ‫رفت‬ ‫خواهند‬ ‫بین‬ ‫از‬ ‫شده‬ ‫بزرگ‬‫و‬ ‫شده‬ 3.: ‫بزرگنمایی‬‫میزان‬‫تﻐییر‬ ‫باید‬ ، ‫نمایی‬ ‫بزرگ‬‫میزان‬‫تﻐییر‬ ‫برای‬CMD[2-0]‫برابر‬ ‫را‬"010"‫داخل‬ ‫را‬ ‫نمایی‬ ‫بزرگ‬‫میزان‬ ‫و‬ ‫داده‬ ‫قرار‬ CMDD: ‫دهیم‬ ‫قرار‬ ‫مقدار‬ ‫به‬‫پیکسل‬ ‫بزرگنمایی(هر‬‫میزان‬CMDD)‫شود‬ ‫می‬‫بزرگ‬CMDD[12-0]CMD[2-0] 0‫بوده‬‫یکسان‬‫خروجی‬ ‫و‬‫ورودی‬‫عکس‬ :‫بزرگنمایی‬‫عدم‬ :0010 1‫است‬ ‫ورودی‬‫عکس‬ ‫برابر‬‫دو‬ ‫خروجی‬ ‫عکس‬ :1 i(‫خروجی‬ ‫عکس‬ :i+1‫است‬ ‫ورودی‬‫عکس‬ ‫برابر‬ )… : i 8191‫خروجی‬ ‫عکس‬ :8192‫است‬ ‫ورودی‬ ‫عکس‬ ‫برابر‬8191 . ‫رود‬ ‫می‬ ‫بین‬‫از‬ ‫شده‬ ‫بزرگ‬ ‫عکس‬ ، ‫بزرگنمایی‬‫میزان‬‫تﻐییر‬ ‫از‬ ‫پس‬ ‫بزر‬‫میزان‬.‫باشد‬ ‫می‬ ‫صفر‬‫فرض‬ ‫پیش‬ ‫بصورت‬ ‫نمایی‬ ‫گ‬ 4.‫سایز‬‫تعیین‬: ‫اصلی‬ ‫عکس‬ ‫باید‬ ‫اصلی‬ ‫عکس‬‫سایز‬ ‫نمودن‬‫مشخص‬ ‫برای‬CMD[2-0]،"011": ‫باشد‬ ‫نتیجه‬CMDD[0]CMD[2-0] ‫در‬ ‫را‬ ‫عکس‬ ‫طول‬ :‫عکس‬ ‫طول‬ ‫تﻐییر‬CMDD[12-1]‫ریخته‬ ‫پیش‬‫بصورت‬‫عکس‬ ‫طول‬‫فرض‬240‫بوده‬‫پیکسل‬ 0 011 : ‫ها‬‫ستون‬‫تعداد‬ ‫تﻐییر‬‫در‬ ‫را‬ ‫ها‬ ‫ستون‬‫تعداد‬CMDD[12-1]‫ریخته‬ ‫عکس‬ ‫عرض‬‫پیش‬‫بصورت‬‫فرض‬320‫بوده‬‫پیکسل‬ 1 5: ‫وضعیت‬ ‫نوشتن‬‫و‬ ‫.خواندن‬Debug Status:
  • 49.
    ‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬‫بزرگ‬ ‫برنامه‬ ‫سازی‬ 39 ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬FPGA‫را‬debug‫باید‬ ، )‫امکان‬ ‫صورت‬ ‫دهیم(در‬ ‫تﻐییر‬ ‫یا‬ ‫بخوانیم‬ ‫آنرا‬ ‫وضعیت‬ ‫و‬ ‫نمائیم‬ CMD[2-0]‫را‬"100". ‫داد‬ ‫قرار‬ ‫باید‬ ‫بخوانیم‬ ‫را‬ ‫وضعیت‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬CMDD[0]،"0"‫وضعیت‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫و‬FPGA‫را‬ ‫باید‬ ، ‫دهیم‬‫تﻐییر‬"1": ‫باشد‬ ‫نتیجه‬CMDD[0]CMD[2-0] ‫خواندن‬:‫وضعیت‬FPGA‫در‬CMDD[11:0]‫شود‬ ‫می‬ ‫ریخته‬0 100 ‫در‬ ‫باید‬‫را‬ ‫جدید‬ ‫وضعیت‬: ‫نوشتن‬CMDD[12:1]‫ریخت‬1 ‫وضعیت‬ ‫دادن‬‫تﻐییر‬ ‫و‬ ‫وضعیت‬ ‫نوشتن‬ ‫برای‬FPGA.‫باشد‬‫پذیر‬ ‫امکان‬ ‫باید‬‫جدید‬ ‫وضعیت‬ ، 6‫عکس‬‫از‬ ‫پیکسل‬ ‫یک‬ ‫.خواندن‬Load: ‫شده‬ ‫عکس‬ ‫به‬ ‫مربوط‬ ‫حافظه‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬Load‫روی‬ ‫شده‬FPGA‫باید‬ ، ‫بخوانیم‬ ‫را‬CMD[2-0]‫با‬ ‫برابر‬ "101"‫در‬ ‫پیکسل‬ ‫شماره‬ ‫همچنین‬ ‫و‬ ، ‫شود‬CMDD.‫گیرد‬ ‫قرار‬ 4-4-‫دسﺘﮕاه‬ ‫اﻧدازی‬ ‫راه‬ ‫آنرا‬ ‫ابتدا‬ ، ‫دستگاه‬ ‫اندازی‬ ‫راه‬ ‫برای‬Config: ‫دهیم‬ ‫می‬ ‫انجام‬ ‫را‬ ‫زیر‬ ‫موارد‬ ‫سپس‬ ‫و‬ ‫نموده‬ 1.: ‫دستگاه‬ ‫به‬ ‫عکس‬ ‫انتقال‬ ‫خط‬ ‫روی‬ ‫را‬ ‫پیکسل‬ ‫اولین‬ ‫اطالعات‬ ، ‫دستگاه‬ ‫به‬ ‫عکس‬ ‫یک‬ ‫انتقال‬ ‫برای‬Data‫پایه‬ ‫و‬ ‫داده‬ ‫قرار‬RE ‫های‬ ‫(پایه‬ ‫نموده‬‫فعال‬ ‫را‬WE‫و‬RST‫یک‬ ‫سپس‬ ‫و‬ )‫باشند‬ ‫فعال‬ ‫غیر‬ ‫باید‬Clock‫داده‬ ‫دستگاه‬ ‫به‬ ‫پایه‬ ‫ابتدا‬RD‫دستگاه‬)‫دیگر‬ ‫دستور‬ ‫یا‬ ‫کار‬ ‫یک‬ ‫انجام‬ ‫برای‬ ‫دستگاه‬ ‫آمادگی‬ ‫(عدم‬ ‫نموده‬ ‫غیرفعال‬ ‫را‬ ‫پایه‬ ‫دستگاه‬ ‫آمادگی‬ ‫و‬ ‫دیتا‬ ‫نمودن‬ ‫ﺫخیره‬ ‫از‬ ‫پس‬ ‫و‬RD‫ترتیت‬ ‫همین‬ ‫به‬‫توان‬ ‫می‬ ‫حال‬ ‫؛‬ ‫شود‬ ‫می‬ ‫فعال‬ ‫را‬ ‫ها‬ ‫پیکسل‬ ‫سایر‬ ‫اطالعات‬. ‫نمود‬‫منتقل‬ ‫دستگاه‬ ‫به‬ ‫یکی‬ ‫یکی‬ 2.: ‫تصویر‬ ‫بزرگنمایی‬ ‫بزرگنما‬ ‫برای‬‫خروجی‬ ‫عکس‬ ‫شدن‬ ‫آماده‬ ‫و‬ ‫تصویر‬ ‫یی‬‫های‬ ‫پایه‬ ‫باید‬WE‫و‬RE‫(پایه‬ ‫نموده‬ ‫فعال‬ ‫را‬ RST‫یک‬ ‫سپس‬ ‫و‬ )‫باشد‬‫فعال‬ ‫غیر‬ ‫باید‬Clock.‫دهیم‬ ‫می‬ ‫دستگاه‬ ‫به‬ ‫پایه‬ ‫ابتدا‬RD‫دستگاه‬)‫دیگر‬ ‫دستور‬ ‫یا‬ ‫کار‬ ‫یک‬ ‫انجام‬ ‫برای‬‫دستگاه‬ ‫آمادگی‬ ‫(عدم‬ ‫نموده‬ ‫غیرفعال‬ ‫را‬ ‫پایه‬ ‫دستگاه‬ ‫آمادگی‬ ‫و‬ ‫خروجی‬ ‫عکس‬ ‫شدن‬ ‫آماده‬ ‫و‬ ‫عکس‬ ‫شدن‬ ‫بزرگ‬ ‫از‬ ‫پس‬ ‫و‬RD‫می‬ ‫فعال‬ ‫شود‬.
  • 50.
    ‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬‫بزرگ‬ ‫برنامه‬ ‫سازی‬ 40 3.: ‫خروجی‬ ‫به‬ ‫شده‬ ‫بزرگ‬ ‫عکس‬ ‫انتقال‬ ‫خط‬ ‫روی‬ ‫را‬ ‫پیکسل‬‫اولین‬ ‫اطالعات‬ ، ‫دستگاه‬ ‫به‬ ‫عکس‬‫یک‬ ‫انتقال‬ ‫برای‬Data‫داد‬ ‫قرار‬‫پایه‬ ‫و‬ ‫ه‬WE ‫های‬ ‫(پایه‬ ‫نموده‬‫فعال‬ ‫را‬RE‫و‬RST‫یک‬ ‫سپس‬ ‫و‬ )‫باشند‬ ‫فعال‬ ‫غیر‬ ‫باید‬Clock.‫دهیم‬ ‫می‬ ‫دستگاه‬ ‫به‬ ‫پایه‬ ‫ابتدا‬RD‫دستگاه‬‫ﺫخیره‬ ‫از‬ ‫پس‬ ‫و‬ )‫دیگر‬ ‫دستور‬ ‫یا‬ ‫کار‬ ‫یک‬ ‫انجام‬ ‫برای‬ ‫دستگاه‬ ‫آمادگی‬ ‫(عدم‬ ‫نموده‬ ‫غیرفعال‬ ‫را‬ ‫پایه‬ ‫دستگاه‬ ‫آمادگی‬ ‫و‬ ‫دیتا‬ ‫نمودن‬RD‫حال‬ ‫؛‬ ‫شود‬ ‫می‬ ‫فعال‬‫را‬ ‫ها‬ ‫پیکسل‬ ‫سایر‬ ‫اطالعات‬ ‫ترتیت‬ ‫همین‬ ‫به‬ ‫توان‬ ‫می‬ . ‫نمود‬‫منتقل‬ ‫دستگاه‬ ‫به‬ ‫یکی‬ ‫یکی‬ 4-5-‫برﻧامه‬ ‫طراحی‬ 1.‫تابع‬BinToInt: (‫اینتیجر‬ ‫به‬ ‫را‬ ‫باینری‬ ‫مقادیر‬ ‫تابع‬ ‫این‬integer.‫کند‬ ‫می‬ ‫تبدیل‬ ) FUNCTION BinToInt (bin : BIT_VECTOR) RETURN INTEGER IS VARIABLE result: INTEGER; BEGIN result := 0; FOR I IN bin’RANGE LOOP IF bin(i) = ‘1’ THEN result := result + 2**i; END IF; END LOOP; RETURN result; END BinToInt; 2.‫تابع‬IntToBin: ‫مقادیر‬‫تبدیل‬ ‫برای‬integer.‫شود‬ ‫می‬ ‫استفاده‬ ‫باینری‬ ‫به‬ Function IntToBin (Number : Integer ; MaxIndex : Integer) Return Bit_Vector is variable s : Bit_Vector(MaxIndex downto 0) := “000000000000000000000000”; variable t : Integer; variable I : Integer;
  • 51.
    ‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬‫بزرگ‬ ‫برنامه‬ ‫سازی‬ 41 BEGIN t := Number; I := 0; while t /= 0 Loop IF(t mod 2 =0) then s(i) := ‘0’; ELSE s(i) := ‘1’; END IF; I := I + 1; t := t / 2; END Loop; return (s); END IntToBin; ‫عرض‬ ‫و‬ ‫طول‬ ‫مقادیر‬ ‫خواهیم‬ ‫می‬ ‫که‬ ‫کرد‬ ‫اشاره‬ ‫وقتی‬ ‫به‬ ‫توان‬ ‫می‬ ‫دارد‬ ‫کاربرد‬ ‫تابع‬ ‫این‬ ‫که‬ ‫مواقعی‬ ‫جمله‬ ‫از‬‫عکس‬ ‫با‬ ‫برابر‬ ‫را‬ ‫عکس‬ ‫طول‬ ‫گوییم‬ ‫می‬ ‫دستگاه‬ ‫به‬ ‫مثال‬ ‫طور‬ ‫بدهیم.(به‬ ‫دستگاه‬ ‫به‬ ‫را‬320‫به‬ ‫ابتدا‬ ‫عدد‬ ‫این‬ ‫باید‬ ‫که‬ ‫بده‬ ‫قرار‬ ‫شود‬ ‫تبدیل‬ ‫باینری‬) 3.‫رنگی‬ ‫مد‬16‫و‬24: ‫بیتی‬ ‫تابع‬ ‫یکدیگر‬ ‫به‬ ‫آنها‬ ‫تبدیل‬ ‫برای‬ ‫و‬ ‫دادیم‬ ‫قرار‬ ‫نظر‬ ‫مد‬ ‫را‬ ‫رنگی‬ ‫مدهای‬ ‫پروژه‬ ‫این‬ ‫در‬FUNCTION Color24To16‫های‬ ‫بیت‬ ‫که‬ ‫است‬ ‫گونه‬ ‫این‬ ‫تبدیل‬ ‫این‬ ‫نحوه‬ .‫ایم‬ ‫کرده‬ ‫سازی‬ ‫پیاده‬ ‫را‬5‫و‬6‫و‬7‫و‬14‫و‬15‫و‬21‫و‬ 22‫و‬23‫مد‬ ‫تبدیل‬ ‫(برای‬ ‫نمیکنیم‬ ‫استفاده‬ ‫را‬24‫مد‬ ‫به‬16‫مد‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬ .)16‫به‬ ‫را‬ ‫مد‬24.‫دهیم‬ ‫قرار‬ ‫صفر‬ ‫را‬ ‫شده‬ ‫گفته‬ ‫های‬ ‫بیت‬ ‫مقادیر‬ ‫باید‬‫کنیم‬ ‫تبدیل‬ 4.‫حافظه‬‫عکس‬ ‫سازی‬ ‫ﺫخیره‬ ‫برای‬ ‫هرکدام‬ ‫که‬ ‫کنیم‬ ‫می‬ ‫ایجاد‬ ‫آرایه‬ ‫صورت‬ ‫به‬ ‫حافظه‬ ‫یک‬ ‫کنیم‬ ‫می‬ ‫دریافت‬ ‫ورودی‬ ‫از‬ ‫که‬ ‫عکسی‬ ‫سازی‬ ‫ﺫخیره‬ ‫برای‬ ‫آرایه‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫نیز‬ ‫آن‬ ‫های‬ ‫خانه‬ ‫از‬24‫مد‬ ‫وجود‬ ‫علت‬ ‫به‬ ‫اینکار‬ ‫دلیل‬ .‫باشد‬ ‫می‬ ‫بیتی‬24‫در‬ ‫و‬ ‫باشد‬ ‫می‬ ‫بیتی‬ ‫مد‬ ‫از‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬16‫ک‬ ‫استفاده‬ ‫بیتی‬‫های‬ ‫خانه‬ ‫باید‬‫نیم‬16‫تا‬23.‫کنیم‬ ‫پر‬ ‫صفر‬ ‫مقدار‬ ‫با‬‫را‬
  • 52.
    ‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬‫بزرگ‬ ‫برنامه‬ ‫سازی‬ 42 ‫حافظه‬ ‫نیز‬‫شده‬ ‫بزرگ‬ ‫عکس‬ ‫سازی‬ ‫ﺫخیره‬ ‫برای‬.‫شود‬ ‫ایجاد‬ ‫باید‬ ‫صورت‬ ‫همین‬ ‫به‬ ‫ای‬ 5.Process (clk , RST) ‫پروسس‬ ‫این‬ ‫در‬‫به‬ ‫باتوجه‬‫قسمت‬ ‫در‬ ‫که‬ ‫پیکربندی‬ ‫نحوه‬4-3‫شد‬ ‫داده‬ ‫توضیﺢ‬‫های‬ ‫حالت‬ ‫به‬ ‫افزار‬ ‫سخت‬ .‫رود‬ ‫می‬ ‫مختلفی‬ ‫ﺫکر‬ ‫قابل‬‫های‬ ‫بیت‬ ‫که‬ ‫است‬[0-12]CMDD‫خطوط‬ ‫همان‬Data[0-12]‫های‬ ‫بیت‬‫و‬ ‫باشند‬‫می‬CMD[2:0] ‫،خطوط‬Data[15-13].‫باشند‬ ‫می‬ ‫خط‬ ‫که‬ ‫صورتی‬ ‫در‬RD‫نگرفته‬ ‫انجام‬ ‫دستگاه‬ ‫روی‬ ‫الزم‬ ‫عملیات‬ ‫که‬ ‫میشود‬ ‫مشخص‬ ‫باشد‬ ‫داشته‬ ‫را‬ ‫صفر‬ ‫مقدار‬ ‫باشد‬ ‫می‬ ‫عکس‬ ‫کردن‬ ‫بزرگ‬ ‫حال‬ ‫در‬ ‫دستگاه‬ ‫که‬ ‫هنگامی‬ ‫مثال‬ ‫عنوان‬ ‫به‬‫خط‬RD‫وقتی‬ ‫و‬ ‫دارد‬ ‫را‬ ‫صفر‬ ‫مقدار‬ ‫شد‬ ‫انجام‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫بزرگنمایی‬ ‫عمل‬ ‫که‬RD‫که‬ ‫است‬ ‫این‬ ‫ی‬ ‫دهنده‬ ‫نشان‬ ‫این‬ ‫که‬ ‫میگیرد‬ ‫یک‬ ‫مقدار‬ ‫رفتن‬ ‫آماده‬ ‫و‬ ‫داده‬ ‫انجام‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫را‬ ‫عملیات‬ ‫دستگاه‬‫به‬state.‫میباشد‬ ‫بعدی‬ ‫اعمال‬ ‫این‬ ‫انجام‬ ‫برای‬ ‫که‬ ‫باشیم‬ ‫داشته‬ ‫توجه‬ ‫باید‬‫خط‬ ‫مقدار‬RST(.‫کند‬ ‫تﻐییر‬ ‫یک‬ ‫به‬ ‫صفر‬ ‫از‬ ‫باید‬RST‫باید‬ ) .‫باشد‬ ‫فعال‬ ‫عکس‬ ‫طول،عرض‬ ،‫بزرگنمایی‬ ‫مقادیر‬ ‫پروسس‬ ‫این‬ ‫در‬‫طول‬ ‫فرض‬ ‫پیش‬ ‫صورت‬ ‫به‬ ‫که‬ ‫میشود‬ ‫دهی‬ ‫مقدار‬ ‫را‬ ‫عکس‬320‫را‬ ‫آن‬ ‫،عرض‬240‫با‬ ‫برابر‬ ‫را‬ ‫بزرگنمایی‬ ‫مقدار‬ ‫و‬0‫باهم‬‫خروجی‬ ‫و‬ ‫ورودی‬ ‫عکس‬ ‫حالت‬ ‫این‬ ‫(در‬ ‫گر‬ ‫نظر‬ ‫در‬ ).‫باشند‬ ‫می‬ ‫برابر‬.‫ایم‬ ‫فته‬ ‫برای‬ ‫و‬ ‫خیر‬ ‫یا‬ ‫است‬ ‫رسیده‬ ‫اتمام‬ ‫به‬ ‫ورودی‬ ‫عکس‬ ‫خواندن‬ ‫اینکه‬ ‫کردن‬ ‫مشخص‬ ‫برای‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬ ‫خط‬ ‫دو‬ ‫است‬ ‫رسیده‬ ‫پایان‬ ‫به‬ ‫عکس‬ ‫کردن‬ ‫بزرگ‬ ‫اینکه‬ ‫نمودن‬ ‫مشخص‬image-ready‫و‬resimage-ready‫را‬ ‫می‬ ‫مشخص‬ ‫باشند‬ ‫داشته‬ ‫را‬ ‫یک‬ ‫مقدار‬ ‫خطوط‬ ‫این‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫که‬ ‫ایم‬ ‫گرفته‬ ‫نظر‬ ‫در‬‫به‬ ‫عملیات‬ ‫این‬ ‫که‬ ‫شود‬ .‫است‬ ‫رسیده‬ ‫اتمام‬ 6.Resize‫عکس‬ ‫کردن‬ ‫خطوط‬ ‫مقادیر‬ ‫عمل‬ ‫این‬ ‫برای‬RE‫و‬WE‫ی‬ ‫رونده‬ ‫باال‬ ‫ی‬ ‫لبه‬ ‫آمدن‬ ‫با‬ ‫که‬ ‫باشند‬ ‫یک‬ ‫باید‬Clk‫که‬ ‫صورتی‬ ‫در‬ ‫حالت‬ ‫در‬ ‫دستگاه‬ReSizeImage‫یا‬DownLoadImage‫خط‬ ‫باشد‬RD‫و‬resimage-ready‫صفر‬ ‫مقدار‬ ‫حالت‬ ‫به‬ ‫دستگاه‬ ‫و‬ ‫میگیرد‬ReSizingImage‫حلقه‬ ‫چهار‬ ‫توسط‬ ‫سپس‬ ‫و‬ ‫رفته‬for‫در‬ ‫آن‬ ‫عملکرد‬ ‫ی‬ ‫نحوه‬ ‫که‬
  • 53.
    ‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬‫بزرگ‬ ‫برنامه‬ ‫سازی‬ 43 ‫قسمت‬4-1‫خطوط‬ ‫آخر‬ ‫در‬ . ‫پردازد‬ ‫می‬ ‫تصویر‬ ‫بزرگنمایی‬ ‫به‬ ‫شد‬ ‫داده‬ ‫توضیﺢ‬RD‫و‬resimage-ready ‫مقدار‬‫حالت‬ ‫به‬‫دستگاه‬ ‫و‬ ‫گرفته‬ ‫یک‬ReSizeImage.‫رود‬ ‫می‬ 4-6-‫ﻧﺘایج‬ ‫و‬ ‫سازی‬ ‫شبﻴه‬ ‫سازی‬ ‫شبیه‬ ‫افزار‬ ‫نرم‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫سازی‬ ‫شبیه‬ ‫این‬ .‫پردازیم‬ ‫می‬ ‫شده‬ ‫نوشته‬ ‫برنامه‬ ‫سازی‬ ‫شبیه‬ ‫به‬ ‫قسمت‬ ‫این‬ ‫در‬ ModelSim‫شرکت‬Altera‫است‬ ‫شده‬ ‫سازی‬ ‫شبیه‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫برنامه‬ ‫این‬ ‫های‬ ‫قسمت‬ ‫تمامی‬ .‫است‬ ‫گرفته‬ ‫انجام‬ ‫احتمالی‬ ‫اشکال‬ ‫گونه‬ ‫هر‬ ‫از‬ ‫تا‬‫آید‬ ‫عمل‬ ‫به‬‫جلوگیری‬. ‫پروژه‬ ‫این‬ ‫در‬‫یک‬ ‫سازی‬ ‫شبیه‬ ‫عمل‬ ‫انجام‬ ‫برای‬testbench‫عملکرد‬‫ی‬ ‫نحوه‬ ‫توضیﺢ‬ ‫به‬ ‫زیر‬ ‫در‬ ‫که‬ ‫است‬ ‫شده‬ ‫نوشته‬ .‫ایم‬ ‫پرداخته‬ ‫آن‬ ‫این‬testbench‫های‬ ‫پروسیجر‬ ‫به‬ ‫توان‬ ‫می‬ ‫آن‬ ‫ی‬ ‫جمله‬ ‫از‬ ‫که‬ ‫است‬ ‫پروسیجر‬ ‫چند‬ ‫از‬ ‫متشکل‬SetZoomOut‫که‬ ‫بزرگنمایی‬ ‫میزان‬ ‫تعیین‬ ‫برای‬،SetPicW، ‫عکس‬ ‫طول‬ ‫برای‬ ‫که‬Set PicH‫برای‬‫اشاره‬ ‫میتوان‬ ‫غیره‬‫و‬ ‫عکس‬ ‫عرض‬ ‫توضیﺢ‬ ‫به‬ ‫ادامه‬ ‫در‬ ‫که‬ ‫کرد‬‫از‬ ‫برخی‬‫پرداخته‬ ‫آنها‬.‫ایم‬ ‫در‬ ‫که‬ ‫است‬ ‫ﺫکر‬ ‫قابل‬testbench‫خطوط‬ ‫شده‬ ‫نوشته‬DataIn‫و‬DateOut‫گرفنه‬ ‫نظر‬ ‫در‬ ‫هم‬ ‫از‬ ‫مجزا‬ ‫صورت‬ ‫به‬ .‫اند‬ ‫شده‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫برنامه‬ ‫های‬ ‫ورودی‬Component‫برنامه‬ ‫مخلف‬ ‫قسمت‬ ‫در‬ ‫آنها‬ ‫از‬ ‫بتوانیم‬ ‫تا‬ ‫اند‬ ‫شده‬ ‫گرفته‬ ‫نظر‬ ‫در‬ .‫کنیم‬ ‫استفاده‬ ‫خط‬ ‫پردازیم‬ ‫می‬ ‫آنها‬ ‫به‬ ‫ادامه‬ ‫در‬ ‫که‬ ‫پروسیجرهایی‬ ‫تمام‬ ‫در‬RST‫مقدار‬ ‫ابتدا‬ ‫در‬ ‫دلیل‬ ‫همین‬ ‫به‬ ‫بشود‬ ‫فعال‬ ‫باید‬1‫و‬ ‫گذشت‬ ‫از‬ ‫بعد‬1ns‫مقدار‬ ‫دوباره‬0.‫گیرد‬ ‫می‬ ‫خود‬ ‫به‬ ‫را‬ 1.‫رنگی‬ ‫مد‬16‫و‬24‫بیتی‬ ‫ا‬ ‫در‬‫مقدار‬ ‫پروسیجر‬ ‫ین‬001‫در‬ ‫را‬CMD[2-0]‫ریخته‬(Data IN (15 down to 13)‫طبق‬ ‫صورت‬ ‫این‬ ‫در‬ ) ‫توضیحات‬‫بخش‬ ‫در‬ ‫شده‬ ‫گفته‬4-3.‫میگیرد‬ ‫قرار‬ ‫/خروجی‬ ‫ورودی‬ ‫داده‬ ‫مد‬‫تﻐییر‬ ‫حالت‬ ‫در‬ Procedure SetColorMode(Constant Mode;Signal DataIn; Signal RST) { DataIn(0) <= Mode; DataIn(15 downto 13) <= "001";
  • 54.
    ‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬‫بزرگ‬ ‫برنامه‬ ‫سازی‬ 44 RST <= '1' , '0' after 1 ns ; } 2.‫نمایی‬ ‫بزرگ‬ ‫اندازه‬‫تعیین‬ ‫های‬ ‫پایه‬ ‫روی‬ ‫تصاویر‬ ‫بزرگنمایی‬ ‫مقدار‬ ‫پروسیجر‬ ‫این‬ ‫در‬CMDD[12-0]‫گیرد‬ ‫می‬ ‫قرار‬( Data IN (12 down to 0) )‫های‬ ‫پایه‬ ‫همچنین‬ ،CMD[2-0]‫مقدار‬010‫در‬ ‫شده‬ ‫ارائه‬ ‫توضیحات‬ ‫طبق‬ ‫صورت‬ ‫این‬ ‫در‬ ‫که‬ ‫گیرد‬ ‫می‬ ‫بخش‬4-3.‫گیریم‬ ‫می‬ ‫قرار‬‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬‫میزان‬‫تﻐییر‬ ‫حالت‬ ‫در‬ Procedure SetZoomOut(Constant ZoomOutValue;Signal DataIn;Signal RST) { DataIn(12 downto 0) <= IntToBin(ZoomOutValue,13); DataIn(15 downto 13) <= "010"; RST <= '1' , '0' after 1 ns ; } 3.‫عکس‬ ‫طول‬‫تﻐییر‬ ‫های‬ ‫پایه‬ ‫پروسیجر‬ ‫این‬ ‫در‬CMD[2-0]‫با‬ ‫را‬011‫در‬ ‫عکس‬ ‫طول‬ ‫اندازه‬ ‫و‬ ‫کنیم‬ ‫می‬ ‫مقداردهی‬CMDD[12-1] ‫شود‬ ‫می‬ ‫ریخته‬. Procedure SetPicW(Constant W;Signal DataIn;Signal RST) { DataIn(0) <= '0'; DataIn(12 downto 1) <= IntToBin(W,12); DataIn(15 downto 13) <= "011"; RST <= '1' , '0' after 1 ns ; } 4.‫عکس‬ ‫عرض‬‫تﻐییر‬ ‫های‬ ‫پایه‬ ‫پروسیجر‬ ‫این‬ ‫در‬CMD[2-0]‫با‬ ‫را‬011‫مقدار‬‫می‬ ‫دهی‬‫در‬ ‫عکس‬ ‫عرض‬ ‫اندازه‬ ‫و‬ ‫کنیم‬CMDD[12-1] .‫شود‬ ‫می‬ ‫ریخته‬ Procedure SetPicH(Constant H;Signal DataIn;Signal RST)
  • 55.
    ‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬‫بزرگ‬ ‫برنامه‬ ‫سازی‬ 45 { DataIn(0) <= '1'; DataIn(12 downto 1) <= IntToBin(H,12); DataIn(15 downto 13) <= "011"; RST <= '1' , '0' after 1 ns ; } ‫در‬tese bench‫(کد‬ ‫شده‬ ‫نوشته‬use unit)‫شده‬ ‫پیوست‬‫فرض‬ ‫پیش‬ ‫صورت‬ ‫به‬ ‫عکس‬ ‫عرض‬ ‫و‬ ‫طول‬320‫و‬240 ‫مقدار‬ ‫فرض‬ ‫پیش‬ ‫صورت‬ ‫به‬ ‫همچنین‬ ‫و‬ ‫است‬ ‫شده‬ ‫گرفته‬ ‫نظر‬ ‫در‬ZoomOut‫و‬CMode‫نظرگرفته‬‫در‬ ‫صفر‬‫با‬‫برابر‬ .‫است‬ ‫شده‬‫عکس‬‫یک‬ (320×240‫مد‬ ‫در‬24‫بزرگنمایی‬ ‫مقدار‬ ‫با‬‫بیتی‬1‫است‬ ‫شده‬ ‫گرفته‬ ‫نظر‬ ‫در‬). ‫در‬‫دس‬ ‫عملکرد‬ ‫دادن‬ ‫نشان‬ ‫منظور‬ ‫به‬ ‫ادامه‬‫عکس‬ ‫یک‬ ‫تگاه‬2×3‫را‬ ‫آن‬ ‫خواهیم‬ ‫می‬ ‫و‬ ‫دهیم‬ ‫می‬ ‫دستگاه‬ ‫به‬ ‫را‬6‫برابر‬ ‫کنیم‬‫ابتدا‬ ‫در‬ ‫عکس‬ ‫سایز‬ ‫که‬ ‫شود‬ ‫می‬ ‫مشاهده‬ ‫ایم‬ ‫آورده‬ ‫زیر‬ ‫در‬ ‫که‬ ‫شده‬ ‫سازی‬ ‫شبیه‬ ‫تصاویر‬ ‫در‬ ‫که‬ ‫همانطور‬ 320×240‫به‬ ‫ادامه‬ ‫در‬ ‫که‬ ‫است‬ ‫بوده‬2×3‫است‬ ‫کرده‬‫تﻐییر‬‫در‬‫تﻐییر‬ ‫همچنین‬state‫توا‬ ‫می‬ ‫را‬ ‫ها‬‫مشاهده‬ ‫ن‬.‫کرد‬
  • 56.
    ‫فصل‬‫چهارم‬‫پیاده‬... ‫تصاویر‬ ‫نمایی‬‫بزرگ‬ ‫برنامه‬ ‫سازی‬ 46 ‫شکل‬4-1-‫سازی‬ ‫شبﻴه‬‫ﻧﺘﻴجه‬ ‫کد‬VHDL. ‫باشد‬ ‫می‬ ‫نامه‬ ‫پایان‬ ‫این‬ ‫به‬ ‫شده‬ ‫پیوست‬ ‫دی‬ ‫سی‬ ‫داخل‬ ‫برنامه‬‫این‬
  • 57.
    ‫پنجم‬ ‫فصل‬-‫گﻴری‬ ‫ﻧﺘﻴجه‬ ‫پردازش‬‫تصویر‬‫و‬‫بینایی‬‫ماشین‬‫از‬‫مهمترین‬‫شاخه‬‫ها‬‫ی‬‫هوش‬‫مصنوعی‬‫است‬.‫این‬‫سیستم‬‫ها‬‫با‬‫مکانیزاسیون‬ ‫سیستم‬‫ها‬‫ی‬‫فعلی‬‫امکانات‬‫مناسبی‬‫در‬‫اختیار‬‫ما‬‫قرار‬‫می‬‫دهداز‬‫آنجایی‬‫که‬‫درک‬‫محیط‬‫پیرامون‬‫یکی‬‫از‬‫اساسی‬ ‫ترین‬‫عامل‬‫ها‬‫ی‬‫هوشمند‬‫هر‬‫عاملی‬‫محسوب‬‫می‬‫شود‬،‫مسئله‬‫پردازش‬‫تصویر‬‫اهمیت‬‫خود‬‫را‬‫بیشتر‬‫نشان‬‫می‬‫دهد‬‫و‬ ‫بعضی‬‫از‬‫این‬‫کاربردها‬‫آنچنان‬‫به‬‫پردازش‬‫تصویر‬‫وابسته‬‫هستند‬‫که‬‫بدون‬‫آن‬،‫اساسا‬‫قابل‬‫استفاده‬‫نمی‬‫باشند‬.‫در‬ ‫کنار‬‫این‬‫موارد‬،‫خطاها‬‫ی‬‫بینایی‬‫انسان‬‫و‬‫عدم‬‫توانایی‬‫انسان‬‫در‬‫انجام‬‫کارها‬‫ی‬‫مداوم‬‫و‬‫طوالنی‬‫نیاز‬‫به‬‫پردازش‬ ‫تصویر‬‫و‬‫بینایی‬‫ماشین‬‫را‬‫بیشتر‬‫جلوه‬‫می‬‫دهد‬.‫دامنه‬‫کاربرد‬‫این‬‫شاخه‬‫از‬‫فناور‬‫ی‬‫در‬‫حال‬‫رشد‬،‫بسیار‬‫وسیع‬‫است‬‫و‬ ‫از‬‫کاربردها‬‫ی‬‫عا‬‫م‬‫و‬‫معمولی‬‫مثل‬‫کنترل‬‫کیفیت‬‫خط‬‫تولید‬‫و‬‫نظارت‬‫ویدئویی‬‫گرفته‬‫تا‬‫تکنولوژ‬‫ها‬‫ی‬‫جدید‬‫مثل‬ ‫اتومبیل‬‫ها‬‫ی‬‫بدون‬‫راننده‬‫را‬‫دربرگرفته‬‫است‬.‫با‬‫توجه‬‫به‬‫رشد‬‫چشمگیر‬‫که‬‫علم‬‫پردازش‬‫تصویر‬‫در‬‫سالها‬‫ی‬‫اخیر‬ ‫داشته‬‫است‬،‫آینده‬‫بسیار‬‫روشنی‬‫در‬‫این‬‫علم‬‫دیده‬‫می‬‫شود‬.‫و‬‫این‬‫شاخه‬‫از‬‫هوش‬‫مصنوعی‬‫ازپر‬‫کاربرد‬‫ترین‬‫شاخه‬ ‫ها‬‫می‬‫باشد‬‫که‬‫هنوز‬‫مسایل‬‫حل‬‫نشده‬‫زیاد‬‫ی‬‫درخود‬.‫دارد‬ FPGA‫کرده‬‫ایجاد‬ ‫دهندگان‬ ‫توسعه‬ ‫و‬ ‫طراحان‬ ‫برای‬ ‫را‬ ‫کارا‬ ‫و‬ ‫مختلف‬ ‫های‬ ‫سیستم‬ ‫توسعه‬ ‫برای‬ ‫مناسﺐ‬ ‫بستری‬ ‫ها‬ ‫و‬ ‫ریخت‬ ‫برنامه‬ ‫بار‬ ‫چندین‬ ‫آنها‬ ‫روی‬ ‫بر‬ ‫توان‬ ‫می‬ ‫و‬ ‫هستند‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫مجتمع‬ ‫مدارات‬ ‫این‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬ .‫اند‬ ،‫کنیم‬ ‫تست‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ ‫نظرمان‬ ‫مورد‬ ‫سیستم‬‫توج‬ ‫مورد‬‫سودمند‬ ‫بسیار‬ ‫تحقیقاتی‬ ‫موارد‬ ‫در‬ ‫و‬ ‫گیرند‬ ‫می‬ ‫قرار‬ ‫ه‬ .‫باشند‬ ‫می‬ ‫آستانه‬ ‫مانند‬ ‫مفاهیمی‬ ‫و‬ ‫شد‬ ‫پرداخته‬ ‫تصویر‬ ‫پردازش‬ ‫از‬ ‫ای‬ ‫تاریخچه‬ ‫به‬ ،‫مقدمه‬ ‫ایراد‬ ‫از‬ ‫پس‬ ‫نامه‬ ‫پایان‬ ‫این‬ ‫ابتدای‬ ‫در‬ .‫شد‬ ‫داده‬ ‫توضیﺢ‬ ‫وغیره‬ ‫تصویر‬ ‫های‬ ‫لبه‬ ،‫هیستوگرام‬ ، ‫گیری‬
  • 58.
    ‫فصل‬‫پنجم‬‫نتیجه‬‫گیری‬ 48 ‫ها‬ ‫تراشه‬ ‫از‬‫ای‬ ‫تاریخچه‬ ‫به‬ ‫سوم‬ ‫فصل‬ ‫در‬‫ی‬FPGA‫شده‬ ‫طراحی‬ ‫شکلی‬ ‫به‬ ‫مدارات‬ ‫این‬ ‫که‬ ‫دریافتیم‬ ‫و‬ ‫شد‬ ‫پرداخته‬ ‫باشند‬ ‫می‬ ‫مکرر‬ ‫ریزی‬ ‫برنامه‬ ‫قابل‬ ‫که‬ ‫اند‬‫افزاری‬ ‫سخت‬ ‫توصیف‬ ‫ربان‬ ‫به‬ ‫راجع‬ ‫توضیحاتی‬ ‫به‬ ‫ادامه‬ ‫در‬ ‫و‬VHDL .‫پرداختیم‬ ‫را‬ ‫تصاویر‬ ‫نمایی‬ ‫بزرگ‬ ‫برنامه‬ ‫چهارم‬ ‫فصل‬ ‫در‬‫روی‬ ‫به‬ ‫انتقال‬ ‫قابلیت‬ ‫که‬FPGA‫زبان‬ ‫به‬ ‫دارد‬ ‫را‬VHDL‫طراحی‬ .‫کردیم‬
  • 59.
    ‫نوشت‬ ‫کوتاه‬‫ها‬ 49 ‫ها‬ ‫نوشت‬‫کوتاه‬ HDL:Hardware Description Language FPGA:Field – Programmable Gate Array VHDL: VHSIC(Very High Speed Integrated Circuit) Hardware Description Language PLD: Programmable Logic Design CMOS: Complementary Metal-Oxide Semiconductor JPL: Jet Propulsion CAT:Computerized Arial Topography MRI: Magnetic Resonance Imagery PIXEL: Picture Element JPEG: Joint Photographic Expert Group MPEG: Moving Picture Expert Group LB: Logic Block LUT: Look-up Table SOC: System On Chip ASIC: Application – Specific Integrated Circuit
  • 60.
    ‫منابع‬ 50 ‫منابع‬ [1]،‫رافائل‬ ،‫گونسالس‬"‫رقمی‬ ‫تصویر‬‫پردازش‬"‫فردوسی‬ ‫دانشگاه‬ ،‫پنجم‬ ‫چاپ‬ ،‫جعفری‬ ‫داود‬ ،‫خادمی‬ ‫مرتضی‬ ، ،‫مشهد‬1389. [2]،‫ثانی‬ ‫برومند‬‫سینا‬"‫روی‬ ‫بر‬ ‫نرم‬ ‫پردازنده‬ ‫یک‬ ‫سازی‬‫شبیه‬ ‫و‬ ‫طراحی‬FPGA،"‫و‬ ‫فنی‬ ‫دانشکده‬ ،‫لیسانس‬ ،‫کرمان‬ ‫باهنر‬‫شهید‬ ‫دانشگاه‬ ،‫مهندسی‬1392. [3]،‫سیفی‬ ‫فاطمه‬"‫تصویر‬ ‫پردازش‬".‫شمال‬ ‫دانشگاه‬ ،‫افزار‬ ‫نرم‬ ‫مهندسی‬ ‫گروه‬ ،‫لیسانس‬ ، [4]‫احمد‬.‫کامپیوتر‬ ‫و‬ ‫برق‬ ‫علمی‬ ‫های‬ ‫تازه‬ ‫و‬ ‫طباطبائیان،مقاله‬ ‫رضا‬ [5]،‫سفیدگران‬ ‫فرشید‬"‫آموزش‬VHDL"،‫افزار‬ ‫سخت‬ ‫مهندشی‬ ‫گروه‬ ،‫لیسانس‬ ،1382. [6]،‫جهاندار‬ ‫ابراهیم‬"‫ز‬ ‫خودآموز‬‫افزار‬ ‫سخت‬ ‫توصیف‬ ‫بان‬"‫ف‬ ‫دانشکده‬ ،.‫اصفهان‬ ‫دانشگاه‬ ،‫مهندسی‬ ‫نی‬ [7] V . A Pedroni, Circuit Design and Simulation with VHDL , The MIT Press, 2010. [8] http://en.wikipedia.org. [9] http://wikiproject.ir [10] http://iran24h.com [11] http://fa.wikipedia.org/wiki [12]‫رباتیک‬ ‫و‬ ‫مصنوعی‬ ‫هوش‬ ‫فکر‬ ‫,اتاق‬http://ai.amini.eu/tutorial/diplntro.aspx [13]،‫لبند‬ ‫لنارت‬ ،‫شوهولم‬ ‫اشتنان‬"‫آموزش‬VHDL"‫هنری‬ ‫فرهنگی‬ ‫موسسه‬ ،‫تهران‬ ،‫اول‬ ‫چاپ‬ ،‫گیتی‬ ‫،فرزان‬ ،‫تهران‬ ‫دیباگران‬1383.
  • 61.
    Abstract: The scienceof image processing is a useful and widely used science in artificial intelligence. Day by day, this science has comprehensively and professionally been finding a more significant and fundamental role in modern society and our country, Iran, is almost at the beginning of the way. Besides, in working with images and processing them, the issue of great image data is one of the considerable points. Also, according to the capabilities and advantages of the FPGA as well as the worldwide popularity and importance of HDL language, in the present study an effort is made to consider magnifying images in the hardware description language. In addition, designing stages serves as coding different parts in VHDL language and the attempt has been in the direction of the completion of various parts of this hardware. All device functions; furthermore, are simulated and tested using Modelism software and finally, it is ready for being loaded on FPGA.
  • 62.
    Shahid Bahonar Universityof kerman Faculty of Technical Engineering Department of Computer Engineering B.Sc.Thesis Image enlargement simulation in VHDL Supervisor: Dr. Vahid Sattari Naeini By: Vida Rajabi May 2014