[Laptrinh.vn]-KyThuatMIMO Va FPGA

Embed Size (px)

Citation preview

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    1/50

    Khoa in t Vin thng HCN - HQGHN

    M U

    K thut MIMO xut hin rt sm t nhng nm 70 do A.R Kaye v D.A

    George ra nm 1970 v W. van Etten nm 1975, 1976. Trong qu trnh pht trin,k thut ny khng ngng c ci tin. Vit Nam, do iu kin k thut cng nghcn kh xa vi th gii nn vic nghin cu cng gp nhiu kh khn, c bit l trongqu trnh xy dng v test mt h MIMO. Tuy nhin, vi nm tr li y Vit Nam bt u c tip cn vi mt cng ngh mi. l cng ngh FPGA. Vi cngngh ny th vic xy dng v test mt h MIMO khng cn qu xa vi.

    Vi kin thc ca sinh vin nm cui khoa in t - vin thng em quytnh nhn mt ti kha lun lin quan n FPGA vi tn gi Thit k b pht mWalsh cho h o knh MIMO dng cng ngh FPGA vi mc ch tng bc xydng mt h MIMO trong truyn thng v tuyn. Ni dung ca kha lun gm c 4

    chng:Chng 1: GII THIU V MIMO v FPGA. Trong chng ny em i vo

    gii thiu v h MIMO v nhng nt chnh v FPGA nh khi nim v cu trc caFPGA.

    Chng 2: NGN NG V MI TRNG LP TRNH CHO FPGA: giithiu khi qut v ngn ng lp trnh VHDL, Verilog v mi trng lp trnh choFPGA ca hng Xilinx l ISE.

    Chng 3: CC C IM C BN CA KIT VIRTEX 4 V CC PHNMM B TR gii thiu v kit FPGA Virtex 4 ca Xilinx cng c s dng trong

    qu trnh nghin cu, thc hin ti v cc phn mm b tr nh MATLAB, FUSE,cng c System Generator.

    Chng 4: THC HIN M HNH THIT K VI KIT VIRTEX 4. Chngny a ra cch thc hin mt s thit k c th bng MATLAB cng cc cng csn c c cung cp bi Xilinx. Cui cng l kt qu thu c qua m phng v ktqu quan st c trn giao ng k ti li ra ca thit k.

    Kha lun tt nghip o Vn Qun K49B1

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    2/50

    Khoa in t Vin thng HCN - HQGHN

    CHNG 1: GII THIU V K THUT MIMO V FPGA

    1.1. Gii thiu v MIMO

    1.1.1. Khi nimK thut MIMO (MIMO technique) trong lnh vc truyn thng l k thut sdng nhiu anten pht v nhiu anten thu truyn d liu. K thut MIMO tn dngs phn tp (khng gian, thi gian, m ha ...) nhm nng cao cht lng tn hiu, tc d liu ... (khc vi khi nim beam forming ca smart aray antenna nhm nngcao li thu, pht theo khng gian...). Tuy vy, hn ch ca k thut MIMO l chi

    ph cho thit b cao hn v gii thut x l tn hiu phc tp hn.K thut MIMO ngy nay ang c ng dng rt rng ri: MIMO-Wifi,

    MIMO-UMTS ... nh tnh ti u trong vic s dng hiu qu bng thng, tc d dliu cao, robust vi knh truyn fading ... K thut MIMO tng i a dng v phc

    tp.

    Hnh 1: M hnh mt h MIMO 4x4.

    1.1.2. Lch s pht trin

    K thut MIMO vi nhng u im y ca n ch mi xut hin cch ykhng lu, nhng nhng khi nim s khai v h MIMO xut hin rt sm t nhngnm 70 do A.R Kaye v D.A George ra nm 1970, v W. van Etten nm 1975,1976.

    Gia thp nin tm mi, Jack Winters v Jack Salz lm vic ti Bell Labs a ra nhng ng dng dng k thut to bp sng - c s dng trong h MIMO sauny.

    Nm 1993, Arogyaswami Paulraj v Thomas Kailath xut khi nim hp knhkhng gian s dng h MIMO.

    Nm 1996, Greg Raleigh v Gerard J.Foschini a ra phng php mi s dngk thut MIMO da trn vic biu din dung nng nh hm ph thuc vo s anten thu

    pht.

    Kha lun tt nghip o Vn Qun K49B

    S/P

    S1

    S2

    S3

    S4

    S4,S3,S2,S1(Cc k hiu truyn)

    2

    http://tudiencongnghe.com/Special:Search/MIMOhttp://tudiencongnghe.com/Special:Search/UMTShttp://tudiencongnghe.com/Special:Search/MIMOhttp://tudiencongnghe.com/Special:Search/UMTS
  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    3/50

    Khoa in t Vin thng HCN - HQGHN

    Nm 1998, ln u tin trong lch s Bell Labs chng minh th nghim m hnhhp knh khng gian (SM).

    Nm 2001, sn phm thng mi u tin s dng cng ngh MIMO OFDMAc a ra th trng bi hip hi Iospan Wireless Inc. Sn phm ny h tr c m

    phn tp v hp knh khng gian.Nm 2006, mt s cng ty vin thng ln (Beceem Communicatios, Samsung,

    Runcom Technology ) tp trung pht trin k thut MIMO OFDMA lm gii phpcho chun di ng bng rng WIMAX IEEE 802.16e. Cng trong nm 2006 mt scng ty (Broadcom, Intel ) pht trin k thut MIMO OFDM chun b cho k thutWiFi theo chun IEEE 802.11n.

    Trong tng lai k thut MIMO vn cn rt quan trng trong h 4G, v vn angc nhiu nh nghin cu quan tm pht trin.

    1.1.3. Phn loi

    MIMO c th chia thnh 3 mng chnh: M trc (Precoding), hp knh khnggian SM, v m phn tp.

    M trc l cch to bp sng nhiu lp. Trong cch to bp sng n lp mianten pht s pht cc tn hiu ging nhau vi cc trng s pha thch hp cc icng sut ti u thu. Kt qu t to bp sng lm tng h s cng sut thng qua cutrc tng hp, v lm gim hiu ng fading do a ng. Nu mi trng khng ctn x th cch to bp sng ny rt c hiu qu. Nhng tht khng may nhng hthng trong thc t u khng nh vy. Khi s dng nhiu anten nhn th bn phtkhng th to bp sng cc i tn hiu trn tt c cc anten nhn. Khi m trc

    cn c s dng. Trong k thut ny, nhiu lung tn hiu c lp c pht ngthi t cc anten pht vi cc trng s thch hp sao cho thng lng ti b thu cci. M trc yu cu bn pht phi bit thng tin trng thi knh (CSI).

    Hp knh khng gian: yu cu cu hnh anten ph hp. Trong hp knh khnggian, tn hiu tc cao c chia thnh nhiu lung tc thp hn, mi lung c

    pht bi mt anten khc nhau trn cng mt bng tn. Nu cc lung tn hiu ny nb thu c s khc bit k hiu khng gian thch hp th b thu c th tch bit cclung ny, to thnh cc knh song song. Hp knh khng gian rt hu hiu lm tngdung nng ng k trong trng hp t s SNR cao. S lung khng gian cc i ng

    bng hoc nh hn s anten nh nht bn pht v bn thu. Hp knh khng giankhng yu cu bn pht phi bit knh.

    M phn tp l k thut khi bn pht khng bit thng tin trng thi knh. Khngnh k thut SM, m phn tp ch pht i mt lung tn hiu c m ho theo k thutc gi l m khng thi gian. Cc anten pht tn hiu m ho trc giao. K thut

    phn tp khai thc tnh c lp ca fading trong h nhiu anten nng cao s phntp ca tn hiu. V bn pht khng bit knh nn m phn tp khng to bp sng.

    Trong thc t ngi ta c th kt hp k thut hp knh khng gian vi m trckhi bn pht bit trng thi knh, hoc kt hp vi m phn tp trong trng hpngc li.

    Kha lun tt nghip o Vn Qun K49B3

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    4/50

    Khoa in t Vin thng HCN - HQGHN

    1.1.4. ng dng ca MIMO

    Li ch chnh ca h MIMO l tng ng k tc d liu v tin cy ca knhtruyn. K thut hp knh khng gian i hi phc tp ca b thu, do n thngc kt hp vi k thut hp knh phn chia theo tn s trc giao (OFDM), hoc

    OFDMA. Chun IEEE 802.16e kt hp cht ch vi k thut MIMO OFDMA vchun IEEE 802.11n s dng MIMO OFDM.

    H MIMO cng c s dng trong chun di ng 3GPP v 3GPP2 v angc pht trin k thut truyn thng MIMO nng cao nh l k thut xuyn lp, kthut nhiu ngi dng v ad hoc trong MIMO.

    Xuyn lp MIMO gii quyt cc vn xuyn lp xy ra trong h thng MIMO,do lm tng hiu qu s dng knh. K thut xuyn lp ny cng lm tng hiu qus dng knh SISO. Cc k thut xuyn lp thng gp l iu ch v m ho thchnghi (AMC), lin kt thch nghi.

    MIMO nhiu ngi dng c th khai thc s giao thoa cng sut ca nhiu ngis dng nh l mt ti nguyn khng gian cho k thut x l pht tin tin, cn trongch mt ngi dng, h MIMO ch s dng nhiu anten. V d cho x l pht tintin ca h MIMO nhiu ngi dng l giao thoa lin quan n m trc.

    Ad hoc MIMO l mt k thut rt hu dng cho mng t bo tng lai, n tptrung vo mng v tuyn mt co hay mng v tuyn ad hoc. Trong mng ad hocnhiu nt pht lin lc vi nhiu nt thu. c th ti u dung nng ca knh Ad hoc, khi nim v k thut MIMO c p dng cho cc lin kt trong cm nt thu v

    pht. Khng ging vi h anten trong h MIMO mt ngi dng, cc nt ny c tnh mt hng phn b. t c dung nng trong mng ny cn qun l s phn bti nguyn sng v tuyn hiu qu nh s hot ng ng thi ca cc nt v khinim m trang nhim bn.

    Tm li, h MIMO vi nhng k thut phn tp, m trc v nhiu ngi dnglm tng ng k tc d liu v tin cy knh truyn, ang rt c quan tmnghin cu pht trin ha hn m li cho chng ta nhiu li ch hn na trong truynthng v tuyn.

    1.2. Gii thiu v FPGA

    1.2.1. Khi nim

    Field-programmable gate array (FPGA) l vi mch dng cu trc mng phnt logic m ngi dng c th lp trnh c. (Ch field y mun ch n kh nngti lp trnh bn ngoi ca ngi s dng, khng ph thuc vo dy chuyn sn xut

    phc tp ca nh my bn dn). Vi mch FPGA c cu thnh t cc b phn (hnh2):

    Cc khi logic c bn lp trnh c (logic block).

    H thng mch lin kt lp trnh c.

    Khi vo/ra (I/O Pads).

    Phn t thit k sn khc nh DSP slice, RAM, ROM, nhn vi x l...

    Kha lun tt nghip o Vn Qun K49B4

    http://vi.wikipedia.org/w/index.php?title=Kh%E1%BB%91i_logic&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP_slice&action=edit&redlink=1http://vi.wikipedia.org/wiki/RAMhttp://vi.wikipedia.org/wiki/ROMhttp://vi.wikipedia.org/w/index.php?title=Kh%E1%BB%91i_logic&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP_slice&action=edit&redlink=1http://vi.wikipedia.org/wiki/RAMhttp://vi.wikipedia.org/wiki/ROM
  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    5/50

    Khoa in t Vin thng HCN - HQGHN

    Hnh 2: Cu trc c bn ca FPGA

    FPGA cng c xem nh mt loi vi mch bn dn chuyn dng ASIC, nhngnu so snh FPGA vi nhng ASIC c ch hon ton hay ASIC thit k trn th vinlogic th FPGA khng t c mc ti u nh nhng loi ny, v hn ch trongkh nng thc hin nhng tc v c bit phc tp, tuy vy FPGA u vit hn chc th ti cu trc li khi ang s dng, cng on thit k n gin do vy chi phgim, rt ngn thi gian a sn phm vo s dng.

    Cn nu so snh vi cc dng vi mch bn dn lp trnh c dng cu trcmng phn t logic nh PLA, PAL, CPLD th FPGA u vit hn cc im: tc v tilp trnh ca FPGA thc hin n gin hn; kh nng lp trnh linh ng hn; v khc

    bit quan trng nht l kin trc ca FPGA cho php n c kh nng cha khi lng

    ln cng logic (logic gate), so vi cc vi mch bn dn lp trnh c c trc n.Thit k hay lp trnh cho FPGA c thc hin ch yu bng cc ngn ng m

    t phn cng HDL nh VHDL, Verilog, AHDL, cc hng sn xut FPGA ln nhXilinx, Altera thng cung cp cc gi phn mm v thit b ph tr cho qu trnhthit k, cng c mt s cc hng th ba cung cp cc gi phn mm kiu ny nhSynopsys, Synplify... Cc gi phn mm ny c kh nng thc hin tt c cc bcca ton b quy trnh thit k IC chun vi u vo l m thit k trn HDL (cn gi lm RTL).

    FPGA c thit k u tin bi Ross Freeman, ngi sng lp cng ty Xilinx

    vo nm 1984, kin trc mi ca FPGA cho php tnh hp s lng tng i ln ccphn t bn dn vo mt vi mch so vi kin trc trc l CPLD. FPGA c khnng cha ti t 100.000 n hng vi t cng logic, trong khi CPLD ch cha t10.000 n 100.000 cng logic; con s ny i vi PAL, PLA cn thp hn na cht vi nghn n 10.000.

    CPLD c cu trc t s lng nht nh cc khi SPLD (Simple programabledevices, thut ng chung ch chung ch PAL, PLA). SPLD thng l mt mng logicAND/OR lp trnh c c kch thc xc nh v cha mt s lng hn ch cc

    phn t nhng b (clocked register). Cu trc ny hn ch kh nng thc hin

    Kha lun tt nghip o Vn Qun K49B5

    http://vi.wikipedia.org/wiki/ASIChttp://vi.wikipedia.org/wiki/ASIC#ASIC_.C4.91.E1.BA.B7c_ch.E1.BA.BF_ho.C3.A0n_to.C3.A0nhttp://vi.wikipedia.org/wiki/ASIC#ASIC_thi.E1.BA.BFt_k.E1.BA.BF_tr.C3.AAn_th.C6.B0_vi.E1.BB.87n_logichttp://vi.wikipedia.org/wiki/ASIC#ASIC_thi.E1.BA.BFt_k.E1.BA.BF_tr.C3.AAn_th.C6.B0_vi.E1.BB.87n_logichttp://vi.wikipedia.org/wiki/ASIC#ASIC_d.E1.BB.B1a_tr.C3.AAn_m.E1.BA.A3ng_logichttp://vi.wikipedia.org/wiki/ASIC#ASIC_d.E1.BB.B1a_tr.C3.AAn_m.E1.BA.A3ng_logichttp://vi.wikipedia.org/wiki/PLAhttp://vi.wikipedia.org/w/index.php?title=PAL&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=CPLD&action=edit&redlink=1http://vi.wikipedia.org/wiki/FPGAhttp://vi.wikipedia.org/w/index.php?title=C%E1%BB%95ng_logic&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=HDL&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=VHDL&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Verilog&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=AHDL&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Xilinx&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Altera&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Synopsys&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Synplify&action=edit&redlink=1http://vi.wikipedia.org/wiki/IChttp://vi.wikipedia.org/w/index.php?title=RTL&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Ross_Freeman&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=CPLD&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=SPLD&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Ph%E1%BA%A7n_t%E1%BB%AD_nh%E1%BB%9B&action=edit&redlink=1http://vi.wikipedia.org/wiki/ASIChttp://vi.wikipedia.org/wiki/ASIC#ASIC_.C4.91.E1.BA.B7c_ch.E1.BA.BF_ho.C3.A0n_to.C3.A0nhttp://vi.wikipedia.org/wiki/ASIC#ASIC_thi.E1.BA.BFt_k.E1.BA.BF_tr.C3.AAn_th.C6.B0_vi.E1.BB.87n_logichttp://vi.wikipedia.org/wiki/ASIC#ASIC_thi.E1.BA.BFt_k.E1.BA.BF_tr.C3.AAn_th.C6.B0_vi.E1.BB.87n_logichttp://vi.wikipedia.org/wiki/ASIC#ASIC_d.E1.BB.B1a_tr.C3.AAn_m.E1.BA.A3ng_logichttp://vi.wikipedia.org/wiki/ASIC#ASIC_d.E1.BB.B1a_tr.C3.AAn_m.E1.BA.A3ng_logichttp://vi.wikipedia.org/wiki/PLAhttp://vi.wikipedia.org/w/index.php?title=PAL&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=CPLD&action=edit&redlink=1http://vi.wikipedia.org/wiki/FPGAhttp://vi.wikipedia.org/w/index.php?title=C%E1%BB%95ng_logic&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=HDL&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=VHDL&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Verilog&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=AHDL&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Xilinx&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Altera&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Synopsys&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Synplify&action=edit&redlink=1http://vi.wikipedia.org/wiki/IChttp://vi.wikipedia.org/w/index.php?title=RTL&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Ross_Freeman&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=CPLD&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=SPLD&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Ph%E1%BA%A7n_t%E1%BB%AD_nh%E1%BB%9B&action=edit&redlink=1
  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    6/50

    Khoa in t Vin thng HCN - HQGHN

    nhng hm phc tp v thng thng hiu sut lm vic ca vi mch ph thuc vocu trc c th ca vi mch hn l vo yu cu bi ton.

    Kin trc ca FPGA l kin trc mng cc khi logic, khi logic, nh hn nhiunu em so snh vi mt khi SPLD, u im ny gip FPGA c th cha nhiu hn

    cc phn t logic v pht huy ti a kh nng lp trnh ca cc phn t logic v hthng mch kt ni, t c mc ch ny th kin trc ca FPGA phc tp hnnhiu so vi CPLD.

    Mt im khc bit vi CPLD l trong nhng FPGA hin i c tch hpnhiu nhng b logic s hc s b ti u ha, h tr RAM, ROM, tc cao, hayccb nhn cng (multication and accumulation, MAC), thut ng ting Anh l DSPslice dng cho nhng ng dng x l tn hiu s DSP.

    Ngoi kh nng ti cu trc vi mch ton cc, mt s FPGA hin i cn h trti cu trc cc b, tc l kh nng ti cu trc mt b phn ring l trong khi vn m

    bo hot ng bnh thng cho cc b phn khc.1.2.2. ng dng

    ng dng ca FPGA bao gm: x l tn hiu s DSP, cc h thng hng khng,v tr, quc phng, tin thit k mu ASIC (ASIC prototyping), cc h thng iukhin trc quan, phn tch nhn dng nh, nhn dng ting ni, mt m hc, m hnh

    phn cng my tnh...

    Do tnh linh ng cao trong qu trnh thit k cho php FPGA gii quyt lpnhng bi ton phc tp m trc kia ch thc hin nh phn mm my tnh, ngoi ranh mt cng logic ln FPGA c ng dng cho nhng bi ton i hi khi

    lng tnh ton ln v dng trong cc h thng lm vic theo thi gian thc.Khi logic

    Phn t chnh ca FPGA l cc khi logic (logic blocks). Khi logic c cuthnh t LUT v mt phn t nh ng b flip-flop, LUT (Look up table) l khi logicc th thc hin bt k hm logic no t 4 u vo, kt qu ca hm ny ty vo mcch m gi ra ngoi khi logic trc tip hay thng qua phn t nh flip-flop.

    Hnh 3: Khi logic trong FPGA

    Trong ti liu hng dn ca cc dng FPGA ca Xilinx cn s dng khi nimSLICE, mt Slice to thnh t gm 4 khi logic, s lng cc Slices thay i t vinghn n vi chc nghn ty theo loi FPGA.

    Kha lun tt nghip o Vn Qun K49B

    Look UpTable(LUT)

    Flip-Flop

    Input

    6

    http://vi.wikipedia.org/wiki/FPGA#Kh.E1.BB.91i_logichttp://vi.wikipedia.org/w/index.php?title=B%E1%BB%99_nh%C3%A2n_c%E1%BB%99ng&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP_slice&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP_slice&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP&action=edit&redlink=1http://vi.wikipedia.org/wiki/ASIChttp://vi.wikipedia.org/w/index.php?title=C%E1%BB%95ng_logic&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Flip-flop&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=LUT&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=SLICE&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Kh%E1%BB%91i_logic&action=edit&redlink=1http://vi.wikipedia.org/wiki/FPGA#Kh.E1.BB.91i_logichttp://vi.wikipedia.org/w/index.php?title=B%E1%BB%99_nh%C3%A2n_c%E1%BB%99ng&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP_slice&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP_slice&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP&action=edit&redlink=1http://vi.wikipedia.org/wiki/ASIChttp://vi.wikipedia.org/w/index.php?title=C%E1%BB%95ng_logic&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Flip-flop&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=LUT&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=SLICE&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Kh%E1%BB%91i_logic&action=edit&redlink=1
  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    7/50

    Khoa in t Vin thng HCN - HQGHN

    Nu nhn cu trc tng th ca mng LUT th ngoi 4 u vo k trn cn h trthm 2 u vo b xung t cc khi logic phn b trc v sau n nng tng s uvo ca LUT ln 6 chn. Cu trc ny l nhm tng tc cc b s hc logic.

    1.2.3. H thng mch lin kt

    Khi chuyn mch ca FPGA l mng lin kt trong FPGA c cu thnh tcc ng kt ni theo hai phng ngang v ng, ty theo tng loi FPGA m ccng kt ni c chia thnh cc nhm khc nhau, v d trong XC4000 ca Xilinx c3 loi kt ni: ngn, di v rt di. Cc ng kt ni c ni vi nhau thng qua cckhi chuyn mch lp trnh c (programable switch), trong mt khi chuyn mchcha mt s lng nt chuyn lp trnh c m bo cho cc dng lin kt phc tpkhc nhau.

    1.2.4. Cc phn t tch hp sn

    Ngoi cc khi logic ty theo cc loi FPGA khc nhau m c cc phn t tch

    hp thm khc nhau, v d thit k nhng ng dng SoC, trong dng Virtex 4,5 caXilinx c cha nhn s l PowerPC, hay trong Atmel FPSLIC tch hp nhn ARV,hay cho nhng ng dng x l tn hiu s DSP trong FPGA c tch hp cc DSPSlice lb nhn cng tc cao, thc hin hm A*B+C, v d dng Virtex ca Xilinxcha t vi chc n hng trm DSP slices vi A, B, C 18-bit.

    Ngy nay ngnh cng ngh ch to phn cng lun c nhng t ph khngngng. T cc mch in n gin n cc mch s, mch tch hp, kin trc mchtr nn ngy mt phc tp hn. Nh nhng u im hn hn so vi cc phng php

    phn tch, m hnh ho, thit k mch s kiu truyn thng m phng php sdng cc ngn ng m phng phn cng (HDL - Hardware Description Languages)ang tr thnh mt phng php thit k cc h thng in t s ph bin trn tonth gii. Trong kha lun ny em xin gii thiu hai loi ngn ng m phng phn cng l VHDL (Very high speed intergrated circuit Hardware Description Language) vVerilog l hai ngn ng ch yu c s dng m phng phn cng trong cngngh CPLD, FPGA, ASIC

    Nhng u im ca phng php thit k h thng s bng ngn ngm phng phn cng (HDL).

    Ngy nay, cc mch tch hp ngy cng thc hin c nhiu chc nng do m vn thit k mch cng tr nn phc tp. Nhng phng php truyn thngnh dng phng php ti thiu ho hm Boolean hay dng s cc phn t khngcn p ng c cc yu cu t ra khi thit k. Nhc im ln nht ca cc

    phng php ny l chng ch m t c h thng di dng mng ni cc phn tvi nhau. Ngi thit k cn phi i qua hai bc thc hin hon ton th cng: l chuyn t cc yu cu v chc nng ca h thng sang biu din theo dng hmBoolean, sau cc bc ti thiu ho hm ny ta li phi chuyn t hm Boolean sangs mch ca h thng. Cng tng t khi phn tch mt h thng ngi phntch cn phi phn tch s mch ca h thng, ri chuyn n thnh cc hmBoolean, sau mi lp li cc chc nng, hot ng ca h thng. Tt c cc bcni trn hon ton phi thc hin th cng khng c bt k s tr gip no ca my

    Kha lun tt nghip o Vn Qun K49B7

    http://vi.wikipedia.org/w/index.php?title=H%C3%ACnnh:switch_box.svg&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Kh%E1%BB%91i_chuy%E1%BB%83n_m%E1%BA%A1ch&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=PowerPC&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=ARV&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP_Slide&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP_Slide&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=B%E1%BB%99_nh%C3%A2n_c%E1%BB%99ng&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP_slices&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=H%C3%ACnnh:switch_box.svg&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Kh%E1%BB%91i_chuy%E1%BB%83n_m%E1%BA%A1ch&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=PowerPC&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=ARV&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP_Slide&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP_Slide&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=B%E1%BB%99_nh%C3%A2n_c%E1%BB%99ng&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=DSP_slices&action=edit&redlink=1
  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    8/50

    Khoa in t Vin thng HCN - HQGHN

    tnh. Ngi thit k ch c th s dng my tnh lm cng c h tr trong vic v s mch ca h thng v chuyn t s mch sang cng c tng hp mch vt ldng cng c Synthesis. Mt nhc im khc na ca phng php thit k truynthng l s gii hn v phc tp ca h thng c thit k. Phng php dnghm Boolean ch c th dng thit k h thng ln nht biu din bi vi trm hm.Cn phng php da trn s ch c th dng thit k h thng ln nht chakhong vi nghn phn t.

    Phng php thit k, th nghim, phn tch cc h thng s s dng cc ngnng m t phn cng ni bt ln vi cc u im hn hn v s dn thay th cc

    phng php truyn thng. S ra i ca ngn ng m phng phn cng gii quytc rt nhiu nhc im ln ca cc phng php thit k trc y: Nu cc

    phng php c i hi phi chuyn i t m t h thng (cc ch tiu v chcnng) sang tp hp cc hm logic bng tay th bc chuyn hon ton khng cnthit khi dng HDL. Hu ht cc cng c thit k dng ngn ng m phng phn

    cng u cho php s dng biu trng thi (finite-state-machine) cho cc h thngtun t cng nh cho php s dng bng chn l cho h thng tng hp. Vicchuyn i t cc biu trng thi v bng chn l sang m ngn ng m phng

    phn cng c thc hin hon ton t ng.

    Nh tnh d kim tra th nghim h thng trong sut qu trnh thit k mngi thit k c th d dng pht hin cc li thit k ngay t nhng giai on u,giai on cha a vo sn xut th, do tit kim c lng chi ph ng k bit tng thit k n to ra sn phm ng nh mong mun l mt vic rt khtrnh khi nhng kh khn, tht bi.

    Khi mi lnh vc ca khoa hc u pht trin khng ngng th s phc tp cah thng in t cng ngy mt tng theo v gn nh khng th tin hnh thit k thcng m khng c s tr gip cu cc loi my tnh hin i. Ngy nay, ngn ngm t phn cng HDL c dng nhiu thit k cho cc thit b logic lp trnhc PLD t loi n gin n cc loi phc tp nh ma trn cng lp trnh cFPGA.

    Kha lun tt nghip o Vn Qun K49B8

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    9/50

    Khoa in t Vin thng HCN - HQGHN

    CHNG 2: NGN NG V MI TRNG LP TRNH CHO FPGA

    2.1. Ngn ng lp trnh cho FPGA

    2.1.1 Gii thiuC nhiu ngn ng c th lp trnh cho FPGA nh VHDL, Verilog, C Mingn ng li c u nhc im ring. V d nh Verilog l ngn ng c pht trinv s dng ch yu M. y l mt ngn ng rt gn vi C, chnh v vy s rtthun tin cho ai quen lp trnh vi ngn ng C. Tuy nhin, chu u th ngita li quen dng VHDL hn. u im ca ngn ng ny l ngi lm vic vi n sc ci nhn rt thu o v phn cng. Trong chng ny em xin c gii thiu chyu v v ngn ng VHDL ngn ng m em tm hiu trong qu trnh hc tp vlm thc nghim vi FPGA trn phng SIS (Smart Integrated Systems) v a ra vint gii thiu khi qut v Verilog cng l mt ngn ng rt thng dng i vi lp

    trnh FPGA hin nay.2.1.2. Ngn ng VHDL

    2.1.2.1. Khi nim

    VHDL l ngn ng m t phn cng cho cc mch tch hp tc rt cao, l mtloi ngn ng m t phn cng c pht trin dng cho chng trnh VHSIC (VeryHigh Speed Itergrated Circuit) ca b quc phng M. Mc tiu ca vic pht trinVHDL l c c mt ngn ng m phng phn cng tiu chun v thng nht cho

    php th nghim cc h thng s nhanh hn cng nh cho php d dng a cc hthng vo ng dng trong thc t. Ngn ng VHDL c ba cng ty Intermetics,

    IBM v Texas Instruments bt u nghin cu pht trin vo thng 7 nm 1983. Phinbn u tin c cng b vo thng 8-1985. Sau VHDL c xut t chcIEEE xem xt thnh mt tiu chun chung. Nm 1987 a ra tiu chun v VHDL(tiu chun IEEE-1076-1987).

    VHDL c pht trin gii quyt cc kh khn trong vic pht trin, thay iv lp ti liu cho cc h thng s. Nh ta bit, mt h thng s c rt nhiu ti lium t. c th vn hnh bo tr sa cha mt h thng ta cn tm hiu k lng tiliu . Vi mt ngn ng m phng phn cng tt vic xem xt cc ti liu m ttr nn d dng hn v b ti liu c th c thc thi m phng hot ng ca

    h thng. Nh th ta c th xem xt ton b cc phn t ca h thng hot ng trongmt m hnh thng nht.

    VHDL c pht trin nh mt ngn ng c lp khng gn vi bt k mt phng php thit k, mt b m t hay cng ngh phn cng no. Ngi thit kc th t do la chn cng ngh, phng php thit k trong khi ch s dng mtngn ng duy nht. V khi em so snh vi cc ngn ng m phng phn cng khc k ra trn ta thy VHDL c mt s u im hn hn cc ngn ng khc:

    - Th nht l tnh cng cng: VHDL c pht trin di s bo tr ca chnhph M v hin nay l mt tiu chun ca IEEE. VHDL c s h tr ca nhiu nh

    sn xut thit b cng nh nhiu nh cung cp cng c thit k m phng h thng.

    Kha lun tt nghip o Vn Qun K49B9

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    10/50

    Khoa in t Vin thng HCN - HQGHN

    - Th hai l kh nng h tr nhiu cng ngh v phng php thit k. VHDLcho php thit k bng nhiu phng php v d phng php thit k t trn xung,hay t di ln da vo cc th vin sn c. VHDL cng h tr cho nhiu loi cng cxy dng mch nh s dng cng ngh ng b hay khng ng b, s dng ma trnlp trnh c hay s dng mng ngu nhin.

    - Th ba l tnh c lp vi cng ngh: VHDL hon ton c lp vi cng nghch to phn cng. Mt m t h thng dng VHDL thit k mc cng c th cchuyn thnh cc bn tng hp mch khc nhau tu thuc cng ngh ch to phncng mi ra i n c th c p dng ngay cho cc h thng thit k.

    - Th t l kh nng m t m rng: VHDL cho php m t hot ng ca phncng t mc h thng s cho n mc cng. VHDL c kh nng m t hot ng cah thng trn nhiu mc nhng ch s dng mt c php cht ch thng nht cho mimc. Nh th ta c th m phng mt bn thit k bao gm c cc h con c m tchi tit.

    - Th nm l kh nng trao i kt qu: V VHDL l mt tiu chun c chpnhn, nn mt m hnh VHDL c th chy trn mi b m t p ng c tiu chunVHDL. Cc kt qu m t h thng c th c trao i gia cc nh thit k s dngcng c thit k khc nhau nhng cng tun theo tiu chun VHDL. Cng nh mtnhm thit k c th trao i m t mc cao ca cc h thng con trong mt h thngln (trong cc h con c thit k c lp).

    - Th su l kh nng h tr thit k mc ln v kh nng s dng li cc thitk: VHDL c pht trin nh mt ngn ng lp trnh bc cao, v vy n c th cs dng thit k mt h thng ln vi s tham gia ca mt nhm nhiu ngi. Bntrong ngn ng VHDL c nhiu tnh nng h tr vic qun l, th nghim v chia sthit k. V n cng cho php dng li cc phn c sn.

    2.1.2.2. Cu trc mt m hnh h thng m t bng VHDL

    Mc ch ca phn ny l nhm gii thiu s qua v cu trc khung c bn caVHDL khi m t cho mt m hnh thit k thc. Thng thng mt m hnh VHDL

    bao gm ba phn: thc th (entity), kin trc (architecture) v cc cu hnh. i khi tas dng cc gi (packages) v m hnh kim tra hot ng ca h thng (testbench).

    + Thc th (entity)

    y l ni cha cc khai bo thc th (l cc port giao tip gia FPGA v cc tnhiu bn ngoi cc port ny c s dng nh l lp v ca kin trc thit k) v c

    th bao gm cc ty chn generic l khai bo chung c th d dng sa i khi cn.+ Kin trc (architecture)

    Phn th hai trong m hnh VHDL l khai bo kin trc ca chng trnh. Mimt khai bo thc th u phi i km vi t nht mt kin trc tng ng. VHDLcho php to ra hn mt kin trc cho mt thc th. Phn khai bo kin trc c th

    bao gm cc khai bo v cc tn hiu bn trong, cc phn t bn trong h thng, haycc hm v th tc m t hot ng ca h thng. Tn ca kin trc l nhn ct tu theo ngi x dng. C hai cch m t kin trc ca mt phn t (hoc hthng) l m hnh hot ng (Behaviour) hay m t theo m hnh cu trc

    (Structure). Tuy nhin mt h thng c th bao gm c m t theo m hnh hot ng

    Kha lun tt nghip o Vn Qun K49B10

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    11/50

    Khoa in t Vin thng HCN - HQGHN

    v m t theo m hnh cu trc.

    + M t kin trc theo m hnh hot ng

    M hnh hot ng m t cc hot ng ca h thng (h thng p ng vi cctn hiu vo nh th no v a ra kt qu g u ra) di dng cc cu trc ngnng lp trnh bc cao. Cu trc c th l PROCESS, WAIT, IF, CASE, FOR-LOOP

    + M t kin trc theo m hnh cu trc

    M hnh cu trc ca mt phn t (hoc h thng) c th bao gm nhiu cpcu trc bt u t mt cng logic n gin n xy dng m t cho mt h thnghon thin. Thc cht ca vic m t theo m hnh cu trc l m t cc phn t con

    bn trong h thng v s kt ni ca cc phn t con . Nh vi v d m t mhnh cu trc mt flip-flop RS gm hai cng NAND c th m t cng NAND cnh ngha tng t nh v d vi cng NOT, sau m t s mc ni cc phn t

    NAND to thnh trig RS.

    + Cu trc process

    Process l khi c bn ca vic m t theo hot ng. Process cxt n nh l mt chui cc hnh ng n trong sut qu trnh dch.

    Hnh 4: Cu trc process

    S: M hnh cu trcB: M hnh hot ng

    S/B: M hnh kt hp

    Cu trc tng qut

    [Process label]

    Process [(sensitive_list )]

    Process declarative part

    Begin

    Kha lun tt nghip o Vn Qun K49B

    S

    S B

    SS/BS

    B B B B B B

    11

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    12/50

    Khoa in t Vin thng HCN - HQGHN

    .

    End process

    Trong cc phn t trong du [ ] th c th c hoc khng.

    - process_label: (nhn lnh) l tu thuc ngi lp trnh t tn- sensitivity_list: Danh sch cc yu t kch thch hot ng.

    + Mi trng kim tra (testbench)

    Mt trong cc nhim v rt quan trng l kim tra bn m t thit k. Kim tramt m hnh VHDL c thc hin bng cch quan st hot ng ca n trong khim phng v cc gi tr thu c c th em so snh vi yu cu thit k.

    Mi trng kim tra c th hiu nh mt mch kim tra o. Mi trng kimtra sinh ra cc tc ng ln bn thit k v cho php quan st hoc so snh kt quhot ng ca bn m t thit k. Thng thng th cc bn m t u cung cp

    chng trnh th. Nhng ta cng c th t xy dng chng trnh th (testbench).Mch th thc cht l s kt hp ca tng hp nhiu thnh phn. N gm ba thnh

    phn. M hnh VHDL qua kim tra, ngun d liu v b quan st. Hot ng cam hnh VHDL c kch thch bi cc ngun d liu v kim tra tnh ng nthng qua b quan st.

    Hnh 5: S khi ca Testbench

    Trong : DUT: (device under test) m hnh VHDL cn kim tra.

    Observer: khi quan st kt qu.Data source: ngun d liu (khi to ra cc tn hiu kch thch).

    2.1.3. Gii thiu khi qut v ngn ng Verilog

    Verilog HDL l mt trong hai ngn ng m phng phn cng thng dng nhtcng vi VHDL c dng trong thit k IC. Verilog HDL cho php m phng ccthit k d dng, sa cha li, hoc thc nghim bng nhng cu trc khc nhau. Ccthit k c m t trong Verilog HDL l nhng k thut c lp, d thit k, d thog v thng d c hn dng biu , c bit l cc mch in ln.

    Verilog thng c dng m t thit k bn dng

    Kha lun tt nghip o Vn Qun K49B

    Data Source(stimuli

    Generator)ObserverDUT

    Generics

    Testbench Entity

    12

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    13/50

    Khoa in t Vin thng HCN - HQGHN

    Thut ton (mt s lnh ging ngn ng C nh: if, case, for,while).

    Chuyn i thanh ghi (kt ni bng cc biu thc Boolean).

    Cc cng kt ni (cng: OR, AND, NOT).

    Chuyn mch (BJT, MOSFET).Ngn ng ny cng ch r cch thc kt ni, iu khin vo/ra trong m phng.

    Khai bo module

    Mt module l bn thit k ch yu tn ti trong Verilog. Dng u tin ca khaibo module ch r danh sch tn v port (cc i s). Nhng dng k tip ch r dngI/O (input, output, hoc inout) v chiu rng ca mi port. Mc nh chiu rng port l1 bit.

    Sau , nhng bin port phi c khai bo wire, wand, , reg. Mc nh l

    wire. Nhng ng vo c trng l wire khi d liu c cht bean ngoi module. Ccng ra l dng reg nu nhng tn hiu ca chng c cha trong khi always hocinitial.

    Ch th lin tip

    Cc ch nh lin tip c dng gn mt gi tr ln trn mt wire trong mtmodule. l cc ch nh thng thng bn ngoi khi always hoc khi initial. Ccch nh lin tip c thc hin vi mt lnh gn (assign) r rng hoc bng s chnh mt gi tr n mt wire trong lc khai bo. Ch rng, cc lnh ch nh lintip th tn ti v c chy lin tc trong sut qu trnh m phng. Th t cc lnhgn khng quan trng. Mi thay i bn phi ca bt c ng vo s lp tc thay i

    bn tri ca cc ng ra.

    Module instantiations

    Nhng khai bo module l nhng khun mu m n c to nn t cc itng thc t (instantiation). Cc module n c bn trong cc module khc, v midn chng to mt i tng c nht t khun mu. Ngoi tr l module mc trnl nhng dn chng t chnh chng. Cc port ca module v d phi tha nhng nhngha trong khun mu. y l mt l thuyt: bng tn, s dng du chm (.) .tn

    port khun mu (tn ca wire kt ni n port). Bng v tr, t nhng port nhng vtr ging nhau trong danh sch port ca c khun mu ln instance.

    BEHAVIORAL

    Verilog c 4 mc khun mu:

    Chuyn mch.

    Cng.

    Mc trn d liu.

    Hnh vi hoc th tc c cp bn di.

    Cc lnh th tc Verilog c dng to mt mu thit k mc cao hn. Chng ch ra

    nhng cch thc mnh ca vc lm ra nhng thit k phc tp. Tuy nhin, nhng thay

    Kha lun tt nghip o Vn Qun K49B13

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    14/50

    Khoa in t Vin thng HCN - HQGHN

    i nh n phng php m ha c th gy ra bin i ln trong phn cng. Cc lnhth tc ch c th c dng trong nhng th tc.

    Nhng ch nh theo th tc:

    L nhng ch nh dng trong phm vi th tc Verilog (khi always v initial). Ch

    bin reg v integers (hoc chn n bit/ nhm bit ca chng hoc kt ni thng tin) cth c t bn tri du = trong th tc. Bn phi ca ch nh l mt biu thc mc th dng bt c dng ton t no.

    Delay trong ch nh:

    Trong ch nh tr t l khong thi gian tri qua trc khi mt lnh c thc thi vbn tri lnh gn c to ra. Vi nhiu ch nh tr (intra-assignment delay), bn phic nh gi tr trc tip nhng c mt delay ca t trc khi kt qu c t bntri lnh gn. Nu thm mt qu trnh thay i na cnh bn phi tn hiu trongkhong thi gian t, th khng cho kt qu ng ra. Delay khng c h tr bi cc

    cng c.Cu trc chng trnh dng ngn ng Verilog

    // Khai bo module

    Module tn chng trnh (tn bin I/O); // tn chng trnh trng tn file.v.

    Input [msb:lsb] bin;

    Output [msb:lsb] bin;

    Reg [msb:lsb] bin reg;

    Wire [msb: lsb] bin wire;

    // Khai bo khi always, hoc khi initial.

    cc lnh

    2.2. Mi trng lp trnh cho FPGA

    Hin nay, c nhiu nh cung cp sn phm FPGA trn th trng nh Altera,Xilinx, Actel Sn phm ca mi nh cung cp li c nhng u, nhc im ring docc hng u sn xut theo cng ngh ring ca mnh. Chnh v vy mi hng li a

    ra mt sn phm phn mm ring i km lm mi trng thit k v np cho chipFPGA ca hng nh ca Altera l Quartus II, Actel c Actel Libero cn Xilinx cISE. Trong kha lun ny em ch xin gii thiu v ISE phn mm h tr cho KitVirtex 4 ca Xilinx m em s dng thc hin kha lun ny.

    2.2.1. ISE

    H thng phn mm ISE ca Xilinx l mt mi trng thit k tch hp bao gmthit k chng trnh, m phng v thc hin cc thit k trn cc thit b FPGA hayCPLD. ISE c th tham gia vo vic iu khin mi giai on trong quy trnh thit

    k.Thng qua giao din ca ISE, ngi dng c th can thip vo cc thit k v s

    Kha lun tt nghip o Vn Qun K49B14

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    15/50

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    16/50

    Khoa in t Vin thng HCN - HQGHN

    Hnh 7: Cc la chn to project vi Virtex 4.

    2.2.2.2. To m ngun VHDL

    to ra file m ngun VHDL cho Project ta lm nh sau:

    Chn New Source trong New Project Wizard.

    Chn kiu m ngun VHDL Module.

    G t bn phm tn ca file m ngun l counter (v d l to ra m ngun chocounter).

    Quan st thy rng h kim tra Add to project c la chn.

    Kch Next.

    Khai bo cc cng cho b counter bng cch in cc thng tin nh hnh diy:

    Hnh 8: Khai bo cc cng cho mt v d to mt counter 4 bit.

    Kich Next cho ti khi kt thc v mt file VHDL c to ra vi cc khai boban u l cc cng in, out

    Kha lun tt nghip o Vn Qun K49B16

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    17/50

    Khoa in t Vin thng HCN - HQGHN

    T y ta c th vit m ngun VHDL cho b counter nhng ta cng c th lycounter trong v d c sn ca ISE. s dng v d ny ta lm nh sau:

    M v d bng cch: Edit > Language Template

    Dng biu tng + duyt n m ngun ca v d nh sau: VHDL >

    Synthesis Constructs >Coding Examples>Counters>Binary>Up/Down Couter>SimpleCounter.

    dng la chn Simple Counter ta chn Edit > Use in File hoc chn nt UseTemplate in File trn Toolbar.

    ng ca s Language Template.

    Nh vy m VHDL trong v d c chn vo file m ngun m ta mun to.

    chng trnh ny c th chy ng c ta phi quan st v sa li mt sch cho ph hp vi khai bo ban u. l nhng v tr m chng trnh nh du

    trong du cui cng ta c file m ngun c ni dung nh sau:entity counter is

    Port ( Clock : in STD_LOGIC;

    Direction : in STD_LOGIC;

    c : out STD_LOGIC_VECTOR (3 downto 0));

    end counter;

    architecture Behavioral of counter is

    beginprocess (Clock)

    begin

    if Clock='1' and Clock'event then

    if Direction ='1' then

    c

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    18/50

    Khoa in t Vin thng HCN - HQGHN

    Chn file Counter t ca s Source.

    To mt test bench t Project > New Source.

    Trong ca s New Source Wizard chn Test Bench WaveForm v g t bn phmcounter_tbw trong trng tn file ri kick Next cho n khi xut hin ca s:

    Hnh 9: Thit lp cc tham s m phng.

    t cc thng s nh hnh 9 v kch Finish:

    chy m phng ta thit lp cc thng s nh khong thi gian m tin, thi gianm li bng cch kch chut vo v tr m ta mun cho kt thc m tin khi dngxung bt u t s v tr logic 0 v bt u m li. Ta c th ty chn cc khongm tin hoc li theo mun.

    Hnh 10: Thit lp thi gian m tin, li cho counter.

    Sau ng ca s ny li v chuyn sang bc m phng.

    M phng

    Ti ca s Source ta chn Behavioral Simulation v chn counter_tbw.

    Kha lun tt nghip o Vn Qun K49B18

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    19/50

    Khoa in t Vin thng HCN - HQGHN

    Ti ca s Process ta kch chut vo du + ri kch p vo Generate ExpectedSimulation Results thc hin m phng. Ta c kt qu nh sau:

    Hnh 11: Kt qu m phng ca counter.

    2.2.2.4. To rng buc thi gian

    Bc ny s to ra rng buc v thi gian, l thi gian m ta rng buc khi chytrong FPGA.

    Chn Synthesis/Implementatorn.

    Chn file ngun counter HDL.Kch vo du + User Constraints v chn Create Timing Constraints.

    Sau bc ny s to ra cho bn file.UCF v ta c th thit lp cc thng s theotnh ton m thit k s phi p ng.

    2.2.2.5. Gn chn

    Chn file ngun l counter trn ca s Source.

    Chn Assign Package Pins trong ca s Process.

    T y ta c th gn chn c th a thit k vo phn cng tht. Ty tngdng c th m ta t chn cn c vo bng chn c cung cp bi nh sn xut.

    Kt thc bc ny ta c th a thit k vo phn cng v quan st trn cc li vo raca phn cng bng nhng thit b h tr quan st nh giao ng k hay n LED.

    Kha lun tt nghip o Vn Qun K49B19

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    20/50

    Khoa in t Vin thng HCN - HQGHN

    CHNG 3: CC C IM C BN CA VIRTEX 4 V CC PHNMM H TR

    3.1. Nhng c im c bn ca XtremeDSP Development Kit Pro (Virtex IV)

    3.1.1. Gii thiu chung

    L cng ty u tin nghin cu ra FPGA, Xilinx lun l mt hng i u trongvic nghin cu v cho ra nhng dng sn phm h tr cho gio dc cng nh cc bKit chuyn dng s dng trong nhiu ng dng c th. The XtremeDSP DevelopmentKit l b Kit c kh nng cung cp mt nn tng pht trin cao cho Cng Ngh FPGA.y l mt cng c rt mnh c s dng trong nhiu ng dng c bit l cc ngdng v DSP. Virtex 4 c hai b ADC v hai b DAC vi phn gii l 14 bit vitc xung nhp cao cho php ngi dng c th lp trnh v x l cho nhiu ngdng khng ch ring trong DSP nh cc ng dng Software Defined Radio, 3G

    Wireless, Networking, HDTV hoc hnh nh Video. B KIT c cha mt bo mch chni vi mt module nm trn mt board mu xanh. Bo mch ch c gi lBenONE-Kit Motherboard v module trn c gi l BenADDA DIME-II module.BenONE-Kit l mt dng gn ln cc module h tr cho cc tnh nng khc.

    Di y l mt s h tr ca BenONE-Kit:

    H tr cho module BenADDA DIME-II.

    H tr giao din USB hoc 3.3V/5V PCI.

    H tr giao din PCI 3.3V/5V 32 bit/33-MHz v giao din USB 1.1.

    Cc LED hin th. Mch to cu hnh JTAG.

    Cc chn cm ni trc tip vi ngi dng c th lp trnh c (FPGA I/O).

    Module BenADDA DIME-II.

    Chp FPGA: XC4VSX35-10FF668.

    Hai knh DAC c lp: AD6645 ADC (14-bits 105 MSPS).

    Hai knh ADC c lp: AD9772 DAC (14-bits 160MSPS).

    H tr clock ngoi, b dao ng onboard v clock c th lp trnh. Hai b nh SRAM (133MHz, 512Kx32 bits mi bn).

    Cc LED hin th.

    Di y l mt s hnh nh m t v Kit Virtex 4.

    Kha lun tt nghip o Vn Qun K49B20

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    21/50

    Khoa in t Vin thng HCN - HQGHN

    Hnh 12: Giao din ngoi ca XtremeDSP Development Kit Pro.

    Hnh 13: Giao din pha trong v cc thnh phn ca Virtex IV Pro.

    3.1.2. Cc thnh phn chnh ca Virtex 4

    Chp FPGA (XC4VSX35-10FF668)

    Cc c im chnh ca XC4VSX35-10FF668:

    - Rocket IO Transceiver Blocks: 8

    - PowerPC Processor Blocks: 2

    - LogicCells: 30,816

    - Slices: 13,696

    - Max DistrRAM (Kb): 428

    - 18 X 18 Bit Multiplier Blocks: 136

    - 18 Kb Blocks: 136

    - Max Block RAM (Kb): 2,448

    - DCMs: 8

    - Maximum User I/ O Pads: 644

    Kha lun tt nghip o Vn Qun K49B21

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    22/50

    Khoa in t Vin thng HCN - HQGHN

    Cc b ADC

    Module BenADDA DIME-II s dng trong XtremeDSP Development Kit Proc hai knh vo tng t, mi knh c d liu v tn hiu iu khin c lp tiFPGA.Hai ADC (AD6645) cho php thc hin hai thit lp d liu vi rng 14 bit.

    Tn hiu a vo ADC v tn hiu ra thng qua chun kt ni MCX. S khi thhin kt ni gia cc b ADC c th hin nh hnh 14. Vi kit Virtex 4 hay mt sdng kit ca Xilinx c h tr XC2V80-4CS114 c nhim v iu khin xung Clockcho ADC. Nh vy, ta c th la chn c tc ly mu ph hp vi yu cu thitk vi tng bi ton c th.

    Hnh 14: S tn hiu qua ADC vo FPGA.

    Cc c im chnh ca khi ADC (AD6645) Cung cp ADC 14-bit, kiu m b 2.

    Tc ly mu 105MSPS.

    Tr khng vo 50 cho tn hiu t l hay li vo thay i vi phn.

    B lc bc 3 li vo.

    Clock ADC c th thay i c.

    Hnh 15: S khi ca b ADC (AD6645).

    Kha lun tt nghip o Vn Qun K49B22

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    23/50

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    24/50

    Khoa in t Vin thng HCN - HQGHN

    Cc c im chnh ca DAC (AD9772A)

    Cung cp DAC 14-bit.

    Tc d liu li ra ti a 160MSPS.

    S dng clock LVPECL li vo ly t XC2V80-4CS144 Clock FPGA. B nhn ng h c vng kha pha trong.

    Tr khng li ra 50 thng qua chun kt ni MCX.

    Hnh 18: S khi tip b DAC.

    DAC clock

    Mi DAC c th c clock trc tip, c lp thng qua tn hiu LVPECL. Tn

    hiu LVPECL c th c iu khin bi Virtex-II XC2V80-4CS144 FPGA (ClockFPGA). Mt s cc clock c th s dng thng qua clock FPGA:

    - Clock 105 MHZ on board bng tinh th.

    - Clock ngoi a vo thng qua chun kt ni MCX.

    - Clock lp trnh qua b dao ng trn KIT.

    B nh ZBT SRAM

    B KIT cung cp 2 b nh c lp ZBT SRAM. Mi b c th cu hnh 512k x32. B nh ny c kh nng lu d liu trn board thng qua bus d liu 32-bit ti mi

    b nh.c im chnh ca ZBT SRAM

    Thi gian chu k nhanh: 6ns, 7.5ns v 10ns.

    100% bus c tn dng.

    iu khin qua giao din tn hiu ti thiu.

    C cc chn iu khin c/vit ring.

    S dng tn hiu iu khin, a ch thanh ghi, d liu vo ra, c th thit lp

    c clock.

    Kha lun tt nghip o Vn Qun K49B24

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    25/50

    Khoa in t Vin thng HCN - HQGHN

    Cho php d liu vo ra thng thng.

    C mode tuyn tnh hoc ghp xen.

    Hnh 19: S ZBT SRAM.ZBT SRAM Clocking

    Hai b nh ZBT SRAM trn b KIT c th c g nhp c lp thng qua vicchn thm tn hiu xung nhp phn hi. Mi b nh c mt tn hiu c th c hiuchnh trong FPGA m bo cho xung nhp gia ZBT SRAM v chn phn hi c xungnhp cng nhau vi sai khc nh nht. Qu trnh ny m bo cho logic trong ckha pha vi d liu a vo.

    Bng1: K hiu chn ca ZBT SRAM clocking.Vo ra s

    Mt s c im vo ra ca b KIT:

    Mt u bus 14 chn trn bo mch ch. N cho php 12 kt ni trc tip haichiu ti FPGA vi hai chn ni t.

    Mt u bus 34 chn hiu chnh trn bo mch ch. N cho php 28 kt ni trctip hai chiu ti chip FPGA. Cc phn cn li cho cc kt ni 3,3V, ni t v 'khngc ni'.

    Hai u vo ra 2 chn cung cp 2 kt ni hai chiu ti chip FPGA.

    Kha lun tt nghip o Vn Qun K49B25

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    26/50

    Khoa in t Vin thng HCN - HQGHN

    Clock

    B KIT XtremeDSP Development Kit c mt h thng qun l clock ton dinv linh hot. Sau y l mt s c im ca h thng clock:

    - B KIT c mt ngun pht tinh th 105 MHz trn module chnh cung cp clock

    cho cc thit b tng t.- Mt li vo cho clock ngoi trn bo mch ch c th thit lp c tn s

    - Mt khe cm cho b dao ng trn bo mch ch. Ch rng trn bo mch chkhng c b dao ng m ch c socket ngi dng s dng cc b dao ng chocc ng dng ring bit.

    DIME-II System Clocks

    Module BenADDA DIME-II c th to ra ba h thng clock cho FPGA, ccclock c gi l CLKA, CLKB v CLKC. Cc tn hiu clock c to ra trn bo

    mch ch DIME-II v c a vo vng module ni t module BenADDA DIME-II.Cc clock ny c th c iu khin bi ngi dng v c a n cc chnGlobal Clock cung cp mt cch linh hot nht cho FPGA. Tuy nhin cn ch rngchc nng ca cc DIME-II clock ny c xc nh bi bo mch ch. Khi moduleBenADDA DIME-II c t vo bo mch ch BenONE-Kit, khi trong cu hnhKIT XtremeDSP Development Kit, cc clock ca DIME-II l :

    - CLKA: clock do b to dao ng c th lp trnh trn bo mch ch BenONE-Kit

    - CLKB: clock do b to dao ng c th lp trnh trn bo mch ch BenONE-

    Kit- CLKC: kt ni ti mt socket h tr b to dao ng tinh th.

    Hnh 20: S h thng clock.

    Kha lun tt nghip o Vn Qun K49B26

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    27/50

    Khoa in t Vin thng HCN - HQGHN

    LED hin th

    XtremeDSP Development Kit c mt s user-definable v cc LED hin th chophp ngi dng kim tra trng thi hot ng ca b KIT. C cc LED kim tra cuhnh ngi dng v cc LED hin th trng thi h thng, cu hnh cc giao din v

    ngun (Interface LEDs). Cc LED s dng b KIT c ba mu. Mi LED hin th tngcng ba mu khc nhau: , Xanh v Vng/Dacam. Vi s tr gip ca cc LED hinth ny ngi thit k c th kim tra mt cch trc quan phn ng ca phn cng ivi cc yu cu thit k. Tuy ch l mt ng dng nh nhng i khi n c ngha rtquan trng c bit cho nhng ngi bt u tip cn vi FPGA hay lm chc nng

    bo hiu k c trong cc project ln.

    Hnh 21: S cc LED trng thi nhn t ngoi.

    Hnh 22: Cc LED bn trong Kit Virtex 4.

    Trn y ch l nhng nt gii thiu rt s lc v mt s c tnh ca Kit Virtex4. c th s dng Virtex 4 nh mt cng c h tr c lc cho vic nghin cu, xydng cc m hnh th nghim th cn cn phi i su vo tm hiu, nghin cu tng

    c tnh nh nh s chn giao tip vi cc tn hiu bn ngoi v cc chn tn hiu

    Kha lun tt nghip o Vn Qun K49B27

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    28/50

    Khoa in t Vin thng HCN - HQGHN

    giao tip gia cc modul trong Kit... Ngoi ra vic s dng clock trong Virtex-IV cngrt phc tp i hi ngi nghin cu phi c mt thi gian tm hiu v lm thc tp.

    3.2. Cc phn mm chuyn dng h tr kit Virtex 4

    3.2.1. FUSE

    Phn mm FUSE ca hng Nallatech cho php ngi dng c th cu hnh, iukhin v thc hin giao tip gia h thng ch v cc phn cng my tnh FPGA ca

    Nallatech. Phn mm ny c pht trin c th thit k cc h thng x l phctp nh 1 khi thng nht gia phn mm, phn cng v cc ng dng FPGA.

    FUSE cung cp mt s giao din, bao gm ngn ng lp trnh DIMEscrip. FUSEProbe Tool; FUSE cn c pht trin cho cc ngn ng bc cao nh C/C++, Javahoc Matlab. FUSE c th ci t c trong cc h iu hnh Windows hoc Linux.Cc c im c bn nht ca FUSE c th k ra nh sau:

    * Cu hnh thit b nhanh chng v n gin.

    * H tr nhiu Card.

    * H tr nhiu giao din.

    * H tr cc giao din v iu khin cho cc thit b phn cng caNallatech.

    Hnh 23: M t giao tip gia FUSE vi Computer v FPGA.

    3.2.2. Matlab v cc gi cng c Xilinx h tr cho Matlab

    System Generator

    System generator l mt cng c thit k h thng gip cho vic thit k cc ngdng phn cng trong FPGA v m phng Simulink. l mt mi trng thit k rtmnh trong vic thit k phn cng. Systerm Generator c kh nng m hnh ha caov c th dch cc thit k ca ngi dng sang ngn ng phn cng trong FPGA mt

    cch t ng ch vi mt thao tc n gin nh n mt nt. Thm vo System

    Kha lun tt nghip o Vn Qun K49B28

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    29/50

    Khoa in t Vin thng HCN - HQGHN

    Generator cn cho php xm nhp vo cc ti nguyn trong FPGA mc thp hn,qua cho php ngi s dng thc hin cc thit k c hiu sut cao.

    Vic lp trnh mt b FPGA bng System Generator bao gm cc bc sau: Mphng thit k, to ra mt bn thit k theo ngn ng bc thp c th a cc thit b

    phn cng nh FPGA t thit k m phng ny, sau a bn thit k mi to ra nyvo trong file cu hnh ca FPGA gi l bitsream. Bc cui cng, a thit k phncng vo trong bitstream c th thc hin bng cc phn mm khc.

    Mt trong nhng mt vt tri ca System Generator so vi cc phn mm khcl chc nng chy m phng phn cng Co-Simulation, chc nng ny s c ni rthm trong phn sau.

    Cc khi Block Set DSP Xilinx

    System Generator xy dng khong hn 90 khi x l tn hiu s (DSP) htr ngi dng trong vic m phng cc thit k. Cc khi ny gm cc khi DSP ph

    bin nh khi cng, nhn, thanh ghi...Ngoi ra, n cn bao gm cc khi DSP phctp hn nh khi sa li tin, FFT, cc b lc v b nh. Cc khi ny lm cho victhit k m phng tr nn n gin v thun tin hn nhiu.

    Hnh 24: Mt s khi c bn h tr Matlab cung cp bi Xilinx.

    Cc thut ton trong Matlab c th kt hp cht ch vo trong System Generatorthng qua AccelDSP. AccelDSP bao gm cc thut ton mnh c th chuyn cc thitk dng du chm ng (floating-point) trong Matlab sang dng du chm c nh(fix-point) l loi hay c dng trong System Generator. Ngoi ra System generatorcn bao gm khi Mcode cho php ngi dng s dng cc thut ton khng c trongMatlab thit k v thc hin cc hot ng iu khin n gin.

    nh gi, c lng ti nguyn h thng

    System Generator cung cp khi c lng ti nguyn cho php nh gi mtcch nhanh chng cc ti nguyn dng cho thit k trc khi thc hin n trong thct. iu ny c li ch rt ln i vi c vic thit k phn mm ln phn cng gip

    Kha lun tt nghip o Vn Qun K49B29

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    30/50

    Khoa in t Vin thng HCN - HQGHN

    cho cc nh thit k c th tn dng ti a cc ti nguyn trong FPGA (ln n 550 bnhn trong thit b Virtex 5).

    Hnh 25: Ca s c lng ti nguyn.

    M phng phn cng Co-Simulation

    Cc khi blocksets c h tr trong System Generator cho php ngi dng xydng cc thit k m phng vi chnh xc cao. Tuy nhin cc k s thit k vnmun xem xt mt cch chi tit vic thit k ca mnh chy trong phn cng nh th

    no. System Generator cung cp giao din m phng Cosimulation gip kt hp chtch v trc tip vic chy thc t trn FPGA vo m phng simulink. thc hin m

    phng Cosimulation, trc ht ta a thit k vo bitstream, sau System Generatort ng hp nht cu hnh phn cng FPGA vi bitstream tr li thit k m phnggi l khi run-time. Khi thit k c m phng trong mi trng Simulink, kt quca thit k cng c tnh ton trong phn cng. iu ny cho php chy th ccthit k trong phn cng tht s v lm tng tnh thc t cho cc m phng.

    Kh nng kt hp cc mi trng thit k

    System Generator cung cp 1 mi trng thng nht cho cc thit k DSP

    FPGAs, cho php cc thnh phn nh c vit bi cc ngn ng khc nhau nh RTL,Simulink, Matlab v C/C++ c th lm vic cng nhau trong cng mt thit k.System Generator h tr khi black box cho php a RTL vo thc hin m phng

    phn mm v phn cng bng c ModelSim hoc Xilinx ISE Simulator.

    Nh vy, vi cng c l Kit Virtex 4 ta khng ch c mt phn cng hin i,chuyn dng vi lng ti nguyn FPGA ln m cn km theo l nhiu cng c htr rt mnh nh System Generator, Co-Simulation cho php ta d dng trin khaicc nghin cu, thit k.

    Kha lun tt nghip o Vn Qun K49B30

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    31/50

    Khoa in t Vin thng HCN - HQGHN

    Hnh 26: S m t kh nng kt hp gia cc mi trng thit k.

    Kha lun tt nghip o Vn Qun K49B31

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    32/50

    Khoa in t Vin thng HCN - HQGHN

    CHNG 4: THC HIN M HNH THIT K VI KIT VIRTEX-4

    (Thit k b pht m Walsh cho h o knh MIMO)

    4.1. Gii thiuVic thit k FPGA thc hin cc chc nng theo mt yu cu no bngngn ng VHDL tit kim ti nguyn FPGA tr ln rt ph bin v mang linhng li ch r rt. Tuy nhin trong thc t c nhng m hnh ln nh trong cc mhnh thu pht tn hiu MIMO (Multiple Input, Multiple Output) i hi ngi thchin phi thc hin mt khi lng cng vic rt ln vi vic vit cu lnh VHDL mi khi mc ch ch l kim tra tnh kh thi ca m hnh nu ra. Hn na, vi cngngh FPGA pht trin nh ngy nay th ti nguyn trong chip FPGA i vi cc mhnh nh th khng cn l vn qu quan trng. Xilinx l hng i tin phong tronglnh vc pht trin cc cng c b tr cho cc kit chuyn dng vi cng c System

    Generator nh gii thiu chng 3 nhm gim nh cng vic cho ngi thit kh thng, ng thi gip ngi thit k bin nhng m hnh m phng tr thnh mngun c th nhng trc tip vo trong phn cng (FPGA) Tt nhin iu ny c thkhin m ngun ca thit k di hn v tn ti nguyn phn cng hn nhng n limang li gi tr rt ln l rt ngn thi gian trong qui trnh thit k. Chng ny s giithiu v cch s dng cng c h tr system generator thc hin mt m hnh thitk thng qua vic thc hin mt m hnh pht tn hiu qua m ha Walsh.

    4.2. Hai khi chc nng chnh trong s

    4.2.1. Khi to m Walsh

    Hnh 27: Khi to d liu Walsh.

    4.2.1.1. L thuyt v m WalshM Walsh c chiu di n =2 k l mt tp cc t m trc giao hon ton c th

    c nh ngha bi ma trn hng 2k x 2k. Vi ma trn ban u 1 x 1 l H 1 = [0],cc ma trn Hadamard th t cao hn c th ly t ma trn trc n theo cng thctng qut sau:

    H k2 =

    11

    11

    22

    22

    kk

    kk

    HH

    HH

    V d:

    Kha lun tt nghip o Vn Qun K49B32

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    33/50

    Khoa in t Vin thng HCN - HQGHN

    H1 =[0]

    H 2 =

    10

    00

    H 4 =

    0110

    1100

    1010

    0000

    Do vy cc t m Walsh biu din m lng cc ( 1 ) l

    [ ]1

    2

    4

    1

    1 1

    1 1

    1 1 1 1

    1 1 1 1

    1 1 1 1

    1 1 1 1

    H

    H

    H

    = +

    + +

    = + + + + +

    + + = + + + +

    * c im

    + u im

    Tt c cc t m u trc giao ln nhau hay cc cp t m bt k u bng 0.

    + Nhc im

    - Cc m khng n, nh t tng quan hp.

    - Tri khng bao trm ht di thng tuy nhin bao trm ht thnh phn tn sri rc.

    - Tng quan cho khng lun lun bng 0 cho cc ng dng khng ng b.

    - V cu trc c bit c sn trong m Walsh n c bit nh tng quan catp hp vi 2k t m Walsh tnh ton kt qu vi phc tp O(n.logn) s dng

    bin i Hadamard nhanh (FHT). FHT c cu trc cnh bm (butterfly) tngt bin i Fourier nhanh (FFT). Nhng FHTc cc h s l 1 tt hn hm lutha phc.

    Gii m (m ph c bn gii m Walsh)

    M Walsh c gii m tt nht bng b gii m Walsh vi vic tnh ton cnh, phc tp. Trong phn ny em xin gii thiu phng php hiu qu tng ngtnh ton phc v BER da trn cu trc ton hc ca m Walsh.

    Kha lun tt nghip o Vn Qun K49B33

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    34/50

    Khoa in t Vin thng HCN - HQGHN

    Mt ma trn tng qut cho m nh phn tuyn tnh C l ma trn G c cc hngl c s ca C. Do vy cc t m trong cu trc nh phn c th c tnh ton tngqut nh sau:

    C = xG vi mi ma trn hng nh phn x c dng 1 x k.

    Ma tn tng qut m Walsh (6,64) c s dng trong IS-95 l 6 x 64, gmc 6 hng v 64 ct.

    G=

    1101010

    1001100

    1. . .110000

    1000000

    1000000

    1000000

    T ma trn tng qut ny ta c th gii m ho Walsh m khng kim tra tonb cc t m.

    Gii m cc b (Local Decoding)

    Cu trc c bit ca m Walsh cho php nh gi 6 bit li vo m ch cnquan st duy nht hai trong 64 Symbol ca t m Walsh c nhn, thng qua bx l gi l Local Decoding, tnh ton phc v truyn t m tt.

    hiu cng ngh ny ta t nhn Symbol ca cc t m l c= [c0, c1, c2, .,c63 ]. Cc gi tr l gi tr thp phn ca p ng nh phn vect ct trong ma trnG. Mc ch chng ta gii m cc v tr 0 ca vect x = [x 0, x1, x2, x3, x4, x5 ] ninhn khi khng c nhiu. Ta c th thu c gi tr ca x0 bng cch cng module2 vi bt k thnh phn t m c i v cj m i, j l cc p ng ct trong G khc duynht v tr cc bt 0.

    ( )5 5 5

    0 0 0

    i j s si t tj s si sj

    s t s

    c c x G x G x G G= = =

    = =

    ( ) ( )5

    0 0 0 0

    1

    =x i i s si sis

    G G x G G x=

    =

    Kha lun tt nghip o Vn Qun K49B34

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    35/50

    Khoa in t Vin thng HCN - HQGHN

    4.2.1.2. Thc hin trong thit k

    Ma trn Hadamard dng trong s l:

    0110100110010110

    1100001100111100

    1010010101011010

    0000111111110000

    1001100101100110

    0011001111001100

    0101010110101010

    1111111100000000

    1001011010010110

    0011110000111100

    0101101001011010

    1111000011110000

    0110011001100110

    1100110011001100

    1010101010101010

    0000000000000000

    B to m Walsh trong s l b to m Walsh (4,16) v (3,16) (y ch l mtla chn ngu nhin v c th thay i d dng trong thit k) tc l dng hng th 4

    v th trong ma trn Hadamard 16. Khi biu din di dng lng cc th ta c:[-1 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1]

    v [-1 -1 1 1 -1 -1 1 1 -1 -1 1 1-1 -1 1 1]

    Cc gi tr c np vo khi ROM th hin mt chui Walsh s l chui lin tip ccbit 0 v 1. Vi yu cu thit k cho knh MIMO vi hai ng tn hiu qua b mWalsh th ta chn hai chui Walsh (4,16) v (3,16) nh sau:

    H(4,16): [0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0]

    H(3,16): [0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1]

    4.2.1.3. S v kt qu m phng b to 2 dy Walsh (4,16) v (3,16)

    Kha lun tt nghip o Vn Qun K49B35

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    36/50

    Khoa in t Vin thng HCN - HQGHN

    Hnh 28: S m phng b to Walsh.

    Kt qu m phng:

    Hnh 29: Kt qu m phng b to Walsh (4,16) v (3,16).

    4.2.2. Khi m ha cosin tng (Raised-Cosine)

    4.2.2.1. L thuyt

    Trong cc h thng truyn dn, tn hiu di nn c bn (baseband) c iu chln sng mang truyn i. Vic lc tn hiu xy ra mt s giai on trong qu trnhtruyn dn. Bn thn tn hiu baseband b hn ch bng thng bi vic lc ngnvic to ra cc tn hiu di bn (sideband) vt qu trong qu trnh iu ch. Tn hiu iu ch c lc bng thng tip theo trong qu trnh khuch i ca my pht. ni m cc tuyn truyn (hu tuyn, v tuyn) to thnh knh truyn th p tuyn tns ca knh truyn cng phi c tnh ti. pha thu, vic lc bng thng tn hiu til cn thit loi b nhiu (noise) c a vo giai on ny. Nh vy tn hiu i

    qua mt s giai on lc v nh hng ca chng ti dng sng s phi c tnh ti.

    Kha lun tt nghip o Vn Qun K49B36

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    37/50

    Khoa in t Vin thng HCN - HQGHN

    Trn ton b tuyn truyn dn t my pht ti my thu ph ca xung u ra my thuV(f) c xc nh bi ph ca xung u vo Vi(f), p tuyn b lc ca my phtHT(f), p tuyn tn s ca knh HCH(f), v p tuyn b lc my thu HR(f). Hnh 30minh ha iu ny, v ta c phng trnh:

    V(f) = Vi(f) HT (f) HCH(f) HR(f) (4.1)

    Hnh 30: Cc thnh phn ph tn s ca phng trnh 8.

    Cc thnh phn in cm v in dung l cc thnh phn vn c ca qu trnhlc. Chng khng tiu hao nng lng tn hiu, nhng nng lng c tun hontheo chu k gia in trng, t trng v tn hiu. Thi gian cn thit cho qu trnhtrao i nng lng ny lm cho mt phn ca tn hiu b tr, do vy cc xung hnhvung i vo pha my pht c th c dng "hnh chung" v dao ng khi n i ra

    pha my thu. Hnh 31a minh ha iu nu. V thng tin c m ha s di dngsng nn mo xut hin trong dng xung l khng quan trng cho ti khi my thu cn

    phn bit c cc xung nh phn 1 vi cc xung nh phn 0. Vic ny i hi dngsng phi c ly mu cc khong cch ng xc nh ng cc tnh ca n.Vi dng sng lin tc, cc ui to thnh t hnh chung t tt c cc xung trc c th kt hp can nhiu vi xung ring cn ly mu. Hin tng gi l cannhiu gia cc symbol (Intersymbol Interference ISI) v n c th gy li trong xcnh cc tnh ca tn hiu. Khng th loi b cc hnh chung nhng c th to dngcc xung sao cho vic ly mu xung cho xy ra khi cc ui cc im ct cho

    bng khng nh minh ha hnh 31b. cng l ni dung ca cc nh lut Nyquistv loi b nh hng ca can nhiu gia cc symbol. Trong thc t khng th to dngxung hon thin, do vy s c ISI, nhng n c th c gim n mc nh c th bqua.Vic to dng xung c thc hin bng cch kim sot ph ca xung thu c quaiu chnh cc thnh phn c lin quan nh trnh by trong cng thc (4.1). Mt mhnh l thuyt ca ph thch ng vi vic l p tuyn (hoc b lc) cosin tng:B lc cosin tng l mt b lc in t c th, thng c s dng to dng xung

    trong iu ch s do kh nng ti thiu ha ISI ca n. Tn ca b lc bt ngun tmt thc t l phn khc khng ca ph tn s trong dng n gin nht ca n (=1)l hm cosin, tng ln pha trn ca trc ngang f.

    Kha lun tt nghip o Vn Qun K49B37

    HT(f)

    HCH

    (f) HR(f)

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    38/50

    1/2T

    Khoa in t Vin thng HCN - HQGHN

    A

    A

    f

    f

    (a

    (b

    Hnh 31: a, Dng hnh chung ca xung

    b, Ly mu trnh ISIM t ton hc:

    B lc cosin tng l mt thc hin ca b lc Nyquist thng thp, c tnh cht ixng theo trc ng. Ph ca n biu hin i xng l xung quanh gi tr (1/2T), vi Tl chu k symbol ca h thng thng tin. Trong min tn s b lc c m t bicng thc (4.2), l hm hnh chung (hnh 32). N c c trng bi hai gi tr: h sroll-off , v chu k lp ca symbol T (T=1/Rs vi Rs l tn s symbol).

    Hnh 32: p tuyn bin (tn s) ca b lc cosin tng vi cc h s roll-off khcnhau

    Kha lun tt nghip o Vn Qun K49B38

    =0

    =0.35

    =0.25

    =1

    H(f)

    1/T f

    t

    t

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    39/50

    Khoa in t Vin thng HCN - HQGHN

    10

    21

    21,

    ___,0

    )2

    1(c o s12

    1

    2

    1,0.1

    )(

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    40/50

    Khoa in t Vin thng HCN - HQGHN

    Cc th ch ra s thay i ca p tuyn bin khi thay i gia 0 v 1, vs thay i tng ng vi p tuyn xung. Ta thy mc gn sng min thi gian tngkhi gim. T cc th ta cng thy c th gim bng thng vt qu ca b lc khigim (hnh 32) nhng gi t ca vic ko di p tuyn xung, c ngha l ko dikhong thi gian gy can nhiu gia cc symbol k nhau (hnh 33).

    = 0

    Khi tin ti khng min roll-off tr nn v cng hp, v vy khi 0 lim H(f)= rect (fT), vi rect(.) l hm ch nht, p ng xung c dng sinc(t/T). iu ny cngha l n hi t ti b lc l tng c cc vch dng ng.

    = 1

    Khi =1 phn khc khng ca ph l cosin tng thun ty, dn n cng thcn gin (4.5).

    [ ]

    +

    ==l ac o nh o pt r u o n g

    Tff T

    fH

    ___,0

    1,)c o s (121

    |)( 1

    (4.5)

    Bng thng

    Bng thng ca b lc cosin tng c nh ngha nh phn khc khng ca phca n, c ngha l:

    BW = (1/2) Rs (1 + ) (4.6)ng dng

    Hnh 34 biu din dy cc xung cosin tng lin tip vi ISI = 0. Khi c sdng lc symbol stream, b lc Nyquist c tnh cht loi b ISI v p tuyn xungca n bng khng tt c cc gi tr nT (vi n l s nguyn), tr gi tr n=0. Do vynu dng sng pht c ly mu chnh xc my thu th cc gi tr symbol gc ckhi phc hon ton. Tuy nhin hu ht cc h thng thng tin thc t phi s dng blc phi hp loi b nh hng ca nhiu trng. C ngha l phi tun theo iukin:

    )()()(),()(*

    fHfHfHhayfHfH TRTR===

    (4.7) tha mn iu kin (4.7) trong khi vn m bo ISI bng khng, b lc cn

    bc hai cosin tng thng c s dng hai pha pht v thu ca h thng thng tin.Khi p tuyn ton b ca h thng s l cosin tng.

    Kha lun tt nghip o Vn Qun K49B40

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    41/50

    tT 2T 3T-T-2T-3T

    h(t)

    Khoa in t Vin thng HCN - HQGHN

    Hnh 34: Cc xung cosin tng lin tip biu th ISI bng 0.

    Tm li, b lc cosin tng l mt dng b lc in t c th, c thit k

    khc phc can nhiu gia cc symbol (ISI), gip cho h thng s trnh nhm ln khixc nh symbol. Thng s quan trng nht ca b lc l h s roll-off , , v chu ksymbol, T. Khi thay i th bng thng vt qu ca b lc cng thay i V ngha vt l c th hiu nh sau: khi min rol-off cng hp ( 0) th bng thngvt qu gim, bng thng thc t ca ton tuyn truyn gim, nhiu thnh phn phca xung vung i qua tuyn s b ct dn n dng xung b mo tng ng vi daong nhiu chu k trong p tuyn xung, d gy can nhiu gia cc xung lin k. Khimin roll-off tng th qu trnh xy ra ngc li, p tuyn xung gn hn, kh nng ISIt hn nhng bng thng b chim l ln hn, hiu sut s dng bng thng v mttng th s km hn. Ty theo phng thc truyn dn (v tinh, cp, mt t) cng

    nh s trng thnh ca cng ngh m s c cc gi tr khc nhau, khi hiu suts dng bng thng cng khc nhau.

    4.2.2.2. Thc hin trong thit k

    Trong thit k b lc Raised Cosine c to nn bi khi FIR Compilerv1_0. Khi ny c chc nng cu trc mt b lc FIR trong FPGA hoc c th cutrc mt b lc FIR t cc slices c vng ti nguyn DSP l cc khi DSP48. cth thit k c mt b lc theo mun ta phi cn thm khi FDATool trong

    blockset ca Xilinx (khng phi khi FDATool trong blockset ca Simulink).

    Hnh 35: Hai khi FIR Compiler v1_0 v FDATool ca Xilinx.

    cu hnh cho b lc ta nhy p vo khi FDATool v la chn cc thams: B lc Raised-Cosine, tn s Fs, tn s ct Fc, v h s Roll-off trn ca s giao

    din ca FDATool nh hnh 36:

    Kha lun tt nghip o Vn Qun K49B41

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    42/50

    Khoa in t Vin thng HCN - HQGHN

    Hnh 36: Ca s giao din FDATool.Sau chn Design Filter c c cc h s ca b lc. cc h s ny

    c y vo cu hnh trong khi FIR Compiler v1_0 c hai cchCch th nht: Xut cc h s ny ra Workspace vi cc h s l mt bin

    mng vi mt tn no (VD l Num nh hnh 37).

    Hnh 37: a h s b lc FIR t FDATool.

    ng ca s FDATool li.

    Tip , FIR Compiler v1_0 nhn c cc h s ny ta nhy p vo b lc FIRCompiler v1_0 s xut hp thoi sau:

    Kha lun tt nghip o Vn Qun K49B42

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    43/50

    Khoa in t Vin thng HCN - HQGHN

    Hnh 38: Cc la chn trong properties ca FIR Compiler c c h s tWorkspace.

    Ta la chn cc tham s ph hp nh c khoanh trn hnh ri ng ca s nyli.

    Nh vy ta c c mt b lc Cosin tng vi cc h s c thit k tcng c FDATool.Cch th 2: Vi cch ny ta cng thit k b lc t FDATool nhng khng y cc hs ra Workspace m t lnh xlfda_numerator(Ten_cua_khoi_FDATool) trong

    properties ca khi FIR Compiler v1_0 sau la chn Filter type l interpolation nh

    hnh 39 di y:

    Hnh 39: Cc la chn trong properties ca FIR Compiler c c h s trc tipt FDATool.

    Sau ng ca s ny li v mt b lc Cosin tng c cu hnh t cc hs c thit k t FDATool. Ngoi ra, ta cng c th cu hnh b lc bng ngun tinguyn DSP48 c sn trong Kit dng cho cc ng dng DSP vi nhiu li ch. Tuynhin trong bi kha lun ny s khng cp n phng php ny.

    4.2.3. Khi to d liu

    Kha lun tt nghip o Vn Qun K49B43

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    44/50

    Khoa in t Vin thng HCN - HQGHN

    Trong thc t d liu ny phi c a t ngoi vo thng qua b ADC caKit Virtex 4. Tuy nhin do y cha phi l mt thit k vi mt mc ch thc hintrong mt ng dng c th nn d liu s c to ty bn trong Kit Virtex 4. Dliu ny l d liu s c chn ty c xy dng t cc khi Counter, ROM, vcc b Time Division. Trong , d liu ty c np vo ROM, khi Counter dng cp xung nhp cho ROM y d liu ra, cc b Time Division h tn s ca dliu phi hp vi chui Walsh pht ra t b to Walsh. Trong thit k ny dng Walsh16 nn tc d liu s chm hn tc Walsh 16 ln. Mi b Time Division s chiai tn s ca d liu nn trong thit k ny cn dng 4 b Time Division (B to dliu ny cng c th c to bng nhiu cch khc nhau).

    Hnh 40: S khi b to d liu.

    4.2.4. Cc khi khc

    Trong s cn dng mt s khi khc nh b DAC, XOR. Ngoi ra quan trng

    nht l khi System Generator dng qun l cp tn hiu cho ton b cc khi trongs .

    Hnh 41: Khi XOR v System Generator.

    Cch cu hnh cho khi System Generator s c ni chi tit hn phn thchin m hnh thit k s cp di y.

    4.3. M hnh thit k v kt qu thu c

    Kha lun tt nghip o Vn Qun K49B44

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    45/50

    Khoa in t Vin thng HCN - HQGHN

    4.3.1. M hnh m phng vi cc khi trong gi cung cp bi Xilinx v trongSystem Generator

    Hnh 42: M hnh thit k b to ra 2 dy tn hiu.

    Cu hnh trong System Generator c ch ra nh hnh 37 di y:

    Hnh 43: Cc tham s cu hnh trong System Generator.

    4.3.2. Kt qu m phng

    Kha lun tt nghip o Vn Qun K49B45

    Dng xut ra (HDL Netlist, Bitfile)

    Tn Kit

    ng dn lu cc file s xut ra

    Ngn ng m t phn cng s xut ra

    Chu k m phng.

    Chn Clock dng trong thit k

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    46/50

    Khoa in t Vin thng HCN - HQGHN

    Hnh 44: Kt qu m phng 1 chui tn hiu c m ha vi 2 dy Walsh khc nhau.

    Tn hiu pha trn l chui tn hiu 0101 c m ha vi dy Walsh (4,16)v c lc qua b lc Cosin tng.

    Tn hiu pha bn di l chui tn hiu 0101 c m ha vi dy Walsh(3,16) v c a qua b lc Cosin tng.

    4.3.3. Thc hin chng trnh trn Kit Virtex 4 v kt qu thu c

    4.3.3.1. Thc hin trn Kit Virtex 4

    thc hin c trn Kit Virtex 4 t s m phng c xy dng tacn lm cc bc sau:

    - Cu hnh cho System Generator nh ch ra phn 4.3.1.

    - To ra m ngun t s m phng.

    - Dng phn mm ISE ca Xilinx bin dch chng trnh v gn chn cho cc tnhiu vo ra.

    - To ra bitfile t ISE (file ny s c np vo FPGA).

    - Dng phn mm h tr FUSE m card (m giao tip gia my tnh v FPGA).

    - Cu hnh clock cho Kit thng qua thao tc np file nh ngha clock FPGA s thchin trong thit k.

    - Np thit k vo trong FPGA.

    4.3.3.2. Kt qu thu c

    Kha lun tt nghip o Vn Qun K49B46

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    47/50

    Khoa in t Vin thng HCN - HQGHN

    Hnh 45: Quan st tn hiu m ha Walsh pht ra t Kit Virtex 4.

    nh gi kt qu

    Kt qu m phng v kt qu quan st c khi thc thc hin trn Kit thcph hp vi kt qu tnh ton l thuyt.

    Vic thit k v thc hin thnh cng b pht ra hai dng m Walsh cho knhMIMO dng cng ngh FPGA hon ton c th p dng trong nhng m hnh khc.

    S dng Kit Virtex 4 cng vi cc cng c h tr i km thit k FPGA lmt phng php thit k n gin, linh hot v hiu qu.

    KT LUN

    Kha lun tt nghip o Vn Qun K49B47

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    48/50

    Khoa in t Vin thng HCN - HQGHN

    K thut MIMO vi nhng u im ca n ang ngy cng c ng dngrng ri cng vi cc nhc im ca k thut ny cng dn dn c khc phctrong qu trnh nghin cu v thc hin. Vi vic s dng FPGA xy dng mt h

    Testbed lm gim ng k cho qu trnh thc hin mch in t ng thi tnh khthi cng tng ln rt nhiu. Vi kh nng ti lp trnh ca FPGA ta c th d dng thayi v trin khai cc thut ton x l m khng cn ngh n vic thay i phn cng.

    ti kha lun ny tuy mi ch thc hin c mt phn nh trong m hnhxy dng mt h Testbed MIMO nhng n s l tin cho vic nghin cu v honthnh tip nhng chc nng cn li trong h.

    Vi vic thc hin thit k thnh cng b m ha Walsh trong knh truynMIMO vi hai ng tn hiu ta c th hon ton p dng c vi cc h MIMO cs lng knh truyn ln hn. Vi thnh cng ny th nhim v xy dng hon thin

    mt b Testbed MIMO hon chnh s sm thc hin c.c bit qua qu trnh tm hiu v lm thc nghim em thu c nhiu kin

    thc v cng ngh FPGA, cch s dng Kit chuyn dng Virtex 4 l nhng kin thcm khng phi bt k sinh vin no trong trng cng c tip cn.

    Mt ln na em xin c cm n TS Trnh Anh V v anh CN.V Xun Thng tn tnh ch bo em v kin thc cng nh to mi iu kin thun li em honthnh ti kha lun ny.

    TI LIU THAM KHO

    Kha lun tt nghip o Vn Qun K49B48

  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    49/50

    Khoa in t Vin thng HCN - HQGHN

    [1] Mani B. Srivastava. VHDL tutorial. UCLA EE.

    [2] System Generator for DSP (Getting started Guide, Reference Guide, User Guide).Xilinx.

    [3] Nguyn Trng Hi.Bi ging Verilog. H K thut cng ngh TPHCM.

    [4] Nguyn Vit Knh, Trnh Anh V. Thng tin s. NXBGD.

    [5] V Xun ThngKnh truyn MIMO v b thu pht cho h o th knh. Kha luntt nghip, trng H Cng ngh - HQGHN.

    [6] Website:

    www.xilinx.com

    www.VNeEpress.com

    www.wikipedia.org

    MC LC

    Kha lun tt nghip o Vn Qun K49B49

    http://www.wikipedia.org/http://www.wikipedia.org/
  • 8/4/2019 [Laptrinh.vn]-KyThuatMIMO Va FPGA

    50/50

    Khoa in t Vin thng HCN - HQGHN

    Khi logic ..............................................................................................................6Hnh 3: Khi logic trong FPGA ............................................................................6