Course content for the Design Verification module at the University of Bristol
This project is maintained by uobdv
Hello, welcome to the Design Verification module (COMS30026) website. Here you will find all the course content and related information. Lecture recordings and information on coursework (where applicable) are hosted privately on Blackboard at the University of Bristol. For further information about this course, please contact Kerstin Eder.
This unit familiarises students with the state of the art in Design Verification, and gives them the technical background plus some of the practical skills expected from a professional design verification engineer.
Students intending to take this unit should know that the unit requires a significant amount of initiative and motivation, independent study, e.g. teaching yourself a new language and familiarising yourself with EDA tools in the labs, and diligent time management to meet the learning objectives. Essential pre-requisites to take this unit include good programming and software engineering skills and a basic understanding of computer architecture.
In return, on successful completion of this unit, you will be able to add to your CV knowledge and skills in the following areas:
Autumn Term 2024
Lectures are scheduled in weeks 1-5, 7-8, and in week 12 we will have a 1h revision session. Please refer to the timetable for lecture times and locations. Any changes to scheduled lecture times and lecture theatres will be announced during lectures and via Blackboard.
Lecture recordings will be made available via Blackboard. There are roughly three hours of recordings per week, though you should attend the live lectures as timetabled, and use the recordings only for revision.
Labs (called Practicals in your timetable) are scheduled in weeks 1-5 and 7-8 on Wednesdays at 12:00 and Fridays at 12:00 in MVB. Labs will be supervised by a Teaching Assistant (TA). Labs can cover setting up remote access to the EDA tools, an introduction to using the EDA tools, help with using the various languages, methodologies, tools, etc. New material and demos will normally be covered in the Wednesday lab session. In general, the lab session on Fridays offers an opportunity for you to catch up.
You are expected to engage with the supplementary material and the opportunities highlighted in the lectures and on this unit page.
Autumn Term 2024
The slides provided in the table below may be updated with revised versions as necessary. Please note that the lectures and recordings may not cover all slides; some of the slides not covered may provide further information for exercises and self study.
You will require access to two EDA tools for this module: Siemens QuestaSim (ModelSim) and Cadence SpecMan and JasperGold.
The EDA tools are accessible in the Linux labs in MVB, 2.11 and 1.15, and also remotely. To set up remote access you need to follow the instructions on how to set up X2GO.
The following are the command line instructions you can use from a terminal once you are logged in, either directly in a lab or remotely:
> module use /eda/cadence/modules
> module load course/COMS30026
You should then be able to call QuestaSim (ModelSim) from the command line:
> vsim &
You may also want to check whether you can call Cadence SpecMan and JasperGold:
> specview &
> jaspergold &
The simulator for Specman only works within a virtual machine. The guide to access EDA tools in a virtual machine is in Access EDA tools in a virtual machine.
In both cases the tools should come up with GUI interfaces. If this works for you, then you are ready to start the exercises and, where applicable, your coursework.
You can also download this worksheet on how to use X2GO for remote access.
The exercises are designed to further your understanding of Verilog, the simulator and the e language, and to give you an opportunity to practice the material covered during the lectures. The QuestaSim (ModelSim) simulator and SpecMan Elite are installed under Linux, for access instructions please see above.
Your first exercise is a self-study exercise for you to teach yourself the basics of the Hardware Description Language (HDL) Verilog.
In particular, you will need the behavioural coding style for the first practical. Please remember that we “only” want to verify HDL designs. This means that we need to be able to understand the basics of HDLs (in this case Verilog); we do NOT intend to design hardware in this unit.
There are several good tutorials on Verilog online. ALDEC Inc. offers the Evita Verilog interacitve tutorial. To download it you need to sign up on the ALDEC web page. Please use your University of Bristol email address to do so; ALDEC do not accept generic emails like gmail, yahoo or hotmail. Installation is straightforward; the tutorial is self-extracting and runs under Windows.
You may also want to study the set of slides that come with the book “The Verilog Hardware Description Language” by Donald Thomas.
For future use you might want to download and print the Verilog Reference Card: verilog_reference_card.pdf
This exercise introduces you to the ModelSim/QuestaSim simulator by Siemens.
Introduction to the ModelSim/QuestaSim Simulator
For future use you might want to download and print the ModelSim/QuestaSim quick reference guide: modelsim_se_6_5_quick_ref.pdf
Files needed for the ModelSim/QuestaSim introduction:
ZIP archive of all the below files
mux421_faulty_testbench.v - Only download this one if you do not want to (learn how to) write your own.
How to collect Code Coverage with ModelSim
SpecMan Elite is part of the Incisive Functional Verification platform provided by Cadence.
Files needed for the SpecMan tutorial:
For some answers to frequently asked questions about Verilog and Specman/E, please see the following pages.
The Verification Academy provides a comprehensive learning resource from basics to very advanced materials.
A book that covers some of the course is:
Janick Bergeron
Writing Testbenches: Functional Verification of HDL Models
First Edition, Kluwer Academic Publishers, 2000, ISBN: 0-7923-7766-4
Second Edition, Kluwer Academic Publishers, 2003, ISBN: 1-4020-7401-8
In May 2005 a comprehensive textbook on Design Verification was published:
Bruce Wile, John Goss and Wolfgang Roesner
Comprehensive Functional Verification
Elsevier, 2005, ISBN: 0-12-751803-7
Both books are available in the QB library.
Parts of the lecture notes contain material from the book “Writing Testbenches: Functional Verification of HDL Models” by Janick Bergeron and from lecture slides developed at IBM, the University of Pittsburgh, Penn State University, North Carolina State University and Ohio State University. The HDL for the assignments has been developed at IBM - special thanks go to Bruce Wile for his support and encouragement.