Course pages 2013–14
System-on-Chip Design and Modelling
Slides by Subject Group
Slides will be added as we go.
Note layout varies slightly from the printed notes.
- Introduction: SLIDES.
- SG1: SLIDES RTL. Verilog RTL design with examples. Event-driven simulation with and without delta cycles, basic gate synthesis algorithm and design examples. Structural hazards (memories and multipliers) Pipelining and handshake synthesis. [3 lectures]
- SG2: Basic SystemC. Using SystemC instead of Verilog. Nets conveying abstract data types for higher-level modelling. [1 Lecture]
- SG3:SLIDES SOCPARTS (not all will be used - DRAM and Cache not lectured this year). Basic bus structures. Bus structure. I/O device structure. Interrupts, DMA and device drivers. Examples. Basic bus bridging.
- SG4:SLIDES ESL. ESL + transactional modelling. Electronic systems level (ESL) design. Architectural exploration. Firmware modelling methods. Blocking and non-blocking transaction styles. Approximate and loose timing styles. [1 lecture]
- SG5:SLIDES ABD. Assertion-based design (ABD): assertions and monitors. Types of assertion (imperative, safety, liveness, data conservation). PSL/SVA assertions. Temporal logic compilation of fragments to monitoring FSM. [1 lecture]
- SG6:SLIDES TTE. (None of the tools were lectured this year).
- SG7:SLIDES POWER.
Course Materials: Lecture Notes and Exercise Sheets
- Here are the lecture notes in PDF format (with minor fixes): (PDF).
- Here are the lecture notes as printed: (PDF).
- MCS (PWF) SystemC Classes 1-2.
- MCS (PWF) Classes 3-6
- Exercise Sheet 1 : Short Questions: (PDF).
- Exercise Sheet 2 : Longer Questions: (PDF).
- Ethernet CRC Example.
Additional Materials
Documents and Reference Materials
- ATMEL AT91SAM ARM-based Embedded MPU Datasheet (PDF)
- Xilinx Zynq-7000 Product Brief (PDF).
- Design and Layout of 8-bit Kogge Stone Adder 8 Pages (PDF).
- MOSIS AMI 0.5 micron standard cell Library 98 Pages (PDF).
- A 90 nm standard cell library from 2006 557 pages (PDF).
Online Try-it-yourself Experiments
Running the cv2 simple RTL compiler
Login to the PWF using, for instance,
slogin linux.pwf.cam.ac.uk
Set up the following environment variables:
export PATH=/ux/clteach/djg11/cv2.18:$PATH export CVPATH=.:/ux/clteach/djg11/cv2.18/libs
Compile a test file as follows:
cp /ux/clteach/djg11/cv2.18/tests/test.v . cv2 -root TEST -vnl test.v
Then edit test.v according to your own interests and compile again.
An old cv2 user manual is here (PDF).
Lecture Timetable
This timetable will be updated regularly to reflect the pace achieved.
- Lecture 1: F 11th Oct: Introduction. Then start of SG1 - RTL/Verilog.
- Lecture 2: M 14th Oct: SG1 - RTL/Verilog - continued...
- Lecture 3: W 16th Oct: SG1 - RTL/Verilog - continued...
- Lecture 4: F 18th Oct: SG1 - RTL/Verilog - finished.
- Lecture 5: M 21st Oct: SG2 - Basic SystemC
- Lecture 6: W 23th Oct: SG3 - SoC Parts.
- Lecture 7: F 25th Oct: SG3 - SoC Parts continued...
- Lecture 8: M 28th Oct: SG3 - SoC Parts finished (cache and DRAM slides not used).
- Lecture 9: W 3th Oct: SG4 - ESL.
- Lecture 10: F 1st Oct: SG5 - ESL finished, ABD started.
- Lecture 11: M 4th Oct: SG6 - ABD finished. Technology part of TTE.
- Lecture 12: W 6th Oct: SG7 - Power.
Last year’s course materials are still available.