1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thực hiện bộ so sánh 3 bit

4 1,2K 14

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 748,45 KB

Nội dung

Comperator trong Verilog

Trang 1

BÀI 4: THIẾT KẾ BỘ SO SÁNH 3 BIT

1 Mục tiêu của bài thí nghiệm

Bài này thực hiện bộ so sánh hai số, các số được biểu diễn bởi 3 bit Mạch điện được thực hiện thông qua lập trình VHDL chạy trong Quartus II và trên bo mạch DE1 Hai số được đưa vào so sánh thông qua các chuyển mạch, kết quả được hiển thị trên các đèn LED

2 Các kiến thức cần trang bị trước khi thực hiện bài thí nghiệm này

Bảng biểu diễn chức năng yêu cầu bằng bảng chân lý, hiểu cấu trúc và cách viết một chương trình VHDL ở mức cơ bản

3 Các kiến thức và kỹ năng sẽ có được sau khi hoàn thành thí nghiệm

- Sinh viên hiểu cách thực hiện bộ so sánh 2 số được biểu diễn dưới dạng nhị phân 3 bit,

- Cách thực hiện thiết kế từ những yêu cầu đặt ra,

- Kỹ năng sử dụng công cụ hỗ trợ thiết kế mạch Quartus II, phân tích, tổng hợp, và đánh giá kết quả

4 Nội dung bài thí nghiệm

Nhìn chung, việc so sánh số nhiều bit có thể được thực hiện bằng cách so sánh trọng số của các bit từ cao xuống thấp để nhận ra đâu là số lớn hơn Việc so sánh này cần phải được thực hiện từ các bít có trọng lượng cao xuống các bit có trọng lượng thấp hơn

Như vậy, bộ so sánh hai số n bit bất kỳ có thể được hình thành từ các bộ so sánh với số

bit nhỏ hơn Bộ so sánh nhỏ nhất là bộ so sánh 1 bit (2 đầu vào mỗi đầu vào 1 bit và 3 đầu vào lấy kết quả từ các bộ so sánh trước đó) Ví dụ: bộ so sánh 3 bit có thể được hình thành từ 3 bộ so sánh 1 bit hoặc từ 1 bộ so sánh 2 bit kết hợp với 1 bộ so sánh 1 bít Hoặc cũng có thể xây dựng bộ so sánh 3 bit trực tiếp Khi xây dựng các bộ so sánh hai đầu vào, đầu vào biểu diễn số từ 2 trở lên, ta có thể dùng phép kiểm tra điều kiện và tạo ra mức logic ở đầu ra thích hợp trong VHDL

Dưới đây là các bước thực hiện bộ so sánh 3 bit với 3 đầu ra biểu lớn hơn (LO), bằng (BO) và nhỏ hơn (NO) Bộ so sánh này được hình thành từ 3 bộ so sánh 1 bit ghép với

nhau Hình 1 dưới đây cho thấy sơ đồ bộ so sánh 3 bit, bộ so sánh 1 bit, bảng chân lý của các bộ so sánh 3 bit và 1 bit Trong đó, các đầu ra của bộ so sánh 1 bit được tối ưu thông

qua bìa Karnaugh

Chương trình viết bằng VHDL như được đưa ra dưới đây:

library ieee;

use ieee.std_logic_1164.all;

ENTITY sosanh_1bit IS B?

so sánh 1 bit

PORT (

x: IN std_logic;

y: IN std_logic;

LI: IN std_logic;

BI: IN std_logic;

library ieee;

use ieee.std_logic_1164.all;

ENTITY sosanh_3bit IS PORT (

AA : IN std_logic_vector(2 downto 0);

BB : IN std_logic_vector(2 downto

signal L_1, L_2, B_1, B_2, N_1, N_2 : std_logic;

BEGIN u2 : sosanh_1bit PORT MAP (

x => AA(2),

y => BB(2),

LI => '0',

BI => '1',

Trang 2

NI: IN std_logic;

LO: OUT std_logic;

BO: OUT std_logic;

NO: OUT std_logic);

END sosanh_1bit;

ARCHITECTURE

LogicFunc of sosanh_1bit IS

BEGIN hoạt động của bộ

so sánh 1bit

LO<=LI OR (BI AND x

AND NOT y);

BO<=(BI AND (NOT x

AND NOT y)) OR (BI AND

x AND y);

NO<=(NOT LI AND NOT

BI) OR (NOT LI AND NOT

x AND y);

END LogicFunc;

0);

L : OUT std_logic;

B : OUT std_logic;

N : OUT std_logic);

END sosanh_3bit;

ARCHITECTURE STRUCT of sosanh_3bit IS COMPONENT sosanh_1bit PORT (

x: IN std_logic;

y: IN std_logic;

LI: IN std_logic;

BI: IN std_logic;

NI: IN std_logic;

LO: OUT std_logic;

BO: OUT std_logic;

NO: OUT std_logic);

END COMPONENT;

NI => '0',

LO => L_2,

BO => B_2,

NO => N_2);

u1 : sosanh_1bit PORT MAP (

x => AA(1),

y => BB(1),

LI => L_2,

BI => B_2,

NI => N_2,

LO => L_1,

BO => B_1,

NO => N_1);

u0 : sosanh_1bit PORT MAP (

x => AA(0),

y => BB(0),

LI => L_1,

BI => B_1,

NI => N_1,

LO => L,

BO => B,

NO => N);

END STRUCT;

a) Bộ so sánh 3 bit

Trang 3

từ các bộ 1 bit

c) Bảng chân lý của bộ so sánh

3 bit

d) Bộ so sánh 3 bit

f) Hàm logic các đầu ra của

bộ so sánh 1 bit

Các bước thực hiện thiết kế này trên Quartus II như sau:

Bước 1: Tạo project mới trong Quartus II

Bước 2: Đưa thiết kế vào dùng VHDL với mã như được đưa ở trên

Bước 3: Dịch chương trình

Bước 4: Gán các chân cho DE1 với các đầu vào lấy từ các chuyển mạch SW5-SW3 dành cho đầu vào A và các chuyển mạch SW2-SW0 dành cho đầu vào B Kết quả hiển thị được đưa ra các đèn LED với màu xanh LEDG0 thể hiện số AA lớn hơn số BB và hai LED đỏ LEDR0, LEDR1 tương ứng thể hiện số AA bằng và nhỏ hơn BB

Bước 5: Ghi chương trình lên DE1

Bước 6: Kiểm tra hoạt động của mạch bằng cách bật tắt các công tắc và quan sát kết quả trên các đèn LED

5 Các gợi ý mở rộng

- Xây dựng bộ so sánh hai số 8 bit,

- Viết chương trình VHDL dùng các cấu trúc IF-THEN để thực hiện

- Dùng bộ so sánh cùng với các bộ cộng để thực hiện các bộ cộng trừ cộng/trừ hai số được biểu diễn theo kiểu bù 1 và bù 2

6 Tài liệu tham khảo:

7 Các câu hỏi đánh giá hiểu biết

- Có bao nhiêu phương án thực hiện bộ so sánh 8 bit ? khó khăn của các phương án đó khi thực hiện ra sao ?

Trang 4

- Đường đi dài nhất của các liên kết trong bộ so sánh 3 bit này bằng bao nhiêu ? tốc độ tối đa cho phép đối với bộ so sánh này bằng bao nhiêu ?

- Số phần tử logic được dùng cho thiết kế này là bao nhiêu ?

Ngày đăng: 01/04/2014, 17:46

HÌNH ẢNH LIÊN QUAN

Bảng biểu diễn chức năng yêu cầu bằng bảng chân lý, hiểu cấu trúc và cách viết một  chương trình VHDL ở mức cơ bản - Thực hiện bộ so sánh 3 bit
Bảng bi ểu diễn chức năng yêu cầu bằng bảng chân lý, hiểu cấu trúc và cách viết một chương trình VHDL ở mức cơ bản (Trang 1)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w