The course will cover the design of sequential digital systems using FPGA (programmable logic devices) and microprocessors. The languages VHDL, assembler and C will be used. Students will have the opportunity to execise their creativity in some of the lab design assignments.
Digital systems are widely used, and their use is ever-increasing. Witness the explosion in the uses of computers, and the development of digital communications systems, etc.
Modern digital design involves the use of a range of devices, from discrete logic chips (NAND, NOR, etc), to more complex logic chips (adders, counters, flip-flops, etc), to hardware programmable logic devices and memory arrays (PLD, ROM, etc), and ultimately to software programmable microprocessors and microcontrollers. This course will teach you the basics of how digital hardware and microprocessors work and how to design digital systems to solve engineering problems. You will learn to use CAD software, and to implement a design in hardware and software. The course will teach you about microprocessors, how to write software for them, and their applications. After completing course, you will be in a position to decide on the best way to solve a problem, using hardware and/or software.
This course is considerably more design-oriented than most of the other Engineering courses you will have taken to date. In particular, the course involves hands-on design lab assignments. You will find it lots of fun!
A student may reasonably ask ``why am I being required to do this course?'' There are several reasons:
The course reflects current industry practice and recent trends in using hardware description languages for hardware design, simulation and sophisticated EDA software, programmable logic ICs, microprocessors and microcontrollers, and indeed, the increasingly blurred distinction between hardware and software in modern digital systems. In this course the focus will be on hardware design, software design, and combining them to build digital systems.
Hardware/software used in the course:
Course webpage: http://spigot.anu.edu.au/courses/engn3213/
See also ENGN3213 Computer and Hardware Lab Notes.
ANU Engineering - ENGN3213