Dlaczego przerzutniki są zwykle wyzwalane przy rosnącej krawędzi zegara?

14

Zwykle w konstrukcji cyfrowej mamy do czynienia z przerzutnikami, które są wyzwalane przy przejściu sygnału zegarowego od 0 do 1 (wyzwalane zboczem dodatnim), a nie w przypadku przejścia od 1 do 0 (wyzwalane zboczem ujemnym). Znałem tę konwencję od pierwszych badań nad obwodami sekwencyjnymi, ale do tej pory jej nie kwestionowałem.

Czy wybór między wyzwalaniem zbocza dodatniego a wyzwalaniem zbocza ujemnego jest arbitralny? Czy może jest praktyczny powód, dla którego przeważają przerzutniki z pozytywną krawędzią?

Travisbartley
źródło
2
Sposób, w jaki dzieje się większość takich rzeczy, polega na tym, że ktoś robi to w jeden sposób, ktoś inny musi dostosować sprzęt i robi to samo, a kilka lat później masz przypadkowy standard.
Connor Wolf,
1
Pracuję z przerzutnikami, które są najczęściej uruchamiane przez Falling Edge. Miałem dokładnie przeciwne pytanie!
Swanand

Odpowiedzi:

10

Najlepsze przypuszczenie: trend pozytywny jest produktem ubocznym projektów, które starają się wykorzystać jak najmniejszą powierzchnię / części przed 1970 rokiem . Miara oszczędności kosztów produkcji poprzez zwiększenie liczby chipów na wafel. Współczesne DFF o dodatniej / ujemnej krawędzi często mają jednakową powierzchnię całkowitą, dlatego trend o dodatniej krawędzi jest obecnie praktyką tradycyjną.

Oszczędność powierzchni pochodzi od „klasycznych” konstrukcji typu flip-flop. Nowoczesne elementy master / slave klapki typu D mogą używać dwóch zatrzasków 5-tranzystorowych; Oba patenty WO 1984003806 A1 i US4484087 A zostały zgłoszone 23 marca 1984 r. Patent na 8- tranzystorową zapadkę D złożono 6 lutego 1970 r .; US3641511 . Ze względu na prostotę projekty oparte na zatrzaskach SR / SnRn będą określane jako „klasyczne” i „nowoczesne” dla projektów wykorzystujących wspomniane patenty na zatrzaski D / komórki S.

W projekcie układu scalonego bramka NAND wykorzystuje mniej powierzchni niż bramka NOR ze względu na charakterystyczne właściwości NMOS i PMOS. Tworzą się tam kaskady trendu wielkości obszaru oszczędzania. Zatrzaski D z zatrzasków SnRn są mniejsze niż zatrzaski SR. Klasyczne konstrukcje typu flip-flop oparte są na tych bramkach logicznych. Po wyszukaniu kilku projektów Klasyczne projekty z dodatnią krawędzią są zawsze mniejsze niż klasyczne projekty z dodatnimi krawędziami. Migracja do nowoczesności nastąpiła, gdy koszty chipów stały się korzystne: oszczędności powierzchniowe i opłaty licencyjne.


Kopiąc trochę głębiej, aby pokazać różnice między obszarami:

Klasyczny D-flip-flop z dodatnim zboczem: oparty na schemacie opis i schemat klasycznego D-flip-flop z Wikipedii z dodatnim zboczem, wykorzystujący pięć NAND2 i jeden NAND3. Wykorzystuje to łącznie trzynaście NMOS i trzynaście PMOS.

schematyczny

symulacja tego obwodu - Schemat utworzony przy użyciu CircuitLab

Najlepszy klasyczny D-flip-flop z ujemną krawędzią, jaki udało mi się znaleźć, to użycie dwóch zatrzasków D i dwóch falowników. Schematyczny odnośnik formularza http://students.cs.byu.edu/~cs124ta/labs/L02-FSM/HowToUseMasterSlave.html . Wykorzystuje się w sumie osiemnaście NMOS i osiemnaście PMOS. Umieszczenie falownika na klasycznej pozycji powyżej obniży liczbę tranzystorów tego projektu. W obu przypadkach klasyczna krawędź ujemna jest większa niż krawędź dodatnia.

schematyczny

zasymuluj ten obwód

Nowoczesna konstrukcja typu D-flip-flop może wyglądać następująco w oparciu o opisy patentowe WO1984003806 A1 i US4484087 Pięciopunktowy opis zatrzasku D. Wykorzystuje to łącznie pięć NMOS i fice PMOS; duże oszczędności powierzchni w porównaniu do klasycznego. Odwrócenie kolejności master / slave stworzyłoby przerzutnik o ujemnej krawędzi o równej wielkości.

schematyczny

zasymuluj ten obwód

Pokazuję tylko najmniejsze możliwe projekty. Projekty mogą w bardzo dużym stopniu opierać się na wymaganiach projektowych, dozwolonych standardowych bibliotekach komórek, resetach / predefiniowanych funkcjach lub innych przyczynach.

Greg
źródło
Trafne spostrzeżenie. Podchodziłem do problemu z rozkładem zegara, ale widzę, jak architektura DFF może być inna. Myślę jednak, że klapy wyzwalane przez ujemną krawędź mogą mieć również architekturę opartą na NAND. Czy możesz dodać schemat architektury, o której mówisz?
travisbartley
1
@ trav1s, zaktualizowałem swoją odpowiedź przykładami i badaniami patentowymi.
Greg
Zastanawiam się, w jakim stopniu układy wykorzystują inne techniki zatrzasków, które muszą działać w oparciu o krawędzie zewnętrznego zegara? Na przykład, stosując dwufazowe taktowanie i logikę półdynamiczną, można zmniejszyć wymaganą liczbę tranzystorów na flop do siedmiu [podejście w pełni dynamiczne to sześć, ale dodanie siódmego tranzystora pozwala dodać całkowicie statyczny stan „wstrzymania” ].
supercat
@Greg, świetna robota. Twoje odkrycie dotyczy tylko tego, czego się spodziewałem. Ten tranzystor 10T na końcu to piękna rzecz.
travisbartley
Ciekawa odpowiedź i bardzo wnikliwa. Mówisz, że trend pozowania pojawił się przed latami 70., ale nie jest to zgodne z moimi ustaleniami (patrz moja odpowiedź). Co skłoniło Cię do wymyślenia tej daty? Tylko zgadnij, czy masz jakieś dodatkowe informacje? Jeśli to jest to drugie, chętnie zdobędę referencję (w celu poprawy mojej własnej odpowiedzi :))
Vasiliy
3

Jest tutaj kilka podstawowych założeń, które zostały omówione w innym poście (których nie mogę teraz znaleźć).

Jeśli policzysz całkowitą liczbę umieszczonych elementów logicznych i taktowania logicznego (całkowita liczba wysłanych FF), prawdopodobnie będą one w procesorze i mikroprocesorach, Intel, DEC itp. Przejawem tego jest to, że kończysz z małą grupą ludzie / zespoły, które są odpowiedzialne za projekty obejmujące wiele dziesięcioleci, bez zbyt wielu szczegółów na temat wewnętrznych działań.

I odwrotnie, masz wiele różnych zespołów pracujących nad przepływami ASIC, z wieloma innymi projektami, ale odpowiadającymi mniejszym wolumenowi.

Większość konstrukcji procesorów nie jest taktowana dodatnio lub ujemnie, ale są zaprojektowane z wykorzystaniem schematu taktowania podwójnego zatrzasku, NOC (Non Overlapped Clock).

W rezultacie otrzymujesz dane wejściowe -> (chmura logiczna) -> zatrzask od zegara -> chmura logiczna -> zatrzask od! Zegara. Która jest kanoniczną formą głównego niewolnika FF z logiką wypchaną w środku.

Tego rodzaju metodologia projektowania ma kilka zalet, ale ma również dodatkową złożoność.

Inną niefortunną rzeczą jest to, że ta metodologia projektowania nie jest nauczana na większości uniwersytetów. Wszystkie konstrukcje Intel x86 są tego rodzaju (nie należy mylić zewnętrznej obsługi interfejsów z operacją wewnętrzną) z godnymi uwagi syntezowalnymi rdzeniami SOC, które zostały zaprojektowane dla telefonów komórkowych.

Doskonały dyskurs na ten temat można znaleźć w „Dally, William J. i John W. Poulton”. Inżynieria systemów cyfrowych. Cambridge University Press, 1998. rozdział 9.5 omawia „synchroniczne synchronizowanie w otwartej pętli” <tytuł rozdziału. Ale aby zacytować „taktowanie wyzwalane zboczem, jest jednak rzadko stosowane w wysokiej klasy mikroprocesorach i projektach systemów głównie dlatego, że skutkuje to minimalnym czasem cyklu zależnym od pochylenia zegara”.

Tak, całkowicie pedantyczna odpowiedź. ale ważna metodologia, która jest mało znana, biorąc pod uwagę liczbę całkowitych tranzystorów w tych projektach (wiele i wiele).

symbol zastępczy
źródło
Przeczytałem to trzy razy, ale wciąż nie widzę, jak to się wiąże z pytaniem OP ...
Vasiliy,
1
Również powiedzenie, że procesory są zbudowane wyłącznie z zatrzasków, jest nieco przesadą (może nawet nie „odrobiną”). Zatrzaski są używane w logice krytycznej o wysokiej wydajności (głównie ścieżki danych), ale wciąż istnieje wiele przerzutników. Główną wadą zatrzasków jest trudność analizy synchronizacji - ze względu na możliwość „pożyczania w czasie” konstrukcji opartej na zatrzasku (ta sama zdolność, która sprawia, że ​​ta konstrukcja jest „szybsza”), bardzo trudno jest przetestować konstrukcję opartą na zatrzasku dla zamykania synchronizacji. W niekrytycznych częściach procesorów stosowane są głównie FF.
Vasiliy
Kluczowym słowem w tytule jest „zwykle” - 1) w całkowitej liczbie różnych typów zaprojektowanych układów - wtedy przepływ ASIC i wyzwalanie zbocza będą normalne. 2) jeśli całkowita liczba wysłanych elementów procesora / tranzystorów logicznych wygrywa, a następnie wygrywa podwójny zegar oparty na zatrzasku, a następnie instrukcja jest nieważna.
symbol zastępczy
1
Nie można spojrzeć na interfejs tych układów, aby określić, czym jest operacja wewnętrzna. Jak powiedziałem, Master Flap niewolników jest tylko uproszczoną wersją dwufazowego zegara opartego na podwójnej logice opartej na chmurze. Analiza czasowa nie jest trudna, w rzeczywistości jest uproszczona. Po prostu lepiej bądź pewien swoich domen zegarowych.
symbol zastępczy
1
Nie, kluczowymi słowami są „flip-flop” i „edge of the clock”. Zatrzaski są urządzeniami wrażliwymi na poziom, które nie są wrażliwe na krawędzie. Jabłka i pomarańcze - jeśli chcę wiedzieć, dlaczego pomarańcze są pomarańczowe, fakt, że wielu ludzi woli jabłka, jest zupełnie nieistotny.
Wasilij
2

Wydajność obecnej technologii CMOS (pod względem mocy / obszaru / prędkości / kosztu) wydaje się być niewrażliwa na zastosowany schemat wyzwalania.

Nie mogę udowodnić powyższego stwierdzenia rygorystycznie, ponieważ wymaga ono dużej wstępnej wiedzy i badań, a nawet podsumowanie dowodu prawdopodobnie będzie za długie na odpowiedź. Według mojej najlepszej wiedzy nie ma różnic, dlatego przyjmuję, że tak właśnie jest.

Albo nie wiem, czy twoje stwierdzenie o przerzucaniu przerzutników zwykle na dodatniej krawędzi zegara jest poprawne (tak mi się wydaje). Przyjmijmy, że jest to również właściwe dla celów poniższej dyskusji.

Przy wszystkich powyższych założeniach widzę tylko dwie możliwości:

  • Pozytywne wyzwalanie krawędzi stało się standardem, ponieważ miało pewne wyraźne zalety w przeszłości. Po tym, jak technologia wykorzystująca tę przewagę stała się przestarzała, wyzwalanie dodatnich krawędzi nadal pozostawało faktycznym standardem.
  • Pozytywne wyzwalanie krawędzi stało się standardem bez jakiejkolwiek legitymacji inżynierskiej, tj. Nie dawało żadnych korzyści w żadnej logicznej rodzinie i żadnym węźle technologicznym w przeszłości.

Aby zobaczyć, kiedy wyzwalanie zboczem dodatkowym stało się standardem, postanowiłem śledzić ewolucję schematów taktowania procesorów Intela :

  1. ϕ2
  2. 8086 : Blokowanie danych zostało wykonane na ujemnej krawędzi CLK.
  3. 80386 : Użyto dodatniej krawędzi CLK2.
  4. 80486 : Użyto dodatniej krawędzi CLK.
  5. Pentium : Wykorzystano dodatnią krawędź CLK ...

Wygląda na to, że Intel zaczął od wyzwalania zboczem ujemnym (jeśli ten termin w ogóle można zastosować do pierwszych procesorów), ale przeszedł na wyzwalanie zboczem dodatnim zaczynając od 386.

8086 zastosował technologię HMOS (pewnego rodzaju logikę NMOS z obciążeniem zubożającym), podczas gdy 80386 to CHMOS (jest to rodzaj CMOS). Wygląda na to, że przyjęcie pozytywnego wyzwalania krawędzi nastąpiło równolegle z przyjęciem technologii CMOS. Przyjęliśmy, że CMOS nie zapewnia żadnej korzyści z wyzwalania dodatniego zbocza, dlatego wydaje się, że ta konwencja jest arbitralna.

Musimy jednak pamiętać o trzech punktach:

  • Przyjęliśmy, że obecne technologie CMOS nie zapewniają żadnych korzyści.
  • Powyższe założenie nie zostało udowodnione ani omówione w żadnej formie.
  • Z arkuszy danych wyraźnie widać, które zbocze Data Out jest zatrzaśnięte, jednak może to nie oznaczać wewnętrznej implementacji.

Oczywiście jest miejsce na dodatkowe badania. Ciąg dalszy nastąpi...

Wasilij
źródło