Computer Engineering Course Description

(Unless otherwise specified, all are 3-unit term courses of three hours of lecture and one hour of tutorial per week.)
CEG2400 Microcomputer Systems
Microcomputer system organization: bus architecture, signals and timing, memory systems. Input/output interfacing methods: polling, interrupt, direct memory access. Assembly language programming: addressing modes, data manipulation and control flow instructions, programme linkage, parameter passing, macros. Peripheral device interfacing and device driver development. Prerequisite: ERG2020.
CEG3150 Principles of System Software
Virtual machines. System supports for programme execution: micro-kernels, interrupts and synchronizations, interprocess communications, memory management, protection, portability, fault tolerance techniques and device drivers. Multi-processor system support. Prerequisite: CSC2100 or 2520.
CEG3420 Computer Design
Design of modern computer systems: performance evaluation, instruction sets, design of arithmetic logic units, datapath and control, pipelining, memory hierarchy, interfacing processors and peripherals, parallel processors. Prerequisite: ERG2020. (Not for students who have taken CSC3420.)
CEG3430 Embedded Systems
3 U; 2 Lect. 1 Tut. 1 Lab.
Introduction to microprocessor system developing methods such as memory and input/output interfacing techniques. Use of interrupts, timers and analogue to digital conversion methods for hardware system building will also be discussed. Introduction to logic system design methodologies including the use of programming logic devices and hardware description languages. Prerequisite: CEG2400.
CEG3470 Digital Circuits
This course examines the issues involved in designing and analysing digital circuits in CMOS technology. Topics include fabrication process, usage of SPICE, transfer characteristics, noise margin, loading effect, propagation delay, fanout analysis, transient current, power dissipation, bistable circuits and memories. A brief introduction to VLSI circuits is also included. Prerequisites: ERG2020 and ELE2110.
CEG3480 Digital Systems Design
3 U; 2 Lect. 1 Tut. 1 Lab.
Advanced interfacing techniques such as the use of sensors and actuators for signal analysis and control. High speed digital system design issues such as power consumption, signal delay, signal transmission and noise handling. Prerequisite: CEG2400.
CEG3490 VLSI Design
This course teaches techniques in designing and analysing VLSI circuits. Topics include design rules, layout fundamentals, switch-level simulation, charge sharing, static and dynamic logics, propagation-delay estimates, power considerations, data-path organization, clocking schemes, synchronizers, asynchronous circuits, pads, systolic computation, silicon compiler, highlevel synthesis and hardware description languages. Students will design complete IC's using both simple hand-layout programmes and CAD tools. Prerequisite: CEG3470.
CEG4430 Distributed Systems and Networks
This course aims to present the fundamental concepts and techniques about the design and construction of distributed systems. Topics to be covered are: models of distributed systems, networking and internetworking, concurrency control and synchronization, distributed programming, distributed operating systems and case studies of networking software. Prerequisite: CSC1110 or 1120 or 1130.
CEG5010 Reconfigurable Computing
3 U; 3 Lect. 1 Tut. 2 Lab.
This course is concerned with the design of reconfigurable computing systems using hardware description languages. Topics covered include field programmable gate array architectures (FPGA), computer arithmetic, high-speed digital logic, interfacing and case studies. Emphasis will be on how to design high-performance digital systems at the algorithmic, system and logic level. Each student is required to implement and test a digital design of moderate complexity. Prerequisite: CEG3480.
CEG5020 Fault-Tolerant Computing
Fault tolerance used to be a requirement of computer systems in specialized applications such as spacecraft control and telephone switching. With the advancement of hardware and software technology and the increasing complexity of computer systems, fault tolerance has become a necessity for a wide range of industrial, commercial and even personal applications. Models and methods are used in the analysis and design of fault-tolerant and highly reliable computer systems will be taught in this course. The topics to be covered by this course include fault/error modeling, reliability analysis, various redundancy techniques, fault-tolerant system design methods, case studies of fault-tolerant systems, and current research issues. Prerequisite: CEG3420 or CSC3420.
CEG5120 Sequential Machines and Automata Theory
Structure of sequential machines, linear sequential machines, state machine testing, information losslessness of finite automata, state-identification and fault-detection experiments, finitestate recognizers, sequential circuit retiming technique, synthesis for combinational and sequential circuits. Prerequisite: ELE2120 or ERG2020 or its equivalent.
CEG5270 CAD for Physical Design of Digital Systems
This course aims to present the fundamental concepts and algorithms applied in design automation (CAD) of VLSI circuits. The scope will include various areas in physical design of digital systems, including circuit partitioning, FPGA technology mapping, floorplanning, placement, routing, compaction and interconnect optimization. Prerequisites: CSC2100 and ERG2020.
CEG5330 Logic Synthesis and Testing
This introductory course aims at building fundamental background and practical techniques for digital logic design automation and hardware testing conscious design issues. Some academic (Berkeley ESPRESSO/SIS) and industry tools will be introduced. The topics range from the classic to recent techniques on representation, manipulation and optimization of Boolean logic, minimization/manipulation of 2-level Sum-of-Product (SOP) form, large multi-level Boolean network synthesis, technology mapping, delay analysis, sequential logic synthesis, state minimization, retiming resynthesis, verification, advanced applications using Ordered Binary Decision Diagrams (OBDD's), hardware fault testing, and notions of design for testability. Prerequisities: CSC2100 and ERG2020.

CUHK   |   Engineering Faculty   |   CSE Webmail   |   Search   |   Sitemap   |   Privacy Statement   |   Contact Us
Copyright © 2008 Department of Computer Science and Engineering, The Chinese University of Hong Kong. All rights reserved.
Email: dept@cse.cuhk.edu.hk       Tel: (852) 26098440       Fax: (852) 26035024