Kiểu mã hoá: từ nhị phân sang Onehot 109

Một phần của tài liệu Thiết kế vi mạch bảng VHDL (Trang 110 - 112)

Để mã hoá trạng thái của máy trạng thái, chúng ta có thể chọn một trong vài kiểu có sẵn. Kiểu mã hoá mặc định là nhị phân. Ưu điểm của kiểu mã hoá này là nó yêu cầu số lượng flip-flop ít nhất. Trong trường hợp này, với n mạch flip-flop thì có thể chúng ta có thể mã hoá được 2n trạng thái. Nhược điểm của kiểu mã hoá này là nó yêu cầu về logic nhiều hơn và nó chậm hơn so với những kiểu khác.

Cái cuối cùng là kiểu mã hoá onehot, với kiểu mã hoá này, chúng ta cần sử dụng 1 flip-flop cho 1 trạng thái. Vì vậy, nó đòi hỏi số lượng flip-flop lớn nhất. Trong trường hợp này, với n flip-flop (n bit) chỉ có thể mã hoá được n trạng thái. Nhưng bù lại, phương pháp này lại yêu cầu tính toán logic it nhất, và tốc độ nhanh nhất

Một kiểu nằm giữa 2 kiểu trên là kiểu mã hoá twohot (trong một trạng thái chỉ có 2 bit 1). Vì vậy với n flip-flop (n bit), thì chúng ta có thể mã hoá được n(n-1)/2 trạng thái.

Kiểu mã hoá onehot được giới thiệu trong các ứng dụng mà số lượng các flip-flop nhiều như trong các chip FPGA. Nhưng trong các mạch ASIC thì mã nhị phân lại được ưu tiên hơn.

Ví dụ: Giả sử chúng ta có một máy trạng thái có 8 trang thái như trong bảng dưới đây:

Với 8 trạng thái của máy này thì số lượng flip-flop được yêu cầu ứng với các kiểu mã hoá sẽ bằng:

+ 3 (=log28), ứng với kiểu mã hoá nhị phân.

+ 5 ( n(n-1)/2= 8 => n = 5 ), ứng với kiểu mã hoá twohot + 8, ứng với kiểu mã hoá onehot.

Chương 9: Thiết kế thêm các mạch

Phần này chúng ta sẽ trình bày các mạch sau: + Barrel shifter

+ Bộ so sánh không dấu và có dấu. + Bộ cộng

+ Bộ chia dấu chấm tĩnh. + Bộ điều khiển máy bán hàng. + Bộ nhận dữ liệu nối tiếp.

+ Bộ chuyển đổi song song sang nối tiếp.

+ SSD

+ Bộ phát tín hiệu + Bộ nhớ

Một phần của tài liệu Thiết kế vi mạch bảng VHDL (Trang 110 - 112)