You are on page 1of 29

Nguyn Th Hong

Khoa CN in T
- HCN TPHCM

Th nghim thit
k FPGA

[ Ti liu hng dn thc hnh thit k FPGA. y l Ti liu chuyn


nghnh ginh cho sinh vin nm 3,4 chuyn ngnh in T - Vin
thng T ng. Ti liu thuc chng trnh ging dy bc H ca
khoa Cng Ngh in T, trng H Cng Nghip TP HCM ]

Rev 1.0

Contents
Phn 1 :

Tng quan v thit k trn FPGA.......................................................................................... 2

I.

Qui trnh thit k.......................................................................................................................... 2

II.

Gii thiu FPGA............................................................................................................................ 4

III.

Gii thiu Board DE2 ca Altera ............................................................................................... 9

1. Gii thiu .................................................................................................................................... 9


2. Thnh phn ............................................................................................................................... 10
3. Mt vi ng dng ca board DE2 .............................................................................................. 10
IV.

Cch ci t Quartus II 10.0 v Nios II ..................................................................................... 13

1. Gii thiu .................................................................................................................................. 13


2. Ci t ...................................................................................................................................... 13
V.

To mt project mi vi Quartus II 10.0: .................................................................................... 16


1. To 1 project: ............................................................................................................................ 16
2. Vit chng trnh v bin dch: ................................................................................................. 17
3. Gn chn v np xung phn cng FPGA: .................................................................................. 20

Phn 2 :

H thng bi lab ca altera ................................................................................................. 26

1.

Gii thiu v h thng bi lab ca altera .................................................................................... 26

2.

Chi tit cc bi lab phi thc hin............................................................................................... 27

Reference Documents ....................................................................................................................... 28

Phn 1 : Tng quan v thit k trn FPGA


Mc tiu
Nm c cng ngh FPGA

Lm quen board thc hnh DE2

Ci t, v lm quen vi cc phn mm: Quartus II, Nios II

I. Qui trnh thit k


Hnh sau ch ra qui trnh thit k chip y . Qui trnh thit k ny ti u, hiu sut
cao,mt tch hp cc ln, nhng gi thnh cao, phc tp ln , nhiu ri ro v thi gian ra
sn phm rt lu. Ch nhng cng ty rt ln, v c nh my sn xut chip ring mi s dng
phng php thit k ny.

Fail
Fail
Schematic
Design

Function Design

Function And
Timing
verification

Pass

Layout
Design

Post-Layout Pass
Simulation

Fabrication

Hnh 1 : Full custom Design Methodology

Hin nay, theo qui trnh sn xut Chip fabless, cc nh sn xut chip khng trc tip ch
to ra chip m h ch thit k cp cao ri outsource cho cc cng ty sn xut chuyn sn xut
chip nh TSMC, Samsung gia cng. Phng php thit k ny da trn cc standard-cell do
cc nh sn xut chip cung cp sn.
Logic Gate
Library

VHDL or Verilog
Coding

VHDL or Verilog
Cimulation

RTL Design

High-Level
Simulation
Fail

Logic
Synthesis

Gate-level
Simulation

Cell Layout
Library

Placement
& Routing

Post-Layout
Simulation

Fail

Hnh 2 : Standard-Cell Based Design Methodology

Fail

Fabrication

Phng php thit k da trn FPGA , cng gn ging nh phng php thit k standardcell Based . Nhng n s dng cc FPGAs logic cell , phng php ny cho thi gian thit k
v sn xut rt nhanh, v cc Chip FPGA c sn xut t trc , ri ro cng thp. Tuy nhin
nhc im ca n l mt tch hp khng cao lm, tc cng khng bng hai phng php
thit k trn. Tuy nhin phng php thit k da trn FPGA vn c s dng rt nhiu do thi
gian thit k nhanh, c kh nng ti cu hnh ng.
FPGA Cell
Library

VHDL or Verilog
Coding

VHDL or Verilog
Cimulation

RTL Design

High-Level
Simulation

Logic
Synthesis

Fail

Placement
& Routing

Post-Layout
Verification

Generate
FPGA
bitstream

Download

FPGA

Fail

Hnh 3 : FPGA-based Design Methodology

Hnh sau l mt v d v kin trc ca mt FPGA cng nghip v chip FPGA trong thc t.

Hnh 4 : V d v mt kin trc ca FPGA

ng dng ca FPGA :

L tng cho vic ch to cc sn phm mu prototype.


Cc thit b cn thi gian bn ra th trng ngn.
Cc sn phm s lng nh, theo yu cu khch hng.
Cc phn cng cn kh nng ti cu hnh linh hot.
Cc h thng cn thay i cu hnh trong qu trnh hot ng (vd nh SDR)

II. Gii thiu FPGA


Qui c t tn cho FPGA ca altera.

Hnh 5 : Qui c t tn cho FPGA ca Altera

Logic Element
y l phn t logic nh nht trong kin trc FPGA thng thng, gi tt l LE, n cho php
thc hin cc chc nng logic hiu qu. c tnh ca mt LE :
L mt bng tra 4 ng vo (hoc nhiu hn ty kin trc FPGA) gi l look-up table
(LUT), m c th thc hin hm logic 4 bin bt k.
Mt thanh ghi c th lp trnh c (programmable register)
Mt chui cc kt ni mt xch.
Mt chui kt ni cc thanh ghi.
C kh nng li tt c cc loi lien kt ni bao gm : local, row, column, register chain,
hoc ni trc tip
Lin kt ni.
H tr register packing
H tr register feedback

Hnh 6 : Logic Element

LE Features
Ta c th cu hnh mi thanh ghi ca LE thnh D, T, JK, hoc SR flip-flop. Mi thanh
ghi c data, clock, clock enable, v chn clear. Tn hiu c th l global clock network, cc chn
I/O pins, hoc bt k logic ni no.
Cc chn I/O pins hoc logic ni c th li cc chn enable. Nu mun LE thc hin chc nng
ca cc mch t hp, LUT s c bypass qua khi thanh ghi.
Mng Logic (Logic Array Block)
Mt mng logic bao gm nhiu khi LE v cc h thng lin kt ni hng ,ct , h thng bus ni
b

Hnh 7 : LAB

Mng clock (Clock Network)


Bi v clock c th cn phn phi ton b chip FPGA, v yu cu nghim ngt v timing, do
clock c phn phi n ton b FPGA bi mt mng clock nh hnh 4.

Hnh 8 : Clock Network

I/O Pins
H thng IO ca FPGA thng t chc thnh cc Bank, mi bank gm nhiu chn IO c
cng tnh nng. h tr nhiu h thng phn cng khc nhau, cc chn IO ca FPGA gm
hng chc kiu khc nhau vi cc tnh cht v in cng khc nhau (xem bng).

Hnh 9 : IO Pins

Hnh 10 : IO Banks

Kin trc ca mt FPGA

Hnh 11 : FPGA Architecture

Ngoi cc phn t c bn nh LE, LAB, Clock, IO pin. FPGA cn c cc phn t Embedded


Memory block, Embedded Multiplier, DSP Block, Integrated Controller

III.

Gii thiu Board DE2 ca Altera

1. Gii thiu

Board DE2 l board mch phc v cho vic nghin cu v pht trin v cc lnh vc lun
l s hc (digital logic), t chc my tnh (computer organization) v FPGA.

Hnh 12 : Board DE2

Hnh 13 : DE2 Block diagram


2. Thnh phn

Board DE2 cung cp kh nhiu tnh nng h tr cho vic nghin cu v pht trin, di y
l thng tin chi tit ca mt board DE2:
FPGA:
- Vi mch FPGA Altera Cyclone II 2C35.
- Vi mch Altera Serial Configuration EPCS16.
Cc thit b xut nhp:
- USB Blaster cho lp trnh v iu khin API ca ngi dung; h tr c 2 ch lp
trnh JTAG v AS.
- B iu khin Cng 10/100 Ethernet.
- Cng VGA-out.
- B gii m TV v cng ni TV-in.
- B iu khin USB Host/Slave vi cng USB kiu A v kiu B.
- Cng ni PS/2 chut/bn phm.
- B gii m/m ha m thanh 24-bit cht lng a quang vi jack cm line-in, lineout, v microphone.
- 2 Header m rng 40-pin vi lp bo v diode.
- Cng giao tip RS-232 v cng ni 9-pin.
- Cng giao tip hng ngoi.
B nh:
- SRAM 512-Kbyte.
- SDRAM 8-Mbyte.
- B nh cc nhanh 4-Mbyte (1 s mch l 1-Mbyte).
- Khe SD card.
Switch, cc n led, LCD, xung clock
- 4 nt nhn, 18 nt gt.
- 18 LED , 9 LED xanh, 8 Led 7 on
- LCD 16x2
- B dao ng 50-MHz v 27-MHz cho ng h ngun.
3. Mt vi ng dng ca board DE2

ng dng lm TV box

Hnh 14 : ng dng TV Box

Chng trnh v bng chut USB (paintbrush)

Hnh 15 : Chng trnh v (paintbrush)

My ht Karaoke v my chi nhc SD

Hnh 16 : My ht Karaoke v my chi nhc t card SD

IV.

Cch ci t Quartus II 10.0 v Nios II

1. Gii thiu

B phn mm thit k i km vi board DE2 bao gm 2 a CDROM: Quartus 2 v Nios


2 Integrated Development Environment (IDE)
Quartus II l phn mm h tr tt c mi qu trnh thit k mt mch logic, bao gm qu
trnh thit k, tng hp, placement v routing (sp xp v chy dy), m phng (simulation), v
lp trnh ln thit b (DE2).
Nios II, mi trng pht trin tch hp ca h Nios II (IDE), n l cng c pht trin ch
yu ca h vi x l Nios II. Phn mm s l mi trng cung cp kh nng chnh sa, xy dng,
debug v m t s lc v chng trnh. IDE cn cho php to cc chng trnh t n nhim
(single-threaded) n cc chng trnh phc tp da trn mt h iu hnh thi gian thc v
cc th vin middleware.
Ngoi ra, chng ta c th cn mt chng trnh m phng code Verilog cp RTL
(mc truyn thanh ghi) hoc m phng mc cng (Gate level Simulation)
2. Ci t

Ci t Quartus II v Nios II
Qu trnh ci t Quartus II v Nios n gin ch cn a a vo my v thc hin theo
hng dn ca chng trnh ci t nh bt k phn mm no .

Hnh 17 : Phn mm Quartus v Nios II IDE

Ci t phn mm USB blaster driver


V Board DE2 c lp trnh (programming) bng cch s dng cng c USB Blaster (USB
Blaster mechanism). Do , c th kt ni kit DE2 v lp trnh thng qua my PC, chng ta
cn phi ci t driver cho thit b USB Blaster .
Sau khi gn board DE2 vo my tnh thng qua cng USB, nu USB Blaster driver cha c
ci t th hp thoi sau s xut hin, Chn No, not this time sau nhn Next

Hnh 18 : Thng bo cha ci dirver

Chn Install from a specific location v chn Next

Hnh 19 : Chn cch thc ci t driver

Kt tip bn chn Search for the best driver in these location v sau nhn Browse.

Hnh 20 : Chn th mc tm kim driver

Hp thoi mi s xut hin bn tm n v tr C:\altera\10.0\quartus\drivers \usbblaster, sau


nhn OK v tip tc nhn Next

Hnh 21 : Chn th mc cha dirver

Ca s thng bo vic kim tra logo window khng thnh cng, tuy nhin vic ny s
khng b nh hng n vic kt ni ca chng trnh sau ny. Bn tip tc nhn Continue
Anyway. Nhn Finish hon tt vic ci t.
Ch driver USB blaster c th nm trong th mc khc so vi hng dn ty thuc vo
phin bn quartus m bn ci t, thm ch bn c th copy driver ti mt th mc khc v tr
ng dn ti th mc ny khi ci t.

V. To mt project mi vi Quartus II 10.0:


1. To 1 project:

Bc 1. Vo Menu > file chn New Project Wizard

Hnh 22 : To mi mt project

Bc 2. Ta chn th mc cha project v t tn cho project, xem hnh bn di

Hnh 23 : Chn tn v ng dn

1:Chn dng dn th mc
2: Chn tn th mc
Bc 3. Sau ta chn hng sn xut chip v tn loi chip trn mch (EP2C35F672C6)

Hnh 24 : Hp thoi la chn chip

Bc 4. Cui cng chn Finish hon tt


2. Vit chng trnh v bin dch:

Bc 1. Vo Menu > file chn New

Hnh 25 : To mi file

Bc 2. Sau chn loi file m chng ta mun vit chng trnh. y ta chn loai
file Verilog HDL

Hnh 26 : La chn loi file cn to

Bc 3. Di y l mt on chng trnh demo: tnh hm f = x1 EX-OR x2

Hnh 27 : Ca s vit code

Bc 4. Sau khi vit xong th ta phi lu tn file trng vi tn module ca chng trnh

Hnh 28 : Hp thoi lu file

Ch : Chn Add file to current project


Bc 5. Sau khi lu file xong phi thit lp cho file l top-level th mi bin dch c

Hnh 29 : La chn lop-level cho file

Bc 6. Bin dch chng trnh:

Hnh 30 : Bin dch chng trnh

Hnh 31 : Thng bo vic bin dch thnh cng

Ch : n y th c th np trc tip ln board DE2 kim th hoc s dng chng trnh


m phng c trn Quartus II.
3. Gn chn v np xung phn cng FPGA:

Bc 7. Gn chn cho thit k:


cc bc trn ta mi ch thc hin thit k v bin dch chng trnh. c th chy th trn
phn cng FPGA, chng ta cn phi thc hin gn chn cho thit k. Qu trnh gn chn (Pin
assignment) l qu trnh ch nh cc input/outout/inout trong thit k (logic) kt ni ti mt chn
vt l thc s trn chip FPGA (physical).
H thng chn ca FPGA c nh nhn bi ch ci v s theo qui nh ca nh sn xut
FPGA, v d nh N25,M20 ta xem thng tin cc chn ny trong ti liu datasheet ca dng
chip Cyclone II.

Hnh 32 : Pin planner (s layout chn ca mt chip FPGA)

Tuy nhin, khi thit k board DE2, nh thit k Terasic kt ni c nh cc chn ca


FPGA vi phn cng tng ng trn kit, v d : nh SW[0] c kt ni vi PIN_N25, v
LEDR[0] c kt ni vi chn PIN_AE23 ca Cyclone II. Nh vy, khi ta kt ni mt chn
logic f (ca thit k) vi chn PIN_AE23 ca FPGA. C ngha l chn f trong thit k light.v s
c kt ni trc tip vi LEDR[0] khi ta np thit k xung kit DE2.
gn chn, ta vo menu Assignment>Pin planner, s hin ra hp thoi sau :

Hnh 33 : hp thoi Pin Planner

Trong thit k ny ta c 3 chn : f,x1,x2 .vi f l chn output, ta s gn cho LEDR[0]. x1,x2 l
input, ta s gn cho SW[0] v SW[1].
Sau khi gn xong, ta s c nh sau:

Hnh 34 : gn chn cho thit k

Sau khi gn chn xong, ta thc hin bin dch li thit k cp nht thng tin v pin.
Mt cu hi t ra l : ta ly thng tin v cc chn ny u ?
Tr li :
V cc chn ny c ghp ni vi phn cng trn board bi nh thit k board DE2,
do c thng tin v chn IO, ta tm trong ti liu DE2 manual.
Mt cch khc, cc nh thit k board FPGA thng cung cp mt file CSV (mt dng
ging excel) c th import trc tip vo phn mm quartus vi tn chn c nh ngha
sn, vd file DE2_pin_assignments.csv i vi board DE2.
import file ny,vo assignments>import assignments. Chn ng dn n file
DE2_pin_assignments.csvri nhn OK.
kim tra kt qu, vo li Assignments>Pin Planner, s thy nh sau.

Bc 8. Np xung FPGA trn kit DE2:


Chip FPGA phi c np v cu hnh thc hin thit k ca chng ta. File cu hnh
c to ra bi qu trnh compile ca phn mm Quartus nu khng c li xy ra. V chng
ta c th lp trnh v cu hnh FPGA theo hai cch, l ch JTAG v AS. File cu hnh
c truyn t my ch PC (chy quartus) xung board FPGA bi mt cp USB kt ni gia
board v my tnh PC. s dng cp ny, chng ta cn phi ci driver USB blaster nh
ni trn.
Trc khi np chng trnh, chng ta phi m bo cp USB c kt ni v board
FPGA bt ngun.
Trng ch np JTAG, FPGA s gi nguyn cu hnh c np min l cn cp ngun cho
kit FPGA, c ngha l khi mt ngun, Chip FPGA s b mt cu hnh v tr thnh thit b

trng. Trong ch th hai, ch AS, file cu hnh c lu trong chip flash trn kit
FPGA. V n s c load vo FPGA mi khi bt ngun, v vy, chng ta s khng cn phi
np li file cu hnh mi khi bt ngun kit FPGA na (nh trng hp np JTAG)
. chn la mode np, chn RUN/PROG switch trn DE2 board. V tr RUN l chn JTAG
mode, cn v tr PROG l chn AS mode.
Qu trnh np thng qua mode JTAG nh sau :
o Gt switch RUN/PROG trn FPGA sang v tr RUN.
o Chn Tools>Programmer. Mt ca s s hin ra nh hnh 35.
o y chng ta cn phi ch nh cng c lp trnh v mode lp trnh
o Chn JTAG trong hp thoi mode
o Nu USB-Blaster cha c chn, nhn vo hardware Setup v chn USBBlaster trong hp thoi s xung nh hnh 36

Hnh 35 : Hp thoi programming

Hnh 36 : Chn cng c lp trnh USB blaster

o Nu khng thy hin ln thit b USB-Blaster no, hy kim tra cp USB, bt


ngun board, driver
o Sau chn file cn np dng sof (nu n cha c sn trong hp thoi) bng
cch nhn Add file
o Sau khi chn xong, nhn start bt u lp trnh. Mt led trn board s
sang chi n khi qu trnh lp trnh thnh cng.

o Nu c bt c li g hin ln trn ca s quartus,th hy kim tra li board


cp ngun cha. Nu vn khng pht hin ra li, hy hi thy hng dn ca
bn c gip .

Qu trnh np thng qua mode Active Serial nh sau :


o chn thit b cn lp trnh, chn Assignments>Device nh hnh 37.
o Click vo Device & Pin Options v chn nh hnh 38, ri nhn OK quay
li hnh 38, tip tc nhn OK ri compile li ton b project.

Hnh 37 : Device Windows

Hnh 38 : Chn thit b lp trnh

o Sau khi compile xong th chn Tools>Programmer nh trn.


o Chn Active Serial Programming trong hp thoi mode
o Tin hnh cc bc tng t nh trn.
Bc 9. Kim tra thit k.
o Sau khi np xung Kit FPGA, gi y ta c th kim tra thit k ca mnh
o Gt switch RUN/PROG sang v tr RUN.
o Th tt c cc gi tr ca bin u vo x1 v x2 bng cch thay i trng thi SW0
v SW1 trn board. Kim tra kt qu vi bng s tht bng cch quan st trng
thi led.
o Nu mch hot ng khng ng nh thit k, hy sa li code, kim tra gn
chn compile li, np li v kim tra li cho n khi mch hot ng ng nh
mong mun.

Phn 2 : H thng bi lab ca altera

1. Gii thiu v h thng bi lab ca altera


Trong gio trnh ny, chng ta s s dng h thng bi lab tiu chun ca altera gm 9 bi t lab 0 ti lab
8. Hon thnh 9 bi lab ny, chng ta s c nhng k nng c bn trong lnh vc thit k chip s dng
ngn ng Verilog HDL.

Lab 0a : Thit k bng s mch trn Altera Quartus


Lab 0b : Thit k bng ngn ng m t phn cng Verilog HDL trn Altera Quartus
Lab 1 : Cng tc, leds, v b ghp knh
Lab 2 : H thng S v hin th
Lab 3 : Latch & Flipflop (Option)
Lab 4 : B m Counter
Lab 5 : Clocks v Timers
Lab 6 : B cng, tr, nhn
Lab 7 : My trng thi
Lab 8 : B vi x l n gin

Ty theo chng trnh hc s c yu cu khc nhau :

i vi chng trnh i hc lin thng, yu cu thc hin t Lab 0 ti Lab 5


i vi chng trnh i hc chnh qui, yu cu thc hin t Lab 0 ti Lab 7
i vi h nng cao, yu cu thc hin thm Lab 8

Ty theo c s h tng thit b, cc bi lab c th thc hin theo cc cch khc nhau :
Nu khng c phn cng, c th m phng bng phn mm model-sim hoc quartus
simulation
Nu c phn cng (DE1,DE2 hoc tng ng) c th tng hp trc tip v thc hin
ngay trn phn cng ca kit FPGA (c th m phng hoc khng, ty yu cu ca gio
vin hng dn).

2. Chi tit cc bi lab phi thc hin

Lab 0: FPGA Design using Quartus II


o Quartus II Introduction Using Schematic Design
o Quartus II Introduction Using Verilog Design
Lab 1: Switches, Lights, and Multiplexers
o Part 1.1 : Led Control
o Part 1.2 : Design 2 to 1 Multiplexer
o Part 1.3A : Design 5 to 1 Multiplexer from Mux2to1
o Part 1.3B : Extend to 8-bit Mux5to1
o Part 1.4 : Design Led 7 Segments Decoder
o Part 1.5 : 7-Segments Led display.
o Part 1.6: Led Rotation on 7-Segment Leds. (Optional)
Lab 2: Numbers and Displays
o Part2.1: Binary-to-Decimal conversion
o Part2.2: BCD Display on 7-Segment Led
o Part2.3: Implement 4-bit Adder (RCA)
o Part2.4 : Design BCD Adder
o Part 2.5 : Design 2-digit BCD Adder
Lab 3: Latch & Flipflop (Optional)
Lab 4: Counters
o Part 4.1 : Design A 4-bit synchronous Counter
o Part 4.2 : 7-segment Led Counter
o Part 4.3 : Display scrolling text on 7-Segment Led
Lab 5: Clocks and Timers
o Part 5.1 : Implement a 3-digit BCD counter
o Part 5.2 : Implement a time-of-day clock
o Part 5.3 : Design and implement a reaction-timer circuit.
Lab 6: Adders, Subtractors, and Multipliers
o Part 6.1 : Design a 8-bit 2s-complement Adder
o Part 6.2 : Expand to 8-bit Add/Sub Circuit
o Part 6.3 : Implement a 4-bit Multiplier
o Part 6.4 : Extend the multiplier to multiply 8-bit numbers
o Part 6.5 : Design a MAC circuit (Multiply Accumulate Circuit)
Lab 7: Finite State Machines
o Part 7.1 : Finite State Machines
o Part 7.2 : Design a modulo-10 counter-like circuit
o Part 7.3 : Design a scrolling text display using shift-register
Lab 8: A Simple Processor (Optional)
o Part 8.1 : Design a simple Processor
o Part 8.2 : Design a simple CPU with Memory and PC counter

Reference Documents
1) Haibo Wang , ECE428, ECE Department , Southern Illinois University , Carbondale, IL
62901.
2) Ti liu TN FPGA, Khoa KH-KTMT ,Trng i Hc BK TP HCM
3) Altera University Program Documents
4) Altera website
5) Internet

You might also like