Verilog Language Concepts
Verilog Language Concepts
Concepts
1: 1
x 1
X or x: 0 X 1
1 0
0
Z or z :
1 z
Logic Values and Examples
output
inout
Amem
// A memory of 8 one-bit elements
reg Amem [7:0];
0
Array Structures
7
0
// A memory of four 8-bit words
reg [7:0] Cmem [0:3]; Cmem
4
3
2
1
0
0
Dmem
3
Array Structures
Verilog
Verilog Verilog Array
Arrays
Operators
Operators Data Types Indexing
Basic Equality
Operators Operators
Boolean Shift
Operators Operators
Concatenation Conditional
Operators Operators
Basic Equality
Operators Operators
Boolean Shift
Operators Operators
Concatenation Conditional
Operators Operators
Basic Equality
Operators Operators
Operators
Boolean Shift
Operators Operators
Concatenation Conditional
Operators Operators
or inequality (!=)
Return a one-bit result, 0, 1, or Z
Example Results in
8’b10110011 == 8’b10110011 1
8’b1011 == 8’b00001011 1
4’b1100 == 4’b1Z10 0
4’b1100 != 8’b100X 1
8’b1011 !== 8’b00001011 0
8’b101X === 8’b101X 1
Basic Equality
Operators Operators
Boolean
Boolean Shift
Operators
Operators Operators
Concatenation Conditional
Operators Operators
Basic Equality
Operators Operators
Boolean Shift
Operators Operators
Operators
Concatenation Conditional
Operators Operators
Shift Operators
Basic Equality
Operators Operators
Boolean Shift
Operators Operators
Concatenation Conditional
Operators Operators
Basic Equality
Operators Operators
Boolean Shift
Operators Operators
Concatenation Conditional
Operators Operators
Net Reg
Declarations Declarations
Signed
Parameters
Data
Net Reg
Declarations Declarations
Signed
Parameters
Data
Net Reg
Reg
Declarations Declarations
Declarations
Signed
Parameters
Data
Net Reg
Declarations Declarations
Signed
Parameters
Data
Net Reg
Declarations Declarations
Signed
Parameters
Parameters
Data
Example Explanation
parameter p1=5, p2=6; 32 bit parameters
parameter [4:0] p1=5, p2=6; 5 bit parameters
parameter integer p1=5; 32 bit parameters
parameter signed [4:0] p1=5; 5 bit signed parameters
Parameter Examples
Continuous Procedural
Assignments Assignments
Verilog
Simulation
Model
Continuous Procedural
Continuous
Assignments
Assignment Assignments
Simple Delay
Assignments Specification
Multiple
Drives
Simple
Simple Delay
Assignments
Assignments Specification
Multiple
Drives
Simple Delay
Assignments Specification
Multiple
Drives
assign #2 w = m | p;
`timescale 1ns/100ps
Simple Delay
Assignments Specification
Multiple
Drives
Simple Delay
Assignments Specification
Multiple
Drives
Using net_declaration_assignment
Verilog
Simulation
Model
Continuous Procedural
Procedural
Assignment Assignments
Assignment