You are on page 1of 29

CSE 20221: Logic Design

Using Verilog in the Xilinx ISE

Logic Design: Verilog using Xilinx, 7-Segment Display.1

S. Yoder ND, 2012

Steps in using Xilinx with Verilog


1.
2.
3.
4.
5.
6.
7.

Create a new project


Determine inputs and outputs
Add a new Verilog source and fill in Inputs/outputs
Enter the description of the circuit
Perform a syntax check
Switch the design view to simulation
Select the design file and add new Verilog test
fixture source

Logic Design: Verilog using Xilinx, 7-Segment Display.2

S. Yoder ND, 2012

Select New Source for Design Model

new source icon

Logic Design: Verilog using Xilinx, 7-Segment Display.3

Choose implementation
view

S. Yoder ND, 2012

New Verilog Source File

Logic Design: Verilog using Xilinx, 7-Segment Display.4

S. Yoder ND, 2012

Input and Output Declarations

set inputs and


outputs

Logic Design: Verilog using Xilinx, 7-Segment Display.5

S. Yoder ND, 2012

Enter Design Model (structure example)

Logic Design: Verilog using Xilinx, 7-Segment Display.6

S. Yoder ND, 2012

Boolean Equation Behavioral Model

Logic Design: Verilog using Xilinx, 7-Segment Display.7

S. Yoder ND, 2012

Select New Source for Test Fixture

Choose simulation view


new source icon

File associated with


test fixture

Logic Design: Verilog using Xilinx, 7-Segment Display.8

S. Yoder ND, 2012

Test Fixture Source Wizard

Logic Design: Verilog using Xilinx, 7-Segment Display.9

S. Yoder ND, 2012

Multiple Modules

Logic Design: Verilog using Xilinx, 7-Segment Display.10

S. Yoder ND, 2012

Verilog Test Fixture

Note hierarchy

Logic Design: Verilog using Xilinx, 7-Segment Display.11

S. Yoder ND, 2012

Spartan 3E Specifications

Logic Design: Verilog using Xilinx, 7-Segment Display.12

S. Yoder ND, 2012

Spartan Pricing

Logic Design: Verilog using Xilinx, 7-Segment Display.13

S. Yoder ND, 2012

CSE 20221: Logic Design

Using the 4-Digit 7-Segment Display on


the Digilent Basys Board
https://www.digilentinc.com/Data/Products/BASYS2/Basys2_rm.pdf
listed under links in course web site

Logic Design: Verilog using Xilinx, 7-Segment Display.14

S. Yoder ND, 2012

LEDs
anode (+)

cathode (-)

current flow
current limiting resistor

Digilent Basys board


Spartan 3E pin out

Logic Design: Verilog using Xilinx, 7-Segment Display.15

S. Yoder ND, 2012

Current limiting resistor calculation


R > (Vcc- Vd) / Idmax
Assume:
the led voltage drop, Vd = 1.3 V
the maximum diode current, Idmax = 10 mA
the supply voltage, Vcc = 3.3 V
R > 200

Logic Design: Verilog using Xilinx, 7-Segment Display.16

S. Yoder ND, 2012

Seven-Segment Display

Apply low voltage to cathodes (CA-CG) to select


segments (logic 0 = low voltage on Basys board)
Apply high voltage to anodes (AN1-AN4) to select digit
Logic Design: Verilog using Xilinx, 7-Segment Display.17

S. Yoder ND, 2012

Seven-Segment Display Basys Pin Out

Logic Design: Verilog using Xilinx, 7-Segment Display.18

transistor switches are p-type,


assert 0 (low voltage) to turn
them on
assert 0 on pins F12, J12, M13,
K14 to select appropriate digit
assert 0 on pins L14, H12, N14,
N11, P12, L13, M12, L13, M12,
N13 to select appropriate
segments
Need to multiplex cathode data
(more on that in a later lab)

S. Yoder ND, 2012

The Design Process


ANALYSIS
Interpret the problem statement
Identify inputs and outputs
Assign assertion voltage levels
Develop a high level representation, e.g., block
diagram
DESIGN
Transform the high level information into
applicable design representation, e.g., truth
table, Boolean equation, schematic, high-level
languages
Logic Design: Verilog using Xilinx, 7-Segment Display.19

S. Yoder ND, 2012

Design Process Continued


TESTING
Simulate verify and validate behavior
verify is the functionality correct
validate does functionality match customers intent

Download design to target device


verify and validate hardware functionality
TESTING with Verilog
Simulations should be done for each module
Simulation of the entire system follows successful
simulation of each module
Logic Design: Verilog using Xilinx, 7-Segment Display.20

S. Yoder ND, 2012

Lab 4 Design Problem Statement


Design a circuit that will display a hex number on
a 7-segment LED display.
Use Verilog to model the circuit.
The value of the hex number corresponds to its
binary equivalent value represented by the
position of four switches: sw3, sw2, sw1, sw0.
sw3 is msb (most significant bit) and sw0 is lsb
(least significant bit)

Logic Design: Verilog using Xilinx, 7-Segment Display.21

S. Yoder ND, 2012

Identify Inputs and Outputs


Inputs: sw0, sw1, sw2, sw3
Outputs: a, b, c, d, e, f, g, anode1

Logic Design: Verilog using Xilinx, 7-Segment Display.22

S. Yoder ND, 2012

Block Diagram
A block diagram is a top-level representation of
the overall system which includes:

inputs / outputs
major functional units
interconnections between units
interconections to external world (hardware interface)

Block diagrams provide a

means to communicate between designers


way to make a complex system more understandable
way to partion functionality
mechanism to conceptualize a design concept

Logic Design: Verilog using Xilinx, 7-Segment Display.23

S. Yoder ND, 2012

Block Diagram
SW3

0v

interface

SW2

SW1

5v
SW0

BCD to 7-segment
decoder
ab c d e f g
interface

pull-up resistor
can be subdivided
into additional blocks

A pull-up resistor forces the voltage at the input to equal 5 v when the
switch is open. The input shouldnt be left to float, which can cause
erratic values.
Logic Design: Verilog using Xilinx, 7-Segment Display.24

S. Yoder ND, 2012

Translate to Design Format

Truth table
Karnaugh map
Schematic
HDL

Logic Design: Verilog using Xilinx, 7-Segment Display.25

S. Yoder ND, 2012

Simulation
Verification does the circuit simulate according
to its intended design?
Validation does the circuit function according to
what the customer wanted?
Make any necessary design changes to correct
any invalid behavior

Logic Design: Verilog using Xilinx, 7-Segment Display.26

S. Yoder ND, 2012

Prototype
Download design to prototype board
Verify correct functionality
Repeat necessary design steps to correct any
problems

Logic Design: Verilog using Xilinx, 7-Segment Display.27

S. Yoder ND, 2012

Design: An Iterative Process


The design process is often presented as a
sequence of well organized steps
In reality, design is an iterative process:
cyclic, i.e., revisit the different steps:
analysis
design
testing: verification and validation

A product evolves over several design and


product iterations

Logic Design: Verilog using Xilinx, 7-Segment Display.28

S. Yoder ND, 2012

Homework
Using the Xilinx ISE, create a Verilog model for the g
segment of a seven-segment display, where the value for
the segment must be set to 0 for the LED to light (active
low). Your circuit must display a hex number, i.e., 0, 1
8, 9, A, b, c, E, and F. Submit a text file printout of your
Verilog .v file and a printout of your simulation results.

Logic Design: Verilog using Xilinx, 7-Segment Display.29

S. Yoder ND, 2012

You might also like