Using The New Verilog-2001 Standard Part Two: Verifying Designs
Using The New Verilog-2001 Standard Part Two: Verifying Designs
by
Stuart Sutherland
Sutherland HDL, Inc.
Portland, Oregon
Part 2-2
Sutherland
HD
L
copyright notice
2001
All material in this presentation is copyrighted by Sutherland HDL, Inc., Portland,
Oregon. All rights reserved. No material from this presentation may be duplicated or
transmitted by any means or in any form without the express written permission of
Sutherland HDL, Inc.
Sutherland HDL Incorporated
22805 SW 92nd Place
Tualatin, OR 97062 USA
Part 2-1
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-3
Part 2-4
Sutherland
Seminar Objectives HD
L
Assumptions:
You have a background in hardware engineering
You are at least familiar with using Verilog-1995
Part 2-2
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-5
Sutherland
Seminar Flow HD
L
Part 2-6
Sutherland
Verilog-2001 Update HD
L
Part 2-3
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-7
Sutherland
Why a New Standard? HD
L
Part 2-8
Sutherland
Goals for Verilog-2001 HD
L
Part 2-4
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-9
Sutherland
Overview of HDL Enhancements HD
L
Part 2-10
Sutherland
Support For Verilog-2001 HD
L
Synthesis:
Synopsys Presto (replaces DC compiler) currently supports a
synthesizable subset of Verilog-2001 enhancements
Cadence BuildGates no announced release date
Exemplar Leonardo Spectrum no announced release date
Information last updated July, 2001
Part 2-5
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-11
Part 2-12
Part 2-6
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-13
Part 2-14
Part 2-7
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-15
Part 2-16
integer f1;
initial
begin
f1 = $fopen(my_chip_outputs);
$fmonitor(f1, time=%t out_bus=%h, $realtime, out_bus);
end
Part 2-8
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-17
Part 2-18
Part 2-9
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-19
30
Verilog-2001 adds the ability to open up to 2 files
Uses a file descriptor (fd) that represents a single file
Sets bit 31 and 1 or more additional bits
Cannot be OR-ed to represent multiple files
Adds an optional type argument to $fopen to indicate if the file is
opened for reading, writing, update (read/write), append, etc.
mcd = $fopen{file_name); //opens an mcd file for writing, only
fd = $fopen{file_name, <type>); //opens fd file for reading/writing
Verilog-2001 adds several system task that can both read from
and write to fd files, in ASCII or binary
$ferror, $fgetc, $fgets, $fflush, $fread, $fscanf, $fseek,
$fsscanf, $ftel, $rewind, $sformat, $swrite, $swriteb,
$swriteh, $swriteo, $ungetc
Part 2-20
Part 2-10
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-21
Part 2-22
Part 2-11
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-23
Part 2-24
Part 2-12
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-25
Part 2-26
Part 2-13
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-27
Part 2-28
Part 2-14
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-29
Part 2-30
Sutherland
A Constant Function Example HD
L
Part 2-15
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-31
Part 2-32
Part 2-16
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-33
Part 2-34
Part 2-17
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-35
Part 2-36
Part 2-18
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-37
parameter values must be passed in the order defined; a parameter cannot be skipped
Part 2-38
Verilog-1995 Verilog-2001
module my_chip (...); module my_chip (...);
... ...
RAM #(8,1023) ram2 (...); RAM #(.SIZE(1023)) ram2 (...);
endmodule endmodule
Part 2-19
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-39
Part 2-40
Part 2-20
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-41
Part 2-42
Sutherland
Verilog Generate Example HD
L
Part 2-21
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-43
Part 2-44
Timing
The time it takes input changes to propagate to the
outputs
Restrictions on input changes in order for the models to
function properly
Part 2-22
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-45
Part 2-46
Part 2-23
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-47
Part 2-48
Part 2-24
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-49
Part 2-50
Part 2-25
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-51
Verilog-2001 defines:
How timing objects in SDF map to objects in Verilog
Based on the latest SDF standard, IEEE 1497-1999
Part 2-52
Part 2-26
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-53
Part 2-54
Part 2-27
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-55
Sutherland
Verilog Configuration Notes HD
L
Configurations specify which module source code should be used for each instance
of a module.
With Verilog-1995, it is up to the simulator on how to specify which model
version should be used for each instance (if the simulator can do it at all)
Part 2-56
Sutherland
Verilog Configuration Example HD
L
Part 2-28
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-57
Part 2-58
Part 2-29
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-59
Part 2-60
Sutherland
The VPI Library Is The Future! HD
L
Part 2-30
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-61
Sutherland
Congratulations! HD
L
Part 2-62
www.verilog-2001.com
Information about the Verilog-2001 standard
Verilog HDL Quick Reference Guide, Verilog-2001 version
Stuart Sutherlandeasy place for keywords, syntax, etc.
IEEE Std 1364-2001
IEEE Standard Hardware Description Language Based on
the Verilog Hardware Description Language
The Verilog Hardware Description Language
Donald Thomas & Phil Moorbygood Verilog introduction
The Verilog PLI Handbook
Stuart Sutherlandusing the PLI to extend the Verilog HDL
check www.sutherland-hdl.com for a list of over 30 books
Part 2-31
Using the New Verilog-2001 Standard
Part 2: Verifying Hardware
by Sutherland HDL, Inc., Portland, Oregon, 2001
Part 2-63
www.sutherland-hdl.com
Stuart Sutherland's web site lots of Verilog web links
comp.lang.verilog newsgroup
Great place to get quick answers to Verilog questions
Other newsgroups: comp.lang.vhdl, comp.cad.synthesis,
comp.arch.fpga
ESNUG - E-mail Synopsys Users Group
John Cooley jcooley@world.std.com
Verification Guild Verilog/VHDL verification newsletter
Janick Bergeron's newsletter on design verification
www.janick.bergeron.com
Part 2-64
Part 2-32