Dép xỏ ngón là gì?


25

Dường như có một số định nghĩa khác nhau về dép xỏ ngón và chốt ngoài kia, một số trong đó trái ngược nhau.

Sách giáo khoa Khoa học Máy tính cho khóa học tôi dạy có lẽ là khó hiểu nhất (thực tế tôi có ít niềm tin vào cuốn sách vì nó chỉ đơn giản là sai ở một số nơi).

Tôi cảm thấy thoải mái với các hoạt động của chốt (SR, gated SR, gated D) và sự khác biệt giữa các thiết bị kích hoạt cấp và kích hoạt cạnh, ít nhất là về cổng logic và sơ đồ thời gian. Tuy nhiên, tôi vẫn đang tìm kiếm một định nghĩa ngắn gọn về một cái dép xỏ ngón và một cái chốt.

Đây là những gì tôi tin cho đến nay:

Một chiếc flip flop là một thiết bị ổn định hai cạnh có thể lưu trữ 1 bit.

Một chốt là một thiết bị ổn định hai cấp có thể lưu trữ 1 bit.

Tôi đã xem qua các bài viết trước trên trang web này về điều này và, khi giác ngộ như họ, tôi vẫn đang tìm kiếm một cái gì đó dứt khoát.

Sự hiểu biết hiện tại của tôi, mà tôi muốn kiểm tra, nằm trong các sơ đồ bên dưới.

Bên cạnh nhau là những gì tôi hiểu là hai triển khai của chốt D được kích hoạt cấp độ.

Bên dưới đây là một máy dò cạnh tích cực, tại thời điểm ngắn ngủi đó khi cổng NOT chưa phản ứng với đầu vào thay đổi từ thấp đến cao, cụ thể là cạnh tăng (màu đỏ là 1 màu xanh là 0).

Trong sơ đồ cuối cùng, bộ phát hiện cạnh đã được gắn vào chốt D ngày và đây là điều làm cho nó trở thành một flip-flop.

nhập mô tả hình ảnh ở đây

Là sơ đồ cuối cùng thực sự là một flip flop, hoặc nó vẫn chỉ là một chốt?

Và tại sao chúng ta cần phiên bản nô lệ chính được đưa ra, thiết bị này đơn giản hơn nhiều?


1
@DanielTork tại sao không làm cho câu trả lời?
Băng giá

10
Ở Úc và New Zealand, chúng là một dạng giày hở mũi thường được mang ra bãi biển hoặc ra ngoài trong thời tiết tốt. ;)
KyranF

3
Ở Mỹ cũng vậy. Nhưng chúng tôi thường gọi chúng là thongs, nhưng điều đó đề cập đến một cái gì đó khác biệt bây giờ ;-)
Tạm dừng cho đến khi có thông báo mới.

1
Bây giờ tôi muốn xem một sơ đồ mạch được vẽ bằng đôi dép được gọi là dép xỏ ngón ...
keshlam

1
@immibis hãy ra khỏi đây y kiwi thối!
KyranF

Câu trả lời:


11

Tôi đã suy nghĩ về định nghĩa này rất nhiều ngày hôm nay.

Như những người khác chỉ ra, ý nghĩa chính xác sẽ thay đổi. Trên hết, bạn có thể sẽ thấy nhiều người mắc phải lỗi này, thậm chí trên trang web này, hơn là đúng. Tôi không quan tâm những gì wikipedia nói!

Nhưng về tổng thể:

  • Một flip flop sẽ thay đổi trạng thái đầu ra của nó nhiều nhất một lần trên mỗi chu kỳ đồng hồ.
  • Một chốt sẽ thay đổi trạng thái của nó nhiều lần khi chuyển đổi dữ liệu trong cửa sổ trong suốt của nó.

Ngoài ra,

  • Một dép xỏ ngón rất an toàn. Hầu như không có bằng chứng. Vì lý do này, các công cụ tổng hợp thường sử dụng dép tông. Nhưng, chúng chậm hơn chốt (và sử dụng nhiều năng lượng hơn).
  • Chốt khó sử dụng đúng cách. Nhưng, chúng nhanh hơn dép xỏ ngón (và nhỏ hơn). Vì vậy, các nhà thiết kế mạch tùy chỉnh sẽ thường "trải rộng flip" trên khối kỹ thuật số của họ (một chốt ở hai đầu với pha ngược lại) để vắt thêm một số picosecond ra khỏi vòng cung thời gian xấu. Điều này được hiển thị ở dưới cùng của bài viết.

Một flip flop thường được đặc trưng bởi cấu trúc liên kết chủ-nô. Đây là hai kết hợp (có thể có logic giữa), ngược pha chốt ngược trở lại (đôi khi trong công nghiệp được gọi là L1 / L2).

Điều này có nghĩa là một flip flop vốn có bao gồm hai yếu tố bộ nhớ: một để giữ trong chu kỳ thấp và một để giữ trong chu kỳ cao.

Một chốt chỉ là một yếu tố bộ nhớ duy nhất (chốt SR, chốt D, chốt JK). Theo quan điểm của tôi, chỉ vì bạn đưa luồng dữ liệu vào cổng vào phần tử bộ nhớ không làm cho nó bị lật, theo ý kiến ​​của tôi (mặc dù nó có thể làm cho nó hoạt động như một: tức là kích hoạt tăng cạnh hơn). Nó chỉ làm cho nó minh bạch trong một khoảng thời gian cụ thể.

Dưới đây là một flip flop thực sự tạo ra từ hai chốt SR (chú ý đồng hồ pha ngược lại).

đúng ff

Và một flip-flop thực sự khác (đây là kiểu phổ biến nhất trong VLSI) từ hai chốt chữ D (kiểu cổng truyền). Một lần nữa lưu ý các đồng hồ pha ngược lại :

đúng kiểu lật flop tg

Nếu bạn xung đồng hồ đến một chốt đủ nhanh, nó sẽ bắt đầu giống với hành vi lật (chốt xung). Điều này là phổ biến trong thiết kế datapath tốc độ cao do độ trễ thấp hơn từ D-> Out và Clk-> Out, ngoài thời gian thiết lập tốt hơn được cấp (thời gian giữ cũng phải tăng, giá nhỏ phải trả) bởi tính minh bạch trong suốt thời gian các xung. Điều này làm cho nó một flip flop? Không thực sự, nhưng nó chắc chắn trông giống như một!

Tuy nhiên, điều này là khó khăn hơn nhiều để đảm bảo để làm việc. Bạn phải kiểm tra trên tất cả các góc quá trình (nmos nhanh, pmos chậm, nắp dây cao, dây thấp r, như một ví dụ) và tất cả các điện áp (điện áp thấp gây ra vấn đề) rằng xung từ máy dò cạnh của bạn vẫn đủ rộng để thực sự mở các chốt và cho phép dữ liệu trong.

Đối với câu hỏi cụ thể của bạn, về lý do tại sao nó được coi là chốt xung thay vì lật, đó là bởi vì bạn thực sự chỉ có một yếu tố lưu trữ bit nhạy cảm cấp độ duy nhất. Mặc dù xung hẹp, nhưng nó không tạo thành một hệ thống khóa và đập tạo ra một cú lật.

Dưới đây là một bài viết mô tả một chốt xung rất giống với yêu cầu của bạn. Một câu trích dẫn thích hợp: "Nếu dạng sóng đồng hồ xung kích hoạt chốt, chốt được đồng bộ hóa với đồng hồ tương tự như flip-flop được kích hoạt cạnh vì các cạnh tăng và giảm của đồng hồ xung gần như giống nhau về thời gian."

EDIT Để rõ ràng hơn, tôi đã đưa vào một đồ họa của thiết kế dựa trên chốt. Có một chốt L1 và chốt L2 với logic ở giữa. Đây là một kỹ thuật có thể làm giảm độ trễ, vì chốt có độ trễ thấp hơn so với lật. Flip flop là "lây lan" và logic đặt ở giữa. Bây giờ, bạn lưu một vài lần trì hoãn cổng (so với một lần lật ở hai đầu)!

thiết kế dựa trên chốt


"Đặc trưng bởi cấu trúc liên kết chủ nô" - nghe có vẻ giống như một chi tiết thực hiện, hơn là một đặc điểm hành vi xác định. Về mặt hành vi, một flip-flop (theo định nghĩa của bạn) là một bộ nhớ bit đơn được kích hoạt cạnh. Trong thực tế, ma thuật thực hiện cần thiết để kích hoạt cạnh gần đúng đòi hỏi một yếu tố lưu trữ thứ hai!
Oliver Charlesworth

1
@OliverCharlesworth: Vâng, đó là một chi tiết thực hiện. Cũng như một chi tiết vật lý, hành vi, cấu trúc và cấu trúc liên kết. Bạn không thể gọi một cái chốt là lật vì nó có vẻ giống như một cái. Bạn có thể có thể thoát khỏi nó, nhưng để sử dụng chúng hết mức bạn cần biết sự khác biệt. Nếu bạn trải ra một flip flop, bạn có hai chốt riêng biệt của pha ngược nhau. Bạn có thể nhồi logic ở giữa. Điều này nhanh hơn so với việc lật một trong hai đầu. Nó cũng cho phép "mượn thời gian" thông qua một ranh giới chu kỳ, đó là một khái niệm rất quan trọng đối với các thiết kế tốc độ cao.
jbord39

Dưới đây là một số hình ảnh hữu ích khác của DFF có thể giúp ích, xem hình cuối cùng. DFF được đăng ở trên là khó hiểu do chốt trên các pha đối diện của đồng hồ (tức là chốt chính trên cạnh tăng, chốt nô lệ khi rơi). điện
tử.stackexchange.com/a/84247/42957

Sẽ thật tuyệt khi xem một ví dụ về một flip-flop được kích hoạt cạnh một pha thực sự ("TSPC" DFF) ở đây.
mrbean


1

Nhiều người sẽ gọi các thiết bị có đồng hồ là "dép xỏ ngón" và các thiết bị không có đồng hồ là chốt. Quay lại khi tôi học nó, đó là "dép xỏ ngón" và "dép xỏ ngón". Hoặc là có thể được kích hoạt cạnh.

Có đủ sự mơ hồ rằng khi nó quan trọng, hãy dựa vào các bảng dữ liệu số phần và sơ đồ thời gian chứ không phải mô tả từ.


Vậy thì GTO-SCR cũng là một flip-flop?
Bradman175

1

Cảm ơn tất cả những người đã trả lời câu hỏi của tôi. Như dự đoán, có một số bất đồng. Thật không may, ngữ nghĩa thường quan trọng hơn sự hiểu biết khi nói đến kỳ thi. Nếu tôi cần tranh luận với hội đồng thi vì đánh dấu không chính xác bài thi của sinh viên Khoa học máy tính A Level (và tôi đã làm như vậy trong quá khứ), tôi muốn ở vị trí vững chắc. Tôi nghĩ rằng tôi muốn chia sẻ với bạn một vài trang của sách giáo khoa khóa học A Level chính thức.

Sơ đồ đầu tiên là một chốt SR thấp hoạt động. Cuốn sách gọi nó là một cái lật.

Trong văn bản, cuốn sách có nội dung "Bằng cách sử dụng hai flip-flop, chúng ta có thể tạo ra một mạch gọi là flip-flop loại D sử dụng mạch điều khiển đồng hồ để điều khiển đầu ra, trì hoãn nó bằng một xung đồng hồ. . " Văn bản này dường như đề cập đến cấu hình chủ / nô lệ. Sơ đồ thứ hai (hình 14.2) được dán nhãn là flip-flop loại D. Nó thực sự là một chốt D hoạt động cao.

Không hữu ích lắm!

Tôi sẽ giải quyết "Một flip flop thường được đặc trưng bởi cấu trúc liên kết chủ nô." như jbord39 đã đề xuất, với lời cảnh báo rằng thuật ngữ flip-flop thường được sử dụng để có nghĩa là một chốt kích hoạt cạnh, và đôi khi chỉ là bất kỳ loại chốt nào. Tôi nghĩ rằng đây là nơi mà cuốn sách đến từ, mặc dù không đến đó một cách thuyết phục.

Cảm ơn một lần nữa cho tất cả.

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây


2
Vâng cuốn sách đó là sai lầm thẳng. Thêm vào đó, D là viết tắt của Dữ liệu, không trì hoãn ... lol Phần quan trọng là hiểu cách chúng hoạt động và không bị cuốn vào ngữ nghĩa. Tôi đã giải thích ngữ nghĩa khi họ được giải thích cho tôi tại các công ty nơi tôi đã làm việc. Nó có thể thay đổi theo khu vực và mức độ kinh nghiệm (đặc biệt là liên quan đến các phần bên trong của cổng logic, đó là những gì tôi làm việc).
jbord39

Tôi phải đồng ý với jbord39. Giống như tôi đã chỉ ra trong câu trả lời của mình, đầu vào E chỉ cho phép dữ liệu ảnh hưởng đến đầu ra. Tuy nhiên, bạn có sách giáo khoa bao gồm thông tin không chính xác. Khá khó chịu thực sự.
Bradman175

1

Một flip flop khác với một chốt. Cả hai đều là mạch ổn định, nhưng thực tế chúng là hai thứ khác nhau.

Các chốt có cho phép pin và lắng nghe các dữ liệu đầu vào / đầu vào chỉ khi pin này là rất cao. Khi nó ở mức thấp, chốt đóng băng và ghi nhớ trạng thái của nó. Bây giờ ngay cả khi bạn thao túng đầu vào, nó sẽ không phản ứng.

Các flip flop chứa một pin đồng hồ thay vào đó, mà phản ứng chỉ thay đổi xung (thay đổi mức độ). Hãy nghĩ về một sóng vuông. Thời gian nhất thời giữa tắt và bật; tắt và bật là thời gian mà mạch phản ứng với tín hiệu đầu vào. Chỉ sau đó nó có sẵn để thay đổi, không phải khi pin ổn định và bật đầy đủ.

Flip flop thời gian phản ứng

Lưu ý các dòng màu xanh biểu thị khoảng thời gian nó nghe đầu vào và các dòng màu đỏ là khoảng thời gian nó không xuất hiện. Chốt cho phép đầu vào chỉ trong các khoảng thời gian được hiển thị bởi các đường màu đỏ trên cùng.

SR độc lập không phải là một mạch khả thi trong thực tế.

Tín dụng cho jbord39 để chỉ ra sai lầm. Hình ảnh được lấy từ radio-elctronics.com và chỉnh sửa.


Một flip flop không phải là một chốt, nhưng có thể được xây dựng từ hai chốt pha ngược nhau trở lại.
jbord39

Tôi đã chỉnh sửa câu trả lời @ jbord39
Daniel Tork

Cảm ơn bạn, @ Peter Mortensen. Tôi đã không nhìn thấy những thứ đó.
Daniel Tork

0

Các thuật ngữ khi bạn sử dụng chúng trong câu hỏi của bạn phù hợp 100% với những gì tôi đã nghe được sử dụng trong bối cảnh thiết kế vi mạch tương tự. Các chốt có tín hiệu cho phép nhạy với mức độ, trong khi các flip flop có tín hiệu cho phép nhạy với cạnh gọi là 'clock'. Tôi đã nhận thấy một vài nơi trực tuyến hoặc trong một số cuốn sách dường như sử dụng thuật ngữ flip flop cho cả hai loại, điều này có thể có ý nghĩa nếu bạn chỉ nghĩ về trạng thái mạch "lật" giữa hai điểm ổn định, nhưng bất cứ khi nào các nhà thiết kế đang nói về một mạch nơi tôi làm việc, chốt có độ nhạy cấp độ và flip flop (hoặc thường chỉ là "flops") là nhạy cảm cạnh.

Về câu hỏi khác của bạn về việc có nên thiết kế một flip flop như một chốt với một máy dò cạnh so với một cặp chốt chủ-nô. Dù bằng cách nào cũng có thể hoạt động, giả sử có đủ độ trễ trong bộ dò cạnh của bạn. Chốt sẽ có một số lượng thời gian kích hoạt tối thiểu. Tôi nghi ngờ sẽ khó hơn khi tạo ra một cú lật tốc độ cao bằng cách sử dụng kỹ thuật dò cạnh và thời gian thiết lập / giữ có thể thay đổi nhiều hơn theo quy trình / điện áp / nhiệt độ.


Tôi tự hỏi tại sao tôi hiếm khi thấy các flop được triển khai với cặp master / Slave với các ngưỡng logic không chồng chéo (vì vậy điện áp đầu vào dưới VDD / 4 sẽ cho phép master và một điện áp trên VDD / 2 sẽ kích hoạt nô lệ. đưa ra tín hiệu đầu vào tăng chậm hoặc nhiễu, hành vi sẽ đáng tin cậy chỉ với điều kiện là ở cạnh tăng, không ai trong số họ nhìn thấy điện áp dưới VDD / 4 sau khi bất kỳ đã thấy điện áp trên VDD / 2.
supercat

@supercat Bạn đang nói về độ trễ?
Cort Ammon - Hồi phục lại

@CortAmmon: Không - một cái gì đó tốt hơn. Nếu hai flip flop với các bộ kích hoạt độc lập của Schmidt được xếp tầng, hoạt động không chính xác có thể xảy ra nếu flop đầu tiên nhận ra cạnh đồng hồ và truyền đầu vào qua đầu ra trước khi flop thứ hai nhận ra cạnh đồng hồ của nó. Nếu flip flop sử dụng ngưỡng đầu vào phân chia, flop thứ hai sẽ nắm bắt đầu vào của nó khi đồng hồ tăng trên ngưỡng thấp hơn, nhưng đầu ra của flop thứ nhất sẽ không thay đổi cho đến khi đồng hồ đạt ngưỡng trên.
supercat

0

(Bỏ qua đến cuối nếu bạn muốn biết mạch cuối cùng của OP là flip-flop hay chốt.)

Về mặt cơ bản, Flip-Flop là sự sắp xếp của các cổng logic (hoặc các thành phần) cho phép chốt 2 trạng thái cùng với chân đồng hồ cho phép thay đổi trạng thái này.

Bây giờ đây là sự khác biệt giữa Flip-flop và chốt. Chốt là không đồng bộ trong khi Flip-flops là đồng bộ.

  • Các chốt không đồng bộ không yêu cầu chân cập nhật, thường được gọi là CLKpin (viết tắt của đồng hồ) trong một flip-flop. Tất cả những gì họ quan tâm là nếu đầu vào ở trạng thái cụ thể, HIGHhoặc LOW. Khi một sự kết hợp nhất định của HIGHs và LOWs được kích hoạt trong đầu vào, đó là khi mạch quyết định thực hiện một hành động và kết quả mong muốn của bạn được trả về "ngay lập tức". Có 4 hành động có thể trong một chốt.

    1. Không làm gì cả
    2. Đặt QthànhHIGH
    3. Đặt QthànhLOW
    4. Trạng thái không hợp lệ (được cho là đảo ngược giá trị của Q)

    Lưu ý rằng Q'phụ thuộc vào Q.

Một ví dụ là chốt SR thể hiện tất cả 4 hành động có thể mà chốt có thể thực hiện: Chốt RS

  1. Khi SLOWRLOW, không có gì thay đổi.
  2. Khi Sđược HIGHRLOW, Qđược đặt thành HIGH.
  3. Khi Sđược LOWRHIGH, Qđược đặt thành LOW.
  4. Khi SHIGHRHIGH, Qlà đảo ngược, tại một "thất thường" tốc độ nhanh. Trạng thái này không hợp lệ.
  • Dép xỏ ngón đồng bộ cho phép bạn đặt giá trị cho các chân dữ liệu. Điều này có nghĩa là nó chỉ quan tâm đến trạng thái của các chân này. Tuy nhiên, mạch không quyết định thực hiện bất kỳ hành động nào đối với đầu ra. Bạn có CLKpin như đã đề cập ở trên. Khi CLKchân thay đổi trạng thái (từ LOWsang HIGH, ngược lại hoặc thậm chí cả hai), các chân dữ liệu được "bắt giữ" và flip-flop thực hiện một hành động dựa trên sự kết hợp giữa HIGHs và LOWs của dữ liệu được ghi từ các chân dữ liệu. Có hai hành động cho CLKpin.
  1. Không làm gì cả
  2. "Thu thập" dữ liệu từ các chân dữ liệu và thực hiện hành động trên đầu ra dựa trên các giá trị của các chân dữ liệu tại thời điểm cụ thể đó.

Một lần nữa, có 4 hành động có thể xảy ra với mạch trên đầu ra.

  1. Không làm gì cả
  2. Đặt QthànhHIGH
  3. Đặt QthànhLOW
  4. Đảo ngược giá trị của Q(bây giờ nó hợp lệ vì nó chỉ thực hiện một lần)

ĐÂY KHÔNG PHẢI LÀ MỘT FLIP-FLOP:

nhập mô tả hình ảnh ở đây

Nhưng tại sao bạn có thể hỏi? EPin đó không phải là pin đồng hồ. Các chân đồng hồ cho phép mạch phân tích thông tin từ các chân dữ liệu ONCE nơi thông tin đó được gửi dưới dạng hướng dẫn để thực hiện các hành động cụ thể trên đầu ra. Tuy nhiên, kích hoạt các chân như thế này cho phép mạch phân tích thông tin từ các chân dữ liệu miễn là nó được giữ ở mức cao và liên tục đặt các giá trị của đầu ra. Vì vậy, nó là một chốt. (Thx gửi jbord39 vì đã chỉ ra sai lầm của tôi).

Vì vậy, Flip-flop giống như một chốt, ngoại trừ bạn cần thêm một bước "xác nhận", đó là CLKpin.

Vì vậy, đó có phải là câu hỏi cuối cùng của OP không? Hãy thử giữ C ở mức cao và xem liệu đầu ra có thay đổi khi bạn thay đổi giá trị của D. Nếu đầu ra thay đổi, nó sẽ được gọi là enable thay thế và là một chốt. Nhưng nếu đầu ra không thay đổi (trong trường hợp đó), thì đó là một cú lật.

Hình ảnh có nguồn gốc từ Wikipedia.


Không, rất nhiều chốt có chân đồng hồ. nxp.com/document/data_sheet/74HC_HCT373.pdf trên thực tế, mạch bạn đã hiển thị là một chốt không phải là một cú lật ...
jbord39

@ jbord39? Pin đồng hồ gì? Và kích hoạt pin là khác với pin đồng hồ.
Bradman175

@ jbord39 và rất tiếc bạn đúng. Hai mạch dưới cùng là chốt. Hãy xem xét lại câu trả lời của tôi.
Bradman175

Hãy để tôi xem nếu tôi hiểu. Các flop kiểm tra từng đầu vào và bật một đầu ra và một chốt kiểm tra đồng hồ và hành động nếu nó là 1, xuất ra giá trị của D.So chốt SR là một flip-flop vì nó không phải là đồng hồ, nhưng chốt D là chốt thực sự.
Daniel Tork

@DanielTork Điều là bạn có nhiều "đồng hồ" và đồng hồ không thể xen kẽ giữa các chân và cũng đóng vai trò là ghim dữ liệu.
Bradman175
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.