SlideShare a Scribd company logo
1 of 32
Download to read offline
5/10/2016
1
FPGA
Department of Biomedical Engineering
Faculty of Engineering
University of Isfahan
Seyed Yahya Moradi
UI.FPGA@gmail.com
‫برنامه‬ ‫قابل‬ ‫نده‬‫ر‬‫شما‬‫ی‬‫ر‬‫ی‬‫ز‬
5/10/2016
2
M N K
t(high)
‫سیگنال‬ ‫بودن‬ ‫یک‬ ‫زمان‬ ‫مدت‬
priod
‫سیگنال‬ ‫پریود‬
t(low)
‫سیگنال‬ ‫بودن‬ ‫صفر‬ ‫زمان‬ ‫مدت‬
5/10/2016
3
y_low
‫پالس‬ ‫تعداد‬ ‫یعنی‬
‫باید‬ ‫که‬ ‫ورودی‬
‫باشد‬ ‫صفر‬ ‫خروجی‬
y_high
‫پالس‬ ‫تعداد‬ ‫یعنی‬
‫باید‬ ‫که‬ ‫ورودی‬
‫باشد‬ ‫یک‬ ‫خروجی‬
‫ورودی‬ ‫با‬ ‫متناسب‬M
‫شود‬ ‫می‬ ‫محاسبه‬ ‫خروجی‬ ‫بودن‬ ‫صفر‬ ‫و‬ ‫یک‬ ‫پالس‬ ‫تعداد‬.
‫با‬clk‫ورودی‬
‫تعداد‬ ‫به‬y_low
‫صفر‬ ‫خروجی‬
‫ماند‬ ‫می‬
‫تعداد‬ ‫به‬y_high
‫یک‬ ‫خروجی‬
‫ماند‬ ‫می‬
5/10/2016
4
Test bench
‫طرح‬ ‫از‬ ‫استفاده‬
‫های‬ ‫ورودی‬ ‫دادن‬
M – N – K
‫بخورد‬ ‫کالک‬ ‫تا‬ ‫صبر‬ ‫و‬
‫مختلف‬ ‫های‬ ‫ورودی‬ ‫دادن‬
M – N – K
‫بخورد‬ ‫کالک‬ ‫تا‬ ‫صبر‬ ‫و‬
5/10/2016
5
‫کالک‬ ‫تولید‬10‫هرتز‬
‫در‬TEST BENCH
‫سیگناله‬ ‫در‬ ‫تغییر‬ ‫هر‬ ‫با‬‫ای‬
M,N,K
‫فایل‬ ‫در‬ ‫خط‬ ‫یک‬
TEST BENCH
‫شود‬ ‫می‬ ‫نوشته‬.
‫بعد‬ ‫اسالید‬ ‫در‬ ‫توضیحات‬.
5/10/2016
6
‫خروجی‬ ‫باالرونده‬ ‫لبه‬ ‫با‬
‫شود‬ ‫می‬ ‫ثبت‬ ‫صعود‬ ‫زمان‬.
‫خروجی‬ ‫رونده‬ ‫پایین‬ ‫لبه‬ ‫با‬
‫شود‬ ‫می‬ ‫ثبت‬ ‫نزول‬ ‫زمان‬.
‫بعدی‬ ‫باالرونده‬ ‫لبه‬ ‫با‬
‫بعدی‬ ‫صعود‬ ‫زمان‬ ‫خروجی‬
‫شود‬ ‫می‬ ‫ثبت‬.
‫بودن‬ ‫یک‬ ‫زمان‬ ‫محاسبه‬
‫خروجی‬
‫بودن‬ ‫صفر‬ ‫زمان‬ ‫محاسبه‬
‫خروجی‬
‫خروجی‬ ‫پریود‬ ‫محاسبه‬
‫تمامی‬ ‫در‬ ‫خروجی‬ ‫مشاهده‬
‫حاالت‬M
5/10/2016
7
‫حاالت‬ ‫تک‬‫تک‬‫توضیح‬M
‫وقتی‬m=000
‫خروجی‬
N/2‫صفر‬ ‫ثانیه‬
N/2‫یک‬ ‫ثانیه‬
5/10/2016
8
‫وقتی‬m=001
‫خروجی‬
N-1‫صفر‬ ‫ثانیه‬
1‫یک‬ ‫ثانیه‬
‫وقتی‬m=010
‫خروجی‬
N-K‫صفر‬ ‫ثانیه‬
K‫یک‬ ‫ثانیه‬
5/10/2016
9
‫وقتی‬m=011
‫خروجی‬
1‫صفر‬ ‫ثانیه‬
1‫یک‬ ‫ثانیه‬
‫وقتی‬m=100
‫خروجی‬
N/2‫صفر‬ ‫دقیقه‬
N/2‫دقیقه‬‫یک‬
5/10/2016
10
‫وقتی‬m=101
‫خروجی‬
N-1‫صفر‬ ‫دقیقه‬
1‫دقیقه‬‫یک‬
‫وقتی‬m=110
‫خروجی‬
N-K‫صفر‬ ‫دقیقه‬
K‫دقیقه‬‫یک‬
5/10/2016
11
‫وقتی‬m=111
‫با‬ ‫مربعی‬ ‫موج‬‫دوره‬60‫ثانیه‬
‫کننده‬ ‫تفریق‬‫و‬ ‫کننده‬‫جمع‬ ‫احی‬‫ر‬‫ط‬16‫بیتی‬
‫کمک‬‫به‬16‫عدد‬Full Adder
5/10/2016
12
‫اولیه‬‫ایده‬:
‫کننده‬‫تفریق‬‫کننده‬ ‫جمع‬ ‫یک‬8‫بیتی‬
‫اولیه‬‫ایده‬:
‫کری‬ ‫با‬‫تفریق‬(‫در‬‫مثال‬cpu z80)
5/10/2016
13
‫کد‬full adder‫بیتی‬ ‫یک‬
‫کننده‬ ‫جمع‬ ‫کد‬/‫ک‬ ‫تفریق‬‫ننده‬
16‫بکمک‬ ‫بیتی‬
full adder
‫یک‬ ‫کردن‬ ‫اضافه‬XOR
‫کری‬ ‫محاسبه‬ ‫امکان‬ ‫جهت‬
‫ورودی‬
‫کردن‬ ‫اضافه‬XOR‫جهت‬
1’SC‫ورودی‬ ‫کردن‬b
‫کنن‬ ‫جمع‬ ‫تبدیل‬ ‫منظور‬ ‫به‬‫ده‬
‫کننده‬ ‫تفریق‬ ‫به‬
‫یک‬ ‫کردن‬ ‫اضافه‬XOR
‫خروجی‬ ‫کری‬ ‫تصحیح‬ ‫جهت‬
‫تفریق‬ ‫حالت‬ ‫در‬
5/10/2016
14
TEST BENCH‫جهت‬
‫تست‬
‫فایل‬ ‫در‬ ‫نوشتن‬ ‫امکان‬ ‫با‬
‫در‬ ‫توان‬ ‫می‬ ‫را‬ ‫تست‬ ‫تعداد‬
‫نمود‬ ‫تنظیم‬ ‫اینجا‬
‫عدد‬ ‫مثال‬5
‫یعنی‬5‫ورودی‬
‫در‬5‫ورودی‬
‫حاصل‬ ‫که‬25‫است‬ ‫جواب‬
‫بخش‬TEST BENCH‫صفر‬ ‫ورودی‬ ‫کری‬ ‫با‬ ‫کننده‬ ‫جمع‬ ‫حالت‬ ‫در‬ ‫تست‬ ‫جهت‬
‫جهت‬ ‫تصادفی‬ ‫اعداد‬ ‫تولید‬
‫ورودی‬ ‫دو‬a , b
‫بکمک‬ ‫محاسبه‬
Full adder
‫بکمک‬ ‫محاسبه‬
‫جمع‬ ‫عملگر‬
‫مقایسه‬ ‫جهت‬
5/10/2016
15
‫بخش‬TEST BENCH‫یک‬ ‫ورودی‬ ‫کری‬ ‫با‬ ‫کننده‬ ‫جمع‬ ‫حالت‬ ‫در‬ ‫تست‬ ‫جهت‬
‫بخش‬TEST BENCH‫صفر‬ ‫ورودی‬ ‫کری‬ ‫با‬ ‫کننده‬ ‫تفریق‬ ‫حالت‬ ‫در‬ ‫تست‬ ‫جهت‬
‫جهت‬ ‫تصادفی‬ ‫اعداد‬ ‫تولید‬
‫ورودی‬ ‫دو‬a , b
‫تفریق‬ ‫محاسبه‬
‫بکمک‬
Full adder
‫بکمک‬ ‫محاسبه‬
‫منها‬ ‫عملگر‬
‫مقایسه‬ ‫جهت‬
5/10/2016
16
‫بخش‬TEST BENCH‫یک‬ ‫ورودی‬ ‫کری‬ ‫با‬ ‫کننده‬ ‫تفریق‬ ‫حالت‬ ‫در‬ ‫تست‬ ‫جهت‬
‫ورودی‬ ‫کری‬
5/10/2016
17
‫بشکل‬ ‫ورودی‬ ‫عدد‬ ‫دو‬
‫هگزادسیمال‬
‫از‬ ‫استفاده‬ ‫با‬ ‫جواب‬
full adder
5/10/2016
18
‫خروجی‬ ‫کری‬
full adder
‫عملگر‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫جواب‬
‫با‬ ‫مقایسه‬ ‫جهت‬ ‫جمع‬
‫خروجی‬
full adder
‫کری‬ ‫کردن‬ ‫اضافه‬ ‫با‬ ‫همراه‬
‫چپ‬ ‫سمت‬ ‫در‬
5/10/2016
19
‫که‬ ‫حالتی‬ ‫در‬ ‫تست‬
M=0
Cin = 0
‫کننده‬ ‫جمع‬ ‫یعنی‬
‫ورودی‬ ‫کری‬ ‫بدون‬
‫که‬ ‫حالتی‬ ‫در‬ ‫تست‬
M=0
Cin = 1
‫کننده‬ ‫جمع‬ ‫یعنی‬
‫ورودی‬ ‫کری‬ ‫با‬
5/10/2016
20
‫که‬ ‫حالتی‬ ‫در‬ ‫تست‬
M=1
Cin = 0
‫کننده‬ ‫تفریق‬ ‫یعنی‬
‫ورودی‬ ‫کری‬ ‫بدون‬
‫که‬ ‫حالتی‬ ‫در‬ ‫تست‬
M=1
Cin = 1
‫کننده‬ ‫تفریق‬ ‫یعنی‬
‫ورودی‬ ‫کری‬ ‫با‬
5/10/2016
21
‫خروجی‬test bench
‫حاالت‬ ‫همه‬ ‫در‬
5/10/201642
‫کننده‬ ‫جمع‬ ‫احی‬‫ر‬‫ط‬/‫کن‬‫تفریق‬‫نده‬
‫کمک‬‫به‬fulladder
5/10/2016
22
5/10/201643
1-‫جمع‬ ‫مداری‬‫کننده‬/‫عدد‬‫دو‬ ‫که‬ ‫کنید‬ ‫احی‬‫ر‬‫ط‬‫کننده‬ ‫یق‬‫ر‬‫تف‬16‫بیتی‬a‫و‬b‫ورودی‬ ‫کری‬ ‫با‬‫اه‬‫ر‬‫هم‬cin‫یا‬‫مجموع‬ ‫و‬ ‫کرده‬ ‫یافت‬‫ر‬‫د‬ ‫ا‬‫ر‬
‫کند‬ ‫تولید‬‫خروجی‬ ‫در‬ ‫ا‬‫ر‬‫آنها‬ ‫تفاضل‬.‫ورودی‬ ‫یک‬M‫کند‬‫می‬ ‫تعیین‬‫ا‬‫ر‬ ‫عملیات‬ ‫نو‬.‫اگر‬M‫اگر‬ ‫و‬ ‫جمع‬ ‫عمل‬ ‫باشد‬ ‫صفر‬M‫باشد‬ ‫یک‬
‫شود‬‫می‬ ‫انجام‬ ‫یق‬‫ر‬‫تف‬‫عمل‬.‫استفادهاز‬ ‫با‬‫ا‬‫ر‬‫خود‬ ‫مدار‬16‫کننده‬ ‫جمع‬ ‫تمام‬‫عدد‬(fullAdder)‫کنید‬ ‫احی‬‫ر‬‫ط‬ ‫الزم‬ ‫گیتهای‬ ‫سایر‬ ‫و‬.
5/10/201644
‫نامه‬‫ر‬‫ب‬FullAdder
5/10/2016
23
5/10/201645
‫از‬‫استفاده‬16‫عدد‬FullAdder‫کننده‬‫جمع‬‫احی‬‫ر‬‫ط‬‫جهت‬/‫کننده‬‫یق‬‫ر‬‫تف‬16‫بیتی‬
‫گیت‬‫یک‬‫از‬‫استفاده‬
XOR
‫ورودی‬‫کری‬‫اعمال‬‫جهت‬
‫گیت‬‫یک‬‫از‬‫استفاده‬
XOR
‫یق‬‫ر‬‫تف‬‫حالت‬ ‫در‬‫خروجی‬ ‫کری‬‫اصالح‬‫جهت‬
5/10/201646
‫بنچ‬‫تست‬‫نامه‬‫ر‬‫ب‬
5/10/2016
24
5/10/201647
‫کری‬‫زمان‬‫در‬‫کننده‬‫جمع‬ ‫حالت‬ ‫در‬‫تست‬
‫صفر‬ ‫ورودی‬
5/10/201648
‫کری‬‫زمان‬‫در‬‫کننده‬‫جمع‬ ‫حالت‬ ‫در‬‫تست‬
‫یک‬ ‫ورودی‬
5/10/2016
25
5/10/201649
‫کری‬‫زمان‬‫در‬‫کننده‬‫یق‬‫ر‬‫تف‬‫حالت‬ ‫در‬‫تست‬
‫صفر‬ ‫ورودی‬
5/10/201650
‫کری‬‫زمان‬‫در‬‫کننده‬‫یق‬‫ر‬‫تف‬‫حالت‬ ‫در‬‫تست‬
‫یک‬ ‫ورودی‬
5/10/2016
26
5/10/201651
‫بنچ‬‫تست‬‫نامه‬‫ر‬‫ب‬
‫نتایج‬‫مقایسه‬‫جهت‬ ‫عملگرها‬ ‫بکمک‬‫یق‬‫ر‬‫تف‬‫و‬‫جمع‬‫محاسبه‬‫به‬
‫مدار‬‫کار‬‫صحت‬ ‫از‬‫اطمینان‬‫منظور‬
5/10/201652
‫ج‬ ‫سیمولیشن‬‫حین‬ ‫در‬‫ارش‬‫ز‬‫گ‬‫از‬‫استفاده‬‫هت‬
‫محاسبات‬ ‫نادرستی‬‫یا‬ ‫و‬‫درستی‬‫اعالم‬
5/10/2016
27
5/10/201653
‫ج‬ ‫سیمولیشن‬‫حین‬ ‫در‬‫ارش‬‫ز‬‫گ‬‫از‬‫استفاده‬‫هت‬
‫محاسبات‬ ‫نادرستی‬‫یا‬ ‫و‬‫درستی‬‫اعالم‬
5/10/201654
‫ج‬ ‫سیمولیشن‬‫حین‬ ‫در‬‫ارش‬‫ز‬‫گ‬‫از‬‫استفاده‬‫هت‬
‫محاسبات‬ ‫نادرستی‬‫یا‬ ‫و‬‫درستی‬‫اعالم‬
5/10/2016
28
5/10/201655
‫مدار‬‫احی‬‫ر‬‫ط‬‫محاسبه‬‫گر‬
f(x)=3x^2+5
5/10/201656
2-‫کننده‬ ‫ضرب‬ ‫یک‬‫ابتدا‬8‫ودی‬‫ر‬‫و‬‫عدد‬‫دو‬ ‫که‬‫کنید‬‫احی‬‫ر‬‫ط‬ ‫بیتی‬8
‫در‬ ‫ا‬‫ر‬‫بیتی‬8‫صور‬ ‫به‬ ‫ا‬‫ر‬ ‫نتیجه‬‫و‬‫کرده‬‫ضرب‬ ‫هم‬ ‫در‬‫متوالی‬ ‫کالک‬‫ت‬
‫عدد‬ ‫یک‬16‫دهد‬ ‫تحویل‬‫بیتی‬.‫م‬‫ماژول‬ ‫این‬ ‫از‬‫استفاده‬ ‫با‬‫سپس‬‫ی‬‫دار‬
‫عدد‬ ‫یک‬‫که‬ ‫کنید‬ ‫احی‬‫ر‬‫ط‬8‫بیتی‬x‫تابع‬‫کرده‬‫یافت‬‫ر‬‫د‬ ‫ا‬‫ر‬
f(x)=3x^2+5‫کند‬ ‫تولید‬ ‫ا‬‫ر‬.‫کننده‬ ‫ضرب‬ ‫از‬‫توان‬ ‫عمل‬ ‫ای‬‫ر‬‫ب‬
‫در‬ ‫ضرب‬ ‫ای‬‫ر‬‫ب‬ ‫و‬‫کنید‬‫استفاده‬3‫ابتدا‬x^2‫چپ‬ ‫به‬ ‫بیت‬ ‫یک‬ ‫ا‬‫ر‬
‫با‬ ‫ا‬‫ر‬‫حاصل‬ ‫سپس‬‫و‬‫دهید‬ ‫شیفت‬x^2‫کنید‬‫جمع‬.‫از‬ ‫نیز‬ ‫جمع‬ ‫ای‬‫ر‬‫ب‬
‫کنید‬‫استفاده‬ ‫جمع‬ ‫عملگر‬.
5/10/2016
29
5/10/201657
‫کنترلی‬‫پایه‬LOAD‫می‬ ‫باعث‬
‫تا‬‫شود‬a , b‫ضرب‬‫داخل‬‫به‬
‫شوند‬‫وارد‬‫کننده‬.
‫ای‬‫ر‬‫ب‬‫شیفت‬‫دستورات‬
‫و‬‫چپ‬ ‫به‬‫اول‬‫عدد‬‫شیفت‬
‫است‬‫ر‬‫به‬‫دوم‬‫عدد‬‫شیفت‬
‫بودن‬‫یک‬‫صورت‬‫در‬
‫عدد‬ ‫های‬‫بیت‬ ‫از‬‫کدام‬‫هر‬b
‫عدد‬a‫یافته‬‫شیفت‬
‫گردد‬‫می‬‫جمع‬‫قبل‬ ‫حاصل‬ ‫با‬.
5/10/2016 58
‫اول‬‫بار‬‫شیفت‬
‫اول‬‫کالک‬‫در‬
‫هشتم‬‫بار‬‫شیفت‬
‫هشتم‬‫کالک‬‫در‬
Load
‫ورودی‬‫اعداد‬
5/10/2016
30
5/10/201659
‫پ‬‫کنترل‬ ‫جهت‬ ‫لر‬‫ر‬‫کنت‬‫ایه‬
Load , clk
‫دادن‬‫با‬‫که‬‫صورت‬ ‫بدین‬
‫به‬‫نیاز‬‫بدون‬ ‫ورودی‬clk
‫خارجی‬
‫محاسبه‬‫فورا‬ ‫حاصل‬
‫گردد‬‫می‬
‫کنترل‬load
‫زدن‬8‫بار‬clk
5/10/201660
‫تابع‬‫محاسبه‬
F(x) = 3*x^2+5
‫محاسبه‬x^2
‫محاسبه‬2x^2
‫چپ‬ ‫به‬‫شیفت‬‫کمک‬‫به‬
‫محاسبه‬3x^2
‫جمع‬‫کمک‬‫به‬x^2+2x^2
‫با‬‫جمع‬5
5/10/2016
31
5/10/201661
Test bench
x‫از‬‫ا‬‫ر‬0‫تا‬255‫به‬
‫اعمال‬ ‫ورودی‬
‫کنیم‬‫می‬
‫عدد‬0‫تا‬255‫ا‬‫ر‬
‫می‬ ‫در‬ ‫باینری‬‫بصورت‬
‫ضرب‬‫مدار‬ ‫به‬ ‫و‬‫آوریم‬
‫کنیم‬‫می‬‫اعمال‬
‫ضرب‬ ‫تا‬‫کنیم‬‫صبر‬
‫شود‬‫انجام‬
‫خروجی‬ ‫مقایسه‬ ‫جهت‬ ‫ا‬‫ر‬‫فرمول‬
‫می‬‫محاسبه‬‫نیز‬‫عملگرها‬ ‫بکمک‬
‫کنیم‬
‫مقدار‬x‫و‬f(x)‫جهت‬ ‫ا‬‫ر‬
‫م‬ ‫تبدیل‬‫عدد‬ ‫به‬‫تست‬‫سهولت‬‫ی‬
‫کنیم‬
5/10/201662
X = 9
‫بکم‬ ‫تابع‬‫محاسبه‬‫ک‬
‫شده‬‫احی‬‫ر‬‫ط‬‫مدار‬
‫تابع‬‫محاسبه‬
‫محاسبات‬ ‫عملگرهای‬‫ی‬
‫نتی‬‫در‬‫است‬ ‫مساوی‬ ‫هم‬‫با‬ ‫روش‬‫دو‬‫نتیجه‬‫جه‬
‫است‬‫شده‬‫احی‬‫ر‬‫ط‬‫صحیح‬‫مدار‬
5/10/2016
32
THANK YOU

More Related Content

More from Seyed Yahya Moradi (12)

Verilog
VerilogVerilog
Verilog
 
Research
ResearchResearch
Research
 
Statistic Dist
Statistic DistStatistic Dist
Statistic Dist
 
Commercialization workshop
Commercialization workshop Commercialization workshop
Commercialization workshop
 
Neuroanatomy
NeuroanatomyNeuroanatomy
Neuroanatomy
 
Fuzzy motor
Fuzzy motorFuzzy motor
Fuzzy motor
 
Chaos and chaotic
Chaos and chaoticChaos and chaotic
Chaos and chaotic
 
Presentation
PresentationPresentation
Presentation
 
Ip mv workshop
Ip mv workshopIp mv workshop
Ip mv workshop
 
BCI
BCIBCI
BCI
 
مگس درمانی
مگس درمانیمگس درمانی
مگس درمانی
 
SSVEP-BCI
SSVEP-BCISSVEP-BCI
SSVEP-BCI
 

Fpga 2