Chậm trễ trong việc triển khai và môi trường ngây thơ (dựa trên chốt Earle)
Sơ đồ thời gian của phần tử C và cổng OR bao gồm
Thực hiện cổng đa số của phần tử C và cổng OR bao gồm (a); Các hiện thực được đề xuất bởi Maevsky (b), Tsirlin (c) và Murphy (d)
Triển khai tĩnh của phần tử C hai và ba đầu vào [1][2][3]
Triển khai bán tĩnh của phần tử C hai và nhiều đầu vào [19659006]. Để có phiên bản nhanh hơn, hãy xem [7]
Tế bào David (a) và các triển khai nhanh của nó: cấp độ cổng (b) và cấp độ bóng bán dẫn (c) [8]
Muller Yếu tố C ( C -gate độ trễ flip-flop hoặc đôi khi trùng khớp lật mạch an toàn hai tay ) là một khối kỹ thuật số nhỏ được sử dụng rộng rãi trong thiết kế các mạch và hệ thống không đồng bộ. Nó đã được chỉ định chính thức vào năm 1955 bởi David E. Muller [9] và lần đầu tiên được sử dụng trong máy tính IllIAC II. [10] Về mặt lý thuyết mạng, phần tử C là một mạch phân phối bán chính thức, được mô tả hoạt động đúng lúc theo sơ đồ Hasse. [11][12][13] Phần tử C có liên quan chặt chẽ với điểm hẹn [14] và tham gia [15] trong đó đầu vào không được phép thay đổi hai lần liên tiếp. Trong một số trường hợp, khi biết được mối quan hệ giữa các độ trễ, phần tử C có thể được nhận ra dưới dạng mạch tổng sản phẩm (SOP) [16][17]. Các kỹ thuật trước đây để thực hiện phần tử C [18][19] bao gồm kích hoạt Schmidt, [20] Flip-flop Ec-Jordan và flip-flop điểm di chuyển cuối cùng.
Bảng giả định và các giả định trì hoãn [ chỉnh sửa ]
Đối với hai tín hiệu đầu vào, phần tử C được xác định bởi phương trình
tương ứng với bảng chân lý sau:
Bảng này có thể được biến thành một mạch bằng bản đồ Karnaugh. Tuy nhiên, việc thực hiện thu được là ngây thơ, vì không có gì được nói về các giả định trì hoãn. Để hiểu trong những điều kiện nào mạch thu được là khả thi, cần phải phân tích bổ sung, điều này cho thấy rằng
- delay1 là độ trễ lan truyền từ nút 1 qua môi trường đến nút 3,
- delay2 là độ trễ lan truyền từ nút 1 thông qua phản hồi nội bộ đến nút 3,
- delay1 phải lớn hơn delay2.
Vì vậy, việc triển khai ngây thơ là chính xác chỉ đối với môi trường chậm. [21]
Lưu ý rằng định nghĩa của phần tử C có thể dễ dàng khái quát cho logic đa giá trị hoặc thậm chí cho các tín hiệu liên tục:
-
Ví dụ: bảng chân lý cho một phần tử C ba chiều cân bằng với hai đầu vào là
Việc triển khai phần tử C [ chỉnh sửa ]
Tùy thuộc vào yêu cầu đối với tốc độ chuyển đổi và mức tiêu thụ năng lượng, phần tử C có thể được nhận ra là thô hoặc tốt- mạch hạt. Ngoài ra, người ta nên phân biệt giữa việc thực hiện đơn đầu ra và vi sai [22] của phần tử C. Có thể thực hiện khác biệt bằng cách chỉ sử dụng NAND (chỉ có BAC). Việc thực hiện một đầu ra có thể thực hiện được khi và chỉ khi: [23]
- Mạch, trong đó mỗi đầu vào của một phần tử C được kết nối thông qua một biến tần riêng biệt với đầu ra của nó, tương đối giống với trạng thái, trong đó tất cả các bộ biến tần được kích thích.
- Trạng thái này là trực tiếp cho cổng đầu ra của phần tử C.
Việc triển khai ở cấp độ cổng [ chỉnh sửa ]
Có một số mạch đầu ra đơn khác nhau của C tầng hầm được xây dựng trên các cổng logic [24][25]. Cụ thể, cái gọi là triển khai của Maevsky [26][27][28] là một mạch không phân phối một cách lỏng lẻo dựa trên [29]. Không phân phối đôi khi được giới thiệu để tăng đồng thời. Cổng 3NAND trong mạch này có thể được thay thế bằng hai cổng 2NAND. Phần tử C chỉ sử dụng cổng hai đầu vào đã được đề xuất bởi Tsirlin [30] và sau đó được Starodoubtsev et al. sử dụng ngôn ngữ Taxogram. [31] Mạch này trùng với mạch được gán (không có tham chiếu) cho Bartky [26] và có thể hoạt động mà không cần chốt đầu vào. Một phiên bản khác của phần tử C được xây dựng trên hai chốt RS đã được Murphy tổng hợp [32] bằng cách sử dụng công cụ Petrify. Tuy nhiên, mạch này bao gồm biến tần được kết nối với một nếu đầu vào. Biến tần này nên có độ trễ nhỏ. Một số phương pháp tiếp cận độc lập với tốc độ [33][34] cho rằng các bộ biến tần đầu vào có độ trễ bằng không có sẵn trên tất cả các cổng, điều này vi phạm tính độc lập tốc độ thực sự nhưng khá an toàn trong thực tế. Các ví dụ khác về việc sử dụng giả định này cũng tồn tại. [35]
Việc triển khai tĩnh và ngữ nghĩa [ chỉnh sửa ]
Trong báo cáo của mình [9] Muller đề xuất nhận ra phần tử C là một cổng đa số với phản hồi . Tuy nhiên, để tránh các mối nguy liên quan đến độ trễ của độ trễ bên trong, cổng đa số phải có số lượng bóng bán dẫn càng nhỏ càng tốt. [36][37] Nói chung, các phần tử C với các giả định thời gian khác nhau [38] có thể được xây dựng trên AND-OR-Invert ( AOI) [39][40] hoặc cổng kép, OR-AND-Invert (OAI) của nó [41][42] và biến tần. Tuy nhiên, một lựa chọn khác được cấp bằng sáng chế bởi Varshavsky và cộng sự [43][44] là tắt các tín hiệu đầu vào khi chúng không bằng nhau. Rất đơn giản, những nhận thức này tiêu tan nhiều năng lượng hơn do ngắn mạch. Lưu ý rằng việc kết nối một cổng đa số bổ sung với đầu ra đảo ngược của phần tử C, chúng tôi có được hàm bao gồm HOẶC (EDLINECOR): [45][46]
. Cũng lưu ý rằng một số mạch không đồng bộ đơn giản như bộ phân phối xung [47] chỉ có thể được xây dựng trên các cổng đa số.
Phần tử C bán dẫn lưu trữ trạng thái trước đó bằng cách sử dụng hai bộ biến tần ghép chéo, tương tự như một tế bào SRAM. Một trong những bộ biến tần yếu hơn phần còn lại của mạch, do đó nó có thể bị áp đảo bởi các mạng kéo lên và kéo xuống. Nếu cả hai đầu vào đều bằng 0, thì mạng kéo lên thay đổi trạng thái của chốt và phần tử C xuất ra 0. Nếu cả hai đầu vào là 1, thì mạng kéo xuống sẽ thay đổi trạng thái của chốt, làm cho đầu ra của phần tử C trở thành 1. Mặt khác, đầu vào của chốt không được kết nối với
hoặc mặt đất, và do đó biến tần yếu chiếm ưu thế và chốt xuất ra trạng thái trước đó. Ngoài ra còn có các phiên bản của phần tử C bán dẫn được xây dựng trên các thiết bị có điện trở âm (NDR). [48][49] Tuy nhiên, cần lưu ý rằng NDR thường được xác định cho tín hiệu nhỏ. Vì vậy, rất khó để mong đợi rằng một phần tử C như vậy sẽ hoạt động trong phạm vi đầy đủ của điện áp hoặc dòng điện.
Khái quát hóa và triển khai không bán dẫn [ chỉnh sửa ]
Vì cổng đa số là trường hợp cụ thể của cổng ngưỡng, về nguyên tắc, bất kỳ trường hợp nào được biết đến của cổng ngưỡng [50] được sử dụng để xây dựng một yếu tố C. Tuy nhiên, trong trường hợp đa giá trị, việc kết nối đầu ra của cổng đa số với một hoặc một vài đầu vào có thể không có hiệu quả mong muốn. Ví dụ: sử dụng hàm đa số ternary được xác định là [51]
-