Categories
Electronic Circuits

Final Sample Questions

Donanım Doğrulama Metodları (DDM): Sınıflar

  • patternGenerator isminde bir sınıf oluşturunuz. Sınıfın UML Diagramı aşağıda verilmektedir.

Sınıfta 2 adet 32 bitlik pattern ve currentSeed isimli saklayıcı bulunmaktadır. Sınıfın constructor’u int türünde initSeed isminde bir argüman almakta ve aldığı argümanı currentSeed saklayıcısına yazmaktadır. setSeed fonksiyonu currentSeed değerini sabit olarak 32’h1234 değerine atamaktadır. randomGenerator fonksiyonu ise aşağıda verilen operasyonu gerçekleştirmektedir.

void randomGenerator() {
pattern = currentSeed;
pattern = pattern ^ ( pattern << 13);
pattern = pattern ^ ( pattern >> 17);
pattern = pattern ^ ( pattern << 5);
currentSeed = pattern;

}

patternGenerator sınıfından testbench modülünde bir obje türetip, constructor’una 1234 decimal sayısını veriniz. Ardından pattern degiskenini $display ile ekrana gösteriniz. randomGenerator fonksiyonunu çağırıp pattern değişkenini $display ile ekrana gösteriniz.

  • aluTest isimli bir sınıf geliştiriniz. Bu sınıfın UML diyagramı aşağıda verilmektedir.



    Bu sınıf içerisinde arg1, arg2, operation ve result isminde 4 adet saklayıcı barındırmaktadır. arg1, arg2 ve result 32 bitlik, operation ise 2 bitliktir. Sınıftın constructor’u bir argüman almamakta ve constructor çalıştığında sınıfta bulunan tüm değişkenlere sıfır değerini atamaktadır. setOper fonksiyonu bir argüman alıp, aldığı argümanı operation değişkenine atamaktadır. setArgs fonksiyonu iki argüman alıp, aldığı argümanları arg1 ve arg2 değişkenlerine atamaktadır. doOperation fonksiyonu argüman almaktadır. Bu fonksiyon sınıfın içindeki operation saklayıcısının değerine göre aşağıda verilen işlemleri yapmaktadır.

    operation == 0 –> result = arg1 + arg2
    operation == 1 –> result = arg1 – arg2
    operation == 2 –> result = arg1 * arg2
    operation == 3 –> result = arg1 & arg2

    aluTest sınıfını tasarladıktan sonra, aluTest sınıfını kullanan bir testbench hazırlayınız. Bu testbench ile aluTest sınıfının yapabildiği 4 farklı operasyonu test etmelidir.

DDM: Kalıtım

  • aluTest sınıfından kalıtım yapılarak aluTestPlus isminde bir sınıf oluşturunuz. Bu sınıfın içerisinde ek bir fonksiyon olarak doOperations2 isimli bir fonksiyon bulunmalıdır. Sınıfın UML diyagramı aşağıda verilmekedir.



    doOperations2 fonksiyonu operation değişkenine bakarak aşağıda verilen operasyonları yapmaktadır.

    operation == 0 –> result = arg1 | arg2
    operation == 1 –> result = arg1 ^ arg2
    operation == 2 –> result = arg1 + 1
    operation == 3 –> result = arg2 + 1

    aluTestPlus sınıfını tasarladıktan sonra, aluTestPlus sınıfını kullanan bir testbench hazırlayınız. Bu testbench ile aluTestPlus sınıfının yapabildiği 8 farklı operasyonu test etmelidir.

DDM: Değişken Türleri

  1. aluTestPlus sınıfından aluTestPlus2 isimli bir sınıf kalıtım yapınız. Bu sınıfın içerisinde void doOperation3(string argIn1, string argIn2, string operationIn) isimli bir fonksiyon bulunmaktadır. Bu fonksiyon aldığı string argIn1 ve argIn2 argümanlarından herhangi biri floating point ise (yani string’in içinde nokta işareti varsa) aşağıda verilen operasyonları yapmaktadır.

    operationIn == 0 –> result = argIn1 * argIn1
    operationIn == 1 –> result = argIn1+ arg2
    operationIn == 2 –> result = argIn1 – 1
    operationIn == 3 –> result = arg2 + 1

    eğer string argIn1 ve argIn2 argümanları floating point değiller ise (yani string içinde nokta işareti yok ise) aşağıda verilen operasyonları yapmaktadır.

    operationIn == 0 –> result = argIn1 – argIn2
    operationIn == 1 –> result = argIn1* arg2
    operationIn == 2 –> result = argIn1 – 5
    operationIn == 3 –> result = arg2 + 5

    aluTestPlus2 sınıfını tasarladıktan sonra, aluTestPlus2 sınıfını kullanan bir testbench hazırlayınız. Bu testbench ile aluTestPlus sınıfının yapabildiği 8 farklı operasyonu test etmelidir.

DDM: Arayüzler

  1. modul1 ve modul2 isminde iki modül tanımlaması yapınız. Bu modüllere ortak olarak giren ve çıkan sinyaller aşağıda verilmektedir.

    * clk
    * rst
    * data[31:0]
    * wrEn

    verilen 4 sinyali gruplayarak myIntf isimli bir interface tanımlaması yapınız. Bu interface’i her iki modül için kullanınız. Ayrıca modul2 için out isminde bir bitlik çıktı vardır. modul1 her clock cycle data sinyalinin değerini bir arttırarak dışarıya sürmektedir. wrEn sinyalini ise sabit olarak 1 olarak sürmektedir. rst geldiği zaman ise data sinyalini 0’a atamaktadır. Modül 2 wrEn sinyali aktif iken kendine gelen data sinyalinin değeri 100 ise, out çıkışından 1 sinyali çıkartmaktadır. Eğer rst sinyali aktif ise out çıktısı 0 olmalıdır.

    Bir testbench ortamı geliştirip modul1 ve modul2’in sahip olduğu myIntf interface’ini birbirine bağlayınız. Clock’u interface’e testbench’ten besleyiniz.
  2. Modport nedir? Ne amaçla kullanılmaktadır?

DDM: Rasgeleleştirme

  1. rand ve ranc nedir? Aralarındaki fark nedir? Örnek vererek açıklayınız.
  2. randomUretici isimli bir sınıf tasarlayınız. Bu sınıfta 2 bitlik bir rand türünde rasgele isimli bir saklayıcı tanımlayınız. Bu değişkenin rasgele üretimi esnasında 0 sayısının üretilmemesi için bir constraint tanımı yapınız. randomUretici sınıfından bir obje türetip, initial/begin bloğu içerisinde randomize fonksiyonunu 10 defa döngü ile çağırıp üretilen rasgele değerleri $display ile ekranda gösteriniz.
Categories
Electronic Circuits

Midterm Sample Questions

Elektriğe Giriş ve Dirençler

  1. Pozitif ve negatif polarite nedir?
  2. İletkenlik, yalıtkanlık ve yarı iletkenlik kavramları nedir?
  3. Direnç nedir?
  4. Kapalı ve açık devre kavramları nedir?
  5. Doğru ve alternatif akım nedir?
  6. Aşağıda verilen direnç renk tablosuna göre ve verilmiş direncin renk kodlarından Ohm değerini hesaplayınız.




  7. Sıfır ohm’luk dirençler neden kullanılmaktadır?

Ohm Yasası

  1. 1000 Ohm’luk bir direncin üzerinden 0.01 amper akım geçebilmesi için kaç Volt’luk bir gerilim uygulanmalıdır?
  2. Bir motor 120 Volt altında 2 amperlik bir akım çekmektedir. Bu motorun direnci nedir?
  3. Bir klima 220 V altında 20 amper akım çekmete ise, bu klimanın tükettiği güç’ü hesaplayınız.
  4. Bir elektrik süpürgesi 220V altında 15 amper akım çekmektedir. Elektrik kullanılan bölgede kilowatt saat fiyatı 2 TL ise, bu süpürge 2 saat çalıştırıldığında elektrik faturasına kaç TL eklenecektir?

Seri Devreler

  1. Aşağıda verilen devredeki direnç ve devrede dönen akım’a göre gerilim kaynağının gerilim değerini hesaplayınız.
  2. Verilen devrenin üzerinden geçen akımı hesaplayınız.
  3. Verilen devredeki gerilim kaynağının gerilim değerini hesaplayınız.
  4. Verilen devredeki geçen akımı hesaplayınız.

Paralel Devreler

  1. Aşağıda verilen devrenin üzerinden geçen toplam akımı ve R3, R4 dirençleri üzerinden geçen akımları hesaplayınız.
  2. Aşağıda verilen devredeki R1 ve R2 dirençleri üzerine düşen gerilimleri ve R3 direnci üzerinden geçen akımı hesaplayınız.
  3. Aşağıda verilen devrede R1 ve R2 dirençleri üzerinden geçen akımı ve R3 direnci üzerine düşen gerilimi hesaplayınız.
  4. Devrede verilen akım değerlerine göre gerilim kaynağının gerilim değerini ve R3 direncinin Ohm değerini hesaplayınız.

Categories
Electronic Circuits

LMS and Piazza

Öğrencilerin soru sorup yanıt alabileceği bir soru cevap sistemi sunulmaktadır. Ders duyuruları, öğrenci soruları ve cevapları için bir platformdur. Aşağıdan erişebilirsiniz. 

https://piazza.com/class/kre4fpkrie5wj

Blackboard (Learning Management System), bazı ödevlerin teslimi için LMS sistemi üzerinden olması istenecektir.
https://blackboard.fbu.edu.tr/

Categories
Electronic Circuits

Tools

Araç AdıİçerikAdres
Von Neumann Mimari SimulatörüVon Neumann mimarisinin simulatör aracıdır.http://levent.tc/files/courses/tools/vonneumann/
IEEE-754 İkilik – Onluk Dönüştürme AracıVerilen ondalıklı bir sayıyı IEEE-754 formatına dönüştürücü araçtır.http://levent.tc/files/courses/tools/floatbin/
Ondanlık, İkilik ve Onaltılık Sayı DönüştürücüOndanlık, ikilik ve onaltılık sayı formatında verilen bir sayıyı, diğer formatlara dönüştüren bir araçtır.http://levent.tc/files/courses/tools/hexdecbin/
Devre SimulatörüJavascript temelli bir devre simulasyon aracı sunulmaktadır. Aşağıdaki adresten erişebilirsiniz.Kullanım;Araç kutusundan bir öğe seçin ve sağ tarafa gidin.Sürükleme işlemi ile ekleniş öğeleri birbirlerine bağlayın.Bağlantısını kesmek için bir giriş düğümüne tıklayın.Eklenmiş öğeyi silmek için, öğeyi tutup araç kutusuna sürükleyin.Öğenin adını düzenlemek için bir etiket bölümüne çift tıklayınhttp://levent.tc/files/courses/tools/devresimulatoru/
Devre Simulatörü 2Çok kapsamlı bir devre simulatörüdür.  Kullanım kılavuzuna 
http://levent.tc/files/courses/tools/devresimulatoru2/devreSimulatoruKullanimKilavuzu.pdf 
adresinden erişebilirsiniz.
http://levent.tc/files/courses/tools/devresimulatoru2/
Bit Mantık İşlemleri Hesap MakinesiBit bazında işlem gerçekleştiren bir hesap makinesidir. Bu uygulama bit bazında yapılan işlemlerin öğrenilmesinde faydalıdır. Ve, veya, xor, değil ve kaydırma işlemleri desteklenmektedir. http://levent.tc/files/courses/tools/bitislemleri/
Categories
Electronic Circuits

Labs

LabKonuTarihİndirme
1Seri Devreler
2Paralel Devreler
3Hata Ayıklama
4DDM: Sınıflar
5FB-CPU System Verilog TB

Lab teslim dokümanı

Uzaktan LAB bağlantısı: fpga.levent.tc

Categories
Electronic Circuits

Exams and Sample Questions

Vize

Final

Categories
Electronic Circuits

Project

FB-CPU SystemVerilog TestbenchBu proje kapsamında dijital tasarım dersinde tamamlanan FB-CPU işlemcisinin SystemVerilog dili ile otonom kontrolünü yapan bir doğrulama ortamı geliştirilecektir.

Proje detayları için tıklayınız.

Categories
Electronic Circuits

Homeworks

ÖdevKonuTarihSon Teslim TarihiTeslim Yöntemiİndirme
1Ohm YasasıYazılı Olarak Ders Sınıfında Teslim 
2Paralel DevrelerYazılı Olarak Ders Sınıfında Teslim 
Categories
Electronic Circuits

Lecture Notes

HaftaNotlarİndirme
1Giriş
2Elektriğe Giriş ve Dirençler
3Ohm Yasası
4Seri Devreler
5Paralel Devreler
6Kapasitans
7Hata Ayıklama
8Vize
9Donanım Doğrulama Metodları (DDM): Sınıflar
10DDM: Kalıtım
11FB-CPU System Verilog TB
12DDM: Değişken Türleri
13DDM: Arayüzler
14DDM: Rasgeleleştirme
15Final ve Proje Sunumları
Categories
Electronic Circuits

Syllabus

HaftaKonuTarih
1Giriş
2Elektriğe Giriş ve Dirençler
3Ohm Yasası
4Seri Devreler
5Paralel Devreler
6Kapasitans
7Hata Ayıklama
8Vize Sınav Haftası
9Donanım Doğrulama Metodları (DDM): Sınıflar
10DDM: Kalıtım
11FB-CPU System Verilog TB
12DDM: Değişken Türleri
13DDM: Arayüzler
14DDM: Rasgeleleştirme
15Final ve Proje SunumlarıSınav Haftası