| |
| |
Table of Figures | |
| |
| |
Table of Examples | |
| |
| |
List of Tables | |
| |
| |
Preface | |
| |
| |
Acknowledgments | |
| |
| |
Trademarks | |
| |
| |
| |
Introduction | |
| |
| |
| |
Asic Design Flow | |
| |
| |
| |
Specification | |
| |
| |
| |
RTL Coding | |
| |
| |
| |
Types of Verilog Code: RTL, Behavioral, and Structural | |
| |
| |
| |
Test Bench and Simulation | |
| |
| |
| |
Synthesis | |
| |
| |
| |
Prelayout Timing Analysis | |
| |
| |
| |
APR | |
| |
| |
| |
Back Annotation | |
| |
| |
| |
Post layout Timing Analysis | |
| |
| |
| |
Logic Verification | |
| |
| |
| |
Verilog Coding | |
| |
| |
| |
Introduction to Basic Verilog Concepts | |
| |
| |
| |
Verilog Syntax | |
| |
| |
| |
Comments | |
| |
| |
| |
Numbers | |
| |
| |
| |
Verilog Data Type | |
| |
| |
| |
Signal Strength | |
| |
| |
| |
Verilog Gate-Level Primitives | |
| |
| |
| |
User-Defined Primitives | |
| |
| |
| |
Combinational UDP | |
| |
| |
| |
Sequential UDP | |
| |
| |
| |
Concurrent and Sequential Statements | |
| |
| |
| |
Coding Style: Best-Known Method for Synthesis | |
| |
| |
| |
Naming Convention | |
| |
| |
| |
Design Partitioning | |
| |
| |
| |
Clock | |
| |
| |
| |
Internally Generated Clock | |
| |
| |
| |
Gated Clock | |
| |
| |
| |
Reset | |
| |
| |
| |
Asynchronous Reset | |
| |
| |
| |
Synchronous Reset | |
| |
| |
| |
Timing Loop | |
| |
| |
| |
Blocking and Nonblocking Statement | |
| |
| |
| |
Sensitivity List | |
| |
| |
| |
Verilog Operators | |
| |
| |
| |
Conditional Operators | |
| |
| |
| |
Bus Concatenation Operator | |
| |
| |
| |
Shift Operator | |
| |
| |
| |
Arithmetic Operator | |
| |
| |
| |
Division Operator | |
| |
| |
| |
Modulus Operator | |
| |
| |
| |
Logical Operator | |
| |
| |
| |
Bitwise Operator | |
| |
| |
| |
Equality Operator | |
| |
| |
| |
Reduction Operator | |
| |
| |
| |
Relational Operator | |
| |
| |
| |
Latch Inference | |
| |
| |
| |
Memory Array | |
| |
| |
| |
State Machine Design | |
| |
| |
| |
Intelligent Traffic Control System | |
| |
| |
| |
Design Example of Programmable Timer | |
| |
| |
| |
Programmable Timer Design Specification | |
| |
| |
| |
Microarchitecture Definition for Programmable Timer | |
| |
| |
| |
Flow Diagram Definition for Programmable Timer | |
| |
| |
| |
Verilog Code for Programmable Timer | |
| |
| |
| |
Synthesizable Verilog Code for Programmable Timer | |
| |
| |
| |
Design Example of Programmable Logic Block for Peripheral Interface | |
| |
| |
| |
Programmable Logic Block for Peripheral Interface Design Specification | |
| |
| |
| |
Mode of Operation for Programmable Logic Block for Peripheral Interface | |
| |
| |
| |
Mode 0 Operation | |
| |
| |
| |
Mode 1 Operation | |
| |
| |
| |
Mode 2 Operation | |
| |
| |
| |
Microarchitecture Definition for Programmable Peripheral Interface | |
| |
| |
| |
Flow Diagram Definition for Programmable Peripheral Interface | |
| |
| |
| |
Synthesizable Verilog Code for Programmable Peripheral Interface | |
| |
| |
| |
Simulation for Programmable Peripheral Interface Design | |
| |
| |
| |
Simulation for Mode 0 Operation with PortA, PortB, and PortC as input and Output | |
| |
| |
| |
Simulation for Mode 0 Operation with PortA, PortB, and PortC Lower as Input and PortC Upper as Output | |
| |
| |
| |
Simulation for Mode 0 Operation with PortA, PortB, and PortC Upper as Input and PortC Lower as Output | |
| |
| |
| |
Simulation for Writing and Reading Data from STATUS and CWR Register | |
| |
| |
| |
Simulation for Mode 1 Operation with PortA and PortB as Strobed Input | |
| |
| |
| |
Simulation for Mode 1 Operation with PortA as Strobed Input and PortB as Strobed Output | |
| |
| |
| |
Simulation for Mode 1 Operation with PortA as Strobed Output and PortB as Strobed Input | |
| |
| |
| |
Simulation for Mode 1 Operation with PortA and PortB as Strobed Output | |
| |
| |
| |
Simulation for Mode 2 Operation with PortA as Strobed I/O and PortB as Input | |
| |
| |
| |
Simulation for Mode 2 Operation with PortA as Strobed I/O and PortB as Output | |
| |
| |
| |
Simulation for Mode 1 Operation with PortA and PortB as Strobed Input and STATUS Register Disabled | |
| |
| |
| |
Simulation for Mode 2 Operation with PortA as Strobed I/O and PortB as Output and STATUS Register Disabled | |
| |
| |
Appendix | |
| |
| |
| |
Two-bit by two-bit adder | |
| |
| |
| |
Two-bit by two-bit subtractor | |
| |
| |
| |
Four-bit by four-bit multiplier | |
| |
| |
Glossary | |
| |
| |
Bibliography | |
| |
| |
Index | |