Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Week 1 9/14-9/21

This week I attended weekly members meeting, got assigned into groups, and reviewed related concepts to prepare for group’s project. I also went over the RV32I documents and would like to be placed into UART + SPI group for further projects.

Week 2 9/21-9/28

Week 2 I attended the weekly meeting, went over the basics of Computer Architecture in the Patterson and Hennessy textbook. Reviewed the basic structure of a processor and how the datapath and control unit work together. The datapath is how the data moves and get operated on; the control executes the instruction and controls the datapath. This chapter also covers sequential and combinational logic. Combinational logic depends on the current inputs, while sequential stores value across clock cycles. The main concept is about single cycle processor design, in which each instruction should finish within one cycle.

Week 3 9/28-10/5

This week I read the module abstraction and contributed to the schema design by adding the diagram for R-type ALU instruction. I then added comments and reasoning behind my design choices in the shared google document.

Week 4 10/6-10/12

This week I attended the meeting and went over the schema with control signals table. I also reviewed what the other teammates have contributed to the schematic.

Week 5 10/13-10/18

Week 5 I joined the weekly meeting and updated my interest for module to implement in System Verilog. I will be in charge of the branch decoder section and will implement it in the following week.

Week 6 10/19-10/25

I joined the weekly meeting and communicated with my groupmate on how to finish the branch_decoder implementation. We then meet up in-person to accomplish the module and testbench. I created a comprehensive set of testcases to verify the module and all test cases passed.

Week 7 10/26-11/2

This week I joined the weekly meeting. We have already finished the branch_decoder module and testbench.

Week 8 11/3-11/9

This week I went over topics regarding our design. A microcontroller is essentially a small computer on a single chip, containing a processor (CPU), program memory such as Flash, RAM, and hardware peripherals. An embedded system is a computer-based system designed to perform a specific function within a larger device. A peripheral is a hardware block that provides a function beyond the CPU and memory. For a microcontroller to work with vast majority of input and output devices, it would need GPIO ports, ADC converters, timers, and serial communication interfaces.