ch_4_ciletti_part1
TRANSCRIPT
8/2/2019 ch_4_ciletti_part1
http://slidepdf.com/reader/full/ch4cilettipart1 1/13
ISRA University Islamabad
Reference Text: “Advanced Digital Design with Verilog HDL” By
Micheal D. Ciletti
Design Flow
8/2/2019 ch_4_ciletti_part1
http://slidepdf.com/reader/full/ch4cilettipart1 2/13
FPGA Design Flow Verilog RTL Coding
Verilog testbench
Verilog
model
Functional/Gatesimulation
& Verification
sdc
VerilogNetlist
ToolsDesign Stage
Logic Synthesis
ucf ngcModelsim SE Verification
Text Editor
Emacs, Nedit, Vi
Verilog Design
Physical Layout
Xilinx ISEPyhsical Design &
Xilinx ISE ‐ XST
Synplify Pro
Synthesis
Device Configuration
par
Xilinx ImpactImplementation
bit
Demonstration Demonstration of Example of conditional Op project
on FPGA xc3s1500
Demonstration o using veriwe
Demonstration of using Xilinx ISE for synthesis and
.
Use of ucf File in the FPGA design Flow
8/2/2019 ch_4_ciletti_part1
http://slidepdf.com/reader/full/ch4cilettipart1 3/13
User Constraint File User Constraint File specifies the connection of the
ports of
top
‐level
verilog module
the pin numbers of a particular FPGA.
Comment : #
Format :
NET “module_port<<index>>” LOC = “pin_number” ;
Example:
NET “LED<0>”
LOC
= “Y4”;
NET "out<0>" LOC = "U12";
Introductory Example: Half Adder
8/2/2019 ch_4_ciletti_part1
http://slidepdf.com/reader/full/ch4cilettipart1 4/13
Primitives
The output
port
of
a primitive
must
be
first
in
the
list
of
por s. e ns ance name o a pr m ve s op ona .
3‐Input Nand
8/2/2019 ch_4_ciletti_part1
http://slidepdf.com/reader/full/ch4cilettipart1 5/13
Design Encapsulation
Structural Models
8/2/2019 ch_4_ciletti_part1
http://slidepdf.com/reader/full/ch4cilettipart1 6/13
Language Rules
Nested Modules
Use nested module instantiations to create a top‐
own es gn erarc y.
8/2/2019 ch_4_ciletti_part1
http://slidepdf.com/reader/full/ch4cilettipart1 7/13
Nested (Cont.)
The ports of a module may be listed in any order.The
instance
name
of
a
module
is
required.
STRUCTURAL CONNECTIVITY
TIP: Use nets to establish structural connectivity.
An undeclared identifier is treated by default as a
wire.
8/2/2019 ch_4_ciletti_part1
http://slidepdf.com/reader/full/ch4cilettipart1 8/13
Port Connection By Name
‐
Comparator (Assignment)
8/2/2019 ch_4_ciletti_part1
http://slidepdf.com/reader/full/ch4cilettipart1 9/13
Logic System
The logic value x denotes an unknown (ambiguous) value.The logic
value
z
denotes
a
high
impedance.
Drivers The value on a wire with multiple drivers in contention
may be x
8/2/2019 ch_4_ciletti_part1
http://slidepdf.com/reader/full/ch4cilettipart1 10/13
Test Methodology
To systematically verify the functionality of a model.
Approaches:
Simu ation an /or orma veri ication Simu ation:
(1) detect syntax violations in source code
2 s mu ate e av or
(3) monitor results
Example: Testbench
8/2/2019 ch_4_ciletti_part1
http://slidepdf.com/reader/full/ch4cilettipart1 11/13
Behaviors for Abstract Models
Signal Generators
8/2/2019 ch_4_ciletti_part1
http://slidepdf.com/reader/full/ch4cilettipart1 12/13
Event‐Driven Simulation
Testbench template
8/2/2019 ch_4_ciletti_part1
http://slidepdf.com/reader/full/ch4cilettipart1 13/13
Representation of Numbers