1 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan19.09.2003 İkili Karar Diyagramı (Binary Decision Diagram : BDD) Boole fonksiyonlarının.

Slides:



Advertisements
Benzer bir sunumlar
Bilgisayar Programlama Güz 2011
Advertisements

ÖNERME ANALİZİ VE YÜKLEM MANTIĞI Yılmaz KILIÇASLAN.
GEOMETRİ PERFORMANS ÖDEVİ
L Bandı Döngü Tipi EDFA’da Çekirdek Sinyal Enjeksiyonu ile Optik Anahtarlama Ahmet ALTUNCU Dumlupınar Üniversitesi, Mühendislik.
MATLAB’ ta Diziler.
Bölüm I Temel Kavramlar
ÖNERME ANALİZİ VE YÜKLEM MANTIĞI Yılmaz KILIÇASLAN.
EŞANLI DENKLEMLİ MODELLER. Eşanlı denklem sisteminde, Y den X e ve X den Y ye karşılıklı iki yönlü etki vardır. Y ile X arasındaki karşılıklı ilişki nedeniyle.
ÖZEL TANIMLI FONKSİYONLAR
MIT503 Veri Yapıları ve algoritmalar En önemli graf problemleri
Yapay Zeka DR.KORHAN KAYIŞLI.
7. Wheatstone Köprüsü: V1: Besleme gerilimi, V2: Ölçülen gerilim + -
FONKSİYONLAR ve GRAFİKLER
BAĞINTI T ANIM: Boş olmayan A ve B kümeleri için, A×B nin her alt kümesine, Adan B ye bir bağıntı denir.A×B nin her alt kümesine de A dan A ya bir bağıntı.
İkili Arama Ağaçları (Binary Search Trees) BST
Yalınlaştırma İle İlgili Tanımlar
Çizge Algoritmaları.
Endüstriyel Elektronik
Binary Ağaçlar (Ekleme/Silme Örnekleri)
DEVRE TEOREMLERİ.
DEVRE TEOREMLERİ.
Sürekli Olasılık Dağılım (Birikimli-Kümülatif)Fonksiyonu
Temel Kanunlar ve Temel Elektronik
MIT503 Veri Yapıları ve algoritmalar Veri ağaçları
TBF - Genel Matematik I DERS – 8 : Grafik Çizimi
GRAF TEORİSİ Ders 1 TEMEL KAVRAMLAR.
Mantıksal Tasarım Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü.
Kısıtlamalı Sorunlar Constraint Satisfaction Problems
MATRİS-DETERMİNANT MATEMATİK.
Ödev 02a Transfer Fonksiyonu: Problem 1: Problem 2: Problem 3:
FONKSİYONLARIN GRAFİKLERİ
Minterim'den maksterime dönüşüm
Yrd. Doç. Dr. Ayhan Demiriz
PowerShell v3.0 ile Hyper-V Yönetimi
D O G A L S A Y I L A R.
FONKSİYONLAR.
Mustafa Kösem Özkan Karabacak
örnek: Max Z=5x1+4x2 6x1+4x2≤24. x1+2x2≤6
1. PLC`nin Taricesi 1960 yılında yüksek verimlilik, güvenilirlik ve yeni devreler gibi üstünlükleri ile birlikte bilgisayarlar kullanılmaya başlandı. Buda.
Bilgisayarlarda Bilgi Saklama Kapı Devreleri Flip-Flop Devreleri
Muslu Uğur Erdoğan Kemal Öztürk Mert Kadir Assoy Oktay Bilal Çıkılı
KARTEZYEN ÇARPIM Sıralı İkili İki Kümenin Kartezyen Çarpımı
SONLU ELEMANLAR DERS 5.
SİSTEM ANALİZİ ve TASARIM
BOOLEAN MATEMATİĞİ.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Algoritmalar ve Programlama I Ders 8:DİZİ (VEKTÖR) KAVRAMI
AVL(Adel’son-Vel’skiĭ and Landis) Ağacı AVL ağacı, iki alt ağacının yükseklikleri farkının en fazla 1 olabildiği dengeli ikili arama ağacıdır. AVL ağacında.
Denklemeler içerdiği değişkenin sayısına ve kuvvetine göre sınıflandırılır. Aşağıdaki örneklere bakarsak; 2x+4=15I. Dereceden I Bilinmeyenli Denklem x.
Çoklayıcı (multiplexer) Devreleri
YAPAY SİNİR AĞLARI.
Elektrik Devrelerinin Temelleri dersinde ne yapacağız? Amaç: Fiziksel devrelerin elektriksel davranışlarını öngörme akım ve gerilim Hatırlatma Teori oluşturken.
Bir başka ifade biçimi: Blok Diyagramları
1. Mertebeden Lineer Devreler
Zamanla Değişmeyen Lineer Kapasite ve
GrafTeorisine İlişkin Bazı Tanımlar
Tanım: ( Temel Çevreler Kümesi)
1-a) Şekildeki devrede 5 Gauss yüzeyi belirleyin ve KAY yazın.
Elektrik Devrelerinin Temelleri dersinde ne yapacağız? Amaç: Fiziksel devrelerin elektriksel davranışlarını öngörme akım ve gerilim Hatırlatma Teori oluşturken.
3. Kirchhoff’un Akım Yasası (KAY)
1-a) Şekildeki devrede 5 Gauss yüzeyi belirleyin ve KAY yazın.
GrafTeorisine İlişkin Bazı Tanımlar
Sayı Sistemleri.
G grafının aşağıdaki özellikleri sağlayan Ga alt grafına çevre denir:
Teorem: (Tellegen Teoremi) ne elemanlı bir G grafında KAY’sını
Teorem: (Tellegen Teoremi) ne elemanlı bir G grafında KAY’sını
Net 107 Sayısal elektronik Öğr. Gör. Burcu yakışır girgin
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

1 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan İkili Karar Diyagramı (Binary Decision Diagram : BDD) Boole fonksiyonlarının bir gösterilim şekli: Lee , Akers , Bryant BDD, çevre içermeyen köklü-yönlü graftır Her düğüm n değişkenden birisine karşı düşer Her düğümden 2 dal çıkar Tek bir kök düğüm, 2 farklı uç düğüm uç düğümlerin değeri = Boole fonksiyonunun değeri x1x1 x2x2 x3x3 10 v1v1 v2v2 v3v3 f = x 1 x 3 +x 2 x 3 fonksiyonunun BDD grafı

2 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan BDD Yol: kök düğümden uç düğüme kadar tüm düğüm ve elemanların kümesi Bir OBDD’de tanımlı bir yoldaki düğümlerde değişkenler sıralıdır Tüm yollarda değişken sırası aynıdır Değişken sıralaması  : x 1 < x 2 <... < x n x1x1 x2x2 x3x3 10 v1v1 v2v2 v3v3 f = x 1 x 3 +x 2 x 3 fonksiyonunun  değişken sıralaması: π: x 1 < x 2 < x 3

3 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan BDD’nin öteki gösterilimlerle kıyaslanması Sonuç: Temel işlemlerde BDD daha hızlı

4 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan BDD’lerde yapılan öteki temel işlemler  BDD’deki algoritmaların karmaşıklığı BDD büyüklüğüne polinomsal bağlı BDD grafları nasıl küçültülebilir?

5 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan Değişken Sıralama (Variable Ordering) f(x 1, x 2, x 3 ) = x 1 x 2 +x 3 x 4 +x 5 x 6 Değişken sıralaması π a : x 1 < x 2 < x 3 < x 4 < x 5 < x 6

6 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan Değişken Sıralama (Variable Ordering) f(x 1, x 2, x 3 ) = x 1 x 2 +x 3 x 4 +x 5 x 6 Değişken sıralaması π b : x 1 < x 3 < x 5 < x 2 < x 4 < x 6

7 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan Değişken Sıralama (Variable Ordering) Bir BDD düğümünün bellekte kapladığı yer: 20 bayt 2 farklı değişken sıralaması için gereken bellek: Sonuç: Değişken sıralaması işlem hızını etkiler

8 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan BDD Uygulamaları İki Seviyeli İndirgeme - Asal bileşenleri üretme(  bu çalışmanın konusu) - Minimal örtü (tek koşullu örtü problemi) Kısmen Belirli Ardışıl Makineleri İndirgeme - Uyumlular ve asal uyumlular sınıflarını üretme - Minimal kapalı örtü (çift koşullu örtü problemi) Ayrıştırma - Ashenhurst Ayrıştırması - Roth-Karp Ayrıştırması

9 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan Asal Bileşenleri BDD Yardımıyla Üretme Boole fonksiyonunun asal bileşenleri, kofaktörlerindeki asal bileşenleri cinsinden ifade edilebilir Boole fonksiyonu f’in 1 noktalarını gösteren küplerin kümesi P P 1k : x k değişkeni içermeyen küplerin kümesi P x’k : x k değişkeninin tümleyenini içeren küplerin kümesi P xk : x k değişkeninin kendisini içeren küplerin kümesi  P = P 1k  ({x’ k }  P x’k )  ({x k }  P xk )

10 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan Boole fonksiyonunun asal bileşen kümesi  AB 3 alt kümeyle ifade edilir: - x k değişkenini içermeyen asal bileşenlerin kümesi - x k değişkenini içeren asal bileşenlerin kümesi - x k değişkenini içeren asal bileşenlerini kümesi Asal Bileşenleri BDD Yardımıyla Üretme xkxk Herhangi bir BDD grafının kök düğümü Boole fonksiyonunu temsil eder okok sksk Herhangi bir AB BDD’sinin kök düğümü, Boole fonksiyonunun tüm AB’lerini gösterir

11 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan Asal Bileşenleri BDD Yardımıyla Üretme f(x 1, x 2 ) = x 1 x 2 f(o 1, s 1, o 2, s 2 ) = o 1 s 1 o 2 s 2 Asal Bileşen Üretme

12 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan Asal Bileşenleri BDD Yardımıyla Üretme ya da gereksiz düğüm

13 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan Asal Bileşenleri BDD Yardımıyla Üretme IPCP, Implicit Prime Computation Program (Kapalı Yöntemle Asal Bileşen Hesaplama Programı) IPCP optimal çözümü vermektedir 3000 satır C kodu BDD yapıları için BuDDy yazılım paketi kullanılmıştır BuDDy, Kopenhag Enformasyon Teknolojisi Enstitüsü’nden Jørn Lind-Nielsen’in doktora çalışmasında geliştirilmiştir Sun Solaris 2.6 altında GCC C derleyicisi ile derlenmiştir Sun UltraSPARC 80 iş istasyonu 2 x 450 MHz UltraSPARC II CPU, 2 GB RAM

14 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan Asal Bileşenleri BDD Yardımıyla Üretme ipcp -i or2.pla -f 0 -d -p gen_dnf_array.i 2.o 1.p e gen_bool_to_bddcoudert_prime bdd_fnprintdotgen_bdd_pla.i 2.o 1.p e gen_bdd_pla.i 2.o 1.p e bdd_fnprintdot or2.pla

15 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan IPCP’nin Değişik Bençmarklarla Testi Zor bençmarklar I/O: I: Giriş değişken sayısı, O: çıkış fonksiyon sayısı NMI: Minterm sayısı NPI: Eerçekteki asal bileşen sayısı RNPI: BDD yardımıyla hesaplanan asal bileşen sayısı ENPI: Eleme sonucunda elde edilen asal bileşen sayısı T BDD : BDD graflarını oluşturma süresi [saniye] T PIBDD : Asal bileşenleri gösteren BDD graflarını oluşturma ve tüm asal bileşenleri elde süresi [saniye] T ELIM : gereksiz asal bileşenleri eleme süresi [saniye] S BDD : BDD grafının bellekte kapladığı alan [bayt, megabayt] S RED : elenmemiş asal bileşenlerin karakter formatında bellekte kapladığı alan [bayt, megabayt] S IRR : elenmemiş asal bileşenlerin bit formatında bellekte kapladığı alan [bayt, megabayt]

16 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan Diğer bençmarklar

17 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan Diğer bençmarklar

18 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan IPCP Sonuçları 9 tek çıkışlı, 81 çok çıkışlı toplam 90 PLA bençmarkında test yapıldı Gereksiz Düğümler (Redundant Vertices) Gereksiz düğümler nedeniyle asal bileşen listesi, fazla küpler içermekte Fazla küpler, gerçek asal bileşenler tarafından kapsanmakta Fazla küp oranı %0 ile % (1000 kat) arasında değişmekte Simetrik fonksiyonlarda fazla küp yok Çoğu bençmarkta fazla küp, asal bileşen sayısının yaklaşık 10 katı Bellek Fazla küp nedeniyle bellek kullanımı çoğu bençmarkta gereğinden 10 kat daha büyük Her bir asal bileşen biti bir char ile gösterildi Asal bileşenler için long long int kullanıldığında bellek yarıya düşüyor İşlem Zamanı Fazla küp nedeniyle aşırı büyük bellek yüzünden işlem süresi çok yüksek m fonksiyonun tüm kombinezonlarının asal bileşenlerini hesaplama uzun zaman alıyor

19 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan IPCP Sonuçları 9 tek çıkışlı, 81 çok çıkışlı toplam 90 PLA bençmarkında test yapıldı BDD gösterilimi Boole fonksiyonlarının BDD grafı bellekte az yer tutuyor Örnek: sym10, 10 değişkenli simetrik fonksiyon. Minterm sayısı: 837, açık (explicit) yöntemde kullanılan bellek: 3348 bayt asal bileşen sayısı 3150, açık (explicit) yöntemde kullanılan bellek: 12.6K BDD grafı belleği: 760 bayt fonksiyonların çarpımlarını hesaplamak hızlı: Uygula (Apply) algoritması

20 İkili Karar Diyagramları Yardımıyla Lojik Devre Tasarımı Utku Özcan SONUÇ BDD’lerle ilgili Türkçe bir çalışmaya rastlanmamıştır Literatürde herhangi bir BDD paketi için PLA arayüzüne rastlanmamıştır BDD’lerle ilgili Türkçe bir uygulamaya rastlanmamıştır Literatürde BuDDy paketinde asal bileşen bulma uygulamasına rastlanmamıştır BDD’lerle Ardışıl Makinelerin İndirgenmesi uygulaması yapılabilir BDD’lerle Roth-Karp Ayrıştırması uygulaması yapılabilir