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ą?
digital-logic
mosfet
signal
Travisbartley
źródło
źródło
Odpowiedzi:
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.
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.
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.
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.
źródło
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).
źródło
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:
Aby zobaczyć, kiedy wyzwalanie zboczem dodatkowym stało się standardem, postanowiłem śledzić ewolucję schematów taktowania procesorów Intela :
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:
Oczywiście jest miejsce na dodatkowe badania. Ciąg dalszy nastąpi...
źródło