Parmak arası terlik neden genellikle saatin yükselen kenarında tetiklenir?


14

Genellikle dijital tasarımda, 1'den 0'a geçişin (negatif kenar tetikli) yerine 0'dan 1'e saat sinyal geçişinde (pozitif kenar tetiklemeli) tetiklenen parmak arası terliklerle ilgileniriz. Bu konvansiyonun ardışık devreler hakkındaki ilk çalışmalarımdan beri farkındaydım, ancak şimdiye kadar sorgulamamıştım.

Pozitif kenarla tetiklenen ve negatif kenarla tetiklenen seçenek keyfi mi? Veya pozitif kenar tetikli parmak arası terliklerin baskın olmasının pratik bir nedeni var mı?


2
Bu tür şeylerin çoğunun gerçekleşme şekli, birisinin bunu bir şekilde yapması, başka bir kişinin donanımı uyumlu hale getirmesi ve aynı şeyi yapmasıdır ve birkaç yıl sonra yanlışlıkla bir standardınız vardır.
Connor Wolf

1
Çoğunlukla Düşen Kenar tetiklemeli parmak arası terliklerle çalışıyorum. Tam tersi bir sorum vardı!
Swanand

Yanıtlar:


10

En iyi tahmin: pozitif kenar eğilimi, 1970'lerden önce mümkün olduğunca küçük bir alan / parça kullanmaya çalışan tasarımların bir yan ürünüdür . Gofret başına talaş sayısını artırarak üretim için maliyet tasarrufu sağlayan bir önlem. Modern konum / negatif kenar DFF'leri genellikle eşit toplam alana sahiptir, bu nedenle pozitif kenar eğilimi artık eski bir uygulamadır.

Alan tasarrufu "Klasik" D-flip-flop tasarımlarından geldi. Bir D-flip-flopun modern master / slave bileşenleri iki 5-transistör mandalı kullanabilir; WO1984003806 Al ve US4484087 A sayılı patentlerin her ikisi de 23 Mar 1984'te dosyalanmıştır. 8- haraçlı bir D-mandal patenti 6 Şubat 1970'te dosyalanmıştır; US3641511 A . Sadelik açısından, SR / SnRn mandallarına dayanan tasarımlar, belirtilen D mandal / S hücresi patentlerini kullanan tasarımlar için "Klasik" ve "Modern" olarak kabul edilecektir.

Bir IC tasarımında, bir NAND geçidi, bir NMOS ve PMOS'un karakteristik özellikleri nedeniyle NOR geçidinden daha az alan kullanır. Orada formu, alan tasarrufu boyutu eğilim basamaklandırır. SnRn mandallarını oluşturan D mandalları SR mandallarından daha küçüktür. Klasik D-flip-flop tasarımları bu mantık kapılarını temel alır. Birkaç tasarım aradıktan sonra Klasik pozitif kenarlı tasarımlar Klasik negatif kenarlı tasarımlardan her zaman daha küçüktür. Modernlere geçiş, cips maliyeti elverişli hale geldiğinde gerçekleşti: alan tasarrufu ve telif ücreti.


Alan farklılıklarını göstermek için biraz daha derine inmek:

Klasik pozitif kenar D-flip-flop: Şematik tabanlı Wikipedia'nın Beş NAND2 ve bir NAND3 kullanarak klasik pozitif kenar tetiklemeli D flip-flop açıklaması ve diyagramı . Bu toplamda on üç NMOS ve on üç PMOS kullanır.

şematik

bu devreyi simüle et - CircuitLab kullanılarak oluşturulan şematik

Bulabildiğim en iyi Klasik negatif kenar D-flip-flop, iki D-Mandalı ve iki invertör kullanıyor. Şematik başvuru formu http://students.cs.byu.edu/~cs124ta/labs/L02-FSM/HowToUseMasterSlave.html . Bu toplam on sekiz NMOS ve on sekiz PMOS kullanır. Bir eviriciyi yukarıdaki klasik poz üzerine yerleştirmek, bu tasarımın transistör sayısını düşürecektir. Her iki durumda da, klasik negatif kenar pozitif kenarlı tasarımdan daha büyüktür.

şematik

bu devreyi simüle et

Modern bir D-flip-flop tasarımı, WO1984003806 Al ve US4484087 Beş transistörlü bir D mandallı tarifine dayanarak aşağıdakilere bakabilir . Bu, toplam beş NMOS ve ince PMOS kullanır; Klasik ile karşılaştırıldığında büyük alan tasarrufu. Master / slave sırasını ters çevirmek, eşit boyutta negatif kenarlı bir flip-flop oluşturur.

şematik

bu devreyi simüle et

Sadece mümkün olan en küçük tasarımları gösteriyorum. Tasarımlar, tasarım gereksinimlerine, izin verilen standart hücre kitaplıklarına, sıfırlama / ön ayar özelliklerine veya diğer nedenlere dayanabilir.


İyi bir noktaya değindin. Soruna saat dağılımından yaklaşıyordum, ancak DFF mimarisinin nasıl farklı olabileceğini görebiliyorum. Ancak, negatif kenar tetikli flopların da NAND tabanlı bir mimariye sahip olabileceğini düşünüyorum. Bahsettiğiniz mimarilerin bir şemasını ekleyebilir misiniz?
travisbartley

1
@ trav1s, cevabımı örnekler ve bazı patent araştırmalarıyla güncelledim.
Greg

Çiplerin harici olarak uygulanan bir saatin kenarlarına dayanarak çalışması gereken mandallar için ne kadar teknik kullandığını merak ediyorum? Örneğin, iki fazlı saatleme ve yarı dinamik mantık kullanılarak, bir flop başına gereken transistör sayısı yedi'ye düşürülebilir [tamamen dinamik bir yaklaşım altı olur, ancak yedinci bir transistör eklemek kişinin tamamen statik bir "tutma" durumu eklemesine izin verir ].
supercat

@Greg, harika iş. Bulgu, beklediğim şeyle ilgili. Sonunda 10T transistör güzel bir şey.
travisbartley

İlginç bir cevap ve çok anlayışlı. Posedge trendinin 70'lerden önce geldiğini söylüyorsunuz, ancak bu bulgularımla tutarlı değil (cevabıma bakın). Bu tarihe seni ne getirdi? Bir tahmininiz mi var, yoksa ek bilginiz var mı? Eğer ikinciyse, bir referans almaktan memnuniyet duyarım (kendi cevabımı geliştirmek için :))
Vasiliy

3

Burada başka bir yayında ele alınan bazı temel varsayımlar var (şimdi bulamıyorum).

Yerleştirilen toplam mantık öğesi ve saatli mantık (toplam FF sayısı) sayılırsa, büyük olasılıkla işlemci ve mikroişlemciler, Intel, DEC vb. Olacaktır. Bunun tezahürü, iç işlerin çok fazla detayı olmayan, onlarca yılı kapsayan tasarımlardan sorumlu insanlar / ekipler.

Tersine, ASIC akışları üzerinde çalışan birçok farklı ekibiniz var, daha fazla projeye ancak daha az hacme sahip.

Çoğu işlemci tasarımı aslında pozitif veya negatif kenar saatli değildir, ancak çift mandallı, NOC (Çakışmasız Saat) ücretsiz saat düzeni kullanılarak tasarlanmıştır.

Böylece girişler -> (mantık bulutu) -> saatten mandal -> mantık bulutu -> mandal! Saat şemasından gelir. İçinde mantık dolu bir usta köle FF'nin kanonik şeklidir.

Bu tür tasarım metodolojisinin çeşitli avantajları vardır, ancak ek karmaşıklığı da vardır.

Bir başka talihsiz şey, bu tasarım metodolojisinin çoğu üniversitede öğretilmemesidir. Tüm Intel x86 tasarımları, mobil telefonlar için tasarladıkları kayda değer sentezlenebilir SOC çekirdeği ile bu tür (arabirimlerin harici çalışmasını dahili işlemle karıştırmamalıdır).

Bununla ilgili mükemmel bir söylem "Dally, William J. ve John W. Poulton" da bulunabilir. Sayısal Sistem Mühendisliği. Cambridge University Press, 1998. bölüm 9.5'te "açık döngü senkron zamanlama" <-bölüm başlığı tartışılmaktadır. Ancak alıntılamak için "Kenar tetiklemeli zamanlama, nadiren ileri teknoloji mikroişlemcilerde ve sistem tasarımlarında nadiren kullanılır, çünkü saat eğimine bağlı minimum döngü süresi ile sonuçlanır".

Evet, tamamen bilgiç bir cevap. ancak bu tasarımlarda (lotlar ve lotlar) toplam toplam transistörün kaç tane olduğunu göz önünde bulundurarak az bilinen önemli bir metodoloji vardır.


Bunu üç kez okudum, ama bunun OP'nin sorusuyla nasıl bağlantılı olduğunu hala göremiyorum ...
Vasiliy

1
Ayrıca, CPU'ların sadece mandallardan oluştuğunu söylemek biraz abartıdır (belki bir "bit" bile değildir). Mandallar, yüksek performanslı kritik mantıkta (çoğunlukla veri yolları) kullanılır, ancak hala çok sayıda parmak arası terlik vardır. Mandalların ana dezavantajı zamanlama analizi zorluğudur - mandal tabanlı tasarımın "zaman ödünç alma" yeteneği (bu tasarımı "daha hızlı" yapan aynı özellik) nedeniyle, mandal tabanlı tasarımın zamanlama kapanışı için test edilmesi çok zordur. CPU'ların kritik olmayan kısımlarında esas olarak FF'ler kullanılır.
Vasiliy

Başlıktaki anahtar kelime "genellikle" - 1) tasarlanmış farklı çip türlerinin toplam sayısı içinde - o zaman ASIC akışı ve kenar tetikleyicisi olağan olacaktır. 2) sevk edilen mantık elemanı / transistörlerin toplam sayısı CPU tasarımları kazanır ve mandal tabanlı çift saat kazanır ve sonra ifade geçersizdir.
placeholder

1
Dahili işlemin ne olduğunu belirlemek için bu yongaların arayüzüne bakamazsınız. Daha önce de belirttiğim gibi, bir Master slave Flip Flop, iki fazlı bir saat mantık bulutu mandal tabanlı tasarımın basitleştirilmiş bir versiyonudur. Zamanlama analizi zor değildir, aslında basitleştirilmiştir. Saat alanlarınızdan emin olsanız iyi olur.
placeholder

1
Hayır, anahtar kelimeler "flip-flop" ve "saatin kenarı" dır. Mandallar kenara duyarlı olmayan seviyeye duyarlı cihazlardır. Elmalar ve portakallar adam - portakalın neden portakal olduğunu bilmek istersem, elmayı tercih eden birçok insanın olması tamamen önemsizdir.
Vasiliy

2

Mevcut CMOS teknolojisinin performansı (güç / alan / hız / maliyet açısından) kullanılan tetikleme şemasına duyarsız görünmektedir.

Yukarıdaki ifadeyi titizlikle kanıtlayamıyorum çünkü çok fazla ön bilgi ve araştırma gerektiriyor ve kanıtın özeti bile bir cevap için çok uzun olacak. En iyi bilgime göre, hiçbir fark yok, bu yüzden böyle olduğunu varsayalım.

Parmak arası terlik hakkındaki açıklamanın genellikle saatin pozitif kenarında tetiklenip tetiklenmediğini bilmiyorum (inanıyorum). Bunun aşağıdaki tartışma amacıyla da doğru olduğunu varsayalım.

Yukarıdaki varsayımların altında sadece iki olasılık görüyorum:

  • Pozitif kenar tetikleme bir standart haline geldi çünkü geçmişte bir zamanlar bazı belirgin avantajları vardı. Bu avantajdan yararlanan teknoloji modası geçmiş olduktan sonra, pozitif kenar tetikleme hala fiili standart olarak kaldı.
  • Pozitif kenar tetikleme, herhangi bir mühendislik meşruiyeti olmadan bir standart haline geldi, yani geçmişte herhangi bir mantıksal ailede ve herhangi bir teknoloji düğümünde herhangi bir avantaj sağlamadı.

Pozitif kenar tetiklemenin ne zaman standart haline geldiğini görmek için Intel'in CPU'larının saatleme planlarının gelişimini izlemeye karar verdim :

  1. φ2
  2. 8086 : Veri Çıkışının kilitlenmesi CLK'nin negatif kenarında yapıldı.
  3. 80386 : CLK2'nin pozitif kenarı kullanıldı .
  4. 80486 : CLK'nın pozitif kenarı kullanıldı .
  5. Pentium : CLK'nın pozitif kenarı kullanılmış ...

Görünüşe göre Intel negatif kenar tetikleme ile başladı (bu terim ilk CPU'lara hiç uygulanabiliyorsa), ancak 386'dan başlayarak pozitif kenar tetiklemeye geçti.

8086'da HMOS teknolojisi (bir tür Depletion-yük NMOS mantığı ) kullanılırken 80386, CHMOS'dur (bir çeşit CMOS). CMOS teknolojisinin benimsenmesine paralel olarak pozitif kenar tetiklemenin benimsenmesi gibi görünüyor. CMOS'un pozitif kenar tetiklemesine herhangi bir avantaj sağlamadığını varsaydık, bu nedenle bu sözleşmenin keyfi olduğu anlaşılıyor.

Ancak, üç noktayı aklımızda tutmalıyız:

  • Mevcut CMOS teknolojilerinin herhangi bir avantaj sağlamadığını varsaydık .
  • Yukarıdaki varsayım hiçbir şekilde kanıtlanmamış veya tartışılmamıştır.
  • Veri sayfalarından Data Out'un hangi kenarda kilitlendiği açıktır, ancak bu dahili uygulamayı temsil etmeyebilir.

Açıkçası, ek araştırmalara yer vardır. Devam edecek...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.