Bộ so sánh:

Một phần của tài liệu Bài giảng VHDL (Trang 66 - 68)

Thông thường để so sánh hai giá trị với nhau thì ta dùng các thuật ngữ bằng, lớn hơn và nhỏ hơn để nói lên kết quả của phép so sánh này. Một bộ so sánh là một mạch thực hiện nhiêm vụ so sánh hai số nhị phân gồm có nhiều bit. Để so sánh một giá trị là bằng hay không bằng một giá trị hằng số, thì một cổng AND cơ bản cần phải được sử dụng. Ví dụ để so sánh một biến x gồm 4 bit với hằng số cho trước là 3, mạch điện thực hiện phép so sánh này sẽ được biểu diễn trong hình 2.27(a). Ngõ ra của cổng AND là 1 khi ngõ vào của nó bằng với giá trị 3.

Các cổng XOR và XNOR có thể được sử dụng cho việc so sánh sự không bằng nhau hay sự bằng nhau giữa hai giá trị một cách thích hợp. Ngõ ra cổng XOR là 1 khi cả hai giá trị ngõ vào là khác nhau. Vì thế ta có thể sử dụng cổng XOR để so sánh từng cặp bit một của chuỗi bit nhị phân. Một bộ so sánh 4 bit không ngang bằng nhau được biểu diễn trong hình

2.27(b). trong hình 2.27(b), 4 cổng XOR được sử dụng, mỗi cổng XOR sẽ so sánh một cặp bit trong chuỗi bit nhị phân gồm 4 bit. Ngõ ra của các cổng XOR được nối đến cổng OR có 4 ngõ vào, vì thế nếu một trong các cặp bit tương ứng của hai số nhị phân mà khác nhau, thì kết quả ngõ ra F sẽ bằng 1. Tương tự như vậy, một bộ so sánh bằng nhau có thể được xây dựng bằng cách sử dụng cổng XNOR. Ngõ ra cổng XNOR bằng 1 khi cả hai ngõ vào của nó có cùng giá trị.

Để so sánh lớn hơn và nhỏ hơn, chúng ta có thể xây dựng một bảng chân trị và xây dựng sơ đồ mạch từ phương pháp thông thường. Ví dụ so sánh một số X gồm 4 bit nhỏ hơn 5, bảng chân trị, biểu thức và sơ đồ mạch được biểu diễn trong hình 2.27(c).

Hình 2. 27 : Bộ so sánh 4 bit đơn giản cho (a) X=3; (b) X Y; (c) X<5.

Để xây dựng một bộ so sánh hai số có nhiều bit, ta thường sử dụng cấu trúc của một mạch lặp, tức là sẽ xây dựng một mạch so sánh từng cặp bit tương ứng của hai số sau đó ta kết nối các mạch so sánh từng cặp bit này lại với nhau để tạo thành mạch so sánh nhiều bit. Một bộ so sánh một cặp bit gồm có hai ngõ vào bit cần so sánh xiyivà một ngõ ra

i

Chương 2 : Dùng ngôn ngữ VHDL mô tả các mạch số cơ bản

lại pi=0 nếu hai bit so sánh không bằng nhau. Ban đầu bit p0 được bật lên 1, việc so sánh cứ thực hiện từ bộ so sánh từng cặp đầu tiên đến bộ so sánh từng cặp bit cuối cùng. Kết quả cuối cùng, nếu p4 p3 p2 p1 p0 1 thì hai số được so sánh là bằng nhau, các trường hợp còn lại hai số đem so sánh là không bằng nhau.

Hình 2. 28 : Bộ so sánh lặp (a) So sánh từng cặp bit xi và yi; (b) 4-bit X=Y.

Một phần của tài liệu Bài giảng VHDL (Trang 66 - 68)

Tải bản đầy đủ (PDF)

(137 trang)