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

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

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

Mikroçita. Mikroçita Rapor 2:

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

BM-311 Bilgisayar Mimarisi

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

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

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

Bilgisayar Mimarisi ve Organizasyonu Giriş

BM-311 Bilgisayar Mimarisi

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

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

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

İKİLİ SAYILAR VE ARİTMETİK İŞLEMLER

DENEY 2- Sayıcılar ve Kaydırmalı Kaydediciler

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

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı

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.

Bilgisayarların Gelişimi

DENEY 2- Sayıcılar. 1. Sayıcıların prensiplerinin ve sayıcıların JK flip-flopları ile nasıl gerçeklendiklerinin incelenmesi.

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.

Mühendislik Tasarım-3 ve Bitirme Çalışması Konuları

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü

BEDEN EĞİTİMİ I: Haftalık ders 1 saattir (T-0 ) (U-l) (K-0).

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

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Bu derste! BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Yazmaç Aktarımı Düzeyi! Büyük Sayısal Sistemler! 12/25/12

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI

Bölüm 4 Aritmetik Devreler

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

KONTROL VE OTOMASYON KULÜBÜ

Hem lw hem de sw komutlarının ofseti 16-bitlik işaretli tamsayıdır.

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.

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

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

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler

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

T.C. RC SERVO MOTOR KONTROLÜ

Deney 2: Flip-Floplar

(Random-Access Memory)

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

MÜFREDAT DERS LİSTESİ

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

Mikrobilgisayarlar. Mikroişlemciler ve. Mikrobilgisayarlar

Proje #2 - Lojik Devre Benzetimi

Deney 8: ALU da Aritmetik Fonksiyonlar

HSancak Nesne Tabanlı Programlama I Ders Notları

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Bilgisayar Organizasyonu BIL

İNTERNET PROGRAMCILIĞI DERSİ

İşletim Sistemleri (Operating Systems)

HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

Bilgisayar Mimarisi Nedir?

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

Özyineleme (Recursion)

Görüntü İşleme Teknikleri ile Elma Tanıma

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

DERS 4 MİKROİŞLEMCİ PROGRAMLAMA İÇERİK

Bölüm Bazı Temel Konseptler

Geçtiğimiz hafta# Dizisel devrelerin tasarımı# Bu hafta# Örnek: Sekans algılayıcı# Örnek: Sekans algılayıcı# 12/11/12

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

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler

Mikrobilgisayar Sistemleri ve Assembler

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Ü

BILGISAYAR ARITMETIGI

1. Sayıcıların çalışma prensiplerini ve JK flip-floplarla nasıl gerçekleştirileceğini anlamak. 2. Asenkron ve senkron sayıcıları incelemek.

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

Bitirme Ödevi Sunumu PLATFORM BAĞIMSIZ BENZETİM PROGRAMI. Danışman : Yrd.Doç.Dr. D Feza BUZLUCA Gökhan Akın ŞEKER

BSE 207 Mantık Devreleri Lojik Kapılar ve Lojik Devreler (Logic Gates And Logic Circuits)

TBİL-405 Mikroişlemci Sistemleri Bölüm 2 1- % %01010 işleminin sonucu hangisidir? % %11000 %10001 %10101 %00011

Deney 6: Ring (Halka) ve Johnson Sayıcılar

MİKROBİLGİSAYAR LABORATUVARI DENEY RAPORU

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem

Bilgisayarda Programlama. Temel Kavramlar

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA

Donanım İÇERİK. Bölüm 1:FATEK FBs PLC Serisine Genel Bakış. Bölüm 2:Sistem Mimarisi

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü

24 Mart İlgili Modül/ler : Transfer. İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL

BÖLÜM 2 SAYI SİSTEMLERİ

5.47. HURDA MALZEMELERİN PRESLENMESİ OTOMASYONU. Engin AVCI

Genel Programlama II

LOJİK DEVRELER-I IV. HAFTA DENEY FÖYÜ

Bölüm 4 Ardışıl Lojik Devre Deneyleri

Bilgisayar Programlama. Giriş

Yazılım Mühendisliğine Giriş 2018 GÜZ

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

Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans:

Bilişim Teknolojilerine Giriş

C Programlama Dili (MCS116) Ders Detayları

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

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

MUSTAFA KEMAL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MAKİNE MÜHENDİSLİĞİ BÖLÜMÜ

Transkript:

Akademik Bilişim 11 - XIII. Akademik Bilişim Konferansı Bildirileri 2-4 Şubat 2011 İnönü Üniversitesi, Malatya VHDL ile Mikroişlemci Tasarımı ve Eğitimde Uygulanabilirliği Deniz Taşkın 1, Kenan Baysal 1, Nurşen Topçubaşı 2 1 Trakya Üniversitesi, Bilgisayar Mühendisliği Bölümü, Edirne 2 Okan Üniversitesi, Uygulamalı Bil.Yüksekokulu, Bilişim Sist. ve Tek. Bölümü, İstanbul deniztaskin@trakya.edu.tr, kenanbaysal59@gmail.com, nursen.sucsuz@okan.edu.tr Özet: Günlük hayatta kullandığımız neredeyse her elektronik cihazda sistemin çalışmasını kontrol eden ve işlemleri sonuçlandıran bir mikroişlemci bulunmaktadır. Yarı iletkenlerden meydana gelen transistörler mikroişlemciyi oluşturan temel elektronik devre elemanıdır. Bazı mikroişlemcilerde transistör sayısı milyarlara ulaşmaktadır. Mühendislik açısından bu koşullar mikroişlemcinin tasarımı ve bu konuda eğitim vermeyi zorlaştırmaktadır. Bu çalışmanın amacı VHDL dili kullanılarak bir mikroişlemci tasarımının basite indirgenmesi ve eğitimi alanında sağladığı kolaylıkları göstermektir. Anahtar Kelimeler: Mikroişlemci tasarımı, VHDL, Aritmetik Lojik Ünite Designing Microprocessor with VHDL and Applicability in Education Abstract: Almost every electronic device that we use in daily life has a microprocessor that controls working of system and results the procedures. Transistors, consisting of semiconductors, are basic electronic circuit devices that compose the microprocessors. In some microprocessors, transistors could reach billions. In terms of engineering designing a microprocessor is too much hard and is too hard to educate on this subject. The aim of this study is to show, how to simplify a microprocessor design and to provide the facilities in education area. Keywords: Microprocessor design, VHDL, Arithmetic Logic Unit 1. Giriş Bir mikroişlemci farklı görevler icra eden bir dizi birimden meydana gelmektedir. Her birimin giriş ve çıkışlarına göre bir davranışı mevcuttur. Bu davranışları oluşturan yine bu birimlerin içinde bir dizi elektronik devredir. Bir mikroişlemciyi tasarlamak için elektronik konusunda bilgili ve tecrübeli olmanın dışında yeteneğe de sahip olmak gereklidir. Örnek olarak Amiga ait grafik işlemcisinin tasarım aşamaları ele alındığında, ilk prototipin genel yapısının ve devre bağlantılarının öncelikle kağıt üzerinde tasarlandığı görülmektedir. Ardından bu devreler şekil 1 de de görüldüğü gibi kartlar üzerinde entegrelerin kablolar ile birleştirilmesi sonucunda oluşturulmaktadır. Agnus ve Defne Dizileri olarak adlandırılan bu prototipler istenilen işlemleri başarılı bir şekilde gerçekleştirdiğinde tasarı, üretim aşamasına gelmektedir. Bir hata ile karşılaşılması durumunda ise tasarım en baştan incelenmesi ve gerekirse sıfırdan tekrar oluşturulması gerekmektedir. Bu da zaman ve para kaybının yanı sıra işlemci tasarımı yapacak veya mevcut tasarım üzerinde geliştirme yapabilecek mühendis yetiştirmeyi zorlaştırmaktadır. VHDL donanım dili sayesinde sadece birimlerin davranış biçimlerini tanımlayarak işlemci birimleri oluşturulabilmektedir. Günümüzde mikroişlemci temel bilgisine sahip bir öğrenci temel bir mikroişlemciyi VHDL kullanarak tasarlayabilmektedir. Her birim birbirinden bağımsız parçalar biçiminde tasarlanarak sonradan birleştirilebilmektedir. 1

VHDL ile Mikroişlemci Tasarımı ve Eğitimde Uygulanabilirliği Deniz Taşkın, Kenan Baysal, Nurşen Topçubaşı Şekil 1. Agnus ve Defne Dizileri VHDL ile yapılan bir tasarımın basitliği ve anlaşılabilirliği, mikroişlemcinin temel birimi olan Aritmetik Lojik Ünitenin tasarımı incelenerek görülebilir. 2. 16 Bitlik Aritmetik Lojik Ünite Tasarımı Şekil 2. ALU nin komşu birimlerle bağlantısı LD girişi aktif edildiğinde; AC aktar, AND, ADD, CMP, DR aktarma, INPR aktar, SHR veya SHL işlem girişlerinden aktif edilene ait edilen sonucu JK tipi yaz-boza aktarmaktadır. Yaz-boz, sonuca ait 1 bitlik değeri bir saat vuruşu süresince korumaktadır. Devresi çıkartılacak 16 bitlik ALU nun gerçekleştireceği işlemler ve işlemlerin seçim kodları Tablo 1 de, ALU ya bağlı birimler Şekil 2 de gösterilmiştir. 2.1 Lojik Olarak 16 Bit ALU Tasarımı Şekil 2 de görüldüğü gibi ALU ya ait yazma girişi(load) 1 bit, işlem seçim girişi 3 bit, giriş yazacı (input register) girişi 8bit, veri yazacı girişi (data register) 16 bit ve akümülatör (AC) girişi ise 16 bittir. Burada bulunan 3 bitlik işlem seçim uçları ve Load ucu doğrudan işlemcinin kontrol birimine bağlıdır. Tek veri çıkışı ise doğrudan Akümülatöre bağlıdır, E çıkışı ise yapılan aritmetik işlem sonucunda oluşan elde bitini E bayrağına aktarır. Tablo 1 de belirtilen sekiz adet işlem 16 bitlik ALU devresinin her bir biti için ayrı ayrı gerçekleştirilmiştir Şekil 3. Akümülatöre ait 1 bitlik devre 1 bit düzeyinde işlem yapan bu birimler birleştirilerek 16 bitlik ALU elde edilmektedir. Şekil 4 te ALU nun içersinde her bir bitin blok olarak nasıl bağlandığı gösterilmiştir. 2

Akademik Bilişim 11 - XIII. Akademik Bilişim Konferansı Bildirileri 2-4 Şubat 2011 İnönü Üniversitesi, Malatya İşlem Seçim Açıklama 000 AC ü çıkışa aktar 001 AC AND DR 010 AC + DR 011 DR i, AC ye aktar 100 NOT AC 101 INPUT Reg. i AC ye aktar 110 AC yi bir sağa kaydır 111 AC yi bir sola kaydır Tablo 1. ALU işlemleri ve seçim kodları Bunun sadece 16 bitlik bir işlemcinin Aritmetik Lojik Ünitesi olduğu göz önüne alınırsa, 32 bit ve 64 bitlik işlemcilerin kullanıldığı günümüz teknolojisinde, bu şekilde bir tasarımın gerçekleştirilmesi ve benzetiminin yapılması oldukça güçtür. 2.2 VHDL ile 16 Bit ALU Tasarımı Öncelikle giriş ve çıkış portlarının tanımlandığı, bir tanımlama işlemi yapılır. Tablo 2 de VHDL programında giriş ve çıkışlara atanan isim kısaltma listesi ve bit uzunlukları verilmiştir. Entity kalıbıyla oluşturulacak yapının ismi belirtilerek port tanımlama işlemi gerçekleştirilir. Sec, ac, dr ve inp portları vektör olarak tanımlanmıştır. Birden fazla giriş çıkışı olan portlar vektör olarak tanımlanmaktadır. Yüksek değerlikli bit tanımı parantez içinde yapılır. Örneğin 7. Bitin yüksek değerlikli bit olmasını isteniyorsa 7 downto 0 veya tersi durumda 0 to 7 şeklinde tanımı yapılmaktadır. Kısaltma G/Ç Bit Uzunluğu Açıklama sec Giriş 3 bit İşlem seçme girişleri ac Giriş 16 bit Akümülatör veri girişi dr Giriş 16 bit Data Register veri girişi inp Giriş 8 bit Input Register veri girişi ld Giriş 1 bit Load girişi alu_cikis Giriş 16 bit ALU veri çıkışı e Çıkış 1 bit Elde biti Tablo 2. Giriş Çıkış portları Şekil 4. ALU ya ait tüm bitlerinin birbirine bağlanması VHDL kullanılmadan her bitin tek tek lojik kapılar kullanılarak yapılması gerekirse; prototipin Agnus ve Defne dizileri gibi karmaşık devreler kurularak denenmesi gerekmektedir. Oluşturulacak prototip devresi Şekil 3 te gösterilen Aritmetik Lojik Ünitenin 1 bitinin lojik devresinin Şekil 4 te gösterildiği gibi 16 adet ardışık olarak bağlanmasıyla elde edilmektedir. 3 Şekil 5. Giriş Çıkış portlarının VHDL ile tanımlanması Aritmetik ve Lojik Ünitenin gerçekleştirmesi istenilen 8 işlemin davranışları architecture yapısı altında tanımlanır. signal olarak tanımlanan 17 bitlik elde dizisi, ALU içinde

VHDL ile Mikroişlemci Tasarımı ve Eğitimde Uygulanabilirliği Deniz Taşkın, Kenan Baysal, Nurşen Topçubaşı her bitin taşma ucunu bir sonraki bite taşıma işlemini yapmaktadır. 17. Biti ise e elde çıkışına aktarmaktadır. Process altında tanımlanan temp değişkeni geçici veri bilgisini tutmakla görevlidir. Process başlangıcından sonra 17 bitlik elde birimi sıfırlanır. ld= 1 şartı sağlandığında işlem seçme giriş uçlarının 000-111 arasında aldığı değerlere göre işlem gerçekleşir. mümkündür. Tasarlanan birimler component anahtar sözcüğü ile bileşen haline getirilirler. Bileşenler birbirlerine bağlanabilmekte ve daha büyük bir birim oluşturmak için birleşebilmektedirler. Şekil 8 de bileşen tanımları ve portların birbirine bağlanması görülmektedir. 16 bitlik bir işlemcinin 8 işlem gerçekleştiren Aritmetik Lojik Ünitesi VHDL dilinde kodları Şekil 6 ve şekil 7 de görülmektedir. Bu yöntem ile mühendisin görevi sadece birimlerin ne iş yapacağına karar vermek ve bunları basit sayılabilecek bir programlama dilinde tanıtmasıdır. Şekil 7. ALU VHDL kod yapısı -2 Şekil 6. ALU VHDL kod yapısı -1 Tasarlanan Aritmetik Lojik Ünitenin diğer birimler ile bağlanması yine VHDL kod yapısı ile 4 Şekil 8. 16 bit işlemci bileşen tanımlama ve portların birbirine bağlanması

Akademik Bilişim 11 - XIII. Akademik Bilişim Konferansı Bildirileri 2-4 Şubat 2011 İnönü Üniversitesi, Malatya VHDL ile tasarımın sağladığı en önemli yenilik, yapılan çalışmaya ait benzetim işlemlerinin donanımın devreye dönüştürülmeden önce yapılabilmesidir. Bu sayede tasarımda yapılmış olan hatalar üretimden önce görülebilmekte ve kodda yapılacak ufak değişiklikler ile giderilebilmektedir. Şekil 9 da Modelsim programı ile yapılan 16 bit ALU devresinin benzetim sonuçları verilmiştir. Şekil 9. 16 bit Aritmetik Lojik Ünite ModelSim benzetim sonuçları Bu benzetimde Akümülatör girişine veri girişi olarak 1101110111011101 değeri, Data yazacı girişine 1011101110111011 değerleri verilmiştir. Sırasıyla işlem seçim girişlerine göre bu değerler arasındaki işlem sonuçları ALU çıkışında görülmektedir. Benzer biçimde Akümülatör ve Data register birimlerinin davranış tanımlamaları ayrı birer dosya üzerinden yapılabilir. Örneğin akümülatör için 16 bit çıkış ve 16 bit giriş portları tanımlanır. Bunlarla beraber birer adet Yaz, Sil, Arttır tek bit giriş uçları tanımlanır. Yaz= 1 olması durumunda işlenecek process, 16 bitlik girişin akümülatörün içeriğine aktarılması olarak tanımlanır. Buna benzer şekilde Sil= 1 durumunda akümülatörün içeriğinin temizlenmesi, Arttır= 1 durumunun akümülatörün içeriğinin bir arttırılması olarak tanımlanır. 5 Sil, Arttır ve Yaz uçlarının hangi durumlarda 1 olacağı işlemcinin kontrol biriminde tanımlanır. İşlemcinin diğer bütün birimleri buna benzer şekilde tanımlandıktan sonra component tanımlaması ile birimler birbirine bağlanır. 3. Sonuç Geçmişte işlemci tasarımının en sorunlu aşaması olan prototip üretiminin VHDL ile basit bir hale geldiği, örneklenen 16 bit Aritmetik Lojik Ünite devresinde açık olarak görülmektedir. VHDL dili ile mikroişlemci tasarımı; Algoritma ve programlama bilgisi olan ve temel mikroişlemci mimarisi bilgisine sahip bir öğrencinin anlayabileceği seviyede ders içeriğine dahil edilebilir. Öğrenci, mevcut bir işlemcinin tasarımını geliştirebileceği gibi aynı zamanda yeni bir mikroişlemciyi en baştan tasarlayacak seviyeye ulaşabilir.

VHDL ile Mikroişlemci Tasarımı ve Eğitimde Uygulanabilirliği Deniz Taşkın, Kenan Baysal, Nurşen Topçubaşı 4. Kaynaklar [1] http://www.amigahistory.co.uk/amigahist ory. html [2] Enoch O. Hwang, Digital and Logic Microprocessor Design With VHDL, La Sierra University, Riverside, (2005). [3] Jayaram Bhasker, A VHDL Primer, American Telephone and Telgraph Company Bell Laboratories Division, (1991). [4] M. Morris Mano, Computer System Architecture, (1993). 6