Digital Design HDL. Dr. Cahit Karakuş, February-2018

Benzer belgeler
VHDL Kullanarak FPGA ile Yüksek Kapasiteli Tam Çıkarıcı Devre Tasarımı

Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi. Buse Ustaoğlu Berna Örs Yalçın

Digital Design Laboratuvar. Dr. Cahit Karakuş, February-2018

VHDL. Ece Olcay Güneş & S. Berna Örs

Digital Design TTL - CMOS. Dr. Cahit Karakuş, February-2018

Digital Logic Design Combinational Logics. Dr. Cahit Karakuş, February-2018

Verilog HDL e Giriş Bilg. Yük. Müh. Selçuk BAŞAK

Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Bölüm/Program Dersi Ders Tanım Bilgileri Dersin Adı

FPGA ile Gömülü Sistem Tasarımına Giriş

HDL Dilleri VHDL. Son olarak, spesifik ASIC teknolojisi için devrenin yerleşimi netlist tanımlamalarından gelen diğer araçlarla oluşturulmuş olunur.

SAYISAL ELEKTRONİK. Ege Üniversitesi Ege MYO Mekatronik Programı

VHDL ile Mikroişlemci Tasarımı ve Eğitimde Uygulanabilirliği

BLM 221 MANTIK DEVRELERİ

NECMETTİN ERBAKAN ÜNİVERSİTESİ MÜHENDİSLİK MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ SAYISAL DEVRE TASARIMI LABORATUVARI DENEY FÖYÜ

ERCİYES ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTUSÜ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİMDALI. I. GENEL BİLGİLER Ders Adı

BİL 201 Birleşimsel Mantık (Combinational Logic) Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi

Fatih University- Faculty of Engineering- Electric and Electronic Dept.

Sahada Programlanabilir Kapı Dizileri (FPGA) Sayısal CMOS Tümdevre Tasarımı Y. Fırat Kula

Eğitim Amaçlı Temel Bir Mikrobilgisayarın Tasarlanması ve Gerçeklemesi Design and Implementation of a Basic Microcomputer for Educational Purpose

Fatih University- Faculty of Engineering- Electric and Electronic Dept.

VHDL DONANIM TANIMLAMA DİLİD ve FPGA, CPLD DONANIMLARI. Yard. Doç. Dr. Özdemir ÇETİN

Deney 8: ALU da Aritmetik Fonksiyonlar

DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM223 SAYISAL MANTIK TASARIMI : QUARTUS II TASARIM ORTAMI: TEMEL VHDL KULLANIMI

SAYISAL VLSI SİSTEM TASARIM AKIŞI

SAYI SİSTEMLERİ ve BOOLE CEBİRİ 1+1=1 ÖĞR.GÖR. GÜNAY TEMÜR - TEKNOLOJİ F. / BİLGİSAYAR MÜH.

T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ŞİFRELEME İŞLEMLERİ İÇİN FPGA İLE YÜKSEK KAPASİTELİ ÇARPMA DEVRESİ TASARIMI.

Deney 7: Aritmetik ve Lojik İşlem Birimi(ALU)

HDL ile Gelişmiş Sayısal Tasarım (EE 425) Ders Detayları

Gömülü Sistemler. (Embedded Systems)

İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ ÖZET FONKSİYON TABANLI GÜVENLİ BİR RFID PROTOKOLÜNÜN FPGA ÜZERİNDE GERÇEKLENMESİ

BİL 201 Geçit düzeyinde yalınlaştırma (Gate-Level Minimization) Hacettepe Üniversitesi Bilgisayar Müh. Bölümü

BLM 221 MANTIK DEVRELERİ

DENEY 3a- Yarım Toplayıcı ve Tam Toplayıcı Devresi

Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi

DEVAM ETMEKTE OLAN ÖĞRENCİLERE UYGULANACAK PROGRAMLAR VE DERSLERİN İNTİBAKLARI

VHDL Programlama Dili ve Sayısal Elektronik Devrelerin FPGA Tabanlı Uygulaması

1. YARIYIL / SEMESTER 1 2. YARIYIL / SEMESTER 2

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ

MÜFREDAT DERS LİSTESİ

Altera ile proje hazırlama. Quarturs programı üzerinde Altera De0 kartı için proje hazırlama

DEVAM ETMEKTE OLAN ÖĞRENCİLERE UYGULANACAK PROGRAMLAR VE DERSLERİN İNTİBAKLARI

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

Fatih University- Faculty of Engineering- Electric and Electronic Dept.

Proje #2 - Lojik Devre Benzetimi

Bu deney çalışmasında kombinasyonel lojik devrelerden decoder incelenecektir.

C++ Dersi: Nesne Tabanlı Programlama

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Mantık Devreleri EEE

25. Aşağıdaki çıkarma işlemlerini doğrudan çıkarma yöntemi ile yapınız.

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ

Programlanabilir Devreler

T.C. RC SERVO MOTOR KONTROLÜ

EĞİTİM-ÖĞRETİM YILI MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ (İNGİLİZCE) BÖLÜMÜ DERS PROGRAMINDA YAPILAN DEĞİŞİKLİKLER

DOĞRULUK TABLOLARI (TRUTH TABLE)

DEVAM ETMEKTE OLAN ÖĞRENCİLERE UYGULANACAK PROGRAMLAR

BİL 201 Boole Cebiri ve Temel Geçitler (Boolean Algebra & Logic Gates) Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi

COURSES OFFERED FOR ERASMUS INCOMING STUDENTS

T.C. İstanbul Medeniyet Üniversitesi Mühendislik ve Doğa Bilimleri Fakültesi Elektrik-Elektronik Mühendisliği Bölümü

1.SINIF 1. DÖNEM DERS MÜFREDATI. (9) TEORİ/UYG. (SAAT) MATH 101 Matematik I Calculus I Zorunlu 4-6 PHYS 101 Fizik I Physics I Zorunlu ECE 101

KMU MÜHENDİSLİK FAKÜLTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ SAYISAL DEVRELER II LABORATUVARI DENEY 1 TOPLAYICILAR - ÇIKARICILAR

Yarı İletkenler ve Temel Mantıksal (Lojik) Yapılar. Bilgisayar Mühendisliğine Giriş 1

1. DENEY-1: DİYOT UYGULAMALARI

SAYISAL TASARIM Kavramlar. Dr. Cahit Karakuş, February-2018

1. YARIYIL / SEMESTER 1 2. YARIYIL / SEMESTER 2

2017 MÜFREDATI MÜHENDİSLİK FAKÜLTESİ / ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EĞİTİM PLANI

Yazılan programın simülasyonu için; (A<B), (A>B) ve (A=B) durumunu sağlayacak 2 şer tane değeri girerek modelsimde oluşan sonuçları çiziniz.

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

SAYISAL UYGULAMALARI DEVRE. Prof. Dr. Hüseyin EKİZ Doç. Dr. Özdemir ÇETİN Arş. Gör. Ziya EKŞİ

Sayısal Devreler ve Sistemler (EE203) Ders Detayları

Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları

DENEY 2-5 Karşılaştırıcı Devre

BİLGİSAYAR MİMARİSİ. İkili Kodlama ve Mantık Devreleri. Özer Çelik Matematik-Bilgisayar Bölümü

APPLICATION OF CPLD BASED LOGIC ELECTRONICS CIRCUITS

DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR

FPGA ile Gömülü Sistem Tasarımına Giriş Bilgisayar Bil. Müh. Selçuk BAŞAK

ELK2016 SAYISAL TASARIM DERSİ LABORATUVARI DENEY NO: 2

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 2006

Güz Y.Y. Lojik Devre Laboratuvarı Laboratuvar Çalışma Düzeni

DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR

ELM320- ENTEGRE DEVRE TASARIMI

Sayısal Devreler ve Sistemler (EE 203*) Ders Detayları

BLM 221 MANTIK DEVRELERİ

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

Lecture. (saat/hafta. hour/week)

1. DÖNEM Kodu Dersin Adı T U K. Matematik II Mathematics II (İng) Fizik I Bilgisayar Programlama I (Java) Computer Programming I (Java) (İng)

Buse Ustaoğlu 1, Berna Örs Yalçın 2. İstanbul Teknik Üniversitesi İstanbul Teknik Üniversitesi

Algoritma ve Akış Diyagramları

DERS NOTLARI. Yard. Doç. Dr. Namık AKÇAY İstanbul Üniversitesi Fen Fakültesi

Karşılaştırma, Toplayıcı ve Çıkarıcı Devreler

Deney 10: Analog - Dijital Dönüştürücüler (Analog to Digital Converters - ADC) Giriş

idea rsbasic KOMUTLARI

ANADOLU ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ LİSANS DERS PROGRAMI ( YILINDAN İTİBAREN GEÇERLİ)

VERILOG. Modüller

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK SİSTEMLER LABORATUVARI 1

Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları

Fatih University- Faculty of Engineering- Electric and Electronic Dept.

Onluk duzende toplama. Lecture 4. Addition and Subtraction. Onluk tabanda toplama

Yrd. Doç. Dr. Caner ÖZCAN

Boole Cebri. Muhammet Baykara

Transkript:

Digital Design HDL Dr. Cahit Karakuş, February-2018

NOT, AND, and OR Gates NAND and NOR Gates DeMorgan s Theorem Exclusive-OR (XOR) Gate Multiple-input Gates Basic Logic Gates and Basic Digital Design

NOT Gate -- Inverter X NOT Y Y = ~X X 0 1 Y 1 0

NOT Y = ~X (Verilog) Y =!X (ABEL) Y = not X (VHDL) Y = X Y = X Y = X (textook) not(y,x) (Verilog)

NOT X ~X ~~X = X X ~X ~~X 0 1 0 1 0 1

AND Gate Y X AND Z X Y Z 0 0 0 0 1 0 1 0 0 1 1 1 Z = X & Y

AND X & Y (Verilog and ABEL) X and Y (VHDL) X X V U Y Y X * Y XY (textbook) and(z,x,y) (Verilog)

OR Gate OR X Y Z = X Y Z X Y Z 0 0 0 0 1 1 1 0 1 1 1 1

OR X Y (Verilog) X # Y (ABEL) X or Y (VHDL) X + Y (textbook) X V Y X U Y or(z,x,y) (Verilog)

NOT, AND, and OR Gates NAND and NOR Gates DeMorgan s Theorem Exclusive-OR (XOR) Gate Multiple-input Gates Basic Logic Gates and Basic Digital Design

NAND Gate X Y NAND Z X Y Z 0 0 1 0 1 1 1 0 1 1 1 0 Z = ~(X & Y) nand(z,x,y)

NAND Gate Y X NOT-AND W Z X Y W Z 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 W = X & Y Z = ~W = ~(X & Y)

NOR Gate X Y NOR Z = ~(X Y) nor(z,x,y) Z X Y Z 0 0 1 0 1 0 1 0 0 1 1 0

NOR Gate NOT-OR X W Y W = X Y Z X Y W Z 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 Z = ~W = ~(X Y)

NOT, AND, and OR Gates NAND and NOR Gates DeMorgan s Theorem Exclusive-OR (XOR) Gate Multiple-input Gates Basic Logic Gates and Basic Digital Design

NAND Gate X Y Z = X Y Z Z = ~(X & Y) Z = ~X ~Y X Y W Z 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 X Y ~X ~Y Z 0 0 1 1 1 0 1 1 0 1 1 0 0 1 1 1 1 0 0 0

De Morgan s Theorem-1 ~(X & Y) = ~X ~Y NOT all variables Change & to and to & NOT the result

NOR Gate X Y Z X Y Z Z = ~(X Y) Z = ~X & ~Y X Y Z 0 0 1 0 1 0 1 0 0 1 1 0 X Y ~X ~Y Z 0 0 1 1 1 0 1 1 0 0 1 0 0 1 0 1 1 0 0 0

De Morgan s Theorem-2 ~(X Y) = ~X & ~Y NOT all variables Change & to and to & NOT the result

De Morgan s Theorem NOT all variables Change & to and to & NOT the result -------------------------------------------- ~X ~Y = ~(~~X & ~~Y) = ~(X & Y) ~(X & Y) = ~~(~X ~Y) = ~X ~Y ~X &!Y = ~(~~X ~~Y) = ~(X Y) ~(X Y) = ~~(~X & ~Y) = ~X & ~Y

NOT, AND, and OR Gates NAND and NOR Gates DeMorgan s Theorem Exclusive-OR (XOR) Gate Multiple-input Gates Basic Logic Gates and Basic Digital Design

Exclusive-OR Gate X Y XOR Z = X ^ Y xor(z,x,y) X Y Z Z 0 0 0 0 1 1 1 0 1 1 1 0

XOR X ^ Y X $ Y X @ Y g (Verilog) (ABEL) X Y (textbook) xor(z,x,y) (Verilog)

Exclusive-NOR Gate X Y XNOR Z = ~(X ^ Y) Z = X ~^ Y xnor(z,x,y) X Y Z Z 0 0 1 0 1 0 1 0 0 1 1 1

XNOR X ~^ Y (Verilog)!(X $ Y) (ABEL) X @ Y gx e Y xnor(z,x,y) (Verilog)

NOT, AND, and OR Gates NAND and NOR Gates DeMorgan s Theorem Exclusive-OR (XOR) Gate Multiple-input Gates Basic Logic Gates and Basic Digital Design

Multiple-input NAND Gate Z 3 Output Z 3 is LOW only if all inputs are HIGH

Hardware description language (HDL) Bir donanım tanımlama dili (HDL), sayısal sistemlerin donanımını metin biçiminde tanımlayan bilgisayar tabanlı bir dildir. C gibi sıradan bir bilgisayar programlama dilini andırır, ancak özellikle donanım yapılarını ve mantık devrelerinin davranışını tanımlamaya yöneliktir. Mantık diyagramlarını, doğruluk tablolarını, Boolean ifadelerini ve dijital sistemin davranışının karmaşık soyutlamalarını temsil etmek için kullanılabilir. Bir HDL'yi görüntülemenin bir yolu, bir devrenin girişleri olan sinyaller ile devrenin çıktıları olan sinyaller arasındaki ilişkiyi tanımladığını gözlemlemektir. Örneğin, bir AND kapısının bir HDL tanımlaması, kapının çıkışının mantık değerinin girdilerinin mantıksal değerleri tarafından nasıl belirlendiğini açıklar.

VHDL (VHSIC Hardware Description Language) VHDL bir donanım tanımlama dilidir. Donanım, bilgisayar ve uzantısı olan işlevsel tüm teknolojik sistemlere, modüllere denir. 32

Diğer Yaygın diller Öncü diller VHDL (VHSIC Hardware Description Language) ISP (Carnegie Mellon University) - 1976 KARL (Kaiserslautern University) - 1977 Verilog HDL (Gateway Design Automation 1985) VHDL (Very High Speed Integrated Circuit Hardware Description Language Amerikan Savunma Bakanlığı -1987) AHDL (Altera HDL) RHDL (Ruby HDL) Confluence CUPL (Logical Devices Inc.) 33

VHDL & Verilog HDL VHDL Daha katı kurallı olan bir dil. Akademik seviye Karmaşık devrelerde daha az kapı kullanan derleyici yapısı Yaygın olarak Avrupa ve Japonya ADA programlama dilini baz alan Pascal sınıfında bir dil ATI Nokia Verilog HDL Öğrenmesi ve kod yazması daha hızlı ve kolay Karmaşık devrelerde daha fazla kapı kullanan derleyici Yaygın olarak Amerika C ye yakın syntax yapısı NVIDIA - AMD 34

VHDL Kod Yapısı TEMEL VHDL KODU LIBRARY ENTITY ARCHITECTURE PROCESS 35

VHDL Kod Yapısı entity and_gate is port( A: in bit, B: in bit, X: out bit); end entity and_gate; architecture mimari of and_gate is begin X <= A and B; end architecture mimari; 36

Bilgisayar Aritmetiğinde Çıkartma İşlemi Standart bir bilgisayar işlemcisinde, Birikeç Yazacı (Akümülatör-AC) Toplayıcı ve Mantık devresi Denetim kapılarından İşlenecek veri, kaydedicilerden veri yolu ile buraya aktarılarak işlem süreci gerçekleştirilir. Birikeç (Akümülatör) Yapısı 37

Bilgisayar Aritmetiğinde Çıkartma İşlemi 32 bit bir işlemciye sahip olan standart bir bilgisayar, yazılımsal olarak birçok adımda çıkarma işlemini gerçekleştirir. İşlemcinin veri kapasitesi ile aynı veri boyutu büyüklüğüne sahip iki değerin dahi çıkarma işlemi birçok adımda gerçekleştirilebilmektedir. 32 bitlik iki veriye çıkarma işlemi uygulama algoritması 38

Yüksek Kapasiteli Çıkartma Devresi Tasarımı VHDL ile Bir Bit Tam Çıkarıcı Devresi 39

Yüksek Kapasiteli Çıkartma Devresi Tasarımı Bir Bit Tam Çıkarıcı devresinin ModelSim benzetim sonuçları 40

Yüksek Kapasiteli Çıkartma Devresi Tasarımı N bit Çıkarıcı Devresi Blok Şeması 41

Yüksek Kapasiteli Çıkartma Devresi Tasarımı n bit Tam Çıkarıcı devresi VHDL kod yapısı 42

Yüksek Kapasiteli Çıkartma Devresi Tasarımı N bit tam Çıkarıcı devresi ModelSim benzetim sonuçları 43

Yüksek Kapasiteli Toplama Devresi Tasarımı Bir Bit toplayıcı VHDL kodlarının RTL görünüşü Bir Bit Toplayıcı ModelSIM benzetim sonuçları 44

Yüksek Kapasiteli Toplama Devresi Tasarımı 1024 bit toplayıcının ModelSIM benzetim sonuçları 45

Yüksek Kapasiteli Toplama - Çıkarma Devresi Tasarımı M=0 Toplayıcı M=1 Çıkarıcı Toplayıcı & Çıkarıcı Devrtesi 46

Yüksek Kapasiteli Toplama - Çıkarma Devresi Tasarımı 1024 bit Toplayıcı & Çıkarıcı Devresi ModelSIM benzetim sonuçları 47

Sorunlar & Öneriler FPGA devrelerinin giriş ve çıkış pin sayısı Öneri: Veri aktarımı için arı bir modül tasarımı Çoklu FPGA kullanımı 48

Sonuç Gerçekleştirilen bu çalışmada, FPGA donanım yapısının esnek ve kolay programlama kabiliyetinden faydalanılarak yüksek kapasiteli çıkarıcı devresi benzetim seviyesinde tasarlanmıştır. VHDL ve FPGA kullanarak Yüksek Kapasiteli Aritmetik Ünite tasarlanabilir. Yüksek Kapasiteli Aritmetik Ünite, Büyük sayılar ile çalışan bazı şifreleme algoritmaları için donanım altyapısı oluşturmak için kullanılabilir. Günümüzde piyasadaki en güçlü PC den daha güçlü hesaplama kapasitesi sunar. Donanım Tasarım Dili kullanılarak çok daha yüksek kapasiteli aritmetik işlemler için aritmetik ünite tasarlanabilir. 49

Kaynakça https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-111-introductory-digital-systems-laboratory-spring-2006/lecture-notes/ http://web.ee.nchu.edu.tw/~cpfan/fy92b-digital/chapter-4.ppt http://www.cs.nccu.edu.tw/~whliao/ds2003/ds4.ppt http://www.just.edu.jo/~tawalbeh/cpe252/slides/ch1_2.ppt Lessons In Electric Circuits, Volume IV { Digital By Tony R. Kuphaldt Fourth Edition, last update July 30, 2004. Digital Electronics Part I Combinational and Sequential Logic Dr. I. J. Wassell. Digital Design With an Introduction to the Verilog HDL, M. Morris Mano Emeritus Professor of Computer Engineering California State University, Los Angeles; Michael D. Ciletti Emeritus Professor of Electrical and Computer Engineering University of Colorado at Colorado Springs. Digital Logic Design Basics, Combinational Circuits, Sequential Circuits, Pu-Jen Cheng.