Digital Systems: 1st semester
2017 (Aug)
There are two parts in this class. The first part is the basic
building block of IT (teach by Prabhas 17 Aug - 28 Sept). The second
part is the asynchronous design (teach by Arthit).
my old lecture: 2015
2016
classroom : Mon 10:00-11:00 Eng 4, floor 17, room 17-01 (xerox
room), Thu 13:00-15:00 Eng 3 room 403
Aim
Today digital technology permeates every corner of our society. There are
three big trends that shape our future. The first one is the coming of
Artificial Intelligence. The second one is the rise of
Automation. The last one the revolution of technology to transfer
money. These advancements rely on the power of computing. To
understand this future, we need a firm grip on how the technology
work. This class will discuss the basic of digital technology.
The idea of educating ourselves is not just read about the new
development, but to "participate", or in the other words, to practice and
experiment to see how things work. We will discuss the following topics:
Microprocessor and how to program in assembly language
High level language and its translation into machine code
Interrupt and its role in multi-tasking
Low power programming
Concurrency, operating system and virtual memory
Multi-core processor
The highlight of the class will be a final project to really build a very
simple processor from scratch.
How
we learn
We learn by doing both hardware simulation and software. The
assignments will be given out periodically throughout the term. The final
exam is "open book" and has an element of system design plus some "pseudo"
programming.
Assessment
Two parts (basic IT and asynchronous) each has 50 points (independently
assess)
My part
30% project 4B processor and presentation
20% written final exam (the last week of part one class, around 28
Sept, takehome)
Announcement
25 Sept 2017 update
4B control unit
Lecture
August
September
2-6 Oct 2017 midterm
Asynchronous design (Aj Arthit lecture)
Homework
1 Install Logicworks5. Try some simple examples.
2 Learn how to write in Rz by reading Quick
Start Rz. We use Rz version 3.6.
. . .
Project
4B
processor
Tools
S21 simulator and assembler s21-3.zip
(latest update 24 Jan 2017)
Logicwork5 (tool for Logic Design,
no installation required, just unzip)
I use Rz language as an example language.
See my Rz language homepage
Demonstrate the actual compiler of this course RZ. Rz
compiler on web
Compiler uses in this class Rz 3.6 source and executable rz36-3.zip
(last update 13 Feb 2017)
Recommended free C compiler for Windows lcc-win32
. (for Windows 7, 8, 8.1 and 10). Please also download and install
"User Manual". You need it to look up the library function of this C.
(for OS X you need xcode, also free).
Additional information
Logicworks 4 Tutorial 2
This is a bit old but easy to read.
. . .
last update 25 Sept 2017