You are on page 1of 14

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ên FPGA.

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 Co = 1 khi nào?

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

Department of Electronics Page | 2


Digital System Design
Laboratory
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


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ế

 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


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ế.


 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 ( c, b, a : IN STD_LOGIC;
g1,g2a,g2b: IN STD_LOGIC;
y : 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 <= c & b & a;
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;
y <= temp WHEN (g1 AND NOT g2a AND NOT g2b) = '1'
ELSE "11111111";
g<=not(y(0) and y(3) and y(4) and y(7));
END flow;
 Kết quả mô phỏng dạng sóng.

Kết quả RTL viewer.


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ế.
 Chương trình mô tả hoạt động của thiết kế.
library ieee;
use ieee.std_logic_1164.all;

entity tru is
port(
a: in std_logic_vector(3 downto 0);
b: in std_logic_vector(3 downto 0);
s : out std_logic_vector(3 downto 0);
Cout: out std_logic;
Cin: in std_logic);
end tru;

architecture bhv of tru is


signal c: std_logic_vector (2 downto 0);
begin
s(0)<=(a(0) xor (not b(0)) xor Cin);
c(0)<=(a(0) and not b(0)) or (a(0) and Cin) or (not b(0) and Cin );

s(1)<=(a(1) xor (not b(1)) xor c(0));


c(1)<=(a(1) and not b(1)) or (a(1) and c(0)) or (not b(1) and c(0));

s(2)<=(a(2) xor (not b(2)) xor c(1));


c(2)<=(a(2) and not b(2)) or (a(2) and c(1)) or (not b(2) and c(1));

s(3)<=(a(3) xor (not b(3)) xor c(2));


Cout<=(a(3) and not b(3)) or (a(1) and c(2)) or (not b(3) and c(2));
end bhv;
 Kết quả mô phỏng dạng sóng.

Kết quả RTL viewer.

You might also like