Categories
Embedded Systems Graduate

Detailed Course Description

Course Description

Bu ders kapsamında, dünyanın en popüler açık kaynaklı işlemci mimarisi olan RISC-V’ye sahip bir işlemci tasarımı ve doğrulaması gerçekleştirilecektir. Tasarım sürecinde Verilog ve SystemVerilog dilleri kullanılacak, doğrulama ise UVM (Universal Verification Methodology) yöntemiyle yapılacaktır. Tasarlanan işlemciye, UART, I2C, SPI gibi yaygın kullanılan arayüzler entegre edilerek, sıcaklık, GPS ve IMU gibi sensörlerle çalışan gömülü sistem uygulamaları geliştirilip demoları yapılacaktır. Ayrıca, veri iletişimi sağlanacak; yer istasyonu ve kontrol yazılımı geliştirilecektir. Dersin sonunda, bir Küp Uydu Görev Bilgisayarı prototipi geliştirilerek uygulamalı bir demo ile tüm kazanımlar pekiştirilecektir. Eğitimler esnasında Xilinx Artix 7 FPGA’ler kullanılacaktır.

Course Hours (Theoretical + Lab)

TBA

Instructors

Assist. Prof. Vecdi Emre Levent

Prerequisites

There are no prerequisites.

Helpful Resources

Reference sources of the course are listed below.

  • Introduction to Logic Design, Third Edition, Alan B. Marcovitz, McGraw-Hill, 2010
  • Digital Design, Moris Mano and Michael D. Ciletti, 5th edition, Prentice Hall, 2009
  • FPGA Prototyping by Verilog Examples, Pong Chu, John Wiley, 2008
  • Introduction to Logic Design, Alan Marcovitz, McGraw Hill, 2010

Softwares

Xilinx Vivado 2024.2

Courses

The course has 3 hours of theory per week. It is expected that the course materials given by the lecturer will be reviewed before the lesson and repeated after the lesson. 

Learning Outcomes

  • RISCV Based CPU Design
  • Sensor Applications

Quizzes

There will be two quizzes during the semester. 30 minutes will be given. Quiz date will be announced one week in advance.

Grading

It is mandatory to attend classes at 80%.

Term grade; will be determined by midterm, labs, assignments, project and final exam. Evaluation percentages are given in the table below.

ActivitiesRates
Midterm%30
Homework/Quiz/Seminar%20
Final%40

5 points will be deducted for each hour that passes over the delivery time of homework and quizzes.

The weight and letter grade corresponding to the end of term grade are given in the table below.

MarkWeightLetter grade
90-1004.00AA
85-893.50BA
80-843.00BB
75-792.50CB
65-742.00CC
50-641.50DC
45-491.00DD
0 -440FF

Expected Effort

The effort table that the student is expected to show during the term is given below.

ContentHoursTimesSub Total
Lesson Preparation21428
Lesson Repetition21428
Homeworks4416
Course Lesson31545
Midterm and Final24248


Students are expected to spend an average of 165 hours during the semester to be successful in the course.

Coding Homeworks

Grading of coding assignments will be done by examining the accuracy, quality and details of the algorithmic implementation of the code.

Testing

Test entry and expected outputs will be shared for each assignment to be given. However, other test situations that have not been shared with you will be tried during the homework control. Code that takes longer to run than expected may be evaluated incorrectly.

Theory

The code should be the design of the desired algorithm. The optimal solution is not expected. But memory and runtime shouldn’t be too much than expected.

Written Assignments

The assignment should be written in your own handwriting. The homework answer sheet should contain the name of the course, student name and surname, student number and date. 

Academic Integrity

The aim of the homework is to learn to do in-depth research about the course and to gain practical knowledge. Working with other students on assigned assignments is encouraged. Students who form a study group are more successful in exams than students who study on their own.

But even if you work with others to solve an assignment, you must solve each problem yourself without help. If you obtain your solution through a search (eg an internet search), you should express the solution in your own sentence and/or code. When the solution is asked orally, the student is expected to be able to explain it.

If the given assignment is a code, you have to write it yourself. You can get help from others in debugging. Manual and automatic mechanisms will be used for plagiarism detection in code. Plagiarism, cheating in the exam and similar behaviors are punished according to the disciplinary regulations.