Thứ Bảy, 8 tháng 7, 2017

[Asynchronous Design][Thiết kế bất đồng bộ][Bài 4] Giao thức dual-rail 2 pha trong thiết kế bất đồng bộ




Giao thức dual-rail 4 pha cũng tồn tại các nhược điểm như giao thức bundled-data 4 pha là xuất hiện nhiều sự kiện chuyển trạng thái, từ logic 0 sang logic 1 hoặc từ logic 1 sang logic 0, trên các tín hiệu làm cho thời gian truyền dữ liệu lâu và gây tiêu hao năng lượng lớn khi mạch hoạt động.

Giao thức dula-rail 2 pha sẽ khắc phục nhược điểm này khi sử dụng các sự kiện tín hiệu để xác định giá trị của một bit. Nguyên tắc cơ bản:
  • Bit mang giá trị logic 1 hoặc TRUE nếu xuất hiện sự kiện tín hiệu chuyển trạng thái, từ 0 sang 1 hoặc từ 1 sang 0, trên dây d.t
  • Bit mang giá trị logic 0 hoặc TRUE nếu xuất hiện sự kiện tín hiệu chuyển trạng thái, từ 0 sang 1 hoặc từ 1 sang 0, trên dây d.f
  • Một từ mã được xác định đã nhận bởi Receiver thông qua sự kiện tín hiệu của ack
Trong một kênh N bit, một từ mã được xác định khi xuất hiện sự kiện tín hiệu trên d.t hoặc d.f ở tất cả các bit, nghĩa là phải có N sự kiện tín hiệu xuất hiện thì một từ mã mới được xác định và Receiver mới đáp ứng bằng 1 cạnh ack.

Ví dụ về hoạt động của một kênh giao thức dual-rail 2 pha có 2 bit dữ liệu như hình 1. Một từ mã được xác định khi xuất hiện sự kiện tín hiệu ở cả trên bit 0 và bit 1.
  1. Sender gửi các bit thông tin nhưng thông tin chỉ được chấp nhân ở Recceiver khi tất cả bit 0 và bit 1 xuất hiện cạnh chuyển
  2. Receiver chuyển trạng thái ack để báo đã nhận thông tin và Sender có thể gửi thông tin mới

Hình 1. Minh họa một kênh giao thức dual-rail có 2 bit dữ liệu
So với giao thức dual-rail 4 pha thì giao thức dual-rail 2 pha giảm tối thiểu một nửa thời gian truyền dữ liệu và một nửa số lượng chuyển trạng thái trên các tín hiệu khi xét trong cùng điều kiện hoạt động như cùng số bit dữ liệu cần truyền và cùng độ trễ trên các đường dây.

Nhận xét, bốn giao thức phổ biến nhất đã giới thiệu trong bài này và các bài viết:

Việc mã hóa 1 bit bằng 2 dây như trong giao thức dual-rail giống như mã hóa one-hot của 1 bit, còn được gọi là giao thức 1-of-2. Mở rộng hơn, giao thức có thể là 1-of-N với ý nghĩa N dây (tín hiệu) mã hóa số lượng bit là log2(N). Ví dụ, giao thức 1-of-4 dùng 4 dây để mã hóa 2 bit theo kiểu one-hot như bảng sau:

Hình 2. Giá trị tín hiệu và trạng thái của giao thức 1-of-4 theo one-hot

Tổ hợp các tùy chọn, chúng ta có thể có nhiều giải pháp khác nhau để lựa chọn giao thức phù hợp như sau:

(2 pha, 4 pha)x(bundled-data, dual-rail, 1-of-n, ...)x(push, pull)

Giao thức sử dụng mã hóa 1-of-n là một phần của mã hóa m-of-n có thể được sử dụng với m là số tín hiệu phải tích cực trong n tín hiệu (dây) khi truyền một thông tin. Ví dụ về mã hóa 2-of-7, tích cực 2 tín hiệu trong 7 tín hiệu cho một lần truyền giá trị dữ liệu 4 bit.

Hình 3. Mã hóa 2-of-7
Trong mã hóa 2-of-7, hai đường dây tích cực sẽ tương đương với 1 giá trị 4 bit.

Note: Tôi dịch chủ yếu từ tài liệu "Asynchronous Circuit Design A Tutorial" của tác giả Jens Sparsø nhưng có thể thêm các nhận xét hoặc minh họa theo cách hiểu của riêng mình. Mong các bạn chia sẻ và góp ý và thảo luận dưới bài viết.


0 bình luận:

Đăng nhận xét