Professional Documents
Culture Documents
a) Mch
b) Bng chn l
c) K hiu
a) Mch
b) K hiu
Hnh 3. Mt tmbit 2to1 b ghp knh.
a) Mch
b) Bng Chn l
c) K hiu
Hnh 4. Mt b ghp knh 5to1.
4. Np mch bin dch vo chip FPGA. Kim tra cc chc nng ca b ghp knh 5to1 3bit
bng cch gt cc cng tc v quan st cc n LED. m bo rng mi u vo U ti Y c th
c chn ng ging nh u ra M.
Phn IV
Hnh 6 cho thy mt mun gii m LED 7 thanh c u vo 3bit c2c1c0. B gii m ny to
nn 7 u ra c s dng hin th mt k t trn mt LED 7 thanh. Bng 1 lit k cc k t
c hin th cho mi gi tr ca c2c1c0. gi cho thit k n gin, ch c bn k t c a
vo trong bng (Cng vi k t 'trng', c dnh cho m 100 111).
7 thanh LED c xc nh bi cc ch s t 0 n 6 c biu din trong hnh. Mi on c
chiu sng bng vic a n v gi tr 0 logic. Bn s vit mt module Verilog thc hin chc nng
logic nhm i din cho cc mch cn thit kch hot mi thanh ca LED 7 thanh. Ch cn s
dng cc biu thc gn assign n gin trong on m Verilog ca bn xc nh tng chc nng
logic bng cch s dng mt biu thc Boolean.
Bng 1. Bng m cc k t.
Thc hin cc bc sau y:
1. To mt d n Quartus II mi cho mch ca bn.
2. To mt module Verilog cho cc b gii m LED 7 thanh. Kt ni cc u vo c2c1c0 cho cc
cng tc SW20, v kt ni cc u ra ca b gii m ti LED 7 thanh tng ng vi HEX0 trn
Kit DE2. Cc thanh trn HEX0 c gi l HEX00, HEX01, ..., HEX06, tng ng vi hnh 6.
Bn nn khai bo cng 7bit
output [0:6] HEX0;
trong m Verilog ca bn tn ca cc kt qu u ra ph hp vi tn tng ng trong Hng
dn S dng DE2 v tp tin DE2_pin_assignments.csv.
3. Sau khi thc hin gn chn theo yu cu trn Kit DE2, bin dch d n.
4. Np mch bin dch vo chip FPGA. Kim tra chc nng ca mch bng cch gt cc cng
tc SW20 v quan st trn LED 7 thanh.
Phn V
Hy xem xt mch c biu din trong hnh 7. N s dng mt b ghp knh 5to1 3bit cho
php la chn mt trong nm k t c hin th trn mt LED 7 thanh. S dng cc b gii m
LED 7 thanh t Phn IV, mch ny c th hin th bt k k t no trong s cc k t H, E, L, O,
v 'trng'. Cc m k t c thit lp theo bng 1 bng cch s dng cc cng tc SW140, v
mt k t c th c la chn hin th bng cch thit lp cc cng tc SW1715.
Mt bn phc tho m Verilog i din cho mch ny c cung cp trong hnh 8. Lu rng
chng ta s dng cc mch t Phn III v IV nh nhng mch nh trong on m ny. Bn ang
m rng cc m trong hnh 8 sao cho n c th s dng 5 LED 7 thanh thay v ch s dng mt
thanh. Bn s cn phi s dng nm mch nh. Mc ch ca mch ny l hin th bt k t no
bao gm cc k t trong bng 1, v c th xoay vng t ny trn LED 7 thanh khi cc cng tc
SW1715 c gt. V d, nu ch hin th l Hello, sau mch ca bn cn sn xut cc m
hnh u ra minh ha trong bng 2.
endmodule
// Thc hin mt b gii m LED 7 thanh cho H, E, L, O, v 'trng'
module char_7seg (C, Display);
input [2:0] C;
// m u vo
output [0:6] Hin th;
// m u ra LED 7 thanh
// ... Code khng c hin th
endmodule
Hnh 8. M Verilog cho cc mch trong hnh 7.
Bi th nghim 2
S v Hin th
y l mt bi th nghim thit k mch t hp c th chuyn i s nh phn sang s thp phn v
s thp phn di dng m nh phn (BCD).
Phn I
Chng ta mun hin th trn LED 7 thanh HEX3 n HEX0 cc gi tr c thit lp bi cc cng
tc SW150. Hy cc gi tr thit lp bng SW1512, SW118, SW74 v SW30 c hin th
tng ng trn HEX3, HEX2, HEX1 v HEX0. Mch ca cc bn s c th hin th cc ch s t 0
n 9, v s coi cc gi tr t 1010 n 1111 l cc gi tr don'tcare (d).
1. To mt d n mi s c s dng thc hin cc mch mong mun trn Kit Altera DE2 .
Mc ch ca bi tp ny l iu khin bng tay cc chc nng logic cn thit cho cc LED 7 thanh.
Cc bn s s dng cc biu thc gn Verilog n gin trong m ca cc bn v xc nh tng hm
logic nh mt biu thc Boolean.
2. Vit mt tp tin Verilog cung cp cc chc nng cn thit. Thm tp tin ny vo trong d n ca
cc bn v gn cc chn trn FPGA kt ni vi cc cng tc v LED 7 thanh, nh c vit
trong Hng dn S dng Kit DE2. Php gn chn c m t trong phn hng dn Gii thiu
Quartus II S dng Thit k Verilog, c sn trong a CD DE2 System v trong phn Chng trnh
i hc trn trang web ca Altera Quartus II.
3. Bin dch d n v np mch bin dch vo chip FPGA.
4. Kim tra cc chc nng ca thit k ca cc bn bng cch gt cc cng tc v quan st cc LED
7 thanh.
Phn II
Cc bn ang thit k mt mch chuyn i mt s nh phn bn bit V = v3v2v1v0 thnh mt s
thp phn hai ch s tng ng D = d1d0. Bng 1 cho thy cc gi tr u ra cn thit. Thit k
mt phn ca mch ny c a ra trong hnh 1. N bao gm mt b so snh kim tra xem gi
tr ca V c ln hn 9 khng, v s dng u ra ca b so snh ny iu khin LED 7 thanh.
Cc bn sp hon thnh thit k ca mch ny bng cch to ra mt mun Verilog bao gm b so
snh, b ghp knh, v mch A (khng bao gm mch B hoc b gii m LED 7 thanh ti thi
im ny). Module Verilog ca cc bn s c u vo 4bit V, u ra 4bit M v u ra z. Mc
ch ca bi tp ny l s dng cc biu thc gn Verilog n gin xc nh cc chc nng logic
yu cu ca mch bng cch s dng cc biu thc Boolean. M Verilog ca cc bn s khng c
bt k biu thc if else, case, hoc cc biu thc tng t no c.
a) Mch b cng y
b) K hiu b cng y
Tht hp l thng tin khi xem mch no c th c s dng thc hin m gi ny. Dng 1,
9, 10, v 18 i din cc cho b cng, dng 2 8 v 1117 tng ng vi c b ghp knh, v vic
kim tra cc iu kin T0 > 9 v T1 > 9 s cn n cc b so snh. Cc bn s vit m Verilog
tng ng vi m gi ny. Lu rng cc bn c th thc hin cc php cng trong m Verilog ca
cc bn thay v cc php tr c biu din trn dng 9 v 18. Mc ch phn ny ca bi th
nghim l kim tra nh hng ca vic s dng cc biu thc if else so vi cc ton t > v v
+ ca Verilog. Thc hin cc bc sau y:
1. To mt d n Quartus II mi cho m Verilog ca cc bn. S dng cc cng tc, n, v LED 7
thanh nh trong phn V. Bin dch mch ca cc bn.
2. S dng cng c Quartus II RTL Viewer cng c kim tra cc mch c tajora bng cch
bin dch m Verilog ca cc bn. So snh cc mch c cc bn thit k trong phn V.
3. Np mch ca cc bn v Kit DE2 v kim tra n bng cch th cc gi tr khc nhau cho s
A1A0 v B1B0.
Phn VII
Thit k mt mch t hp c th chuyn i mt s nh phn 6bit thnh mt s thp phn dng
BCD. S dng cc cng tc SW50 nhp s nh phn , cc LED 7 thanh HEX1 v HEX0
hin th s thp phn. Thc hin mch ca cc bn trn Kit DE2 v kim tra chc nng ca n.
Bi th nghim 3
Cht, Flipflop, v Thanh ghi
Mc ch ca bi th nghim ny l kho st cc cht, flipflop, v thanh ghi.
Phn I
Cc FPGA ca Altera bao gm cc flipflop sn sng thc hin mch ca ngi s dng. Chng ta
s tm hiu cch s dng cc flipflop trn trong Phn IV ca bi tp ny. Nhng trc tin chng
ta s th hin cch cc phn t nh c th c to ra trong mt FPGA m khng cn s dng flip
flop chuyn dng ca n.
Hnh 1 m t mch cht RS. Hai kiu m Verilog c th c s dng m t mch ny c a
ra trong hnh 2. Phn a ca hnh v nh ngha cht c to thnh t cc cng logic, v phn b s
dng cc biu thc logic to ra cng mt mch. Nu cht ny c thc hin trn mt FPGA c
4 bng tra cu u vo (LUTs), th ch c mt bng l cn thit, nh biu din trong hnh 3a.
assign Q = Qa;
endmodule
Hnh 2b. M t cht RS bng cc biu thc logic.
Mc d cht c th c thc hin mt cch chnh xc trong mt LUT 4u vo, song cch ny
khng cho php cc tn hiu ni b ca n, v d nh R_g v S_g, c quan st, bi chng khng
c cung cp di dng u ra t LUT. gi cc tn hiu ni b trong mch thc hin, chng
ta cn thm mt ch th bin dch trong m. Trong hnh 2, ch th /* synthesis keep */ c thm
vo hng dn cho trnh bin dch Quartus II s dng cc cng logic ring bit cho mi tn hiu
R_g, S_g, Qa, v QB. Bin dch m s to ra cc mch vi bn 4LUTs c m t trong Hnh 3b.
(a) Mch
ngha cc cht D trong hnh 4. Cht ny c th c thc hin theo mt bng tra cu 4u vo. S
dng m theo kiu tng t nh ngha cc flipflop trong hnh 6.
3. Bin dch m ca bn v s dng cng c Technology Viewer kim tra vic thc hin mch.
Chc chn rng cht ch s dng mt bng tra cu u vo v cc flipflop c thc hin bng
cch s dng cc flipflop cung cp sn trong chip FPGA mc tiu.
4. To mt tp tin VectorWaveform (.vwf), trong quy nh c th cc u vo v u ra ca
mch. V cc phn t u vo D v Clock nh c biu din trong hnh 6. S dng m phng
chc nng c c ba tn hiu u ra. Quan st cc hnh vi khc nhau ca ba phn t nh.
module D_latch (D, Clk, Q);
input D, Clk;
output reg Q;
always@ (D, Clk)
if (Clk)
Q = D;
endmodule
Hnh 7. M Verilog kiu hnh vi nh ngha mt cht D.
Phn V
Chng ta mun hin th gi tr thp lc phn ca mt s 16bit A trn 4 LED 7 thanh HEX74.
Chng ta cng mun hin th gi tr hex ca mt s B 16bit trn 4 LED 7 thanh HEX30. Cc gi
tr ca A v B l cc u vo ca mch c cung cp bi cc cc cng tc SW150. iu ny
c thc hin bng cch thit lp cc cng tc ng vi gi tr ca A v sau thit lp cc cng
tc cn li ng vi gi tr ca B, do , gi tr ca A phi c nh trong mch.
1. To mt d n Quartus II mi s c s dng thc hin cc mch mong mun trn Kit DE2
ca Altera.
2. Vit mt tp tin Verilog cung cp cc chc nng cn thit. S dng KEY0 lm nt reset mc
thp, v s dng KEY1 lm u vo Clock.
3. Thm tp tin Verilog vo trong d n ca bn v bin dch mch.
4. Gn chn trn FPGA kt ni vi cc cng tc v cc LED 7 thanh, nh c ch ra trong
Hng dn S dng cho Kit DE2.
5. Bin dch li mch v np vo chip FPGA.
6. Kim tra cc chc nng ca thit k ca bn bng cch gt cng tc v quan st hin th u ra.
Bi th nghim 4
B m
y l bi th nghim s dng cc b m
Phn I
Hy xem xt cc mch trong hnh 1. y l mt b m 4bit ng b s dng bn flipflop loi T.
B m tng s m ca n trn mi sn dng ca xung ng h nu tn hiu Enable xut hin.
B m c ti lp v 0 bng cch s dng tn hiu Reset. Bn s thc hin mt b m 16bit
thuc loi ny.
Hnh 1. B m 4bit.
1. Vit mt tp tin Verilog nh ngha mt 16bit b m bng cch s dng cu trc c m t
trong hnh 1. Code ca bn nn bao gm mt mun flipflop loi T s m 16 ln to thnh
b m. Bin dch mch.
C bao nhiu phn t logic c s dng thc hin mch ca bn? Tn s ti a, Fmax, mch
ca bn c th hot ng l bao nhiu?
2. M phng mch ca bn xc minh tnh ng n ca n.
3. Ci thin Verilog tp tin ca bn s dng cc nt bm KEY0 lm u vo Clock, cng tc
SW1 v SW0 l cc u vo Enable v Reset, v LED 7 thanh HEX30 hin th cc s thp lc
phn m s ln mch ca bn hot ng. Thc hin cc php gn chn cn thit cn thit thc
hin cc mch trn Kit DE2, v bin dch cc mch.
4. Np mch ca bn vo chip FPGA v kim tra chc nng ca n bng cch vn hnh cc cng
tc thc hin.
5. Thc hin mt phin bn 4bit ca mch trn v s dng Quartus II RTL Viewer xem phn
mm Quartus II tng hp mch ca bn nh th no. S khc bit so vi hnh 1 l g?
Phn II
n gin ha m Verilog m ca bn sao cho cc c im k thut ca b m s da trn biu
thc Verilog sau:
Q <= Q +1;
Bin dch mt phin bn 16bit ca b m ny v so snh s lng cc phn t logic cn thit v
Fmax c th t c.
S dng RTL Viewer xem cu trc thc hin ny v nhn xt v s khc bit vi thit k t
Phn I.
Phn III
S dng mt LPM t Th vin cc module tham s ha thc hin mt b m 16bit. Chn cc
ty chn LPM ph hp vi thit k trn, tc l kch hot v ng b r rng. So snh phin bn
ny vi cc thit k trc y?
Phn IV
Thit k v thc hin mt mch lin tc nhp nhy ch s t 0 n 9 trn LED 7 thanh HEX0.
Mi ch s s c hin th trong khong mt giy. S dng mt b m xc nh khong thi
gian mt giy. B m ny s c tng ln bi cc tn hiu ng h 50 MHz do Kit DE2 cung
cp. Khng dng thm bt k tn hiu ng h khc trong thit k ca bn, hy chc chn rng tt
c cc flipflops trong mch ca bn c nh thi trc tip bi cc tn hiu ng h 50 MHz.
Phn V
Thit k v thc hin mt mch hin th t HELLO, theo kiu ticker tape, trn tm LED 7 thanh
HEX70. Hy lm cho cc ch di chuyn t phi sang tri trong khong thi gian khong mt giy.
Cc mu s c hin th trong cc khong thi gian ng h lin tip c a ra trong Bng 1.
Bi th nghim 5
ng h v B nh thi
Phn I
Thc hin mt b m BCD 3 ch s. Hin th ni dung ca cc truy b m trn cc LED 7 thanh,
HEX20. Ly ra cc tn hiu iu khin, t tn hiu ng h 50 MHz c cung cp trn Kit DE2
ca Altera, tng gi tr ca b m trong khong thi gian mt giy. S dng nt bm KEY0
thit lp li b m v 0.
1. To mt d n Quartus II mi s c s dng thc hin mch mong mun trn Kit DE2.
2. Vit mt tp tin Verilog m t c th mch mong mun.
3. Thm tp tin Verilog trn trong d n ca bn v bin dch mch.
4. M phng mch c thit k xc minh chc nng ca n.
5. Gn chn trn FPGA kt ni vi LED 7 thanh v cc nt bm, nh c ch ra n trong
Hng dn S dng Kit DE2.
6. Bin dch li mch v np n vo chip FPGA.
7. Xc minh rng mch ca bn lm vic mt cch chnh xc bng cch quan st cc LED 7 thanh.
Phn II
Thit k v thc hin mt mch trn Kit DE2 hot ng nh mt ng h thi gian trong ngy. N
s hin th gi (t 0 n 23) trn LED 7 thanh HEX76, pht (t 0 n 60) trn HEX54 v giy (t
0 n 60) trn HEX32. S dng cc cng tc SW150 thit lp cc phn gi v pht ca ng
h c hin th.
Phn III
Thit k v thc hin trn Kit DE2 mt mch phn ng hn gi. Mch s hot ng nh sau:
1. Mch c thit lp li bng cch n phm bm KEY0.
2. Sau mt khong thi gian nht nh, n mu LEDR0 s bt v b m BCD bn ch s s
bt u m trong khong thi gian tnh bng mili giy. Khong thi gian trong vi giy t khi
mch c ti lp cho n khi LEDR0 bt c thit lp bi cc cng tc SW70.
3. Mt ngi c phn x ang c th nghim phi nhn KEY3 cng nhanh cng tt ngt LED
v ng bng cc b m trong trng thi hin ti ca n. S m cho thy thi gian phn ng s
c hin th trn LED 7 thanh HEX20.
Bi th nghim 6
Cc b cng, b tr v b nhn
Mc ch ca bi tp ny l kim tra cc mch s hc thc hin php cng, tr, v nhn cc s.
Mi loi mch s c thc hin theo hai cch: th nht bng cch vit m Verilog m t cc chc
nng cn thit, v th hai bng cch s dng cc mch ph nh ngha sn t th vin cc mun
tham s ha ca ca Altera (LPMs).
Cc kt qu c to ra cho cc cch trin khai khc nhau s c so snh, c v cu trc mch v
tc hot ng ca n.
Phn I
Phn II
Phn III
1. Cu hnh mun lpm_add_sub n ch thc hin php cng, nhm so snh vi Phn I. Lu li
cu hnh ca mun lpm_add_sub trong tp tin lpm_add8.v. Sau khi thm mun ny vo trong
m Verilog ca bn, bin dch d n v s dng cng c Chip Editor ca Quartus II kim tra
mt s cc chi tit ca mch va thc hin.
Mt cch kim tra cc mch ph ca b cng bng cch s dng cng c Chip Editor c minh
ha trong hnh 2. Trong ca s Project Navigator ca Quartus II, click chut phi vo phn ca h
thng phn cp mch ca bn i din cho mch ph lpm_add8, v chn lnh Locate > Locate in
Chip Editor. Vic ny s m ra ca s Chip Editor th hin trong hnh 3. Cc phn t logic trong
FPGA Cyclone II c s dng thc hin b cng c nh du mu xanh da tri trong cng
c Chip Editor. a con tr chut ca bn ti bt k phn t logic no v nhp p m ca s
Resource Property Editor c biu din trong hnh 4. Trong hp thoi Node, bn c th chn bt
k mt trong s chn phn t logic thc hin mun b cng. Resource Property Editor cho php
bn kim tra cc thnh phn ca mt phn t logic v xem mt phn t logic kt ni vi nhng
phn t khc nh th no.
Hnh 4. Kim tra cc chi tit trong mt phn t logic bng cch s dng Resource Property Editor.
Phn IV
Lp li phn II bng cch s dng mch b cng n ngha sn lpm_add_sub, thay v mch b cng
tr ca bn da trn hnh 1.
Bnh lun ngn gn v cu trc mch thu c bng cch s dng cc mun LPM, v so snh
fmax ca mch ny vi thit k t Phn II. M t cc mun lpm_add_sub x l tn hiu trn
Overflow nh th no.
Phn V
a) Thp phn
b) Nh phn
c) Cch tnh
Phn VI
Phn VII
Thay i Verilog m ca bn thc hin b nhn 8 x 8 nhn bng cch s dng mun
lpm_mult t th vin cc module tham s ha trong h thng Quartus II. Hon tt cc bc thit k
trn. So snh kt qu trn phng din s lng cc phn t logic (LEs) cn thit v fmax ca
mch.
Phn VIII
4. Hin th gi tr thp lc phn ca A hoc C, c la chn bng SW16, trn LED 7 thanh
HEX76 v hin th hoc B hoc D trn HEX54. Tng S s c hin th trn HEX30, v tn
hiu Cout s xut hin trn LEDG8.
5. Bin dch m ca bn v s dng cng c m phng chc nng hoc thi gian xc minh rng
mch ca bn lm vic ng.
Sau np mch vo Kit DE2 v kim tra hot ng ca n.
6. Thng th vic m bo rng mt mch k thut s c th p ng yu cu tc nht nh,
chng hn lm tn s ca mt tn hiu c p dng cho mt u vo xung ng h l rt cn thit.
Cc yu cu ny c cung cp mt h thng CAD di hnh thc hn ch v thi gian. Cc bc
thc hin s dng hn ch thi gian trong h thng CAD ca Quartus II c m t trong hng
dn Hn ch Thi gian vi Thit k Da trn Verilog, c sn trn a CD DE2 System v phn
Chng trnh i hc trn trang web ca Altera.
i vi bi tp ny, chng ta ang s dng mt ng h iu khin bng tay c thc hin bng
cng tc bm, do , khng c yu cu v thi gian thc. Nhng minh hoc cc vn v thit
k lin quan, hy coi mch ca bn c yu cu hot ng vi mt tn s ng h 220 MHz.
Nhp tn s ny lm hn ch thi gian trong phn mm Quartus II, v bin dch li d n ca bn.
Timing Analyzer s bo co rng vic p ng yu cu thi gian do di khc nhau ca cc
ng dn t thanh ghi n thanh ghi l khng th. Kim tra bo co phn tch thi gian v m t
ngn gn v s vi phm thi gian c quan st.
7. Mt cch tng tc hot ng ca mt mch nht nh l chn cc thanh ghi vo cc
mch theo cch rt ngn di ca ng dn di nht. K thut ny c gi l k thut ng
ng, v cc thanh ghi c chn vo thng c gi l thanh ghi ng ng. Chn cc thanh ghi
ng ng vo thit k ca bn gia cc b nhn v b cng. Bin dch li d n ca bn v tho
lun v cc kt qu thu c.
Phn IX
Bi th nghim 7
My trng thi hu hn
y l bi th nghim s dng cc my trng thi hu hn.
Phn I
Phn II
Trong phn ny, bn s vit mt m Verilog cho FSM trong hnh 2 theo mt phong cch khc.
Trong phin bn ny ca m bn s khng ly bng tay cc biu thc logic cn thit cho mi flip
flop trng thi. Thay vo , m t cc bng trng thi cho FSM bng cch s dng biu thc case
Verilog trong mt khi always v s dng mt khi always khc khi to cc flipflop trng
thi. Bn c th s dng mt biu thc always th ba cc php gn n gin xc nh u ra z.
thc hin cc FSM, s dng bn flipflop trng thi y3, , y0 v cc m nh phn, nh th hin
trong Bng 3.
end // state_FFS
assignments for output z and the LEDs
endmodule
Hnh 3. Khung xng m Verilog cho FSM.
Thc hin mch ca bn nh sau.
1. To mt d n mi cho FSM. Chn chip mc tiu l Cyclone II EP2C35F672C6.
2. Thm vo trong d n ca bn tp tin Verilog s dng phong cch m trong hnh 3. S dng
cng tc SW0 trn Kit DE2 ca Altera lm u vo Reset ng b mc thp cho FSM, s dng
SW1 lm u vo w, v nt bm KEY0 lm u vo ng h iu khin bng tay. S dng n
LED mu xanh LEDG0 nh u ra z, v gn cc u ra flipflop trng thi vo cc n LED mu
LEDR3 LEDR0. Gn cc chn trn FPGA kt ni vi cc cng tc v cc n LED, nh
c ch ra trong Hng dn S dng cho Kit DE2.
3. Trc khi bin dch m ca bn, vic thng bo mt cch r rng cho cng c Synthesis trong
Quartus II rng, bn mun c cc my trng thi hu hn c thc hin bng cch s dng cc
php gn trng thi quy nh trong m Verilog ca bn, l rt cn thit. Nu bn khng a ra cc
thit lp ny mt cch r rng cho Quartus II, cng c Synthesis s t ng s dng mt php gn
trng thi theo cch la chn ca ring n, v n s b qua cc m trng thi c quy nh trong
m Verilog ca bn. thc hin cc thit lp ny, chn Assignments > Settings trong Quartus II,
v sau nhp vo mc Analysis and Synthesis pha bn tri ca ca s. Nh c ch ra trong
hnh 4, hy thay i tham s State Machine Processing thit lp UserEncoded.
4. kim tra mch c to ra bi Quartus II, m cng c RTL Viewer. Click p vo hp hin
th trong mch i din cho my trng thi hu hn, v xc nh xem s trng thi no m t
ng vi my trng thi trong hnh 2. xem cc m trng thi c s dng cho FSM ca bn,
m Compilation Report, chn phn Analysis and Synthesis bo co, v bm vo my trng thi.
5. M phng cc hnh vi ca mch ca bn.
6. Khi bn t tin rng mch hot ng ng nh kt qu m phng ca bn, np mch vo chip
FPGA. Kim tra chc nng ca thit k ca bn bng cch a cc chui u vo v quan st cc
n LED u ra. Hy chc chn rng cc FSM thc hin ng qu trnh chuyn i gia cc
trng thi nh hin th trn cc n LED mu , v to thnh gi tr u ra chnh xc trn LEDG0.
7. Trong bc 3, bn s hng dn cng c tng hp ca Quartus II s dng cc php gn trng
thi c a ra trong m Verilog ca bn. xem kt qu ca vic loi b cc ci t ny, m li
ca s ci t Quartus II bng cch chn Assignments > Settings, v bm vo mc Analysis and
Synthesis. Thay i cc thit lp cho State Machine Processing from UserEncoded sang OneHot.
Bin dch li mch v sau m tp tin bo co, chn phn Analysis and Synthesis ca bo co, v
bm vo State Machines. So snh vi cc m trng thi c a ra trong Bng 2, v tho lun v
bt k s khc bit no m bn quan st.
Phn III
i vi phn ny, bn s thc hin FSM pht hin tun t bng cch s dng cc thanh ghi dch,
thay v s dng cc phng php tip cn chnh thc m t trn. To m Verilog bao gm hai
thanh ghi dch 4bit, mt pht hin mt chui bn s 0, v mt pht hin chui bn s 1.
Thm biu thc logic thch hp vo trong thit k ca bn to thnh cc u ra z. To mt d n
Quartus II cho thit k ca bn v thc hin cc mch trn Kit DE2. S dng cc cng tc v n
LED trn Kit mt cch tng t nh Phn I v II v quan st hnh vi ca cc thanh ghi dch v u
ra z. Tr li cc cu hi sau y: bn c th s dng ch mt thanh ghi dch 4bit, thay v hai
khng? Gii thch cu tr li ca bn.
Phn IV
Phn V
i vi phn ny, bn s thit k mt mch cho Kit DE2 c th cun t "HELLO" theo kiu ticker
tape trn 8 LED 7 thanh HEX7 0. Cc ch s di chuyn t phi sang tri mi khi c mt xung
ng h c iu khin bng tay. Sau khi t "HELLO" cun ra khi pha bn tri ca mn hnh,
n s bt u mt ln na pha bn phi.
Thit k mch ca bn bng cch s dng 8 thanh ghi 7bit ghp ni theo kiu ging nh hng i,
tc l kt qu u ra ca thanh ghi th nht s c cp cho u vo ca thanh ghi th hai, thanh
ghi th hai li cp cho thanh ghi th ba, v v.v... Loi kt ni gia thanh ghi nh th ny thng
c gi l mt ng ng. Cc kt qu u ra ca thanh ghi s c a trc tip LED 7 thanh.
Bn s thit k mt my hu hn trng thi kim sot cc ng ng theo hai cch:
1. i vi 8 xung ng h u tin sau khi h thng c thit lp li, FSM s chn ng cc k t
(H, E, L, L, 0,,,) vo thanh ghi 7bit u tin trong ng ng.
2. Sau khi hon tt bc 1, FSM thit lp cc ng ng dn vo trong mt vng lp kt ni thanh
ghi cui vi thanh ghi u tin, cc k t tip tc cun v thi hn.
Vit m Verilog cho mch tickertape v to ra mt d n Quartus II mi cho thit k ca bn. S
dng KEY0 trn Kit DE2 nh thi cho FSM v cc thanh ghi ng ng v s dng SW0 lm
mt u vo Reset ng b mc thp. Vit m Verilog theo phong cch trong hnh 3 cho my
trng thi hu hn ca bn.
Bin dch m Verilog ca bn, np vo Kit DE2 v kim tra mch.
Phn VI
Phn VII
Bi th nghim 8
Cc b nh
Trong cc h thng my tnh, chng ta cn cung cp mt s lng ng k cc b nh. Nu h
thng c thc hin bng cch s dng cng ngh FPGA, chng ta c th cung cp mt s lng
cc b nh bng cch s dng cc ngun ti nguyn c sn trong cc thit b FPGA. Nu cn b
nh b sung, chng ta cn thc hin bng cch kt ni cc chip nh bn ngoi vi FPGA. Trong bi
th nghim ny, chng ta s xem xt cc vn chung lin quan n vic trin khai thc hin kiu
b nh trn.
Mt s ca mun b nh truy cp ngu nhin (RAM) chng ta s thc hin c th hin
trong Hnh 1a. N cha 32 s 8bit (hng), c truy cp bng cch s dng mt cng adress 5
bit, mt cng data 8bit v mt u vo iu khin write. Chng ta s xem xt hai cch khc nhau
thc hin b nh ny: s dng cc khi b nh chuyn dng trong mt thit b FPGA, v s
dng mt chip b nh ring bit.
FPGA Cyclone II 2C35 i km vi Kit DE2 cung cp ti nguyn b nh ring c gi l khi
M4K. Mi khi M4K cha 4096 bit b nh, c th c cu hnh thc hin nhng cc b nh
vi cc kch c khc nhau. Mt thut ng thng c s dng xc nh kch thc ca b nh
k trn l t s khun dng ca n, gm di ca s v rng bit (depth length). Mt s t s
khun dng c h tr bi khi M4K l 4K 1, 2K 2, 1K 4, v 512 8. Chng ta s s dng
kiu 512 8 trong bi th nghim ny, v ch s dng 32 t u tin trong b nh. Chng ta cng
nn ch n nhiu phng thc hot ng khc c h tr trong mt khi M4K, nhng chng ta
s khng tho lun v chng y.
C hai tnh nng quan trng ca khi M4K cn c ch ra n. u tin, n bao gm cc thanh
ghi c th c s dng ng b ha tt c cc tn hiu u vo v u ra theo mt u vo xung
ng h. Th hai, khi M4K c cc cng ring bit cho d liu c ghi vo trong b nh v d
liu c c ra t b nh. Mt yu cu khi s dng 1 khi M4K l mt trong hai cng, u vo v
u ra ca n, hoc c hai, phi c ng b vi mt u vo xung ng h. Vi cc yu cu ny,
chng ta s thc hin mt mun RAM 32 8 c th hin trong Hnh 1b. N bao gm cc
thanh ghi cho a ch address, nhp d liu data input, v cc cng ghi write, v s dng mt cng
d liu u ra data output ring bit khng phi l thanh ghi.
Phn I
Cc cu trc logic thng c s dng, chng hn nh cc b cng, cc thanh ghi, b m v cc
b nh c th c thc hin trong mt chip FPGA bng cch s dng cc mun LPM t Th
vin cc Module Tham s ha ca Quartus II. Altera khuyn co rng mt module b nh RAM
c thc hin bng cch s dng LPM altsyncram. Trong bi th nghim ny, bn s s dng
LPM ni trn thc hin cc mun b nh trong Hnh 1b.
1. To mt d n Quartus II thc hin cc mun b nh. Chn chip mc tiu l Cyclone II
EP2C35F672C6, l chip FPGA trn Kit DE2 ca Altera.
2. Bn c th tm hiu xem lm th no Plugin MegaWizard Manager c s dng to ra mt
mun LPM mong mun bng cch c hng dn S dng Cc Module c sn trong Th vin
trong Thit k Verilog. Hng dn ny c cung cp trong phn Chng trnh i hc trn trang
web ca Altera. Trong mn hnh u tin ca MegaWizard Plugin Manager, chn LPM
altsyncram, c tm thy trong mc storage. Nh c ch ra trong hnh 2, chn Verilog HDL l
loi tp tin u ra, v t tn cho n l ramlpm.v. Trn trang tip theo ca Wizard, ch nh kch
thc b nh ca 32 t 8bit, v chn M4K l loi RAM. Tin ti trang tip theo v chp nhn cc
thit lp mc nh s dng mt xung ng h duy nht cho cc thanh ghi ca RAM, sau tin
mt ln na thy trang c biu din trong hnh 3. trang ny, b chn thit lp c gi l
Read output port(s) trong mc Which ports should be registered? Thit lp ny to ra mt module
RAM ph hp vi cu trc trong Hnh 1b, vi cc cng u vo l thanh ghi v cc cng u ra
khng phi l thanh ghi. Chp nhn cc gi tr mc nh cho cc phn cn li ca cc thit lp trong
trnh thut s, v sau khi to trong tp tin Verilog cp cao nht ca bn module c to ra
trong ramlpm.v. Thm cc u vo v cc tn hiu u ra thch hp vo trong m Verilog ca bn
cho cc cng b nh c cho trong Hnh 1b.
3. Bin dch mch. Quan st trong Compilation Report ca Quartus II rng n s dng 256 bit mt
lc trong cc khi b nh M4K thc hin cc mch RAM.
4. M phng cc hnh vi ca mch ca bn v m bo rng bn c th c v ghi d liu trong b
nh.
Phn II
By gi, chng ta mun thc hin cc mch b nh trong FPGA trn Kit DE2, v s dng cc cng
tc gt ti mt s d liu vo b nh c to ra. Chng ta cng mun hin th cc ni dung ca
RAM trn cc LED 7 thanh.
1. Thc hin mt d n Quartus II mi s c s dng thc hin cc mch mong mun trn Kit
DE2.
2. To mt file Verilog bao gm module ramlpm, cc u vo v cc chn u ra yu cu trn Kit
DE2. S dng cc cng tc SW70 nhp vo mt byte d liu vo v tr RAM c xc nh
bng mt a ch 5bit quy nh vi cc cng tc SW1511. S dng SW17 lm tn hiu Write v
s dng KEY0 lm u vo Clock. Hin th gi tr ca tn hiu Write ln LEDG0. Hin th cc gi
tr a ch trn cc LED 7 thanh HEX7 v HEX6, hin th cc d liu u vo a n b nh trn
HEX5 v HEX4, v hin th cc d liu c ra ca b nh trn HEX1 v HEX0.
3. Kim tra mch ca bn v m bo rng tt c 32 a ch u c th c np ng cch.
Phn III
Thay v trc tip s dng module LPM, chng ta c th thc hin b nh cn thit bng cch xc
nh cu trc ca n trong m Verilog. Trong mt thit k Verilog xc nh, chng ta c th nh
ngha b nh nh l mt mng a chiu. Mt mng 32 8, trong c 32 s vi 8 bit cho mi s,
c th c khai bo bng cch biu thc
reg [7:0] memory_array [31:0];
Trong FPGA Cyclone II, mt mng nh vy c th c thc hin hoc bng cch s dng cc
flipflops m mi phn t logic u c cha, hoc hiu qu hn, bng cch s dng cc khi M4K.
C hai cch m bo rng cc khi M4K s c s dng. Mt l s dng mt mun LPM t
Th vin cc Module Tham s ha, nh chng ta thy trong phn I. Cc khc l xc nh yu
cu b nh bng cch s dng mt kiu m Verilog ph hp t cc trnh bin dch Quartus II
c th suy ra rng mt khi b nh s c s dng. Phn Tr gip ca Quartus II s cho cc bn
thy lm th no iu ny c th c thc hin vi cc v d v m Verilog (tm kim trong Tr
gip vi t kha " Inferred memory").
Thc hin cc bc sau y:
1. To mt d n mi s c s dng thc hin cc mch mong mun trn Kit DE2.
2. Vit mt tp tin Verilog cung cp cc chc nng cn thit, bao gm kh nng ti b nh RAM
v c ni dung ca n nh thc hin Phn II.
3. Gn cc chn trn FPGA kt ni vi cc cng tc v cc LED 7 thanh.
4. Bin dch mch v np n vo chip FPGA.
5. Kim tra chc nng ca thit k ca bn bng cch to ra mt s u vo v quan st u ra. M
t bt k s khc bit no bn quan st c so vi mch t Phn II.
Phn IV
Kit DE2 bao gm mt chip SRAM, c gi l IS61LV25616AL10, l mt b nh RAM tnh
c dung lng 256K s 16bit. Giao din SRAM bao gm mt cng a ch 18bit, A170, v mt
cng d liu hai chiu 16bit, I/O150. N cng c mt s u vo iu khin, CE, OE, WE, UB, v
LB, c m t trong Bng 1.
Tn
CE
OE
WE
UB
LB
Mc ch
Chip Enabled mc thp trong sut qu trnh hot ng ca SRAM
Output Enable c th mc thp ch trong sut qu trnh c, hoc tt c cc qu trnh
Write Enable mc thp trong sut qu trnh ghi
Upper Byte mc thp khi c hoc ghi cc byte cao ca mt a ch
Lower Byte mc thp khi c hoc ghi cc byte thp ca mt a ch
Bng 1. Cc u vo iu khin ca SRAM
Gi tr
Min Max
10 ns
3 ns
8 ns
6 ns
Phn VI
Cc b nh dualport c to ra trong Phn V cho php ng thi cc hot ng c v ghi xy
ra, bi n c hai cng a ch. Trong phn ny ca bi th nghim, bn s to ra kh nng tng t,
nhng bng cch s dng mt b nh RAM mt cng.
V s c ch c mt a ch cng, bn s cn phi ghp knh chn mt a ch c hoc ghi ti
bt k mt thi gian c th no. Thc hin cc bc sau y.
1. To mt d n Quartus II mi cho mch ca bn, v s dng MegaWizard Plugin Manager
to ra mt phin bn singleport cho LPM altsyncram. T trang 1 ti 6 ca Wizard, s dng cc
thit lp tng t nh Phn I. Trong Page 7, biu din trong hnh 6, xc nh tp tin ramlpm.mif
bn to ra trong phn V, song chn thm thit lp Allow InSystem Memory Content Editor to
capture and update content independently of the system clock. Ty chn ny cho php bn s dng
mt tnh nng ca h thng CAD ca Quartus II c gi l InSystem Memory Content Editor
xem v thao tc trn cc ni dung ca module b nh RAM c to ra. Khi s dng cng c ny,
bn c th ch nh 'Instances ID' gm bn k t vi cng dng nh mt ci tn cho b nh. Trong
hnh 7, chng ta a ra tn cho mun b nh RAM l 32x8. Hon tt cc bc cui cng
trong Wizard.
Bi th nghim 9
Mt b x l n gin
Hnh 1 biu din mt h thng s c cha mt s lng thanh ghi 16bit, mt b ghp knh, mt
khi cng / tr, mt b m mt, v mt khi iu khin. D liu l u vo cho h thng ny
thng qua cc u vo DIN 16bit. D liu ny c th c ti thng qua cc b ghp knh rng
16bit vo cc thanh ghi khc nhau, chng hn nh R0,, R7 v A. B ghp knh cng cho php
d liu c chuyn t thanh ghi ny sang thanh ghi khc. Dy u ra ca b ghp knh c gi
l bus trong hnh bi thut ng ny thng c s dng cho cc dy cho php d liu c truyn
i t v tr ny sang v tr khc trong h thng.
Php cng hoc tr c thc hin bng cch s dng b ghp knh. u tin mt s 16bit c
a ln bus v sau c np vo thanh ghi A. Sau khi iu ny c thc hin, s 16bit th hai
c a ln bus, khi cng / tr s thc hin cc php ton theo yu cu cn thit, v kt qu c
np vo thanh ghi G. Cc d liu trong G sau c th c chuyn ti mt thanh ghi khc theo
yu cu.
Hnh 1. Mt h thng s.
H thng c th thc hin cc hot ng khc nhau trong mi chu k ng h, chi phi bi khi
iu khin. Khi ny xc nh khi no cc d liu c th c t vo bus v iu khin thanh ghi
no c np d liu ny. V d, nu khi iu khin xc lp tn hiu R0out v Ain, b ghp knh
mv Rx, Ry Rx [Ry]
mvi Rx, #D
Rx D
add Rx, Ry
Rx [Rx] + [Ry]
sub Rx, Ry
Rx [Rx] [Ry]
wire Clear =
upcount Tstep (Clear, Clock, Tstep_Q);
assign I = IR[1:3];
dec3to8 decX (IR[4:6], 1b1, Xreg);
dec3to8 decY (IR[7:9], 1b1, Yreg);
always @(Tstep_Q or I or Xreg or Yreg)
begin
specify initial values
case (Tstep_Q)
2b00: // store DIN in IR in time step 0
begin
IRin = 1b1;
end
2b01: //define signals in time step 1
case (I)
endcase
2b10: //define signals in time step 2
case (I)
endcase
2b11: //define signals in time step 3
case (I)
endcase
endcase
end
regn reg_0 (BusWires, Rin[0], Clock, R0);
instantiate other registers and the adder/subtracter unit
define the bus
endmodule
Hnh 2a. Khung xng m Verilog cho b x l
module upcount(Clear, Clock, Q);
input Clear, Clock;
output [1:0] Q;
reg [1:0] Q;
always @(posedge Clock)
if (Clear)
Q <= 2b0;
else
Q <= Q + 1b1;
endmodule
module dec3to8(W, En, Y);
input [2:0]W;
input En;
output [0:7] Y;
reg [0:7] Y;
always @(W or En)
begin
if (En == 1)
case (W)
3b000: Y = 8b10000000;
3b001: Y = 8b01000000;
3b010: Y = 8b00100000;
3b011: Y = 8b00010000;
3b100: Y = 8b00001000;
3b101: Y = 8b00000100;
3b110: Y = 8b00000010;
3b111: Y = 8b00000001;
endcase
else
Y = 8b00000000;
end
endmodule
module regn(R, Rin, Clock, Q);
parameter n = 16;
input [n1:0] R;
input Rin, Clock;
output [n1:0] Q;
reg [n1:0] Q;
always @(posedge Clock)
if (Rin)
Q <= R;
endmodule
Hnh 2b. Cc mun mch ph c s dng trong b x l
Phn II
Hnh 4. Kt ni b x l vi b nh v b m.
1. To mt d n Quartus II mi c s dng kim tra mch ca bn.
Bi th nghim 10
B x l nng cao
Trong Bi th nghim 9, chng ta m t mt b x l n gin. phn I ca bi th nghim
trc, b x l c thit k, v trong phn II b x l c kt ni vi mt b m bn ngoi
v mt khi b nh. Bi th nghim ny m t cc phn tip theo ca vic thit k b x l. Lu
rng vic nh s cc hnh nh v bng biu trong bi tp ny c tip tc t Phn I v II ca bi
th nghim trc .
Phn III
Trong phn ny, bn s m rng kh nng ca b x l b m bn ngoi khng cn cn thit
na, v b x l c kh nng c v ghi bng cch s dng b nh hoc cc thit b khc. Bn s
thm 3 tp lnh mi cho b x l, nh biu din trong Bng 3. Cu lnh ld (load) ti d liu vo
thanh ghi RX t b nh bn ngoi c quy nh qua a ch cung cp t trong thanh ghi RY. Cu
lnh st (store) lu tr cc d liu cha trong thanh ghi RX vo b nh ngoi qua a ch c tm
thy trong thanh ghi RY. Cui cng, lnh mvnz (move if not zero) cho php mt lnh mv c
thc hin ch khi no ni dung hin thi ca thanh ghi G khng phi l bng 0.
Ton t
ld Rx, [Ry]
khin cu lnh sub s c thc hin lin tc cho n khi R4 cn bng 0. Loi vng lp ny c th
c s dng trong mt chng trnh ln nh l mt cch to ra tr.
mvi R2, #1
mvi R4, #10000000 % binary delay value
mv R5, R7
sub R4, R2
mvnz R7, R5
Hnh 7 biu din hai thanh ghi trong b x l c s dng truyn d liu. Thanh ghi ADDR
c s dng gi a ch n mt thit b bn ngoi, chng hn nh l mt module b nh, v
thanh ghi DOUT c s dng bi b x l cung cp d liu c th c lu tr bn ngoi b
x l. Mt cng dng ca thanh ghi ADDR l c, hoc ly, cc lnh t b nh, khi b x l mun
ly mt cu lnh, ni dung ca PC (R7) c a ln bus v np vo ADDR. a ch ny c
cung cp cho b nh. Ngoi vic ly ra cc cu lnh, cc b x l c th c d liu ti bt k a
ch no bng cch s dng thanh ghi ADDR. C d liu v cc cu lnh c c vo b x l trn
cng u vo DIN. B x l c th ghi d liu cho vic lu tr ti mt a ch bn ngoi bng cch
t a ch ny vo thanh ghi ADDR, t cc d liu c lu tr vo thanh ghi DOUT ca n, v
xc lp u ra ca flopflip W (write) v 1.
Hnh 8 minh ha cch b x l nng cao c kt ni vi b nh v cc thit b khc. Cc khi b
nh trong hnh h tr c hai qu trnh c v ghi, do n c c cc u vo a ch v d liu,
cng nh mt u vo cho php vit. B nh cng c mt u vo xung ng h, bi a ch, d
liu, v u cho php vit vo phi c np vo b nh trn sn dng ca xung ng h. Kiu
b nh ny thng c gi l b nh truy cp ngu nhin mt cch ng b (RAM ng b).
Hnh 8 cng bao gm mt thanh ghi 16bit c th c s dng lu tr d liu t b x l,
thanh ghi ny c th c kt ni vi mt b n LED cho php hin th d liu trn Kit DE2.
cho php b x l la chn mt trong hai khi b nh hoc thanh ghi khi thc hin mt qu trnh
vit, mch s bao gm mt s cng logic thc hin vic gii m a ch: nu cc dng a ch trn l
A15A14A13A12 = 0000, sau mun b nh s c vit ti a ch cho trn cc dng a ch
thp hn. Hnh 8 cho thy n dng a ch thp c kt ni vi b nh, trong bi tp ny mt b
nh vi 128 l tng i , vi ng rng n = 7 v cng a ch b nh c iu khin bi A6
A0. i vi cc a ch trong A15A14A13A12 = 0001, cc d liu c vit ca b x l
c np vo thanh ghi c kt qu u ra c gi l LEDs trong hnh 8.