Tehlike (mantık) - Hazard (logic)

İçinde dijital mantık, bir tehlike Bir sistemde, ya sistemdeki bir eksiklik ya da dış etkilerden kaynaklanan istenmeyen bir etkidir. Mantık tehlikeleri, giriş değişkenlerindeki değişikliklerin, mantık öğelerinin neden olduğu bir tür gecikme nedeniyle çıktıyı doğru şekilde değiştirmediği bir sorunun tezahürüdür (DEĞİL, VE, OR kapıları, vb.) Bu, mantığın işlevini düzgün şekilde yerine getirmemesine neden olur. En yaygın üç farklı tehlike türü genellikle statik, dinamik ve işlev tehlikeleri olarak adlandırılır.

Mantık devresi sonunda istenen işleve geleceği için tehlikeler geçici bir sorundur. Bu nedenle, senkron tasarımlarda standart bir uygulamadır. Kayıt ol Tehlikelerin herhangi bir soruna yol açmaması için, bir devrenin farklı bir saat alanında kullanılmadan veya sistem dışına yönlendirilmeden önceki çıkışı. Ancak durum böyle değilse, diğer bağlı sistemler üzerinde etkisi olabileceğinden tehlikelerin ortadan kaldırılması zorunludur.

Statik tehlikeler

Statik tehlike, bir girdi değişkeni değiştiğinde, çıktının doğru değere sabitlenmeden önce anlık olarak değiştiği durumdur. İki tür statik tehlike vardır:

  • Statik-1 Tehlikesi: Çıkış şu anda 1'dir ve girişler değiştikten sonra, çıkış 1'e yerleşmeden önce anlık olarak 0,1'e değişir.
  • Statik-0 Tehlikesi: Çıkış şu anda 0'dır ve girişler değiştikten sonra, çıkış 0'a yerleşmeden önce anlık olarak 1,0'a değişir

Ürünlerin Toplamı ifadesine dayalı olarak uygun şekilde oluşturulmuş iki seviyeli VE-VEYA mantığında, statik-0 tehlikesi olmayacaktır. Tersine, bir Toplamlar Ürünü ifadesinin OR-VE uygulamasında statik-1 tehlikesi olmayacaktır.

Statik tehlikeleri ortadan kaldırmak için en yaygın kullanılan yöntem, fazlalık mantık eklemektir (mantık ifadesinde fikir birliği terimleri).

Statik tehlike örneği

Fiziksel mantık elemanlarında, yani AND kapılarında vb. Gecikmeden muzdarip kusurlu bir devre düşünün.

Basit devre şunları belirterek işlevi gerçekleştirir:

Başlangıç ​​şemasına bakıldığında, herhangi bir gecikme olmaması durumunda devrenin normal şekilde çalışacağı açıktır. Bununla birlikte, hiçbir zaman tam olarak aynı şekilde üretilmemiştir. Bu kusur nedeniyle, ilk AND geçidi için gecikme, muadilinden biraz farklı olacaktır. Bu nedenle, giriş 111'den 011'e değiştiğinde bir hata oluşur, yani X1 durumu değiştiğinde.

Şimdi kabaca tehlikenin nasıl ortaya çıktığını biliyoruz, daha net bir resim ve bu sorunun nasıl çözüleceğine dair çözüm için, Karnaugh haritası İki kapı içi dolu halkalarla gösterilmiştir ve tehlike, kesikli halkanın altında görülebilir. Huffman tarafından kanıtlanmış bir teorem[1] bize fazladan bir 'X2X3' döngüsü ekleyerek bunun tehlikeyi ortadan kaldıracağını söyler.

Yani şimdi orijinal fonksiyonumuz: f = X1 * X2 + X1'* X3 + X2 * X3

Şimdi, kusurlu mantık elemanlarıyla bile, örneğimizin X1'in durumunu değiştirdiğinde tehlike işaretleri göstermeyeceğini görebiliriz. Bu teori herhangi bir mantık sistemine uygulanabilir. Bilgisayar programları şu anda bu işin çoğuyla ilgileniyor, ancak basit örnekler için hata ayıklamayı elle yapmak daha hızlı. Çok sayıda girdi değişkeni olduğunda (6 veya daha fazla diyelim) hataları bir Karnaugh haritasında 'görmek' oldukça zor olacaktır.

Dinamik tehlikeler

Dinamik bir tehlike, tek bir giriş değişikliğinin bir sonucu olarak bir çıktının birden fazla değişme olasılığıdır. Dinamik tehlikeler, genellikle çıkışa (girişten) giden farklı yolların olduğu daha büyük mantık devrelerinde ortaya çıkar. Her rotanın farklı bir gecikmesi varsa, gerekli / beklenen çıktıdan farklı olan çıktı değerlerini değiştirme potansiyeli olduğu hızla anlaşılır.

Örneğin. Bir mantık devresi, çıkış durumunu 1 -e 0, ancak bunun yerine 1 -e 0 sonra 1 ve nihayet doğru değerde durur 0. Bu dinamik bir tehlikedir.

Kural olarak, dinamik tehlikelerin çözülmesi daha karmaşıktır, ancak bir devreden tüm statik tehlikelerin ortadan kaldırılması durumunda dinamik tehlikelerin oluşamayacağını unutmayın.

İşlevsel tehlikeler

Statik ve dinamik tehlikelerin aksine, işlevsel tehlikeler, birden fazla girdiye uygulanan bir değişikliğin neden olduğu tehlikelerdir. Bunları ortadan kaldıracak belirli bir mantıksal çözüm yoktur. Gerçekten güvenilir bir yöntem, girdilerin aynı anda değişmesini önlemektir, ki bu bazı durumlarda uygulanamaz. Bu nedenle devreler, her yolda eşit gecikmelere sahip olacak şekilde dikkatlice tasarlanmalıdır.[2]

Ayrıca bakınız

Referanslar

  1. ^ Huffman, D.A. (1957), Tehlikesiz Anahtarlama Ağlarının Tasarımı ve Kullanımı, J. ACM 4, 47
  2. ^ "Tehlikeler". www.ee.surrey.ac.uk. Alındı 2018-03-17.