Skip to content

ricnyc/Computer-Organization

Repository files navigation

Computer-Organization

Verilog, Assembly, C and FPGA(DE2)

The code in this repository are my solutions for ECE243 labs at the University of Toronto. Please do not use it for your own course work, thank you.

Feel Free to email me for any mistakes in the repo or if you have any questions about assembly or verilog programming. Send me a mail

Lab1 - Computer Memory

The purpose of this lab is to demonstrate various concepts related to computer memory, such as data representation, endianness, and sign extension. You must do Part 1 of this lab on your own, prior to coming to the microprocessor lab.

Detailed information

Lab2 - Memory Operations, Loops, and Conditionals

The purpose of this lab is to familiarize you with Nios II assembly language programming and using the debugger to observe how your program functions.

Detailed information

Lab3 - Subroutines and C

The purpose of this lab is to introduce subroutines, by writing assembly language subroutines that call and are called by C subroutines.

Detailed information

Lab4 - Parallel Port and Timer

In this lab you will learn how to use the Parallel Interface (JP1/JP2 connectors on the DE2 board) to communicate with another piece of hardware, the Lego controller. The Lego controller connects to motors and sensors, allowing your program to interact with the physical world. You will also learn how to use the Timer peripheral on the DE2 computer to measure delay intervals.

You will build a self-balancing device made from Lego which will be controlled by the Lego controller and the DE2 Nios II processor. In Part 1 of this lab you will implement a basic balancing algorithm to read the sensors and control the motor. In Part 2 you will improve your algorithm by slowing down the motor, using the timer to implement Pulse Width Modulation (PWM).


Detailed information

Lab5 - Polled I/O

In this lab you will use the polling concept for a JTAG UART (Universal Asynchronous Receiver/Transmitter that sends data over the JTAG programming cable) to control a simple game. To poll a device is to actively and continuously check its status to see if it is ready to be used in some way.

[![ScreenShot](https://www.dropbox.com/s/f5cxdp4ed8z02et/screenshot%209.png?dl=1)](https://www.dropbox.com/s/jlz4k6invr0pnrr/2014-02-21%2021.33.55.mov?dl=0)
Detailed information

Lab6 - Interrupt-Driven I/O

The purpose of this lab is to demonstrate various concepts related to computer memory, such as data representation, endianness, and sign extension. You must do Part 1 of this lab on your own, prior to coming to the microprocessor lab.

Detailed information

Lab7 - Modifying a Microprocessor

The purpose of this lab is to give you practical experience working with and modifying a microprocessor as described and discussed in class.


Detailed information

Final project - Airplane launcher

About

Verilog, Assembly, C and FPGA(DE2)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published