Transcript فصل چهارم
به نام یگانه مهندس هستی
مدار منطقی
مهدی قدیری
[email protected]
[email protected]
logic circuit 4
1
فصل سوم
ساده سازی سطح گیت
2
logic circuit 4
ساده سازی سطح گیت
در جبر بول تشخیص قدم بعدی مشکل است لذا ساده سازی بولی با
سعی و خطا همراه است
یک روش جایگزین :جدول کارنو Karnaugh
جدول کارنو را می توان به عنوان معادل گرافیکی جدول درستی در نظر گرفت.
y
’y
1
0
y
x
x' y ' x' y
0
xy' xy
1
’x
m0 m1
x
m2 m3
Two-variable map
3
logic circuit 4
جدول کارنوی سه متغیره
4
جدول کارنو دارای 8 ، 4یا 16خانه ( nمتغیر 2nخانه) می باشد.
هر دو خانه مجاور تنها در یک متغیر تفاوت دارند.
لذا می توان با استفاده از قوانین جبر بول مجموع آنها را ساده کرد.
logic circuit 4
جدول کارنوی دو متغیره
y
y0
1
x
0 x' y ' x' y
x 1 xy' xy
y
x
0
x 1
y0
1
1
F1 xy
y
x
0
y0
x 1 1
1
1
1
F2 m1 m2 m3
logic circuit 4
x' y xy' xy
5
قواعد ساده سازی به کمک جدول کارنو
6
یک های مجاور را طوری دسته بندی می کنیم که بزرگترین دسته ممکن 2m
تایی را ایجاد نماید مثال 8 ، 4 ، 2 ، 1و ....
تعداد اعضای دسته حداکثر و تعداد دسته ها حداقل باشد.
اضالع چپ و راست با یکدیگر و اضالع باال و پایین با یکدیگر مجاور می باشند.
دسته بندی را زمانی ادامه می دهیم که کلیه یک ها حداقل در یک دسته
بندی قرار گرفته باشند.
اشتراک یک ها در چند دسته بالاشکال است.
در هر دسته متغیرهایی را که در همه اعضای دسته مشترک می باشند را نوشته
و بین آنها عالمت ضرب می گذاریم ( .اگر تنها یک متغیر باشد فقط همان متغیر
را می نویسیم).
بین جمالت هر دسته که در مرحله قبل بدست آمد عمل جمع قرار می دهیم.
logic circuit 4
جدول کارنوی دو متغیره
y
y0
y
1
x
0 x' y ' x' y
x 1 xy' xy
x
0
y0
x 1 1
1
1
1
F2 x y
logic circuit 4
7
جدول کارنوی سه متغیره
F (m2 , m3 , m4 , m5 ) x ' yz ' x ' yz xy ' z ' xy ' z
1 مثال
x ' y ( z z ') xy '( z z ') x ' y xy '
logic circuit 4
8
جدول کارنوی سه متغیره
F ( x, y, z ) (3,4,6,7)
m0
m4
m1
m5
m3
m7
2 مثال
m2
m6
yz
xz'
logic circuit 4
9
جدول کارنوی سه متغیره
F ( x, y, z ) (0,2,4,5,6)
m0 m1 m3 m2
3 مثال
m4 m5 m7 m6
logic circuit 4
10
جدول کارنوی سه متغیره
4 مثال
F ( A, B, C ) A' C A' B AB' C BC : فرض کنید
. را به صورت مجموع مینترمها بیان کنیدF
. سپس با استفاده از جدول کارنو نتیجه را ساده کنید
A' C ( B B' ) A' BC A' B ' C
A' B (C C ' ) A' BC A' BC '
AB' C
BC ( A A' ) ABC A' BC
F ( A, B, C ) A' B' C A' BC ' A' BC AB' C ABC
(1,2,3,5,7)
logic circuit 4
11
جدول کارنوی سه متغیره (ادامه مثال )4
)F ( A, B, C ) (1,2,3,5,7
12
m2
m3
m1
m0
m6
m7
m5
m4
logic circuit 4
جدول کارنوی سه متغیره :مشاهدات
یک مربع نشان دهنده یک مینترم است ← یک ترم سه متغیره
دو مربع همسایه ← یک ترم دو متغیره
چهار مربع همسایه ← یک ترم یک متغیره
هشت مربع همسایه ← تابع همیشه یک
البته در جدول کارنوی سه متغیره
13
logic circuit 4
جدول کارنوی چهار متغیره
14
logic circuit 4
جدول کارنوی چهار متغیره
F(w,x,y,z) = (0,1,2,4,5,6,8,9,12,13,14)
F y ' w' z ' xz'
5 مثال
1
logic circuit 4
15
جدول کارنوی چهار متغیره
Simplify F(A,B,C,D) = A' B' C' B'CD' A' BCD' AB'C'
6 مثال
F B' D'B' C' A' CD'
logic circuit 4
16
جدول کارنوی چهار متغیره
یک مربع نشان دهنده یک مینترم است ← یک ترم چهار متغیره
دو مربع همسایه ← یک ترم سه متغیره
چهار مربع همسایه ← یک ترم دو متغیره
هشت مربع همسایه ← یک ترم یک متغیره
شانزده مربع همسایه ← تابع همیشه یک
البته در جدول کارنوی چهار متغیره
17
logic circuit 4
SOP وPOS
: را به دو صورت زیر ساده کنیدF ( A, B, C , D) (0,1, 2,5,8,9,10)تابع
sum of products (b) product of sums(a)
:ازترکیب یکها داریم
F B ' D ' B ' C ' A ' C ' D
:ازترکیب صفرها داریم
F ' AB CD BD '
:سپس مکمل می گیریم
( F ') ' F
AB CD BD '
( A ' B ')(C ' D ')( B ' D)
logic circuit 4
18
POS وSOP پیاده سازی
SUM OF PRODUCT (SOP)
PRODUCT OF SUM (POS)
logic circuit 4
19
شرایط بی اهمیت ()don’t care
20
ممکن است برای بعضی از ترکیبات ورودی ها خروجی تابع مشخص نباشد .لذا
مقدار بعضی از مینترمها مشخص نیست.
مینترمهایی که مقدار آنها مشخص نیست را don’t careمی نامند .یعنی
اهمیتی ندارد که خروجی تابع در این مینترم برابر 0است یا .1
مقادیر مینترمهای بی اهمیت در جدول کارنا با xنشان داده می شوند.
بسته به شرایط مقدار مینترم را می توانیم 0یا 1فرض کنیم.
وجود شرایط بی اهمیت نشان دهنده مقدار درجه آزادی موجود در طراحی
مدار است و نقش مهمی در ساده سازی مدارات دیجیتال بازی می کنند.
logic circuit 4
مثال :تابع زیر را ساده کنید.
21
شرایط بی اهمیت
)F (w, x, y, z) (1,3,7,11,15) d (0,2,5
logic circuit 4
Example:
NAND
فقط
سازی
پیاده
F ( x, y, z ) (1,2,3,4,5,7)
F ( F ' )' (( xy' x' y z )' )'
F xy' x' y z
(( xy' )' ( x' y)' ( z ' ))'
INVERT-OR
NAND
NAND-OR gates
2-level NAND gates
logic circuit 4
22
NAND پیاده سازی فقط
logic circuit 4
23
AND-OR-INVERT پیاده سازی
logic circuit 4
24
OR-AND-INVERT پیاده سازی
logic circuit 4
25
XOR (EXCLUSIVE-OR) گیت
x y xy' x' y
( x' y ' ) x ( x' y ' ) y
xy' x' y
( xy)' ( x' y ' )
logic circuit 4
26
زبان توصیف سخت افزاری Verilog
Verilogیک زبان ) HDL (Hardware Description Languageاست که
سخت افزار را به صورت متنی توصیف می کند.
توابع بولی ،دیاگرامهای دیجیتالی و مدارات پیچیده سخت افزاری را می توان
توسط Verilogمدل کرد و شبیه سازی نمود.
کاربردها:
27
شبیه سازی دیجیتالی :شبیه سازی ساختمان و رفتار یک سیستم دیجیتالی.
یک شبیه ساز کد HDLرا ترجمه کرده و مقادیر خروجیها را بر اساس مقادیر ورودیها و
ساختار مدار یا سیستم دیجیتالی مشخص می کند.
لذا می توان قبل از ساخت مدار آنرا آزمایش کرد و خطا ها را رفع نمود.
سنتز دیجیتالی :به پروسه پیدا کردن لیست قطعات (ترانزیستورها یا گیتها) و نحوه
ارتباط آنها از روی توصیف HDLیک سیستم دیجیتالی سنتز گفته می شود.
logic circuit 4
یک مثال ساده
module smpl_circuit(A,B,C,x,y);
input A,B,C;
port list
output x,y;
wire e;
and g1(e,A,B);
not g2(y, C);
or g3(x,e,y);
endmodule
logic circuit 4
28
تاخیر
//HDL Example 3-2
//--------------------------------//Description of circuit with delay
module circuit_with_delay (A,B,C,x,y);
input A,B,C;
output x,y;
wire e;
and #(30) g1(e,A,B);
or #(20) g3(x,e,y);
not #(10) g2(y,C);
endmodule
logic circuit 4
29
Stimulus to a design: test bench
//HDL Example 3-3
//---------------------//Stimulus for simple circuit
module stimcrct;
reg A,B,C;
wire x,y;
circuit_with_delay cwd(A,B,C,x,y);
initial
begin
A = 1'b0; B = 1'b0; C = 1'b0;
#100
A = 1'b1; B = 1'b1; C = 1'b1;
#100 $finish;
end
endmodule
logic circuit 4
30
خروجی شبیه سازی
31
logic circuit 4
HDL جبر بولی در
x A BC B' D
y B' C BC ' D'
//HDL Example
//-----------------------------//Circuit specified with Boolean equations
module circuit_bln (x,y,A,B,C,D);
input A,B,C,D;
output x,y;
assign x = A | (B & C) | (~B & D);
assign y = (~B & C) | (B & ~C & ~D);
endmodule
logic circuit 4
32