Verilog for Beginners

1 of
Published on Video
Go to video
Download PDF version
Download PDF version
Embed video
Share video
Ask about this video

Page 1 (0s)

Welcome to Semi World. Earth Globe Americas.

Page 2 (1m 13s)

Verilog for Beginners.

Page 3 (1m 22s)

You will learn all basic and advance Verilog Topics..

Page 4 (1m 56s)

Basic Verilog : Covers all information that a new user needs to build small Verilog models and run simulations..

Page 5 (2m 26s)

Verilog HDL(Hardware description Language) offers many useful features..

Page 6 (2m 44s)

Hierarchical modeling concept : Top-down and bottom-up design methodology.

Page 7 (3m 46s)

Design Specification. Typical Design Flow. Behavioral Description.

Page 8 (5m 39s)

There are two types of design methodologies : a top-down methodology and bottom-up design methodology..

Page 9 (6m 14s)

Bottom-up methodology. Leaf cell. Leaf cell. Leaf cell.

Page 10 (6m 45s)

The T Flip-flop shown in figure is made up of D flip-flop and exor gate..

Page 11 (7m 10s)

Verilog Code : T-Flop Flop. module t_flip_flop ( T ,clk ,reset ,D);.

Page 12 (8m 23s)

module d_flip_flop ( din ,clk ,reset ,dout );. output dout ;.

Page 13 (8m 56s)

Number specification: sized and unsized.. Sized :.

Page 14 (10m 1s)

Basic Concept : Number Specification. X or Z values :.

Page 15 (11m 11s)

Verilog supports 4 state data types.. State Description 1 Logic 1, True condition 0 Logic 0, False condition X Unknown logic value Z High Impedance, floating state.

Page 16 (11m 48s)

Nets : Keyword – wire. Nets represent connections between hardware elements..

Page 17 (13m 15s)

Register : keyword – reg. Basic Concept : Data Types.

Page 18 (13m 46s)

Example of Register. reg val_1; //declare a variable val_1 that can hold its value.

Page 19 (14m 47s)

Vectors. Nets or reg data types can be declared as vectors (multiple bit widths)..

Page 20 (15m 55s)

Vector Part select. We can select the parts of the vector..

Page 21 (17m 1s)

Variable Vector Part Select. [<starting_bit>+:width] - part-select increments from starting bit.

Page 22 (19m 50s)

We can use loop to select all bytes of the vector..

Page 23 (22m 15s)

Integer. Integers are declared with keyword integer..

Page 24 (22m 57s)

Real. Real numbers are declared with keyword real..

Page 25 (23m 47s)

Time. A special time register data type is used in Verilog to store simulation time..

Page 26 (24m 39s)

Arrays. Arrays are allowed in Verilog for reg, integer, time and real data types..

Page 27 (25m 53s)

Values assignments to arrays:. integer cnt[0:7];.

Page 28 (27m 54s)

Memory. Memories are modeled in Verilog simply as a one-dimensional array of registers..

Page 29 (28m 49s)

Parameters. Verilog allows constants to be defined in a module by the keyword parameter..

Page 30 (29m 45s)

String. String does not have any specific data type..

Page 31 (30m 39s)

Special characters serve a special purpose in displaying strings, such as newline, tabs, and displaying argument values..

Page 32 (31m 7s)

All system tasks appear in the form $<keyword>.. Operations such as displaying on the screen, monitoring values of signals, stopping, and finishing simulation are done by system tasks..

Page 33 (32m 6s)

String Format Specifications. Format Display %d or %D Display in Decimal %b or %B Display in Binary %s or %S Display in string %h or %H Display in Hex %c or %C Display in ASCII character %m or %M Display hierarchical name %v or %V Display strength %o or %O Display in octal %t or %T Display in current time format %e or %E Display real number in scientific format %f or %F Display real number in decimal %g or %G Display real number in sci or dec..

Page 34 (32m 58s)

Examples:. //Display value of 32-bit virtual address 3fe00abc at time 300.

Page 35 (34m 34s)

$monitor. Verilog provides a mechanism to monitor a signal when its value changes..

Page 36 (37m 12s)

Stopping and finishing in a simulation. $stop. Basic Concept : System Task.

Page 37 (37m 58s)

All compiler directives are defined by using the ` construct..

Page 38 (38m 51s)

`include. The `include directive allows you to include entire contents of a Verilog source file in another Verilog file during compilation..

Page 39 (39m 36s)

End of the session. Hierarchical modeling concept : Top-down and bottom-up design methodology Basic concept : Number specification, data types, system tasks, compiler directives. Modules and ports : Module definition, Port declaration, Port connections. Gate level modeling : Modeling using basic Verilog gate primitives. Data flow modeling : Continuous assignment, delay specification, operators, Operands. Behavioral Modeling : Initial and always, blocking and non-blocking, generate, event and conditional statements, branching, loops, etc. Tasks and Functions. Useful modeling techniques..