Large and complicated digital circuits can be incorporated into hardware by using Verilog, a hardware description language (HDL). A designer aspiring to master this versatile language must first become familiar with its constructs, practice their use in real applications, and apply them in combinations in order to be successful. Design Through Verilog HDL affords novices the opportunity to perform all of these tasks, while also offering seasoned professionals a comprehensive resource on this dynamic tool.
Describing a design using Verilog is only half the story: writing test–benches, testing a design for all its desired functions, and how identifying and removing the faults remain significant challenges. Design Through Verilog HDL addresses each of these issues concisely and effectively. The authors discuss constructs through illustrative examples that are tested with popular simulation packages, ensuring the subject matter remains practically relevant. Other important topics covered include:
- Gate and Net delays
- CMOS switches
- State machine design
Further, the authors focus on illuminating the differences between gate level, data flow, and behavioral styles of Verilog, a critical distinction for designers. The book?s final chapters deal with advanced topics such as timescales, parameters and related constructs, queues, and switch level design.
Each chapter concludes with exercises that both ensure readers have mastered the present material and stimulate readers to explore avenues of their own choosing. Written and assembled in a paced, logical manner, Design Through Verilog HDL provides professionals, graduate students, and advanced undergraduates with a one–of–a–kind resource.
1 INTRODUCTION TO VLSI DESIGN.
1.2 CONVENTIONAL APPROACH TO DIGITAL DESIGN.
1.3 VLSI DESIGN.
1.4 ASIC DESIGN FLOW.
1.5 ROLE OF HDL.
2 INTRODUCTION TO VERILOG.
2.1 VERILOG AS AN HDL.
2.2 LEVELS OF DESIGN DESCRIPTION.
2.4 SIMULATION AND SYNTHESIS.
2.5 FUNCTIONAL VERIFICATION.
2.6 SYSTEM TASKS.
2.7 PROGRAMMING LANGUAGE INTERFACE (PLI).
2.9 SIMULATION AND SYNTHESIS TOOLS.
2.10 TEST BENCHES.
3 LANGUAGE CONSTRUCTS AND CONVENTIONS IN VERILOG.
3.4 WHITE SPACE CHARACTERS.
3.8 LOGIC VALUES.
3.10 DATA TYPES.
3.11 SCALARS AND VECTORS.
3.15 SYSTEM TASKS.
4 GATE LEVEL MODELING 1.
4.2 AND GATE PRIMITIVE.
4.3 MODULE STRUCTURE.
4.4 OTHER GATE PRIMITIVES.
4.5 ILLUSTRATIVE EXAMPLES.
4.6 TRI–STATE GATES.
4.7 ARRAY OF INSTANCES OF PRIMITIVES.
4.8 ADDITIONAL EXAMPLES.
5 GATE LEVEL MODELING 2.
5.2 DESIGN OF FLIP–FLOPS WITH GATE PRIMITIVES.
5.4 STRENGTHS AND CONTENTION RESOLUTION.
5.5 NET TYPES.
5.6 DESIGN OF BASIC CIRCUITS.
6 MODELING AT DATA FLOW LEVEL.
6.2 CONTINUOUS ASSIGNMENT STRUCTURES.
6.3 DELAYS AND CONTINUOUS ASSIGNMENTS.
6.4 ASSIGNMENT TO VECTORS.
6.6 ADDITIONAL EXAMPLES.
7 BEHAVIORAL MODELING 1.
7.2 OPERATIONS AND ASSIGNMENTS.0
7.3 FUNCTIONAL BIFURCATION.1
7.4 INITIAL CONSTRUCT.
7.5 ALWAYS CONSTRUCT.
7.7 ASSIGNMENTS WITH DELAYS.
7.8 wait CONSTRUCT.
7.9 MULTIPLE ALWAYS BLOCKS.
7.10 DESIGNS AT BEHAVIORAL LEVEL.
7.11 BLOCKING AND NONBLOCKING ASSIGNMENTS.
7.12 THE case STATEMENT.
7.13 SIMULATION FLOW.
8 BEHAVIORAL MODELING II.
8.2 if AND if else CONSTRUCTS.
8.3 assign deassign CONSTRUCT.
8.4 repeat CONSTRUCT.
8.5 for LOOP.
8.6 THE disable CONSTRUCT.
8.7 while LOOP.
8.8 forever LOOP.
8.9 PARALLEL BLOCKS.
8.10 force release CONSTRUCT.
9 FUNCTIONS, TASKS, AND USER–DEFINED PRIMITIVES.
9.4 USER–DEFINED PRIMITIVES (UDP).2
10 SWITCH LEVEL MODELING 305
10.2 BASIC TRANSISTOR SWITCHES.5
10.3 CMOS SWITCH.
10.4 BIDIRECTIONAL GATES.
10.5 TIME DELAYS WITH SWITCH PRIMITIVES.
10.6 INSTANTIATIONS WITH STRENGTHS AND DELAYS.
10.7 STRENGTH CONTENTION WITH TRIREG NETS.
11 SYSTEM TASKS, FUNCTIONS, AND COMPILER DIRECTIVES 339
11.3 PATH DELAYS.
11.4 MODULE PARAMETERS.
11.5 SYSTEM TASKS AND FUNCTIONS.
11.6 FILE–BASED TASKS AND FUNCTIONS.
11.7 COMPILER DIRECTIVES.
11.8 HIERARCHICAL ACCESS.
11.9 GENERAL OBSERVATIONS.
12 QUEUES, PLAS, AND FSMS.
12.3 PROGRAMMABLE LOGIC DEVICES (PLDs).
12.4 DESIGN OF FINITE STATE MACHINES.
APPENDIX A (Keywords and Their Significance).
APPENDIX B (Truth Tables of Gates and Switches).
...ideally suited for teaching digital hardware design techniques using a low–level programming language...highly recommended... (Choice, Vol. 41, No. 8, April 2004)
" enables readers to master Verilog as an HDL for design...engages the readers at every stage through the variety and number of examples." (IEEE Solid–State Circuits Society Newsletter, January 2004)