Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

TNKTS – BÀI 3 – THIẾT KẾ HỆ TỔ HỢP

BÀI THÍ NGHIỆM 3


THIẾT KẾ HỆ TỔ HỢP

MỤC TIÊU
 Nắm được cách sử dụng kit thí nghiệm, phần mềm lập trình.
 Nắm được cách khảo sát và thiết kế hệ tổ hợp.
 Nắm được quy trình mô tả phần cứng trênFPGA.

CHUẨN BỊ
 Đọc phần phụ lục Thí nghiệm 2 và Bài thí nghiệm 0 của tài liệu hướng dẫn phần Thí nghiệm
trên kit DE2.

PHẦN LÀM TRÊN DIGIB

THÍ NGHIỆM 1

Mục tiêu: Nắm được cách sử dụng các IC chức năng cơ bản để thực hiện thiết kế hệ tổ hợp.

Yêu cầu: Sinh viên thiết kế mạch trừ hai số nhị phân 4 bit sử dụng IC 74LS283. Sau đó, tiến hành
lắp mạch và kiểm chứng lại thực tế hoạt động của mạch.

Kiểm tra:

 Sinh viên vẽ kết quả thiết kế vào Hình 1.

Department of Electronics Page | 1


Digital System Design Laboratory
TNKTS – BÀI 3 – THIẾT KẾ HỆ TỔ HỢP

Hình 1: Mạch thực hiện trừ 2 số 4 bit sử dụng IC 74LS283

 Sinh viên cho biết mạch hoạt động có đúng không?


Trả lời: mạch hoạt động đúng.

 Cờ nhớ ở ngõ ra C4 = 1 khi nào?

Trả lời: Cờ nhớ ở ngõ ra C4=1 khi kết quả là số dương.

Department of Electronics Page | 2


Digital System Design Laboratory
TNKTS – BÀI 3 – THIẾT KẾ HỆ TỔ HỢP

THÍ NGHIỆM 2

Mục tiêu: Nắm được cách sử dụng các IC chức năng cơ bản để thực hiện thiết kế hệ tổ hợp.

Yêu cầu: Sinh viên thiết kế mạch có các ngõ vào S (1bit), A (4bit) và B (4bit) thực hiện chức năng:

- Khi S = 0, mạch thực hiện A + B

- Khi S = 1, mạch thực hiện A – B

Với yêu cầu sử dụng IC 74LS283. Sau khi thiết kế, sinh viên tiến hành lắp mạch và kiểm chứng
lại thực tế hoạt động của mạch.

Kiểm tra:

 Sinh viên vẽ kết quả thiết kế vào Hình 2.

Hình 2: Mạch thực hiện yêu cầu thí nghiệm 2

Department of Electronics Page | 3


Digital System Design Laboratory
TNKTS – BÀI 3 – THIẾT KẾ HỆ TỔ HỢP

THÍ NGHIỆM 3

Mục tiêu: Nắm được cách sử dụng các IC chức năng cơ bản để thực hiện thiết kế hệ tổ hợp.

Yêu cầu: Sinh viên thiết kế mạch thực hiện tính giá trị tuyệt đối của số nhị phân có dấu 4 bit, kết
quả hiển thị lên LED 7 đoạn.

Kiểm tra:

 Sinh viên trình bày nguyên lý của mạch tính giá trị tuyệt đối được thiết kế
-Để thục hiện tính giá trị tuyệt đối của số nhị phân có dấu 4 bit ta làm như sau:
+Sử dụng IC74LS238 để các giá trị ngõ vào A0A1A2A3=0000 và giá trị ngõ vào B0B1B2B3
tùy trường hợp, với B3 là bit dấu, S là phép toán: Khi S=0 thực hiện phép cộng với điều kiện
B3=0, còn B0B1B2 tùy ý; khi S=1 thì thực hiện phép trừ, khi đó B3 sẽ là bit dấu và giữ giá trị
là 1, còn các giá trị B0B1B2 sẽ chuyển về bù 2 và thực hiện phép cộng với các giá trị A tương
ứng từ đó ra được giá trị cần tính. Kết quả sẽ nằm trong khoảng (0-8).
 Sinh viên liệt kê tên IC sử dụng trong thiết kế:
Trả lời: -Sử dụng IC74283 và IC7447
 Sinh viên vẽ kết quả thiết kế vào Hình 3.

Hình 3: Mạch thực hiện yêu cầu thí nghiệm 2

Department of Electronics Page | 4


Digital System Design Laboratory
TNKTS – BÀI 3 – THIẾT KẾ HỆ TỔ HỢP

PHẦN LÀM TRÊN KIT DE2

THÍ NGHIỆM 4

Mục tiêu: Nắm được cách mô tả hoạt động hàm boolean dùng các IC chức năng cơ bản sử dụng
FPGA trên kit DE2.
Yêu cầu: Sinh viên thiết kế mạch thực hiện hàm boolean ƒ(x, y, z) = ∑(0,3,4,7) sử dụng IC
74LS138. Sau đó, sinh viên tiến hành mô tả mạch bằng VHDL và đổ chương trình xuống kit DE2
để kiểm tra hoạt động.
Gán chân theo quy ước sau:
Chân x được nối với SW0 Ngõ ra được nối với LED0
Chân y được nối với SW1
Chân z được nối với SW2
Thiết kế:
 Sơ đồ khối

 sơ đồ mức cổng của thiết kế.

Department of Electronics Page | 5


Digital System Design Laboratory
TNKTS – BÀI 3 – THIẾT KẾ HỆ TỔ HỢP

 Chương trình mô tả hoạt động của thiết kế.


LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY IC74138 IS
PORT ( z , y , x : IN STD_LOGIC;
g1,g2a,g2b: IN STD_LOGIC;
f : buffer STD_LOGIC_VECTOR(7 downto 0);
g : out std_logic);
END IC74138;

ARCHITECTURE flow OF IC74138 IS


SIGNAL
data: STD_LOGIC_VECTOR(2 downto 0);
signal
temp: STD_LOGIC_VECTOR(7 downto 0);
BEGIN
data <= z & y & x ;
WITH data SELECT temp <= "11111110" WHEN "000" ,
"11111101" WHEN "001" ,
"11111011" WHEN "010" ,
"11110111" WHEN "011" ,
"11101111" WHEN "100" ,
"11011111" WHEN "101" ,
"10111111" WHEN "110" ,
"01111111" WHEN "111" ,
"11111111" WHEN OTHERS;
f <= temp WHEN (g1 AND NOT g2a AND NOT g2b) = '1'
ELSE "11111111";
g<=not(f(0) and f(3) and f(4) and f(7));
END flow;

Department of Electronics Page | 6


Digital System Design Laboratory
TNKTS – BÀI 3 – THIẾT KẾ HỆ TỔ HỢP

 Kết quả mô phỏng dạng sóng.

Department of Electronics Page | 7


Digital System Design Laboratory
TNKTS – BÀI 3 – THIẾT KẾ HỆ TỔ HỢP

 Kết quả RTL viewer.

Department of Electronics Page | 8


Digital System Design Laboratory
TNKTS – BÀI 3 – THIẾT KẾ HỆ TỔ HỢP

THÍ NGHIỆM 5

Mục tiêu: Nắm được cách mô tả hoạt động hàm boolean dùng các IC chức năng cơ bản sử dụng
FPGA trên kit DE2

Yêu cầu: Sinh viên mô tả lại mạch ở thí nghiệm 1 bằng VHDL và đổ chương trình xuống kit DE2
để kiểm tra hoạt động.
Gán chân theo quy ước sau:
Ngõ vào A3-A0 được nối với SW3 đến SW0
Ngõ vào B3-B0 được nối với SW7 đến SW4
Ngõ ra D3-D0 được nối với LED3 đến LED0
Thiết kế:
 Sơ đồ khối của thiết kế.

Department of Electronics Page | 9


Digital System Design Laboratory
TNKTS – BÀI 3 – THIẾT KẾ HỆ TỔ HỢP

 Chương trình mô tả hoạt động của thiết kế.


Hàm con:
library ieee;
use ieee.std_logic_1164.all;
entity fa is
port (a, b, cin : in std_logic;
d, cout :out std_logic);
end entity;
architecture tn1 of fa is
begin
d<= a xor b xor cin;
cout <= ( a and (not b))or((not(a xor b )) and Cin );
end architecture;
Cách 1:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_signed.all;

entity tn5 is
port (A, B: in std_logic_vector(3 downto 0);
Cin: in std_logic;
D : out std_logic_vector(3 downto 0);
Cout: out std_logic);
end entity;
architecture tn1 of tn5 is
signal tmp: std_logic_vector(4 downto 0);
begin
tmp <= ('0' & A)+(not B)+Cin ;
D<= tmp(3 downto 0);
Cout<= tmp(4) ;
end architecture;

Cách 2:
library ieee;
use ieee.std_logic_1164.all;

Department of Electronics Page |


10
Digital System Design Laboratory
TNKTS – BÀI 3 – THIẾT KẾ HỆ TỔ HỢP

use ieee.std_logic_signed.all;
entity tn5 is
port (A, B: in std_logic_vector(3 downto 0);
Cin: in std_logic;
D : out std_logic_vector(3 downto 0);
Cout: out std_logic);
end entity;
architecture tn1 of tn5 is
signal tmp: std_logic_vector(2 downto 0);
component fa
port (a, b, cin : in std_logic;
d, cout :out std_logic);
end component;
begin
ss0: fa port map(A(0), B(0),Cin,D(0),tmp(0));
ss1: fa port map(A(1), B(1),tmp(0),D(1),tmp(1));
ss2: fa port map(A(2), B(2),tmp(1),D(2),tmp(2));
ss3: fa port map(A(3), B(3),tmp(2),D(3),Cout);
end architecture;

 Kết quả mô phỏng dạng sóng.

Department of Electronics Page |


11
Digital System Design Laboratory
TNKTS – BÀI 3 – THIẾT KẾ HỆ TỔ HỢP

 Kết quả RTL viewer.


 Cách 1

 Cách 2:

Department of Electronics Page |


12
Digital System Design Laboratory

You might also like