Mandal ve flip-flop arasındaki fark?


51

Bir mandal ile flip-flop arasındaki fark nedir?

Benim düşündüğüm şey, bir sürgünün flip-flop'a eşdeğer olmasıdır, çünkü bitleri depolamak için kullanılır ve aynı zamanda veri depolamak için de kullanılan bir register'a eşdeğerdir. Ancak internette bazı makaleler okuduktan sonra kenara doğru tetiklenen ve seviye duyarlı fonksiyonelliğe göre mandallar ve parmak arası terlikler arasında farklar buldum.

Bu ne anlama geliyor? Parmak arası terlik, mandalla aynı mı yoksa değil mi?

Yanıtlar:


23

Temel fark bir geçit veya saat mekanizmasıdır. Örneğin, SR mandalı ve SR parmak arası terliklerden bahsedelim.

Bir SR Mandalı böyle görünecek

NAND kapılarını kullanarak SR Mandalı

S'yi aktif olarak ayarladığınızda bu devrede Q çıkışı yüksek ve Q 'düşük olacaktır. Bu, başka bir şeyden bağımsızdır. (Bu aktif bir düşük devredir, bu yüzden burada aktif düşük anlamına gelir, fakat aktif bir yüksek devre için aktif yüksek anlamına gelir)

Bir SR Flip-Flop (ayrıca kapılı veya saatli SR mandalı olarak da adlandırılır) buna benzer.

görüntü tanımını buraya girin

Bu devrede çıkış sadece aktif bir saat sinyali verdiğinizde (yani saklanan veriler değiştirilir) değiştirilir. Aksi halde, S veya R aktif olsa bile veriler değişmez. Bu mekanizma, verilerin gereksiz yere değişmemesi için devreleri ve kaydedicileri senkronize etmek için kullanılır.


Öyleyse mandalların seviye tetiklemeli ve parmak arası terliklerin kenar tetiklemeli olduğu sonucuna varabilir miyim?
trapaank

5
Mandallar hiç tetiklenmez. Girdi verir vermez, çıktısını mandallar halinde alıyorum. Flipflops, girişimi çıkışa dönüştürmek için bir saat tetikleyicisi vermek zorunda olduğum gibi tetiklenir.
Rick_2047

1
Bu bir SR flip flop değildir. Bu bir geçitli SR mandalı. Bu devrenin kurulum ve tutma süreleri, "şeffaflığı etkinleştir" pimine sahip diğer tüm mandallar gibi çalışacaktır. Bir flip flop bir master-slave konfigürasyonudur. Sadece bu mandalla döngüden döngüye geçmeyi düşünün. Yapamazsın. Karşı faz saatlerine sahip iki
sürgüye

19

Bir flip flop, bir master slave topolojisi oluşturan, ters kutup saatleri ile arka arkaya mandallar inşa edilmiştir.

Mandal tipi bu kısıtlama ile ilgisizdir (JK, SR, D, T), ancak saydamlığın bazı pimler tarafından kontrol edilmesi önemlidir (saat veya etkin veya ne istersen onu çağır).

En temel tasarım her zaman şeffaf olduğundan, SR mandalları herkesi bir döngüye atar. Bu nedenle, saat etkinleştirme eklendiğinde insanlar buna flip flop demeye başlar. Peki, öyle değil; bu bir kapı mandalı. Bununla birlikte, iki geçişli SR mandalından bir SR flip flop oluşturabilirsiniz:

gerçek SR flip flop

Veya iki JK mandalı:

gerçek jk ff

Veya iki D mandalı: görüntü tanımını buraya girin

Bir mandala (SR veya JK) bir saat pimi eklemek onu flip flop yapmaz - bunu bir kapı mandalı yapar. Saati bir kapı mandalına vurmak da bir flip flop yapmaz; bir darbe mandalı yapar ( darbe mandalı açıklaması ).

Terlikler kenar tetiklenir ve kurulum ve bekletme sürelerinin her ikisi de bu aktif kenara göredir. Geleneksel bir flip flop, hiçbir zaman döngü sınırları boyunca ödünç almaya izin vermez, çünkü ana-bağımlı topoloji, aktif saatte sert bir kenar oluşturmak için bir kilitle ve baraj sistemi gibi davranır.

Diğer yandan mandallar mandalın şeffaflığına kurulur ve mandal kapanana kadar basılı tutun. Ayrıca, tüm şeffaflık aşaması boyunca borçlanmaya izin veriyorlar. Bunun anlamı, bir yarı çevrim yolunun yavaş olması ve diğer yarı çevrim yolunun hızlı olması; mandal tabanlı bir tasarıma sahip yavaş yol, hızlı yol döngüsüne zaman alabilir.

Bir yolun her pikosaniyesini sıkmanız gerektiğinde çok yaygın bir tasarım hilesi, flip flop'u birbirinden ayırmak (iki ayrı mandala) ve aradaki mantığı kullanmaktır.

Temel olarak kurulum ve tutma süreleri bir mandal ve flip flop arasında tamamen farklıdır; döngü sınırlarının nasıl ele alındığına bakıldığında. Herhangi bir mandal tabanlı tasarım yaparsanız, ayrım önemlidir. Birçok insan (bu sitede bile) ikisini karıştıracak. Ancak bir kere onlar arasında zamanlamaya başladığınızda fark çok netleşir.

Ayrıca bakınız:

mandalları ve flip flopları açıklayan iyi metin

Bir flip flop nedir?

Düzenle:

Sadece bir t-geçit tabanlı D-flip flop gösteriliyor (iki fazdan arkaya t-geçit tabanlı D mandallarının ters fazlı saatlerle oluşturulduğuna dikkat edin).

t-geçit tabanlı d ff


Selam jb eski canlanma rozeti için gidiyor? Kitaplarımda "mandal" bir eşzamansız hafıza kaydı iken, "flip flop" eşzamanlı bir hafıza kaydıdır, bazıları da Ayarla / Sıfırla adında eşzamansız özelliklere sahiptir. Fiili olarak, tüm senkronize işlemler kenara duyarlıdır.
Tony Stewart Sunnyskyguy EE75

@ TonyStewart.EEsince'75: Heh, benden önce başkası cevap verdi. Evet bu tanıma aşinayım ama biraz el dalgası. Flip-flop'un zıt faz saatlerine sahip iki mandaldan yapıldığını fark etmenin çok daha açık olduğunu düşünüyorum. Bu, tam olarak ne olup bittiğinin tam olarak anlaşılmasını ve kurulum ve bekletme sürelerinin daha iyi anlaşılmasını sağlar. Standart hücreleri karakterize ederken veya herhangi bir özel veri yolu tasarımını yaparken önemli bir ayrımdır. Ayrıca belirsizliğe yer bırakıyor: zaman ödünç çevirme parmak arası terliklerin, örneğin aktif clk kenarının etrafında eşzamansız bir karaktere sahip olması.
jbord39

Flopların farklı saat fazlarında çalışan mandal çiftleriyle değiştirilmesi, bu fazlar arasında ölü zamanın dahil edilmesini sağlar. Bazı yongalar ön uç mandallarını yalnızca saat girişleri (1/3) VDD'nin altındayken etkinleştirirse ve arka uç yalnızca saat girişi (2/3) VDD'nin üzerindeyken mandalları kaldırırsa, aynı saati paylaşan cipsler Tüm çiplerin saatin üzerinde (1/3) VDD'nin (2/3) VDD'yi görmesinden önce (1/3) VDD'nin üzerinde yükseldiğini görmesi koşuluyla saat anahtarını tam olarak aynı anda görmeseler bile güvenilir bir şekilde iletişim kurabilirler. Böyle bir tasarım gibi görünüyor ...
supercat

... neredeyse her şekilde bir Schmidt tetikleyiciden işlevsel olarak daha iyi; Yazıcı kayıtlarının neden önde ve arka taraf zamanlamasını ayırmak yerine Schmidt tetikleyicilerini kullanmasının daha yaygın olduğunu merak ediyorum?
supercat

1
+1. Bu en iyi cevap, IMO. Diğerleri, bir şekilde veya başka şekilde, kenar tetikleme (FF) ve geçit (geçmeli mandallar) arasındaki farkı karıştırır. Özellikle yeni başlayanlar için uygulama tarafında biraz ağır. Bir nitpick: Kenar tetiklemenin tek tekniğinin bir master-slave konfigürasyonunda iki mandalı bağlamak olduğunu ima ediyorsun. Ben bir uzman değilim, ancak (IIRC) kenar tetiklemenin uygulanacağı başka püf noktaları olduğunu düşünüyorum.
Lorenzo Donati, Monica

6

Bir mandal giriş verisini doğrudan açık durumda geçirir ve çıkışı mandallı durumda dondurur. Mandal kontrol sinyali seviyesine cevap verir .

Çeşitli flip-flop türleri vardır, ancak bunlar temel olarak kontrol sinyalinin ve bazı durumlarda veri girişlerinin kenarlarında değişir . Klasik bir D flip-flip, yalnızca saatin belirli bir kenarındaki girişe bakmak ve çıkışı kalan süre boyunca dondurmak dışında en çok bir mandal gibidir.


mandal ve flip flop arasında herhangi bir fark var mı yok mu?
saat

@ ankur.trapasiya: Evet.
Olin Lathrop

hmmm ... biraz temizlendi .. !! anladığım kadarıyla flip flop bir saate ihtiyaç duyuyor ve bir mandal buna ihtiyaç duymuyor.
trapaank

1
@ ankur.trapasiya: evet, mandalların saat girişi yok, ancak buna karşılık gelen girişi var: çoğu zaman ENABLE. Bir Flip-Flop'un saat girişi kenara duyarlıdır, mandalın etkin girişi seviye duyarlıdır, yani etkin olduğunda aktif değişir ve giriş değişir.
Lor

1
@Jbord: Bunu çok karmaşık hale getiriyorsunuz. Mandallar düz kenarlıdır ve parmak arası terlikler kenarda saatlidir. Orada olanların hepsi bu kadar.
Olin Lathrop

6

Mandal, bistable multivibratör, yani tam olarak iki kararlı duruma sahip bir cihaz örneğidir.
Bu durumlar yüksek çıktı ve düşük çıktıdır.
Bir mandal bir geri besleme yoluna sahiptir, böylece bilgiler cihaz tarafından korunabilir.
Bu nedenle mandallar bellek cihazları olabilir ve cihaza güç verildiği sürece bir bit veri saklayabilir.
Adından da anlaşılacağı gibi, mandallar bilgileri "mandallamak" ve yerinde tutmak için kullanılır.
Mandallar parmak arası terliklere çok benzer, ancak senkronize olmayan aygıtlar değildir ve parmak arası terlik gibi saat kenarlarında çalışmaz.

görüntü tanımını buraya girin

Bir flip-flop, iki durumlu ve biraz bilgi saklamasına izin veren bir geri besleme yoluna sahip olan, bistable bir mutivibratör olduğu gibi bir mandal gibi bir cihazdır.
Bir mandal ve bir flip-flop arasındaki fark, mandalın asenkron olduğu ve çıkışların girişler olduğu anda (veya en azından küçük bir yayılma gecikmesinden sonra) değişebilmesidir.
Diğer taraftan, flip-flop kenardan tetiklenir ve sadece bir kontrol sinyali yüksekten düşüğe veya düşükten yükseğe gittiğinde durumu değiştirir.
Bu ayrım göreceli olarak yakındır ve resmi değildir, çoğu otorite hala parmak arası terliklere mandal ve tam tersi olarak atıfta bulunur, ancak açıklık adına yapmak için yararlı bir ayrımdır.

görüntü tanımını buraya girin


Bir mandal (bistable veya başka herhangi bir) bir multivibratör değildir.
Lor

2

Mandallar ve parmak arası terlikler arasındaki fark, çıkışları, serbest bırakma sinyali mevcut olduğu sürece girişlerinden sürekli olarak etkilenir. Etkinleştirildiğinde, girişleri değiştiğinde içerikleri hemen değişir. Parmak arası terlik, içeriklerini yalnızca etkinleştirme sinyalinin yükselen ya da son kenarında değiştirir. Bu etkinleştirme sinyali saat sinyalini kontrol eder. Saatin yükselen ya da takip eden kenarından sonra, giriş değişse bile flip-flop içeriği sabit kalır.


2

Fark, çoğunlukla kullanımdadır. Bir flip-flop genel bir fikirdir ve farklılıkları vardır - nasıl tetiklenir, JK girişleri veya D ve hepsi. Flipsler sayaçlar, vardiya kayıtları ve metinlerde ve parmak arası terliklerle ilgili çevrimiçi makalelerde bulunan diğer tüm kullanımlar için kullanılabilir.

Bir mandal, bir flip flop setinin (sanırım kadar az olabilir, sanırım) boolean seviyeleri verildiği, saatlendiği ve daha sonra bu değerleri çıkışlarında sürekli olarak tuttuğu özel bir kullanımdır. Konuşmak için, ikili bir değere sahip bir anlık görüntü. Yeni girişler saat içine alınmadığı veya mandal temizlenmediği sürece çıkış değerlerinde hiçbir değişiklik olmaz, bu da tüm çıkışların sıfıra ayarlanması anlamına gelir.

D tipi flip floplar bariz bir seçimdir, ancak tam olarak ne kullandığınız ya da nasıl tetiklendiği tam olarak ne tasarladığınız ya da kullanmakta olduğunuz devre ya da yonga için önemli olsa bile mandalın ne olduğu fikri için hayati önem taşımaz.


2

Şeffaf mandal, veri girişi ve kontrol girişi olan bir cihazdır. Kontrol girişinde "track" ve "hold" olarak adlandırılabilecek iki durum vardır. Bazı cihazlar kontrol girişi üzerindeki "yüksek" değeri "iz" ve düşük girişi "tutma" olarak görür; diğerleri tam tersini yapar. Kontrol girişi "iz" durumundayken, çıkışın durumu sürekli olarak veri girişinin durumunu takip etmeye çalışacaktır (veri girişinin değiştiği zaman ile çıkışın değişikliği yansıttığı zaman arasında kısa bir gecikme olacaktır). Kontrol girişi, "giriş" durumundan "tutma" durumuna geçerse, veri girişindeki son değişikliğin çıkışa ulaşma şansı olması koşuluyla çıkış, kontrol girişi devam edene kadar değerini tutacaktır. "track" durumuna geri dönün.

Şeffaf mandallar birçok şekilde kullanılabilirken, en az iki kullanım senaryosunu anlamak önemlidir. Bir senaryoda, mandal bazen geçerli verileri tutacak ve bazen geçersiz verileri tutacak bir sinyali, her zaman geçerli verileri tutacak bir sinyale dönüştürmek için kullanılır. Bu, veri girişi istenen çıkış verileriyle eşleşmeyebildiği zaman mandalı "tutma" durumunda tutarak yapılır. Mandallanmış verileri değiştirmek için, girişe istenen veriler yerleştirilir, ardından mandalı kısaca "izleme" durumuna getirilir ve "tutma" durumuna geri döner, veri girişinin "" tutma "sinyali etkin. Bu düzenleme, örneğin sekiz kontrol sinyali ve sekiz veri sinyali kullanarak 64 çıkışlarını kontrol etmek için kullanılabilir. Her kontrol sinyali sekiz mandal çalıştırır, bunlardan biri sekiz veri sinyalinin her birine bağlanmıştır. Biri, kenarla tetiklenen flip flop'ları mandallar kadar kolay bir şekilde kullanabilir, ancak bir mandal için devre biraz daha basittir. Bu senaryoda kenar tetiklemeli bir flip flop'un "hold" den "track" e geçişi ideal olarak tetikleyeceğini unutmayın.

İkinci kullanım senaryosunda giriş, mandal "şeffaf" duruma geçtiğinde anlamlı olmayabilir, fakat mandal "tutma" konumuna geçmeden önce anlamlı hale gelecektir. Çıktısını kullanan cihazlar, mandal "tutmaya" geçene kadar bir süre geçinceye kadar durumu dikkate almazsa, o zaman çıktıya beslenecek olan veri girişinin durumu olacaktır. Bu senaryoda, kenar tetiklemeli bir flip flop kullanılabilir, ancak "track" den "hold" e geçiş sırasında tetiklenmesi gerekir. Mandala veri girişi "hold" den "track" e geçmeden önce önemli bir süre geçerse, çıkışın da aynı şekilde olacağını unutmayın. Buna karşılık, bir flip flop'un çıkışı ancak saat değiştiğinde geçerli olur.


1

ana fark mandal, JK-FF ve T-FF..'de koşul etrafında yarış olmadığından, JK-FF ve T-FF..'de koşul etrafında yarış olmadığı ve flipflopların kenar tetiklendiği için koşul etrafında yarış olmadığı durumda tetiklenen seviyedir. FF içinde.


0

Mandallar ve parmak arası terlikler arasındaki temel fark, mandallar için çıkışlarının, etkinleştirme sinyali verildiği sürece girişlerinden sürekli olarak etkilenmesidir. Başka bir deyişle, etkinleştirildiğinde, içerikleri değiştiğinde derhal içerikleri değişir. Diğer yandan, parmak arası terlik, içeriklerini yalnızca etkinleştirme sinyalinin yükselen veya düşen kenarında değiştirir. Bu etkinleştirme sinyali genellikle kontrol saati sinyalidir. Saatin yükselen veya düşen kenarından sonra, giriş değişse bile flip-flop içeriği sabit kalır


5
Bu, Prasanth'in iki yıl önce yayınlanan cevabında henüz yer almayan hiçbir şey eklemiyor gibi görünüyor.
PeterJ

@PeterJ: Dilbilgisini düzeltir (orijinal cevabın çözülmemiş bir cevabı vardı). Yine de önceki cevabın bir düzenlemesi olmalıydı.
Ben Voigt,
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.