Nó có nghĩa gì với cổng Gate đồng hồ?


11

Trong bài giảng của tôi, tôi tiếp tục đọc "không cổng đồng hồ". Tôi đã thử tìm kiếm trên Internet, nhưng tôi không thể tìm thấy ý nghĩa chính xác của cụm từ này.



3
@ user129048 có những câu hỏi khác liên quan đến chủ đề này trên trang web này. Nói tóm lại, nếu bạn cổng đồng hồ, bạn sẽ có độ trễ là xấu. Hầu hết các đồ họa có các dòng đồng hồ chuyên dụng và đồng hồ sẽ không sử dụng các dòng đó.
Điện áp tăng vọt

1
Giống như bạn sử dụng một cánh cổng để cho chó / ngựa của bạn vào và ra, chúng có thể đi qua nếu cổng mở. Đồng hồ và thiết lập lại chỉ là các tín hiệu được truyền cho một mô-đun logic giống như các tín hiệu khác. Bạn có thể cho phép hoặc chặn đồng hồ đó tiếp tục, không để nó đi qua. Ngăn chặn logic ở phía bên kia có tín hiệu đó làm đầu vào.
old_timer

Câu trả lời:


19

Để "cổng đồng hồ" có nghĩa là đặt một cổng logic trong dòng đồng hồ để bật hoặc tắt.

sơ đồ

mô phỏng mạch này - Sơ đồ được tạo bằng CircuitLab

Các sơ đồ trên hiển thị và AND và OR được sử dụng để cổng đồng hồ. Một lực lượng đồng hồ thấp cao khác.

Để ngăn các xung đồng hồ 'quá ngắn' dù cao hay thấp ("xung runt"), chúng ta phải đảm bảo rằng:

  • Tín hiệu điều khiển cho cổng AND chỉ nên thay đổi khi đồng hồ ở mức thấp .
  • Tín hiệu điều khiển cho cổng OR chỉ nên thay đổi khi đồng hồ ở mức cao .

Đồng hồ có cổng rất hữu ích để giảm công suất trong CMOS vì logic vẫn 'im lặng' trong khi đồng hồ dừng lại. Bạn sẽ thấy rằng các công cụ tổng hợp hiện đại có tùy chọn đặc biệt để chèn đồng hồ tự động.

sơ đồ

mô phỏng mạch này

Trên đây là hai mạch tạo đồng hồ có kiểm soát một cách an toàn. Các mạch dựa trên thực tế là có một độ trễ nhỏ (đồng hồ đến Q) để tín hiệu điều khiển đi ra khỏi thanh ghi. Do đó, tín hiệu điều khiển thay đổi tại cổng khi đồng hồ có cực đã biết.


3
Câu trả lời rất hay. Tôi sẽ chỉ mở rộng về lợi ích sức mạnh của đồng hồ có cổng. Mạng đồng hồ trong một IC, đặc biệt là trong các bộ phức tạp như bộ vi xử lý, có thể thực sự rộng lớn. Lớn đến mức nó đã được hiển thị (xin lỗi tôi không có tài liệu tham khảo) rằng việc chuyển đổi mạng đồng hồ chỉ có thể chiếm 30% tổng mức tiêu thụ năng lượng. Điều này được tiêu thụ ngay cả khi logic thực tế được chạy bởi nó không có gì để làm, ví dụ. các thanh ghi và đầu ra không thay đổi gì cả. Gating đồng hồ có thể vô hiệu hóa hoàn toàn đồng hồ trong các phần bị ảnh hưởng của mạng, do đó giảm đáng kể mức tiêu thụ năng lượng.
ultimA

4
@Curd: Khi OP đọc "không cổng đồng hồ", giáo sư có nghĩa là "không cổng đồng hồ theo nghĩa đen như trong một cổng logic duy nhất". Đó là lời khuyên tốt. Trong thực tế mặc dù "gating đồng hồ" có nghĩa là "vô hiệu hóa đồng hồ" hoặc có thể làm điều đó, và rất nên làm điều đó vì lý do sức mạnh miễn là bạn biết cách làm đúng (nghĩa là không phải bằng logic cổng, nhưng với logic đủ để tránh runts và trục trặc trên dòng đồng hồ).
ultimA

8
Tôi phải đoán ở đây tại sao giáo sư nói điều này: gating đồng hồ, mặc dù được trình bày ở đây là đơn giản, có nhiều cạm bẫy. Vì vậy, nó là rất nhiều nhíu mày trên. Trong thiết kế ASIC (nơi tôi đến), nó chỉ được thực hiện bởi một trong hai công cụ được cho là đáng tin cậy hoặc bởi các kỹ sư cao cấp chính cũng được cho là đáng tin cậy để biết họ đang làm gì.
Oldfart

4
@oldfart Đó rất có thể là lời giải thích. Đặc biệt là nếu OP là trong một lớp học FPGA, nó không chắc họ sẽ không bao giờ được gating một chiếc đồng hồ.
mbrig

3
@MITURAJ, gating đồng hồ chắc chắn có thể được thực hiện trong mục thiết kế. Tôi nghĩ rằng bạn đang mô tả những gì nên làm, không phải những gì 'thường' được thực hiện. Sự tự do của FPGA cho phép bất cứ ai thực hiện những ý tưởng tồi. Rất nhiều thiết kế xấu ngoài kia.
TonyM

6

Gating, trong bối cảnh này, có nghĩa là truyền tín hiệu qua cổng logic để điều khiển nó.

Việc truyền nó qua một đầu vào của cổng AND 2 đầu vào cho phép một bit điều khiển trên đầu vào khác để buộc đầu ra cổng AND ở mức thấp hoặc để tín hiệu đi qua và ra. Một chức năng tương tự có thể được thực hiện bằng cổng OR, với tín hiệu bị buộc ở mức cao hoặc cho qua.

Vì vậy, gating đồng hồ có nghĩa là buộc nó thấp / cao hoặc để nó đi qua.

Không gating đồng hồ là lời khuyên tốt. Nó có thể được thực hiện, với sự quan tâm và hiểu biết thấu đáo về những hậu quả có thể xảy ra. Chúng bao gồm tính di động khi đưa tín hiệu có xung nhịp vào miền đồng hồ bị kiểm soát và kết quả tồi tệ hơn từ việc tổng hợp / bố trí theo thời gian.

Nhưng gần như luôn luôn có những cách khác để đạt được sự kiểm soát tương tự đối với một mạch như gating đồng hồ, mà không có tất cả các rủi ro và hình phạt như vậy.


6

Điều này có nghĩa là:
Không sử dụng cổng AND hoặc OR (hoặc bất kỳ thuật ngữ kết hợp phức tạp hơn) để lấy tín hiệu đồng hồ từ tín hiệu đồng hồ khác.

Lý do cho quy tắc đó là các điều kiện cuộc đua giữa nhiều đầu vào của thuật ngữ kết hợp có thể gây ra nhiều cạnh đồng hồ (trục trặc) trong đó bạn chỉ mong đợi một cạnh đồng hồ.


2
Sẽ thật tuyệt nếu người chơi downvoter có thể giải thích những gì anh ta cho là sai với câu trả lời này.
Sữa đông

4

Đối với tốc độ cao, nó ngụ ý không thêm các cổng logic làm tăng độ trễ lan truyền cho đồng hồ vì nó có thể gây ra tình trạng chạy đua khi làm việc với dữ liệu bằng đồng hồ gốc.


Tôi chưa bao giờ nghe thuật ngữ gating đồng hồ được sử dụng theo cách này, bạn có một nguồn cho điều đó?
BeB00

@ BeB00: chỉ cần google cho "đồng hồ gitch miễn phí" và bạn sẽ tìm thấy nhiều
Curd


Đây là suy nghĩ đầu tiên của tôi khi chưa nghe thấy thuật ngữ được sử dụng trước đây nhưng có những lúc cần đệm và gating có lẽ có ý nghĩa nhiều hơn là đệm trong trường hợp này. Đặc điểm xoay và cạnh có thể thay đổi với bộ đệm đơn giản và cần được xem xét trong mọi trường hợp.
KalleMP
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.