7. Sơ đồ mạch thực hiện
Mạch không đồng bộ hoạt động không có sự tác động của xung nhịp cho nên trong mạch thờng có các hiện tợng hoặc chu kỳ hoặc là chạy đua làm cho hoạt động của mạch sai đi, vì vậy khi mã hoá trạng thái phải tránh hiện tợng này.
Bớc 6: Xác định hệ phơng trình của mạch
Có hai cách để xác định hệ phơng trình của mạch: Dựa vào bảng trạng thái, tín hiệu ra và dựa trực tiếp vào đồ hình. Cả hai cách đều có hai loại phơng trình:
- Phơng trình của mạch chỉ dùng NAND
- Phơng trình của mạch dùng RS – FF không đồng bộ và các mạch NAND. Nội dung của từng phơng pháp:
Cách 1: Dựa vào bảng trạng thái và tín hiệu ra
a. Chỉ dùng các mạch NAND
Kí hiệu: A, B, …, N là các biến nhị phân dùng để mã hoá các trạng thái trong của mạch. X1, X2,…,Xm là các tín hiệu vào đã đợc mã hoá nhị phân
Z1, Z2, …, Zn là các tín hiệu ra đã đợc mã hoá nhị phân.
Dựa vào bảng trạng thái, bảng ra xác định đợc hệ phơng trình: An+1 = fA(An, Bn,…, Nn, X1, X2, …, Xm) Bn+1 = fB(An, Bn,…, Nn, X1, X2, …, Xm) ………. Nn+1 = fN(An, Bn,…, Nn, X1, X2, …, Xm) Z1 = g1(An, Bn,…, Nn, X1, X2, …, Xm) Z2 = g2(An, Bn,…, Nn, X1, X2, …, Xm) ………. Zn = gn(An, Bn,…, Nn, X1, X2, …, Xm)
Tối thiểu hoá hệ hàm này và viết phơng trình ở dạng chỉ dùng NAND b. Mạch dùng RS – FF và các mạch NAND
Trong bảng trạng thái, căn cứ vào sự thay đổi trạng thái của từng FF:
An sang An+1, Bn sang Bn+1, …, Nn sang Nn+1, xác định đợc giá trị tơng ứng của đầu vào kích R, S cho từng FF, từ đó viết đợc hệ phơng trình:
SA = x2(An, Bn,…, Nn, X1, X2, …, Xm)
Tối thiểu hoá các hàm và viết phơng trình ở dạng dùng NAND. Tơng tự với B, C,…, N.
Ta xác định đợc tín hiệu ra: Z = x(An, Bn,…, Nn, X1, X2, …, Xm) Tối thiểu hoá và viết phơng trình ở dạng chỉ dùng NAND.
Cách 2: Dựa trực tiếp vào đồ hình
Ta xác định phơng trình đầu vào kích R, S của A-FF nh sau:
Tập bật của A (TonA) = SA.QA ⇒SA
Tập tắt của A (ToffA) = RA.QA ⇒RA
Trong đó: Tập bật của A là tập hợp A chuyển từ 0 sang 1, tập tắt của A là tập hợp A chuyển từ 1 sang 0. Từ bảng chân lý của RS – FF ta suy ra đợc phơng trình logic của TonA và ToffA nh trên.
Điều này cũng hoàn toàn tơng tự đối với B –FF, C – FF,…
a. Nếu chỉ dùng mạch NAND
Ta có phơng trình của RS – FF nh sau: Qn+1 =S+RQn
Sau đó ta tối thiểu hoá phơng trình và viết dới dạng chỉ dùng NAND. b. Nếu dùng RS – FF không đồng bộ và các mạch NAND
Ta cần xác định SA, RA theo các biến đầu vào và các biến nhị phân dùng để mã hoá: RA = x1A(An, Bn,…, Nn, X1, X2, …, Xm) SA = x2A(An, Bn,…, Nn, X1, X2, …, Xm) ……… RN = x1N(An, Bn,…, Nn, X1, X2, …, Xm) SN = x2N(An, Bn,…, Nn, X1, X2, …, Xm) Z1 = y1(An, Bn,…, Nn, X1, X2, …, Xm) Z2 = y2(An, Bn,…, Nn, X1, X2, …, Xm) ………. ZN = yN(An, Bn,…, Nn, X1, X2, …, Xm)
Tối thiểu hoá hệ phơng trình: viết các phơng trình ở dạng dùng mạch NAND.
5.5.2. Hiện tợng chu kỳ và chạy đua
Đối với mạch dãy không đồng bộ trong mạch thờng xảy ra các hiện tợng hoặc là chu kỳ hoặc là chạy đua. Những hiện tợng này làm cho mạch hoạt động sai lệch đi so với chức
năng của nó. Vì vậy khi mã hoá trạng thái các mạch dãy không đồng bộ, điều kiện đầu tiên là cần tránh các hiện tợng đó.