ch_4_ciletti_part1

13
ISRA  University  Islamabad  Reference Text: “Advanced Digital Design  with  Verilog HDL”  By  Micheal D. Ciletti Design Flow

Upload: fahadalghazali

Post on 06-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ch_4_ciletti_part1

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

Page 2: ch_4_ciletti_part1

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

Page 3: ch_4_ciletti_part1

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 

Page 4: ch_4_ciletti_part1

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

Page 5: ch_4_ciletti_part1

8/2/2019 ch_4_ciletti_part1

http://slidepdf.com/reader/full/ch4cilettipart1 5/13

Design Encapsulation 

Structural Models 

Page 6: ch_4_ciletti_part1

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.

Page 7: ch_4_ciletti_part1

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  

module 

is 

required.

STRUCTURAL CONNECTIVITY 

TIP: Use nets to establish structural connectivity.

An undeclared identifier is treated by  default as a 

 wire.

Page 8: ch_4_ciletti_part1

8/2/2019 ch_4_ciletti_part1

http://slidepdf.com/reader/full/ch4cilettipart1 8/13

Port Connection By Name

‐ 

Comparator (Assignment) 

Page 9: ch_4_ciletti_part1

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

Page 10: ch_4_ciletti_part1

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

Page 11: ch_4_ciletti_part1

8/2/2019 ch_4_ciletti_part1

http://slidepdf.com/reader/full/ch4cilettipart1 11/13

Behaviors for Abstract Models 

Signal Generators 

Page 12: ch_4_ciletti_part1

8/2/2019 ch_4_ciletti_part1

http://slidepdf.com/reader/full/ch4cilettipart1 12/13

Event‐Driven Simulation 

Testbench template 

Page 13: ch_4_ciletti_part1

8/2/2019 ch_4_ciletti_part1

http://slidepdf.com/reader/full/ch4cilettipart1 13/13

Representation of  Numbers