You are on page 1of 8

TEKNOFEST

HAVACILIK, UZAY VE TEKNOLOJİ


FESTİVALİ

ÇİP TASARIM YARIŞMASI


2023
SAYISAL İŞLEMCİ TASARIM KATEGORİSİ
ÖN TASARIM RAPORU ŞABLONU

TAKIM ADI
MITT

BAŞVURU ID
#849052

1
İÇİNDEKİLER
1. Giriş - 3
2. Tasarım İsterleri - 3
3. Tasarım Detayları
3.1. Çekirdek Tasarımı
3.1.1. Getir - 4
3.1.2. Çöz - 4
3.1.3. Oku - 4
3.1.4. Çalıştır - 5
3.1.4.1. Çarpma Birimi - 5
3.1.4.2. Bölme Birimi - 5
3.1.5. Geri Yaz - 5
3.2. Bellek Mimarisi - 5
3.3. Çevre Birimleri - 6
3.4. Çip Tasarım Akışı - 6
4. Takım Organizasyonu ve İş Planı - 7
5. Kaynakça ve Ekler - 7, 8

2
1. Giriş
Bu rapor, yarışma kapsamındaki bütün isterleri karşılaması planlanan işlemcinin ana hatlarını
içermektedir. Von Nouman mimarisinde tasarlanması planlanan, 5 aşamalı boru hattı yapısından
(getir, çöz, oku, yürüt ve geri yaz adımlarından) oluşmaktadır. Ayrıca önbellek tasarımı açısından
Doğrudan Eşlemeli Sıkıştırılmış buyrukların(c) ikinci aşama olan çöz aşasında genişletilerek çözülmesi
planlanmaktadır. Eklenti veri setinin(x) ise yürüt katmanında ALU içerisindeki ek bloklarda çözülmesi
planlanmaktadır. Yarışma kapsamında desteklenmesi istenen UART, SPI ve PWM çevre birimleri
tasarımımızda bulunacaktır.

2. Tasarım İsterleri
Von Nouman mimarisine uygun olarak, tasarımımızda tek seviye bellek kullanılmıştır. Buyruklar
ve veriler tek bellek üzerinde tutulmuştur. Dış iletişimimiz, yalnızca çevre birimlerimiz(UART, SPI ve
PWM) ve ana bellek denetleyicisi üzerinden yapılacaktır.

Şekil 1: Tasarım Genel Blok Şeması

Tasarımı yapılacak olan işlemcinin sektördeki benzerleri incelenerek tahmini olarak 100 MHz de
çalışacağı düşünülmüştür. Bu aşamada verimi, kapladığı alan ve güç tüketimi hakkında çok net bilgiye
sahip olmadığımızdan verilen bilgiler tamamen yapılan benzer araştırmalara dayandırılmıştır. Üzerine
çalışılmaya devam edilmektedir.

3
3. Tasarım Detayları

3.1 Çekirdek tasarımı

Şekil 2: Çekirdek Blok Şeması

3.1.1 Getir
Getir aşamasında Program sayacı çöz aşamasındaki çözücüden gelen değerle güncellenecektir.
Sıkıştırılmış(c) buyruklar için program sayacı yarım arttırılacaktır. Program sayacını değerine göre L1
den gelen buyruklar çöz aşamasına iletilecektir.

3.1.2 Çöz
Çöz aşamasında 16 bitlik sıkıştırılmış buyrukların ayrımı yapılacak ve buna göre program sayacına
değer dönülecektir. Sıkıştırılmış buyruklar 32 bite genişletilecek sonrasında buyruklar çözülerek
buyruk tipi, anlık(immediate) değerler, yazmaç adresleri bir sonraki aşama olan oku aşamasında
yönlendirilecektir.

3.1.3 Oku
Oku aşamasında gelen buyruk tipine göre bir sonraki aşamaya gidecek olan verileri oluşturacak
modüller bulunacaktır. Bu modüller Yazmaç öbeği ve anlık değer çalıştırıcısı ve ALU’nun girişleri için
R1 seçim ve R2 seçim encoder modülüdür. Yazmaç öbeği 32 bitlik 32 yazmaçtan oluşmaktadır. Bu
sebeple 5 bitlik seçim değeri vardır. Anlık değer seçimi encoder modülleri buyruk tipine göre gelen
değerler ile iletilecek verinin seçimi yapılacaktır. R1 değeri R1 seçim değerine göre yazmaç üzerinden
okunan R1 değeri ya da program sayacı değerini alacaktır. R2 değeri de R2 seçim değerine göre
yazmaçtan okunan R2 değeri ya da anlık değer çalıştırıcıdan okunan değeri alacaktır.

4
3.1.4 Çalıştır
Çalıştır aşamasında buyruk tipi üzerinden 16’lık encoder ile hesaplanan ALU seçim değeri ile oku
aşamasından gelen R1 ve R2 değerleri ALU’ya verilecektir. Desteklenen IMC ve X buyruk kümelerinde
gerçekleştirmemiz gereken bütün operasyonlar için 5 bitlik seçim kullanılacaktır.

3.1.4.1 Çarpma Birimi


Çarpma birimi için Topla/ötele, dizin çarpma ve booth çarpma algoritmaları karşılaştırılmıştır [1].
Topla/ötele algoritmasının kullanılmasına implemente etmesinin kolay olması nedeniyle seçilmiştir.

Şekil 3: Topla/ Ötele Algoritmasının Akış Diyagramı [1]

3.1.4.2 Bölme Birimi


Bölme birimi için ötele/çıkart bölme, restoring ve SRT algoritmaları karşılaştırılmıştır [1].
Ötele/çıkart algoritmasının kullanılmasına implemente esmesinin kolay olması nedeniyle seçilmiştir.

3.1.5 Geri Yaz


Geri yazma aşamasında bir önceki aşama olan Yürütden gelen sonuçların kaydedilmesi gereken
durumlarda gerekli yazmaça kaydedilir.

3.2 Bellek Mimarisi


Şartnamede belirtilmesi üzerine buyruk ve veriler 1.seviye önbellek (L1) tutulacak şekilde
tasarlanması için tek seviyeli bir önbellek yapısı kullanılmıştır. Ayrıca donanımsal açıdan daha sade bir
yapıda olmasından ötürü doğrudan eşlemeli önbellek yapısı tercih edilmiştir. Önbelleğin 2KB
boyutunda ve 128 satırdan (𝑙𝑜𝑔2128= 7) oluşması düşünülmektedir.
L1 Önbelleğinde veri yolu ve buyruk yolu olmak üzere 2 yol kullanımı uygun görülmüştür.

5
3.3 Çevre Birimleri
Wishbone arayüzü ile işlemcinin UART ,SPI ve PWN çevre birimleri ile iletişimi sağlanması
düşünülmektedir. Wishbone açık kaynaklı olduğu için birçok birçok farklı kaynaktan
yararlanabilmemiz ve yardım alabilmemiz olasılığı da düşünüldüğü için seçilmiştir.

Şekil 4: Wishbone Arayüzü [2]

3.4 Çip Tasarım Akışı


Çip tasarım akışında OpenLane açık kaynak aracı kullanılması planlanmaktadır. PDK olarak da
Google skywater 130 nanometre PDK kullanılacaktır. Yazılacak Verilog RTL kodlarının sentezi,
yerleşimi, yolların oluşturulması gibi aşamaları kapsamaktadır. Aşagıdaki resimde OpenLane aracının
izlediği yol paylaşılmıştır.

Şekil 5:OpenLane Akış Diyagramı

6
4. Takım Organizasyonu ve İş Planı

İş paketi 1: fikirsel tasarım aşamasıdır. Yarışma isterlerine göre bazı mimari kararları alınır.

İş paketi 2: Ön tasarım raporunun oluşturulması sürecini kapsar

İş paketi 3: RTL tasarımının küçük modüller bazında gerçekleştirilmesini kapsar.

İş paketi 4: Yapılan RTL tasarımının birleştirilmesi önce küçük modüller bazında sonrasında da bütün
halinde simülasyon seviyesi doğrulamanın gerçekleştirilmesi

İş paketi 5: FPGA üzerinde teknofest tarafından paylaşılan testlerde dahil olmak üzere bütün testlerin
yapılması.

İş paketi 6: OpenLane EDA toolu ile GDSII çıktılarının alınmasi

İş paketi 7: Detaylı tasarım raporunun oluşturulması ve teslimini kapsar

İş paketi 1 10.11.2022 – 9.12.2022

İş paketi 2 9.12.2022 – 11.12.2022


İş paketi 3 11.12.2022 – 12.01.2023
İş paketi 4 12.01.2023 – 22.01.2023
İş paketi 5 22.01.2023 – 27.01.2023
İş paketi 6 27.01.2023 – 29.02.2023
İş paketi 7 29.01.2023 – 5.02.2023

7
5. Kaynakça ve Ekler
[1] Recep Selami ÖZBEY. (2004) Bilgisayar Aritmetik Ünitelerin Tasarımı İçin VHDL Tabanlı
Kütüphane Geliştirilmesi

[2] Wishbone (computer bus) - Wikipedia

Digital Design and Computer Architecture RISC-V edition, Sarah L Harris, David Money
Harris. In: 2022.

Yavuz Selim Tozlu, Yasin Yılmaz "Design and Implementation of a 32 bit RISC-V Core". In:
June 2021.

OpenLane. (2022). https://openlane-docs.readthedocs.io/en/rtd-develop/#quick-start

Godbolt. (2022). https://godbolt.org/

You might also like