99
TRƯỜNG ĐẠI HC BÁCH KHOA HÀ NI VIỆN ĐIỆN T- VIN THÔNG -*- BÀI TP LN VLSI KHI DĐOÁN CHUYỂN ĐỘNG LIÊN NH TRONG NÉN VIDEO GVHD: TS. Nguyễn Vũ Thắng Nhóm thc hin: Đỗ Vit Hoà ĐTVT 3 – K55 20101033 Vũ Duy Sơn ĐTVT 3 – K55 20102112 Nghiêm Lê Hoa ĐTVT 4 – K55 20101551 Đỗ Hoàng Tùng Anh ĐTVT 10 – K55 20101074 Phm Thế Huy ĐTVT 10 – K55 20101625 Hà Ni, 05/2014

Thesis.pdf

Embed Size (px)

Citation preview

  • TRNG I HC BCH KHOA H NI

    VIN IN T - VIN THNG

    -*-

    BI TP LN VLSI

    KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    GVHD: TS. Nguyn V Thng

    Nhm thc hin:

    Vit Ho TVT 3 K55 20101033

    V Duy Sn TVT 3 K55 20102112

    Nghim L Hoa TVT 4 K55 20101551

    Hong Tng Anh TVT 10 K55 20101074

    Phm Th Huy TVT 10 K55 20101625

    H Ni, 05/2014

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    2

    LI NI U

    Thit k VLSI l mn hc chuyn ngnh quan trng trong chng trnh o to

    ca sinh vin in t Vin thng ni chung cng nh chng trnh in t v K

    thut my tnh ni ring. Mn hc cung cp nhng kin thc c bn nht v thit k

    ASIC, s dng ngn ng m t phn cng Verilog cng b cng c thit k, tng hp

    mnh m Synopsys.

    Bi tp ln l mt cch tip cn vi nhng kin thc hc c trn lp mt cch

    nhanh chng v hu hiu nht, ng thi sinh vin c c hi tri nghim vi nhng

    yu cu thit k, tng hp cht ch nht thc hin mt chc nng c th no . Bn

    cnh , thc hin bi tp ln cng l mt cch gip sinh vin rn luyn nhng k

    nng mm nh k nng lp k hoch, k nng lm vic nhm, kh nng t duy c

    lp v kh nng iu tit lng cng vic.

    Khi d on chuyn ng lin nh trong nn video c s dng rt rng ri

    trong thc t v c tch hp vo nhiu h thng x l phc tp khc. Thit k khi

    d on chuyn ng lin nh trong nn video l mt trong nhng kha cnh trng

    yu trong thit k ASIC. Trong bi tp ln ny, chng em s d on chuyn ng

    lin nh trong nn video vi khung nh nh dng 640x480, s dng qut ton khung

    nh tham chiu.

    Chng em xin chn thnh cm n TS. Nguyn V Thng v KS. Nguyn Nam

    Phong nhit tnh ging dy, hng dn v gii p thc mc ca chng em trong

    qu trnh thc hin bi tp ln ny cng nh vic hc tp trn lp c thun li.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    3

    MC LC

    Li ni u .................................................................................................................. 2

    Mc lc ........................................................................................................................ 3

    Danh mc hnh nh ..................................................................................................... 5

    Danh mc bng biu .................................................................................................... 8

    1. Tng quan ................................................................................................................ 9

    1.1. Gii thiu tng ............................................................................................ 9

    1.2. K hoch thc hin ........................................................................................... 9

    2. c t chi tit ........................................................................................................ 11

    2.1. Cc khi nim ................................................................................................. 11

    2.2. Chc nng ca mch ...................................................................................... 12

    2.3. Cc yu cu phi chc nng ............................................................................. 15

    3. Thit k kim th .................................................................................................. 16

    3.1. Kim th h thng .......................................................................................... 16

    3.2. Kim th tng khi ........................................................................................ 18

    4. Thit k thut ton v kin trc ............................................................................. 19

    4.1. tng thut ton .......................................................................................... 19

    4.2. Thit k thut ton .......................................................................................... 22

    4.3. Thit k kin trc ........................................................................................... 24

    5. Thit k RTL ......................................................................................................... 26

    5.1. Khi iu khin (control_unit) ....................................................................... 26

    5.2. Khi b m khung hnh hin ti (curr_mem) ............................................... 29

    5.3. Khi b m khung hnh tham chiu (ref_mem) ........................................... 30

    5.4. Khi tnh ton tng tr tuyt i sai khc SAD (sad_calc64) ........................ 32

    5.5. Khi tnh ton vector chuyn ng (mv_calc) ............................................... 33

    5.6. Khi so snh (comp_unit.v) ........................................................................... 34

    6. Kim th chc nng .............................................................................................. 37

    6.1. Check li code: ............................................................................................... 37

    6.2. M phng trc khi tng hp mch ............................................................... 45

    7. Tng hp ............................................................................................................... 47

    8. Kim th sau tng hp .......................................................................................... 66

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    4

    8.1. Kim th chc nng sau tng hp ................................................................. 66

    8.2. Kim th thi gian sau tng hp .................................................................... 68

    9. Kim tra tnh tng ng .................................................................................... 69

    10. Phn tch thi gian trc layout .......................................................................... 76

    11. Layout.................................................................................................................. 80

    12. Kim th sau layout ............................................................................................ 95

    13. Phn tch thi gian sau layout ............................................................................. 96

    14. Kt lun ............................................................................................................... 98

    14.1. Kt qu ......................................................................................................... 98

    14.2. Nhn xt ....................................................................................................... 98

    Ti liu tham kho ..................................................................................................... 99

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    5

    DANH MC HNH NH

    Hnh 2.1. Giao din giao tip ca mch .............................................................. 12

    Hnh 2.2. S thi gian cc tn hiu ng b ................................................... 13

    Hnh 2.3. S thi gian ca qu trnh c b nh ........................................... 14

    Hnh 2.4. S thi gian ca cc tin hiu kt qu tnh ton .............................. 14

    Hnh 3.1. Kim th t ng ................................................................................ 18

    Hnh 4.1. Qut khi 8x8 trn khung hnh tham chiu ......................................... 19

    Hnh 4.2. S dng thanh ghi dch qut, mi bc dch c 8 pixel nh ........ 20

    Hnh 4.3. S dng thanh ghi dch lu 8 dng, mi bc dch c 1 pixel ......... 20

    Hnh 4.4. Qut khung hnh tham chiu tn dng gi tr hai bin ........................ 21

    Hnh 4.5. Qut khung hnh tham chiu tn dng gi tr hai bin ........................ 21

    Hnh 4.6. Kin trc chung ca mch ................................................................... 24

    Hnh 5.1. S khi iu khin ......................................................................... 26

    Hnh 5.2. S khi b m khung hnh hin ti .............................................. 29

    Hnh 5.3. S khi b m khung hnh tham chiu ........................................ 30

    Hnh 5.4. S khi tnh ton SAD ................................................................... 32

    Hnh 5.5. S tnh gi tr SAD theo kin trc pipeline .................................... 33

    Hnh 5.6. S khi tnh ton vector chuyn ng ........................................... 33

    Hnh 5.7. S tnh ton vector chuyn ng theo kin trc pipeline ............... 34

    Hnh 5.8. S khi so snh .............................................................................. 34

    Hnh 6.1. Ca s to project trong Leda ............................................................. 37

    Hnh 6.2. Ca s t tn cho project ................................................................... 38

    Hnh 6.3. Chn phin bn cho Verilog ............................................................... 39

    Hnh 6.4. Xc nh ng dn th vin cn dng .............................................. 40

    Hnh 6.5. Xc nh ng dn source code ........................................................ 41

    Hnh 6.6. Ca s kt thc to project .................................................................. 42

    Hnh 6.7. Ca s xc nh top module ................................................................ 43

    Hnh 6.8. Thit lp clock v reset ....................................................................... 44

    Hnh 6.9. Ca s cui cng thng bo cc li .................................................... 45

    Hnh 6.10. Chn xem dng sng ca top module ............................................... 46

    Hnh 6.11. Ca s dng sng .............................................................................. 46

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    6

    Hnh 6.12. Kt qu m phng dng sng ............................................................ 47

    Hnh 7.1. Ca s thit lp ................................................................................... 48

    Hnh 7.2. Chn ng dn dn n th vin tng hp ....................................... 49

    Hnh 7.3. To th vin Milkyway ....................................................................... 50

    Hnh 7.4 ............................................................................................................... 51

    Hnh 7.5. Thm cc file code .............................................................................. 51

    Hnh 7.6. Chn top module ................................................................................. 52

    Hnh 7.7. Xem s khi ................................................................................... 52

    Hnh 7.8. S nguyn l trc tng hp .......................................................... 53

    Hnh 7.9. Ca s kim tra li .............................................................................. 53

    Hnh 7.10. To clock v thit lp cc thng s clock ......................................... 54

    Hnh 7.11. Thit lp tr u vo.......................................................................... 55

    Hnh 7.12. Lu lch s s dng lnh trong DC ................................................... 65

    Hnh 7.13. Lu file TCL ..................................................................................... 65

    Hnh 8.1. Chn tn hiu xem th sng ............................................................ 67

    Hnh 8.2. th sng m phng chc nng sau tng hp .................................. 67

    Hnh 8.3. th sng m phng c tr sau tng hp ......................................... 68

    Hnh 9.1. Giao din khi ng Formality ........................................................... 69

    Hnh 9.2. Np Guidance file ............................................................................... 70

    Hnh 9.3. Chn tt c cc file thit k (tr testbench) ........................................ 70

    Hnh 9.4. Thit lp top module ca thit k ........................................................ 71

    Hnh 9.5. Np file thit k sau khi tng hp ....................................................... 71

    Hnh 9.6. Np file th vin ................................................................................. 72

    Hnh 9.7. Bt u kim tra tnh tng ng ....................................................... 72

    Hnh 9.8. Kt qu kim tra tnh tng ng ....................................................... 73

    Hnh 9.9. Verify thit k ..................................................................................... 73

    Hnh 9.10. Passing Points ................................................................................... 74

    Hnh 10.1. Giao din phn mm Prime Time ..................................................... 77

    Hnh 10.2. Xut file coverage report................................................................... 77

    Hnh 10.3. To timing report .............................................................................. 78

    Hnh 10.4. Xut bo co ng c tr nh nht ................................................. 79

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    7

    Hnh 11.1. M th vin Milkyway to sn trc khi tng hp ..................... 80

    Hnh 11.2. c file thit k DDC ....................................................................... 81

    Hnh 11.3. c file rng buc thit k SDC. ...................................................... 81

    Hnh 11.4. Giao din thit k layout ................................................................... 82

    Hnh 11.5. To nn .............................................................................................. 83

    Hnh 11.6. Thit k sau khi to nn .................................................................... 83

    Hnh 11.7. Cc cell c xp pha ngoi nn to .......................................... 84

    Hnh 11.8. To chn ngun v t ...................................................................... 84

    Hnh 11.9. To vng dy VDD ........................................................................... 85

    Hnh 11.10. To vng dy VSS .......................................................................... 85

    Hnh 11.11. Cc vng dy VDD v VSS xung quanh thit k ........................... 85

    Hnh 11.12. Thit lp rng vng dy VDD ................................................... 86

    Hnh 11.13. Thit lp rng vng dy VSS ..................................................... 86

    Hnh 11.14. To vng m.................................................................................. 86

    Hnh 11.15. Xp linh kin t ng ...................................................................... 87

    Hnh 11.16. Mch sau khi xp linh kin ............................................................. 88

    Hnh 11.17. To mng clock ............................................................................... 89

    Hnh 11.18. Mng clock c to ra ................................................................... 90

    Hnh 11.19. Tn hiu clock c a ti tng cell ............................................. 90

    Hnh 11.20. i dy t ng ................................................................................. 91

    Hnh 11.21. Ti nguyn x l ca h thng c tn dng ti a ...................... 92

    Hnh 11.22. Thit k hon chnh sau khi i dy ................................................. 93

    Hnh 11.23. Extract RC ....................................................................................... 93

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    8

    DANH MC BNG BIU

    Bng 1.1. Cc mc thi gian cn t c ca d n ........................................... 9

    Bng 1.2. Phn cng cng vic chi tit ................................................................. 9

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    9

    1. TNG QUAN

    1.1. Gii thiu tng

    D on chuyn ng lin nh (Motion Estimation) l mt trong nhng cng on

    quan trng trong nn video. Thut ton cho php tm ra khi nh ging nht gia 2

    khung hnh, nhm gim thiu lng d liu cn m ho v lu tr. Mt trong cc

    thut ton tm vector chuyn ng (Motion vector) l thut ton Full-Search (duyt

    vt cn).

    Trong bi tp ln ny, nhm thc hin vic thit k ASIC khi d on chuyn

    ng lin nh gia 2 khung hnh c lu trong b nh. Qu trnh tm kim c

    din ra trong ton khung hnh.

    1.2. K hoch thc hin

    1.2.1. Milestones

    Bng 1.1. Cc mc thi gian cn t c ca d n

    STT Milestone Thi gian

    1 Hon thnh c t chi tit 26/02/2014

    2 Hon thnh phc tho thit k thut ton v thit k

    s khi

    12/03/2014

    3 Hon thnh code RTL 19/03/2014

    4 Hon thnh ton b cng vic, bo v ln 1 23/04/2014

    1.2.2. Phn chia cng vic

    Cng vic c phn cng da trn cc giai on ca quy trnh thit k, cng nh

    vic phn chia thit k thnh cc khi nh. C th nh sau:

    Bng 1.2. Phn cng cng vic chi tit

    STT Cng vic Deps. Thc hin Khi lng

    1 Vit c t chi tit Vit Ho 7 ngy

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    10

    2 Thit k thut ton

    Thit k s khi

    1 Nghim L Hoa

    Vit Ho

    14 ngy

    3 Thit k RTL v kim th

    tng khi

    2 C nhm 21 ngy

    3.1 Khi iu khin Nghim L Hoa

    V Duy Sn

    5 ngy

    3.2 Khi b nh m block hin

    ti

    Hong Tng Anh

    Phm Th Huy

    2 ngy

    3.3 Khi b nh m block

    tham chiu

    Vit Ho

    Nghim L Hoa

    14 ngy

    3.4 Khi tnh ton SAD Vit Ho

    V Duy Sn

    7 ngy

    3.5 Khi tm gi tr nh nht Hong Tng Anh

    Phm Th Huy

    5 ngy

    3.6 Thanh ghi dch SISO Hong Tng Anh

    Phm Th Huy

    2 ngy

    3.7 Thit k chnh (top module) 3.1,2..6 V Duy Sn 2 ngy

    3.8 Testbench h thng Vit Ho 5 ngy

    4 Sa code, thc hin cc

    bc front-end (m phng,

    tng hp)

    3 C nhm 14 ngy

    5 Sa code, thc hin cc

    bc back-end

    4 C nhm 3 ngy

    6 Tng hp kt qu

    Vit bo co

    5 C nhm 5 ngy

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    11

    2. C T CHI TIT

    2.1. Cc khi nim

    2.1.1. To im v to khi

    To im c tnh t 0, tc l = 0, 1, ; = 0, 1, .

    To (, ) ca mt khi l to ca pixel trn cng bn tri ca khi (tc

    l pixel c v nh nht trong khi).

    2.1.2. Tng tr tuyt i sai khc

    Tng tr tuyt i sai khc (Sum of Absolute Difference SAD) l gi tr th hin

    mc khc nhau ca 2 nh vi cng kch thc, c tnh bng cng thc:

    = |(, )|

    ,

    Trong (, ) = (, ) (, ) l hiu gi tr

    chi ca 2 im nh tng ng trn 2 khung hnh.

    Khi no trong khung hnh tham chiu c gi tr SAD nh nht l khi ging

    nht vi khi ang xt ti khung hnh hin ti.

    2.1.3. Vector chuyn ng

    Vector chuyn ng (Motion Vector) ca mt khi l vector th hin lch ca

    khi trn khung hnh tham chiu ging vi khi ang xt nht so vi khi ang xt

    trn khung hnh hin ti.

    Gi s ang xt khi c to (0, 0) trn khung hnh hin ti, tm c khi

    c to (, ) trn khung hnh tham chiu c gi tr SAD nh nht, khi vector

    chuyn ng c tnh theo cng thc:

    = ( 0, 0)

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    12

    2.2. Chc nng ca mch

    Mch c chc nng d on chuyn ng (Motion Estimation), c 2 khung hnh:

    khung hnh hin ti v khung hnh tham chiu t b nh, xt tng khi (Block) trong

    khung hnh hin ti v a ra khi trong khung hnh tham chiu ging khi ang xt

    trong khung hnh hin ti nht thng qua tng tr tuyt i sai khc (Sum of Absolute

    Difference SAD) nh nht v vector chuyn ng (Motion Vector) ng vi SAD .

    2.2.1. Cc tham s ca mch

    phn gii khung hnh: 640480.

    Kch thc mi khi: 88.

    Mi im (pixel) c biu din bng mt gi tr chi 8-bit.

    2.2.2. Cc tn hiu

    Cc tn hiu vo/ra ca mch c m t bi Hnh .

    Hnh 2.1. Giao din giao tip ca mch

    Cc tn hiu c chia lm 4 nhm:

    Cc tn hiu ng b

    Giao tip b nh cha khung hnh hin ti

    Giao tip b nh cha khung hnh tham chiu

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    13

    Kt qu tnh ton

    a) Cc tn hiu ng b

    L nhm cc tn hiu c chc nng ng b mch tun t, bao gm:

    STT Tn hiu KT Loi M t

    1 clk

    1 Vo Xung nhp ng h, ng b theo sn

    ln

    2 rst

    1 Vo Reset ng b, tch cc mc cao

    3 en 1 Vo Cho php mch hot ng

    S thi gian ca cc tn hiu ng b c cho Hnh . Trc khi hot ng

    mch cn reset (a tn hiu reset ln mc 1 ti sn ln ca xung ng h) v cp

    mc logic 1 cho tn hiu enable cho php mch hot ng.

    clk

    rst

    ...

    en

    Hnh 2.2. S thi gian cc tn hiu ng b

    b) Cc tn hiu giao tip b nh

    Mch cn giao tip vi 2 khi b nh: b nh cha khung hnh hin ti v b nh

    cha khung hnh tham chiu. Cc tn hiu giao tip vi b nh khung hnh hin ti c

    tin t curr_, cc tn hiu giao tip b nh khung hnh tham chiu c tin t ref_.

    STT Tn hiu KT Loi M t

    1 curr_x, ref_x 10 Ra To ca im nh cn c gi tr

    2 curr_y, ref_y 9 Ra To ca im nh cn c gi tr

    3 curr_den, ref_den

    1 Ra Tn hiu bo c d liu t b nh nh,

    tch cc mc cao

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    14

    4 curr_data, ref_data

    8 Vo Gi tr im nh tr v t b nh

    clk

    curr_x, curr_y

    ref_x, ref_y

    curr_data

    ref_datax

    ...

    ...

    x

    x

    curr_den

    ref_den

    ...

    Hnh 2.3. S thi gian ca qu trnh c b nh

    B nh cn thit k sao cho c th c d liu trong 1 chu k xung nhp.

    c) Cc tn hiu kt qu tnh ton

    Kt qu tnh ton c a ra bng cc tn hiu sau:

    STT Tn hiu KT Loi M t

    1 sad 14 Ra Gi tr SAD tng ng vi khi ang xt

    (khi c a ch curr_addr)

    2 mv_x 11 Ra To ca vector chuyn ng tng

    ng vi khi ang xt.

    3 mv_y 10 Ra To ca vector chuyn ng tng

    ng vi khi ang xt.

    4 curr_addr 13 Ra a ch ca khi ang xt

    clk ...

    rst

    curr_addr x ...

    en

    sad

    mv_x, mv_yx ...

    Hnh 2.4. S thi gian ca cc tin hiu kt qu tnh ton

    D liu ra bao gm 2 thnh phn: a ch ca khi v cc gi tr SAD, . Qu

    trnh tnh ton cn din ra trong mt s chu k xung nhp nht nh, gi tr a ch s

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    15

    c gi nguyn trong sut qu trnh tnh ton v ch thay i khi bt u xut d

    liu ca khi tip theo. Gi tr ng s l gi tr a ra cui cng ng vi mi a ch.

    2.3. Cc yu cu phi chc nng

    Mch c thit k m bo cc ch tiu k thut phi chc nng nh sau:

    Tn s hot ng: 500 MHz.

    Kch thc: (cha c lng).

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    16

    3. THIT K KIM TH

    Cc bi kim th c thit k nhm m bo thit k t nhng yu cu ra

    ca c t chi tit cng nh yu cu thit k ca tng khi. C 2 qu trnh kim th

    c thc hin:

    Kim th h thng: c thc hin sau khi tt c cc khi c ghp

    li thnh cng, nhm m bo mch hot ng ng vi c t chi tit

    ra.

    Kim th tng khi: c thc hin cng vi qu trnh thit k chi tit

    tng khi, nhm m bo tng khi nh trong h thng hot ng ng

    vi thit k v thut ton ra.

    3.1. Kim th h thng

    Cc bi kim th h thng c thit k da trn c t chi tit ca h thng, song

    song v khng ph thuc vo thut ton cng nh thit k RTL. Mc tiu ca ca

    kim th h thng l m bo mch hot ng ng vi c t chi tit ra.

    3.1.1. Thit k b test

    a) Cu trc b test

    Cc b test c sinh ra bng cc chng trnh nh vit bng ngn ng lp trnh

    C, bao gm:

    D liu b nh khung hnh hin ti, c xut ra di dng danh sch

    tng byte d liu dng thp phn, tng ng vi tng pixel ca khung

    hnh theo th t t tri sang phi, t trn xung di.

    D liu b nh khung hnh tham chiu, c nh dng ging vi d liu b

    nh khung hnh hin ti.

    Cc gi tr u ra (SAD, vector chuyn ng) ng vi tng khi nh, c

    xut ra di dng danh sch tng gi tr c phn sch nhau bi khong

    trng, mi khi nh mt dng.

    b) Phn loi b test

    C 2 loi test c to ra vi cc mc ch khc nhau:

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    17

    Test bit trc kt qu: b test c sinh t ng nhng vi nh sn,

    m bo bit trc kt qu. Loi test ny khng ch c s dng kim

    th thit k m cn dng kim th chnh chng trnh sinh test, m

    bo chng trnh ny hot ng ng.

    Test ngu nhin: b test c sinh t ng vi cc gi tr ngu nhin, kt

    qu u ra c tnh ton t ng bng chng trnh sinh test. B test ny

    dng kim th thit k.

    c) Cc b test

    Qu trnh kim th h thng din ra rt lu v phc tp, v th ch c 2 b test

    c to ra tng ng vi 2 loi test c cp pha trn:

    Test bit trc kt qu:

    o Khung hnh hin ti: tt c cc pixel u c gi tr bng 1.

    o Khung hnh tham chiu: c mt khi 88 duy nht to

    (, ) = (22, 11) c gi tr cc pixel l 1, cc pixel cn li c gi

    tr bng 0.

    o Kt qu mong mun: tt c cc gi tr SAD u bng 0 v cc vector

    chuyn ng u tr n to (, ) = (22, 11).

    Test ngu nhin: cc gi tr c sinh ra ngu nhin v u ra c tnh

    ton da trn chng trnh sinh test.

    3.1.2. Kim th t ng

    Qu trnh kim th h thng c thc hin thng qua testbench c vit bng

    Verilog thc hin test t ng v thng bo kt qu ra mn hnh. Testbench ny s

    c cc file d liu u vo c to sn phc v cho thit k thc thi, ng

    thi ly gi tr u ra ca thit k so snh vi u ra chun ca b test.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    18

    THIT KD LIU VO D LIU RA

    TESTBENCH

    TR

    NG

    TH

    IH

    TH

    NG

    Hnh 3.1. Kim th t ng

    Testbench cn c thit k c kh nng ly ra cc gi tr d liu nm trong thit

    k trong qu trnh m phng nhm mc ch g li mch khi kt qu kim th khng

    t yu cu.

    3.2. Kim th tng khi

    Kim th tng khi c thc hin i vi mi module trong mch trong qu

    trnh code, m bo thit k hoch ng ng vi yu cu ca mi khi. Qu trnh

    kim th ny c thc hin bng cc testbench n gin, a d liu c nh sn

    vo thit k cn kim tra v hin th gi tr cc tn hiu cn thit ra mn hnh.

    Khi pht hin ra li xy ra (tn hiu ra c gi tr khng ng vi yu cu ban u),

    s sng (waveform) c s dng phc v cho vic g li.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    19

    4. THIT K THUT TON V KIN TRC

    4.1. tng thut ton

    tha mn yu cu bi ton a ra, vn quan trng nht i vi vic thit

    k phn cng l thut ton qut khi 8x8 trong hai khung hnh hin ti v khung hnh

    tham chiu. Nhm a ra cch qut hai khung hnh nh sau:

    i vi khung hnh hin ti:

    640

    480

    Hnh 4.1. Qut khi 8x8 trn khung hnh tham chiu

    Chia khung hnh 640x480 thnh cc khi 8x8.

    Bt u qut khi 8x8 u tin trn cng bn tri, ta (0, 0).

    Tip tc qut cc khi 8x8 t tri sang phi v t trn xung di.

    Khung hnh tham chiu c 3 cch qut nh sau:

    Cch 1

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    20

    0xFF

    0xF

    F

    640

    480

    7

    480 + 7

    Hnh 4.2. S dng thanh ghi dch qut, mi bc dch c 8 pixel nh

    Vi cch qut tng khi 8x8 t tri sang phi, t trn xung di, mi khi 8x8

    tip theo khc khi 8x8 trc 8 pixel th mi ln qut phi a 8 gi tr pixel mi

    vo b nh.

    Cch 2

    0xFF

    0xF

    F

    640

    480

    7

    480 + 7

    Hnh 4.3. S dng thanh ghi dch lu 8 dng, mi bc dch c 1 pixel

    S dng mt ca s kch thc (640 + 7) 8 thc hin qut ln lt t trn

    xung di, mi khi 8x8 bn trong ca s ny s c dch t tri sang phi. Nh

    vy mi ln qut, khi 8x8 tip theo ch khc khi 8x8 trc 1 pixel nn ch phi

    a 1 gi tr pixel mi vo.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    21

    Cch 3:

    0xFF

    0xF

    F0

    xFF

    640

    480

    7

    480 + 7

    Hnh 4.4. Qut khung hnh tham chiu tn dng gi tr hai bin

    480

    640 7

    480 + 7

    0xFF

    0xF

    F

    Hnh 4.5. Qut khung hnh tham chiu tn dng gi tr hai bin

    Nhn thy khung hnh c di 2 chiu khc nhau nn nu qut theo chiu rng

    s tit kim c kch thc ca s (thnh (480 + 7) 8) v nu bt u qut t

    di cng bn tay phi th khi 8x8 bit ht 63 gi tr, ch cn a thm 1 gi tr

    pixel mi vo, v c th tip tc qut ca s t phi sang tri, cn khi 8x8 t di

    ln trn. Nh vy mi ln qut cng ch cn a thm 1 gi tr pixel mi vo.

    Quy trnh qut theo ct nh sau:

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    22

    Ban u, trc khi qut khi 8x8 u tin, thm 7 pixel vo bn phi v bn di

    ca khung hnh theo chiu di v chiu rng tng ng c gi tr mi pixel l 0xFF.

    Bt u qut khi 8x8 u tin tn cng bn phi, tng ng vi to

    (479, 639).

    Dch khi ln trn theo tng pixel qut theo chiu rng t di ln trn,

    t phi sang tri

    Vi mi ln dch ca hai khi trong hai khung hnh nh trn, chng trnh thc

    hin:

    Tnh ton tr tuyt i sai khc ca tng pixel trong hai khi.

    Tnh tng tr tuyt i sai khc gia hai khi 8x8.

    Tnh lch ta gia hai khi ng vi mi tng tr tuyt i sai khc.

    Sau khi qut xong ton b khung hnh tham chiu ng vi mt khung hnh

    hin ti:

    o Thc hin so snh cc tng tr tuyt i sai khc tm gi tr tng

    tr tuyt i sai khc nh nht

    o a ra lch ta ng vi tng tr tuyt i sai khc nh nht

    , tc l vector chuyn ng ng vi khung hnh hin ti.

    4.2. Thit k thut ton

    Da vo tng trn, nhm xy dng thut ton qut cho hai khung hnh: khung

    hnh hin ti v khung hnh tham chiu.

    4.2.1. Thut ton qut khung hnh hin ti:

    Thc hin c tng pixel theo chiu t tri sang phi, t trn xung di

    ly ra cc khi nh 64x8 (kch thc 8 x 8 = 64).

    gim phc tp ca vic thit k cc khi gii m a ch phc tp

    cho mt khi nh kch thc 64x8, nhm s dng dy cc thanh ghi dch

    lm b nh cha cc khi 8x8 nn cn c pixel theo chiu ngc li: t

    im cui cng n im u tin v c mi ln dch mt pixel sang phi

    l ng vi dy thanh ghi dch dch xung 1 thanh ghi.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    23

    4.2.2. Thut ton qut khung hnh tham chiu

    Nhm dng cch qut th 3 trn thc hin qut khung hnh tham chiu. Cng

    vi vic s dng dy thanh ghi dch kch thc (480 + 7) 8 thay th cho b nh

    cng kch thc, tin trnh qut tng pixel c thc hin qut t im cui cng n

    im u tin trong khung hnh tham chiu. u ra cn c c l khi 8x8 cn qut

    phi v tr u tin (tng ng 64 thanh ghi u tin) ca dy cc thanh ghi dch.

    Dy thanh ghi dch s qut dc t phi sang tri, nhng tng thanh ghi s tham gia 2

    loi qut sau:

    Qut dc tng pixel t di ln trn, ng vi mi pixel dch ln trn l dy

    thanh ghi dch phi 1 thanh ghi

    Qut ngang tng pixel t phi sang tri, do cn ly ra ng 64 thanh ghi

    v tr u tin th ng vi mi pixel dch sang tri, dy thanh ghi dch dch

    xung 8 (dch vng 8), dch phi 1 thanh ghi

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    24

    4.3. Thit k kin trc

    64 8

    -BIT

    VA

    LUES

    64 8

    -BIT

    VA

    LUES

    SAD

    CA

    LCU

    LATO

    R(8

    )

    MO

    TIO

    N V

    ECTO

    R C

    ALC

    ULA

    TOR

    (10

    )

    CON

    TRO

    LLER

    AD

    DRE

    SS

    SAD

    VA

    LUE

    MO

    TIO

    N V

    ECTO

    R V

    ALU

    E

    COM

    PARA

    TOR

    (1)

    MIN

    SA

    D V

    ALU

    E

    MO

    TIO

    N V

    ECTO

    R

    REF

    EREN

    CE

    DA

    TA

    FRA

    ME

    (1)

    CU

    RR

    EN

    T

    DA

    TA

    FRA

    ME

    (1)

    8-B

    IT V

    ALU

    E

    8-B

    IT V

    ALU

    EA

    DD

    RESS

    CUR

    REN

    T A

    DD

    RES

    S

    CUR

    REN

    T FR

    AM

    E B

    UFF

    ER 6

    4x8

    (1)

    SYN

    C. R

    EG(1

    )

    REF

    EREN

    CE

    FRA

    ME

    BU

    FFER

    4

    87

    x8x8

    (1)

    SYN

    C. R

    EG(1

    )

    SYN

    C. R

    EG(1

    1)

    SYN

    C. R

    EG(1

    0)

    MO

    TIO

    N E

    STIM

    ATI

    ON

    Hnh 4.6. Kin trc chung ca mch1

    1 Cc s trong ngoc n ca mi khi th hin tr tng ng ca khi

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    25

    Bi ton xy dng da trn khi d on chuyn ng lin nh (motion

    estimation) v c chia thnh 6 khi:

    Khi iu khin (Controller).

    Khi b m khung hnh hin ti (Current frame buffer), kch thc 64x8.

    Khi b m khung hnh tham chiu (Reference frame buffer), kch thc

    (487 8) 8.

    Khi tnh ton tng tr tuyt i sai khc SAD (SAD calculator).

    Khi tnh ton vector dch chuyn (Motion vector calculator).

    Khi so snh (Comparator).

    Mi khi thc hin cc chc nng ring bit nhng phi m bo c iu kin

    ng b nh trn Hnh 4.6.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    26

    5. THIT K RTL

    5.1. Khi iu khin (control_unit)

    5.1.1. S khi

    curr_x

    next_block

    ref_read_en

    ref_shift

    cur_read_en

    cur_read_ok

    curr_y

    ref_x

    ref_y

    curr_addr

    clk

    rst

    en

    control_unit

    curr_read_x

    curr_read_y

    clk

    [9:0]

    [8:0]

    [9:0]

    [8:0]

    Hnh 5.1. S khi iu khin

    5.1.2. Chc nng

    Khi lm nhim v iu khin cc khi cn li trong h thng bng cch cp cc

    tn hiu iu khin tng ng. ng vi mi xung nhp sn ln, khi thc hin:

    Thc hin vic c d liu t cc b nh khung hnh hin ti v tham chiu

    tng ng.

    Thay i gi tr tng pixel ang c c.

    Thay i gi tr ta qut ref_x, ref_y.

    Kim tra vic dch cho.

    Thay i ta khi 8x8 hin ti.

    Kim tra vic c cc khi 8x8 tip theo trong khung hnh hin ti.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    27

    Cung cp a ch cho khi hin ti ang xt.

    5.1.3. Cc cng vo ra

    u vo:

    o clk: Tn hiu xung nhp ng h, ng b theo sn ln

    o en: Tn hiu cho php mch hot ng

    o rst: Tn hiu reset ng b, tch cc mc cao

    u ra:

    o ref_read_en: Tn hiu cho php c d liu t b nh khung hnh

    hin ti.

    o ref_shift: Tn hiu iu khin dch cho khi ref_mem.

    o ref_x, ref_y: Ta ca pixel khung hnh tham chiu.

    o next_block: Tn hiu bo kt thc vic xt xong mt khi ca

    khung hnh hin ti v chuyn sang khi tip theo trong khung hnh

    .

    o curr_read_en, curr_read_ok: Tn hiu iu khin cho khi

    cur_mem.

    o curr_read_x, curr_read_y: Ta ca pixel hin ti ang c.

    o curr_x, curr_y: Ta ca khi c lu trong b m khung

    hnh hin ti.

    o curr_addr: a ch khi 8x8 c lu trong b m khung hnh

    hin ti.

    5.1.4. Thut ton

    current-x 640 8 current-y 480 8 current-read-pixel-x 640 8 current-read-pixel-y 480 8 current-address (640 / 8) * (480 / 8) 2 reference-x 0 reference-y 64

    While (rising-edge-clock)

    Do

    If (enable-read-current-data) then

    If (reference-x = 0 and reference-y = 0) then

    enable-read-current-data 0

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    28

    enable-buffer-2 1 enable-read-reference-data 1 enable-next-block 1 current-address current-address + 1 If (current-x < 640 - 8) then current-x current-x + 8

    Else

    current-x 0 If (current-y < 480 8) then

    current-y current-y + 8 Else

    current-y 0 current-address 0 Else

    If (reference-y 8) then current-read-pixel-x current-read-pixel-x + 7

    current-read-pixel-y current-read-pixel-y 1 Else current-read-pixel-x current-read-pixel-x 1 Else

    If (reference-x = 0 and reference-y = 64) then

    enable-read-current-data 1 If (current-x < 640 8) then

    current-read-pixel-x current-read-pixel-x + 15 current-read-pixel-y current-read-pixel-y + 7

    Else

    current-read-pixel-x 7 If (current-read-pixel-y < 480 8) then

    current-read-pixel-y current-read-pixel-y + 15 Else

    current-read-pixel-y 7

    If (reference-y > 0) then

    reference-y reference-y - 1 reference-shift 0

    Else

    reference-shift 1 reference-y 479

    If (reference-x > 0) then reference-x reference-x 1 Else reference-y 639

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    29

    5.2. Khi b m khung hnh hin ti (curr_mem)

    5.2.1. S khi

    clk

    rst

    en

    curr_mem

    data_out[64x8 - 1:0]

    read_en

    read_ok

    read_data[7:0]

    Hnh 5.2. S khi b m khung hnh hin ti

    5.2.2. Chc nng

    Khi lm b m cho khung hnh hin ti ly ra cc khi 8x8 c

    chia sn.

    Mi sn ln ca xung nhp, gi tr tng pixel khung hnh hin ti c

    a vo cc thanh ghi.

    u ra l 64 gi tr khi 8x8 khung hnh hin ti.

    5.2.3. Cc cng vo ra

    u vo:

    o clk: Tn hiu xung nhp ng h, ng b theo sn ln

    o en: Tn hiu cho php mch hot ng

    o rst: Tn hiu reset ng b, tch cc mc cao

    o read_en: Tn hiu cho php in y b m khung hin ti 1.

    o read_ok: Tn hiu cht b m khung hin ti 2.

    o read_data (8 bits): D liu khung hnh hin ti i vo b m.

    u ra:

    o data_out: 64 gi tr 8 bits, tng ng vi mt khi 8x8 khung

    hnh hin ti.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    30

    5.2.4. Thut ton

    While (rising-edge-clock)

    Do

    If (done-buffer-1) then buffer-2 buffer-1 Else

    If (enable-buffer-1) then buffer-1[i] buffer-1[i 1] buffer-1[0] data-input

    5.3. Khi b m khung hnh tham chiu (ref_mem)

    5.3.1. S khi

    clk

    rst

    en

    ref_mem

    data_out [64x8 1:0]

    shift

    data_in[7:0]

    next_block

    Hnh 5.3. S khi b m khung hnh tham chiu

    5.3.2. Chc nng

    Khi lm b m ly ra khi tham chiu 8x8 so snh

    Khi to ca s (480 + 7) 8 vi ton b pixel c gi tr 0.

    C mi mt xung nhp, ca s thc hin dch xung hay dch cho ty theo

    ang dch theo chiu dc hay chiu ngang.

    u ra cn ly l khi 8x8 (64 gi tr) v tr u tin trn cng ca ca

    s.

    5.3.3. Cc cng vo ra

    u vo:

    o clk: Tn hiu xung nhp ng h, ng b theo sn ln

    o en: Tn hiu cho php mch hot ng

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    31

    o rst: Tn hiu reset ng b, tch cc mc cao

    o next_block: Tn hiu thng bo kt thc khi 8x8 ang xt, chuyn

    sang tnh ton khi 8x8 tip theo trong khung hnh hin ti

    o shift: Tn hiu dch ca s kch thc (480+7)x8 i xung hoc i

    cho

    o data_in (8 bits): D liu khung hnh tham chiu

    u ra:

    o data_out: 64 gi tr 8 bits, tng ng vi mt khi qut 8x8 khung

    hnh tham chiu

    5.3.4. Thut ton

    Chia ca s kch thc 487x8 thnh 59 khi 8x8 v 1 khi 15x8. Vi mi khi

    u phi thc hin 2 loi dch: dch ln v dch xung nn nhm chia ra lm 2 khi

    nh l khi 1x8 (dch ln), khi nx8 (khi dch xung, n c th bng 8 hoc 15), u

    ra l khi d liu 8x8 dng a vo khi tnh ton tng tr tuyt i sai khc SAD.

    data-out-8x8 block-8x8 out-block-1x8 block-8x8[n - 1] out-block-7x8[row][col] block-8x8[row + (n 8)][col]

    While (rising-edge-clock)

    Do

    If (active-next-block) then

    If (row 0 or col 0) then block-8x8[row][col] 0xFF block-8x8[0][0] in-block-1x8[0] Else

    If (enable-shift-up) then

    block-8x8[row][col] block-8x8[row 1][col] block-8x8[0][col] in-block-1x8[col]

    Else

    block-8x8[row][col] in-block-nx8[row][col 1] row 8:n col 2:8 block-8x8[row][col] block-8x8[row 8][x 1] block-8x8[row][0] 0xFF block-8x8[0][0] in-block-1x8[0]

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    32

    5.4. Khi tnh ton tng tr tuyt i sai khc SAD (sad_calc64)

    5.4.1. S khi

    clk

    rst

    en

    block1

    block2

    [64x8 1:0]

    [64X8 1:0]sad

    [13:0]

    sad_calc64

    Hnh 5.4. S khi tnh ton SAD

    5.4.2. Chc nng

    Tnh ton tng tr tuyt i sai khc ca khi 8x8 tham chiu ang xt vi khi

    8x8 hin ti da vo hai u vo c 64 gi tr pixel.

    Vi mi xung ng h, khi lm nhim v tnh tng tng cp gi tr sai

    khc (c pipeline).

    u ra l tng tr tuyt i sai khc gia khi qut v khi hin ti.

    5.4.3. Cc cng vo ra

    u vo:

    o clk: Tn hiu xung nhp ng h, ng b theo sn ln

    o en: Tn hiu cho php mch hot ng

    o rst: Tn hiu reset ng b, tch cc mc cao

    o block1, block2: 64 gi tr khi 8x8 khung hnh hin ti v khung

    hnh tham chiu

    u ra:

    o sad: Tng gi tr tuyt i sai khc

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    33

    5.4.4. Thut ton

    SUBTRACTION 64 9-BIT VALUES ABSOLUTION2 13-BIT VALUES

    1 14-BIT VALUE

    ADDER

    64 8-BIT VALUES

    64 8-BIT VALUES

    64 8-BIT VALUES 32 9-BIT VALUES ADDER

    Hnh 5.5. S tnh gi tr SAD theo kin trc pipeline

    5.5. Khi tnh ton vector chuyn ng (mv_calc)

    5.5.1. S khi

    clk

    rst

    en

    mv_calc

    mv_x

    mv_y

    [10:0]

    [9:0]

    cur_x

    cur_y

    ref_x

    ref_y

    [9:0]

    [8:0]

    [9:0]

    [8:0]

    Hnh 5.6. S khi tnh ton vector chuyn ng

    5.5.2. Chc nng

    Mch thc hin chc nng tnh ton lch ca tng cp ta khi tham chiu

    v ta khi hin ti.

    mi sn ln ca xung nhp, thc hin tnh ton vector chuyn ng ng

    vi mi sad tnh c khi sad_calc, v vy c thm cc thanh ghi dch

    ng b thi gian u ra xut hin (xut hin cng vi tng sad tng

    ng).

    5.5.3. Cc cng vo ra

    u vo:

    o clk: Tn hiu xung nhp ng h, ng b theo sn ln

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    34

    o en: Tn hiu cho php mch hot ng

    o rst: Tn hiu reset ng b, tch cc mc cao

    o curr_x, curr_y: Ta ca im nh cn c gi tr khung hnh

    hin ti

    o ref_x, ref_y: Ta ca im nh cn c gi tr khung hnh

    tham chiu

    u ra:

    o xv_x, mv_y: vector chuyn ng ng vi trc x v y

    5.5.4. Thut ton

    COORDINATE X

    COORDINATE Y

    SUBTRACTOR COORDINATE OFFSETSYNC. REG

    Hnh 5.7. S tnh ton vector chuyn ng theo kin trc pipeline

    5.6. Khi so snh (comp_unit.v)

    5.6.1. S khi

    clk

    rst

    en

    next

    sad

    min_sad

    mv_x_out

    mv_y_out

    comp_unit

    [9:0]

    [13:0]

    [10:0]

    [9:0]

    mv_x_in

    mv_y_in

    [13:0]

    [10:0]

    Hnh 5.8. S khi so snh

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    35

    5.6.2. Chc nng

    Nhim v ca khi l so snh gia 640 480

    8 8= 4800 gi tr SAD i vi mi khi

    8x8 hin ti tm c gi tr SAD nh nht v a vector chuyn ng ng vi

    lch ta ca khi c SAD nh nht vi khi hin ti ang xt.

    C mi sn ln ca xung nhp, khi thc hin so snh gi tr sad vi gi

    tr nh nht c trc tm li gi tr nh nht.

    Khi c tn hiu bo xt xong ton b khung hnh tham chiu th u ra

    xut hin gi tr sad nh nht v cc vector chuyn ng ca n.

    5.6.3. Cc cng vo ra

    u vo:

    o clk: Tn hiu xung nhp ng h, ng b theo sn ln

    o en: Tn hiu cho php mch hot ng

    o rst: Tn hiu reset ng b, tch cc mc cao

    o next: Tn hiu bo kt thc vic xt c khung hnh tham chiu (tc

    tm ra sad nh nht)

    o sad: Tng tr tuyt i sai khc

    o mv_x_in, mv_y_in: Vector chuyn ng ng vi cc sad tng ng

    u ra:

    o min_sad: Gi tr sad nh nht

    o mv_x_out: Ta x vector chuyn ng tng ng vi khi 8x8

    hin ti ang xt

    o mv_y_out: Ta y vector chuyn ng tng ng vi khi 8x8

    hin ti ang xt

    5.6.4. Thut ton

    While (rising-edge-clock)

    Do

    If (enable-next-current-block) then

    min-sad min-temp mv-x-out mv-x-temp mv-y-out mv-y-temp Else

    If (sad < min-temp) then

    min-temp sad

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    36

    mv-x-temp mv-x-in mv-y-temp mv-y-in

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    37

    6. KIM TH CHC NNG

    To th mc rtl cha file code Verilog ca thit k.

    6.1. Check li code:

    M ca s terminal, chn ng dn n th mc rtl, g lnh leda, ca s

    giao din phn mm hin ra.

    Chn new project chn OK.

    Hnh 6.1. Ca s to project trong Leda

    Sau khi ca s Project Creation Wizard hin ra, trong mc Project Name, c th

    thay tn project c ui m rng .pro.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    38

    Hnh 6.2. Ca s t tn cho project

    Sau khi nh tn xong, chn Next, c hnh nh sau:

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    39

    Hnh 6.3. Chn phin bn cho Verilog

    Trong tab Verilog, mc Version, chn 2001 (Verilog 2001) ri chn Next.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    40

    Hnh 6.4. Xc nh ng dn th vin cn dng

    ca s Specify Libraries, chn Next tip:

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    41

    Hnh 6.5. Xc nh ng dn source code

    Ti ca s Specify Sources Files, chn Add... dn ng dn n th mc cha

    code Verilog, chn OK ri chn Next, ca s tip theo hin ra:

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    42

    Hnh 6.6. Ca s kt thc to project

    Cui cng, chn Finish.

    Chn Check Load Configuration RTL.

    Chn Check Run (biu tng !) xut hin ca s:

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    43

    Hnh 6.7. Ca s xc nh top module

    Kim tra Unit name vi Library name c ging vi tn top module trong thit k

    khng.

    Chn tab Test clock/reset nh sau:

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    44

    Hnh 6.8. Thit lp clock v reset

    Trong mc Port names, chn thit lp clock sn ln v reset tch cc mc cao.

    Chn OK.

    Ca s mi s hin th cc trng thi kim tra nh sau:

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    45

    Hnh 6.9. Ca s cui cng thng bo cc li

    Nu ca s hin th trng thi cc mu xanh th code c kim tra

    ng.

    Nu hin th cc mu nu, bo cc cnh bo, nn c qua v c th iu

    chnh.

    Nu hin th cc mu , phi c tht k cc cnh bo v sa li code

    tun theo lut chn.

    Sau khi sa code chy li kim tra cho n khi no trn ca s khng xut hin

    cc trng thi mu na.

    6.2. M phng trc khi tng hp mch

    Thc hin lnh sau bin dch to ra file m phng v thc hin m phng.

    vcs -debug +v2k +systemverilogext+sv +incdir+src ./src/*.v

    ./src/sim/motion_estimation_testall.sv -o rtl_simv

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    46

    ./rtl_simv gui &

    Sau khi ca s hin ra, cn chn cc tn hiu mun xem kt qu.

    Hnh 6.10. Chn xem dng sng ca top module

    Ca s mi hin ra, nhp thi gian m phng 500 ns ri n F5 hoc nt nh hnh sau:

    Hnh 6.11. Ca s dng sng

    Kt qu m phng c:

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    47

    Hnh 6.12. Kt qu m phng dng sng

    7. TNG HP

    Qu trnh tng hp c thc hin bng phn mm Design Compiler ca

    Synopsys, s dng cng ngh DC Ultra Topographical cho php kt qu tng hp ti

    u hn v tng kh nng d on thit k cui cng. chy Design Compiler, thc

    hin lnh sau:

    dc_shell topo gui

    Trc khi thc hin cc bc cu hnh v tng hp, tng tc x l cho phn

    mm, cn thit lp s lng core ca CPU s dng.

    set_host_options -max_cores 4

    a) Ci t th vin

    Do s dng cng ngh Topographical, ngoi th vin cell, DC i hi phi thit

    lp th vin cng ngh ch to thc hin m phng xp linh kin v i dy, tnh

    ton c lng tr.

    Ci t th vin cell chun

    Chn File > Setup thit lp th vin cho tng hp mch. Chn ng dn

    thit lp th vin khi ca s Application Setup xut hin.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    48

    Hnh 7.1. Ca s thit lp

    Trong :

    Search path: l ng dn mc nh thc hin tm kim cc file th

    vin, m ngun, v.v

    Link library: l th vin logic chun thc hin phn tch v lin kt thit

    k RTL vi cc cng logic c sn.

    Target library: l th vin cell ca nh sn xut, bao gm thng tin chnh

    xc ca tt c cc cell (logic, timing, power) vi cc kch thc khc nhau,

    c s dng trong bc mapping v ti u thit k.

    Symbol library: l th vin k hiu linh kin, dng hin th s mch

    trc v sau tng hp.

    Search path = /data/study/bk/vlsi/rtl/src

    /data/study/bk/vlsi/rtl/lib/tcbn45gsbwp_120a/frame_only_HVH_0d5_0/tc

    bn45gsbwp/LM /home/work/eda/synopsys/dc/libraries/syn

    Link library = * tcbn45gsbwpbc.db

    Target library = tcbn45gsbwpbc.db

    Symbol library = generic.sdb

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    49

    Hnh 7.2. Chn ng dn dn n th vin tng hp

    Ci t th vin cng ngh ch to

    Cng ngh DC Ultra Topographical yu cu phi ci t th vin vt l c

    cung cp bi nh sn xut th vin Milkyway bao gm:

    Reference Libraries: th vin Standard Cell, bao gm:

    o FRAM: thng tin vt l ca cell mc tng quan (bao gm hnh

    dng cell, v tr cc chn, cc vng metal b s dng khng c

    i dy qua). DC-T v ICC s dng th vin ny xp linh kin v

    i dy (Place & Route).

    o CEL: thit k chi tit ca cell.

    Technology File: nh ngha cc lp i dy, l via, lut thit k (DRC).

    TLU+ File: thng tin v m hnh RC ca cng ngh ch to.

    Layer Mapping File: map gia tn cc lp trong Technology File v TLU+

    File.

    to th vin Milkyway, chn File > Create MW Library

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    50

    Hnh 7.3. To th vin Milkyway

    New library path = /data/study/bk/vlsi/rtl/lib/

    New library name = work

    Technology file =

    /data/study/bk/vlsi/rtl/lib/tcbn45gsbwp_120a/techfiles/HVH_0d5_0/tsm

    cn45_10lm7X2ZRDL.tf

    Input reference libraries =

    /data/study/bk/vlsi/rtl/lib/tcbn45gsbwp_120a/frame_only_HVH_0d5_0/tc

    bn45gsbwp

    thit lp TLU+ File, chn File > Set TLU+

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    51

    Hnh 7.4

    Maximum TLU+ file =

    /data/study/bk/vlsi/rtl/lib/tcbn45gsbwp_120a/techfiles/tluplus/cln45

    gs_1p10m+alrdl_rcbest_top2.tluplus

    Minimum TLU+ file =

    /data/study/bk/vlsi/rtl/lib/tcbn45gsbwp_120a/techfiles/tluplus/cln45

    gs_1p10m+alrdl_rcworst_top2.tluplus

    Layer name mapping file between technology library and ITF file =

    /data/study/bk/vlsi/rtl/lib/tcbn45gsbwp_120a/techfiles/tluplus/star.

    map_10M

    b) To file theo di qu trnh

    Vo terminal, g lnh

    set_svf top.svf

    c) c cc file code thit k Verilog

    Chn File > Analyze, c tt c cc file *.v tr cc file testbench.

    Hnh 7.5. Thm cc file code

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    52

    d) Elaborate

    Chn File > Elaborate. Trong ca s Elaborate Designs, chn file top module.

    Hnh 7.6. Chn top module

    Chn biu tng nh sau trn thanh menu hin schematic. S dng phm tt I

    (Zoom in) v O (Zoom out) phng to hoc thu nh, dng ln chut v Shift hoc

    Ctrl ln xung hoc sang ngang.

    Hnh 7.7. Xem s khi

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    53

    Hnh 7.8. S nguyn l trc tng hp

    e) Kim tra thit k

    Chn Design > Check Design, thc hin kim tra thit k.

    Hnh 7.9. Ca s kim tra li

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    54

    f) To clock v thit lp cc thng s clock

    Chn tn hiu clk trong s mch ri chn Attributes > Specify Clock To

    clock c cc thng s:

    Clock name: clk.

    Period: 2 (chu k xung nhp l 2ns, tng ng vi tn s 500MHz).

    Falling: 0, Rising: 1 tng ng vi duty 50%.

    Hnh 7.10. To clock v thit lp cc thng s clock

    Ngoi ra cn thit lp cc thng s khng l tng ca clock, bao gm

    uncertainty, latency, v transition.

    set_clock_uncertainty 0.01 [get_clocks clk]

    set_clock_latency 0.2 [get_clocks clk]

    set_input_transition 0.1 [all_inputs]

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    55

    g) Thit lp cc rng buc thit k

    Tr u vo

    Chn cc tn hiu u vo tr tn hiu clock trn s thit k, chn Attributes >

    Operating Environment > Input Delay

    Hnh 7.11. Thit lp tr u vo

    Tr u ra

    Chn cc tn hiu u ra trn s thit k, chn Attributes > Operating

    Environment > Output Delay

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    56

    Hnh 7.15. Thit lp tr u ra

    Thit lp thng s RC cho cng vo/ra

    Gi s u vo ca thit k c iu khin bng cng o nh nht (cell yu

    nht), in dung u vo ln nht l 10 cell AN2D0BWP, u ra l 30 cell.

    set all_in_ex_clk [remove_from_collection [all_inputs] [get_ports

    clk]]

    set_driving_cell -no_design_rule -lib_cell INVD0BWP $all_in_ex_clk

    set MAX_INPUT_LOAD [expr [load_of tcbn45gsbwpbc/AN2D0BWP/A1] * 10]

    set_max_capacitance $MAX_INPUT_LOAD $all_in_ex_clk

    set_load [expr $MAX_INPUT_LOAD * 3] [all_outputs]

    iu kin hot ng (Operating condition)

    Chn Attributes > Operating Environment > Operating Conditions

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    57

    Hnh 7.18. Chn iu kin hot ng

    Design Constraints

    Chn Attributes > Optimization Constraints > Design Constraints

    Hnh 7.22. Thit lp thng s cho Design Constraints

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    58

    h) Compile Ultra

    Chn Design > Compile Ultra, trong bt ch Incremental mapping cho

    kh nng tng hp mnh hn.

    Hnh 7.26. Thit lp Compile Ultra

    Sau khi tng hp, xem li s mch. C th thy cc khi nh trong thit k

    c gi nguyn, cc tn hiu c fan-out ln nh enable, reset c m bng cc b

    o v sinh ra nhiu tn hiu ging nhau.

    Hnh 7.27. S thit k sau tng hp

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    59

    Hnh 7.28. S thit k sau tng hp (mt phn)

    i) Xut bo co

    Cc yu cu v timing, cng sut, din tch c kim tra v bo co sau khi

    tng hp, bao gm cc loi bo co sau:

    Timing Path

    Chn Timing > Report Timing Path

    Hnh 7.30. Report Timing Paths

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    60

    ---------------------------------------------------

    data required time 2.19

    data arrival time -1.18

    ---------------------------------------------------

    slack (MET) 1.00

    Report constraints

    Chn Design > Report Constraints.

    Hnh 7.31. Xut constraints report

    Constraint Cost

    -----------------------------------------------------

    max_transition 0.00 (MET)

    max_capacitance 0.00 (MET)

    max_delay/setup 0.00 (MET)

    critical_range 0.00 (MET)

    max_area 0.00 (MET)

    Report Power

    Chn Design > Report Power.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    61

    Hnh 7.34. Report Power

    Cell Driven Net Tot Dynamic Cell

    Internal Switching Power (mW) Leakage

    Cell Power (mW) Power (mW) (% Cell/Tot) Power (nW)

    --------------------------------------------------------------------------------

    Netlist Power 78.1920 3.5754 8.177e+01 (96%) 1.366e+07

    Estimated Clock Tree Power N/A N/A (N/A) N/A

    --------------------------------------------------------------------------------

    Report Design Resources

    Chn Design > Report Design Resources.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    62

    Hnh 7.36. Report Design Resources

    Report Area

    Chn Design > Report Area.

    Hnh 7.36. Report Area

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    63

    Number of ports: 107

    Number of nets: 1265

    Number of cells: 75

    Number of references: 21

    Combinational area: 89209.712648

    Noncombinational area: 133399.502059

    Net Interconnect area: undefined (Wire load has zero net area)

    Total cell area: 222609.214707

    Total area: undefined

    j) Xut cc file kt qu tng hp

    Verilog Netlist

    Netlist l file m t mc cng ca thit k bao gm cc cell chun c ni dy

    vi nhau.

    Chn File > Save As.

    Hnh 7.38. Lu file Verilog netlist

    DDC File

    File DDC cha thit k mch mc cng cng vi cc thng s v rng buc

    thit k, c dng lm u vo cho bc phn tch thi gian bng PrimeTime v

    thit k IC bng IC Compiler.

    Chn File > Save As, ri t tn c ui *.ddc.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    64

    Hnh 7.39. Lu file .ddc

    To file SDF

    File SDF l file nh ngha tr tng cng v dy dn, c s dng cho m phng

    c tr. S dng lnh sau xut file SDF:

    write_sdf tn_file.sdf

    To file SDC

    File SDC (Synopsys Design Constraints) s c s dng trong ICC a cc

    rng buc thit k vo thc hin layout. S dng lnh sau xut file SDC:

    write_sdc tn_file.sdc

    Tt file theo di

    File SVF c s dng trong qu trnh kim tra Formality. S dng lnh sau

    tt file theo di qu trnh v lu li.

    set_svf off

    Xut file TCL

    Xut file shell ny cho php lu li cc lnh thc hin trong qu trnh tng

    hp, gip nhanh chng thc hin li qu trnh ny t ng m khng cn thc hin

    cc bc nh trn, v c th s dng li mt s lnh cho cc bc sau.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    65

    Hnh 7.12. Lu lch s s dng lnh trong DC

    Hnh 7.13. Lu file TCL

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    66

    8. KIM TH SAU TNG HP

    Sau khi tng hp, file netlist top_netlist.v c to ra m t mch mc cng.

    Kim th sau tng hp c thc hin nhm kim tra li thit k mc cng, nhm

    m bo thit k c to ra m bo hot ng ng v chnh xc theo thit k

    ban u. Kim th sau tng hp bao gm 2 bc:

    Kim th chc nng: thc hin m phng kim tra khng c tr nhm m

    bo yu cu v mt chc nng.

    Kim th thi gian: thc hin m phng kim tra c tr nhm m bo yu

    cu v mt thi gian.

    8.1. Kim th chc nng sau tng hp

    Thc hin lnh sau bin dch to ra file m phng:

    vcs -debug +v2k +systemverilogext+sv +incdir+src +delay_mode_zero

    ./lib/tcbn45gsbwp_120a/verilog/tcbn45gsbwp_120a/tcbn45gsbwp.v

    ./top_netlist.v ./src/sim/motion_estimation_testall.sv -o

    postsyn_func_simv

    Trong :

    ./lib/tcbn45gsbwp_120a/verilog/tcbn45gsbwp_120a/tcbn45gsbwp.v l

    ng dn n file th vin m t tng cell trong th vin di dng code

    Verilog.

    ./top_netlist.v l file netlist c to ra sau tng hp.

    Sau khi bin dch, file postsyn_func_simv c to ra v sn sng thc thi:

    ./postsyn_func_simv -gui

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    67

    Hnh 8.1. Chn tn hiu xem th sng

    Hnh 8.2. th sng m phng chc nng sau tng hp

    [work@VIT-PC rtl]$ ./postsyn_func_simv

    Chronologic VCS simulator copyright 1991-2010

    Contains Synopsys proprietary information.

    Compiler version D-2010.06-SP1; Runtime version D-2010.06-SP1; May 14 21:07 2014

    ==================================================

    Test '1pos'

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    68

    ==================================================

    Wed May 14 21:07:32 ICT 2014

    1000: curr_addr = 0 | mv_x = 0 | mv_y = 0 | sad = 0

    Wed May 14 21:07:32 ICT 2014

    27000: curr_addr = 4798 | mv_x = 0 | mv_y = 0 | sad = 0

    Wed May 14 21:07:32 ICT 2014

    157000: curr_addr = 4799 | mv_x = 0 | mv_y = 0 | sad = 0

    Wed May 14 21:10:02 ICT 2014

    614557000: curr_addr = 0 | mv_x = 11 | mv_y = 22 | sad = 0

    Wed May 14 21:12:33 ICT 2014

    1228957000: curr_addr = 1 | mv_x = 3 | mv_y = 22 | sad = 0

    Thc hin cc bc ging nh qu trnh kim th chc nng trc tng hp c

    th thy mch vn hot ng chnh xc sau khi tng hp.

    8.2. Kim th thi gian sau tng hp

    Sau khi tng hp, cc thng s v tr c tnh ton v c lng s c kim

    tra m bo mch vn t yu cu v thi gian. Lnh thc hin kim th c tr:

    vcs -debug +v2k +systemverilogext+sv +incdir+src

    ./lib/tcbn45gsbwp_120a/verilog/tcbn45gsbwp_120a/tcbn45gsbwp.v

    ./top_netlist.v ./src/sim/motion_estimation_testall.sv -sdf

    typ:motion_estimation:top.sdf -o postsyn_timing_simv

    Trong c typ:motion_estimation:top.sdf thm thng tin v tr c ly t

    file top.sdf to ra t qu trnh tng hp. Thc hin tng t, qu trnh kim th cho

    kt qu t yu cu.

    Hnh 8.3. th sng m phng c tr sau tng hp

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    69

    9. KIM TRA TNH TNG NG

    Bc ny s dng phn mm Fomality kim tra tnh tng ng gia thit

    k trc v sau tng hp. khi ng phn mm, g lnh:

    fm_shell -gui

    Hnh 9.1. Giao din khi ng Formality

    Trong phn Guidance, bm nt Guidance thm file .svf c to ra t bc

    tng hp vo phn mm. Sau khi thm Guidance file, bm Load Files np vo

    phn mm.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    70

    Hnh 9.2. Np Guidance file

    Chuyn sang phn Reference, np ton b file thit k gc bng Verilog vo phn

    mm i chiu vi thit k sau tng hp. Bm nt Verilog, chn tt c cc file thit

    k (tr testbench), bm Load Files np vo phn mm.

    Hnh 9.3. Chn tt c cc file thit k (tr testbench)

    Chuyn sang tab Set Top Design thit lp top module. Chn

    motion_estimation ri bm Set Top.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    71

    Hnh 9.4. Thit lp top module ca thit k

    Chuyn sang mc Implementation, tin hnh np file Verilog top_netlist.v

    (tng t nh vi mc Reference).

    Hnh 9.5. Np file thit k sau khi tng hp

    Chuyn sang tab Read DB Libraries, thc hin np file th vin

    tcbn45gsbwpbc.db.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    72

    Hnh 9.6. Np file th vin

    Cc bc chun b hon thnh, tip theo chuyn sang phn Match, bm Run

    Matching bt u kim tra tnh tng ng.

    Hnh 9.7. Bt u kim tra tnh tng ng

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    73

    Phn mm tn kh nhiu thi gian kim tra, do thit k c nhiu kt ni v

    kch thc kh ln. Tt c cc im u khp.

    Hnh 9.8. Kt qu kim tra tnh tng ng

    Sau khi kim tra tnh tng ng, chuyn sang phn Verify kim tra thit k.

    Bm nt Verify tin hnh kim tra. Qu trnh ny din ra kh lu.

    Hnh 9.9. Verify thit k

    Kt qu kim tra bao gm Falling Points (cc im b sai), Passing Points (cc

    im ng), Aborted Points v Unverified Points (cc im khng c kim tra).

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    74

    Thit k sau khi kim tra khng pht hin ra im no b sai, tt c cc im u

    ng, qu trnh tng hp din ra khng gp sai st no.

    Hnh 9.10. Passing Points

    Tng hp kt qu ca qu trnh kim tra tnh tng ng:

    ***************************** Guidance Summary *****************************

    Status

    Command Accepted Rejected Unsupported Unprocessed Total

    ----------------------------------------------------------------------------

    architecture_netlist: 1 0 0 0 1

    boundary : 64 0 0 0 64

    boundary_netlist : 1 0 0 0 1

    change_names : 145 1 0 0 146

    constraints : 64 0 0 0 64

    datapath : 64 0 0 0 64

    environment : 3 0 0 0 3

    instance_map : 29 0 0 0 29

    inv_push : 134 0 0 0 134

    merge : 64 0 0 0 64

    reg_merging : 1 0 0 0 1

    replace : 129 1 0 0 130

    uniquify : 66 0 0 0 66

    *********************************** Matching Results

    ***********************************

    34497 Compare points matched by name

    0 Compare points matched by signature analysis

    0 Compare points matched by topology

    19 Matched primary inputs, black-box outputs

    0(0) Unmatched reference(implementation) compare points

    0(0) Unmatched reference(implementation) primary inputs, black-box outputs

    10931(0) Unmatched reference(implementation) unread points

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    75

    *************************************************************************************

    ***

    ********************************* Verification Results

    *********************************

    Verification SUCCEEDED

    ----------------------

    Reference design: r:/WORK/motion_estimation

    Implementation design: i:/WORK/motion_estimation

    34497 Passing compare points

    -------------------------------------------------------------------------------------

    ---

    Matched Compare Points BBPin Loop BBNet Cut Port DFF LAT

    TOTAL

    -------------------------------------------------------------------------------------

    ---

    Passing (equivalent) 0 0 0 0 88 34409 0

    34497

    Failing (not equivalent) 0 0 0 0 0 0 0

    0

    *************************************************************************************

    ***

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    76

    10. PHN TCH THI GIAN TRC LAYOUT

    Cng on ny s dng phn mm Prime Time tin hnh phn tch thi gian,

    m bo thit k khng ch ng v mt chc nng m khng vi phm v mt thi

    gian. chy phn mm, g lnh:

    pt_shell

    Ci t th vin bng cc lnh sau:

    set lib_path

    "./lib/tcbn45gsbwp_120a/frame_only_HVH_0d5_0/tcbn45gsbwp/LM";

    set ADDITIONAL_SEARCH_PATH "$lib_path";

    set TARGET_LIBRARY_FILES "tcbn45gsbwpbc.db";

    set_app_var search_path "$search_path $ADDITIONAL_SEARCH_PATH";

    set_app_var target_library $TARGET_LIBRARY_FILES;

    set_app_var link_library "* $target_library";

    c file thit k c to ra bi bc tng hp:

    read_ddc ./top.ddc

    Tin hnh thit lp ng h v tr u vo nh thc hin vi bc tng hp

    bng cc lnh c ly t file top_syn.tcl xut ra trong bc tng hp.

    create_clock -name "clk" -period 2 -waveform { 0 1 } { clk }

    set_clock_uncertainty 0.01 [get_clocks clk]

    set_clock_latency 0.2 [get_clocks clk]

    set_input_transition 0.1 [all_inputs]

    set_input_delay -clock clk -add_delay -max -rise .2 "..."

    set_input_delay -clock clk -add_delay -max -fall .2 "..."

    set_input_delay -clock clk -add_delay -min -rise .1 "..."

    set_input_delay -clock clk -add_delay -min -fall .1 "..."

    set_output_delay -clock clk -add_delay -max -rise .2 "..."

    set_output_delay -clock clk -add_delay -max -fall .2 "..."

    set_output_delay -clock clk -add_delay -min -rise .1 "..."

    set_output_delay -clock clk -add_delay -min -fall .1 "..."

    Chy giao din phn mm bng lnh:

    start_gui

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    77

    Hnh 10.1. Giao din phn mm Prime Time

    xut bo co Coverage, vo menu Timing > Analysis Coverage

    Hnh 10.2. Xut file coverage report

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    78

    Bng tng kt s c lu vo file pt_coverage.txt v hin ra mn hnh.

    ****************************************

    Report : analysis_coverage

    -check_type {setup hold recovery removal min_period min_pulse_width clock_separation

    max_skew clock_gating_setup clock_gating_hold out_setup out_hold nochange}

    Design : motion_estimation

    Version: D-2010.06-SP3-4

    Date : Wed May 14 21:59:36 2014

    ****************************************

    Type of Check Total Met Violated Untested

    --------------------------------------------------------------------------------

    setup 45070 45061 (100%) 0 ( 0%) 9 ( 0%)

    hold 45070 45061 (100%) 0 ( 0%) 9 ( 0%)

    min_pulse_width 154792 154762 (100%) 0 ( 0%) 30 ( 0%)

    out_setup 88 88 (100%) 0 ( 0%) 0 ( 0%)

    out_hold 88 88 (100%) 0 ( 0%) 0 ( 0%)

    --------------------------------------------------------------------------------

    All Checks 245108 245060 (100%) 0 ( 0%) 48 ( 0%)

    xut bo co thi gian ca mch, vo menu Timing > Report Timing

    Hnh 10.3. To timing report

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    79

    data required time 2.186

    data arrival time -1.183

    ------------------------------------------------------------------------------

    slack (MET) 1.003

    xut bo co ng c tr nh nht, thc hin vo menu Timing > Report

    Timing > Edit Chn Delay Type l min. Lu bo co vo file pt_timing_min.txt.

    Hnh 10.4. Xut bo co ng c tr nh nht

    ------------------------------------------------------------------------------

    data required time 0.218

    data arrival time -0.253

    ------------------------------------------------------------------------------

    slack (MET) 0.034

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    80

    11. LAYOUT

    Bc layout c thc hin bng phn mm IC Compiler ca Synopsys, bao gm

    cc bc:

    Chun b th vin v d liu vo.

    Floor Planning.

    Placement: xp linh kin.

    Clock Tree Synthesis: to mng clock.

    Routing: i dy.

    Xut kt qu.

    Thc hin cc lnh sau chy IC Compiler v thit lp s core s dng:

    icc_shell gui

    set_host_options -max_cores 4

    a) Chun b th vin v d liu vo

    Ci t th vin

    Qu trnh ci t th vin gn ging vi cc bc thc hin qu trnh tng

    hp, ch khc l thay v to th vin vt l Milkyway, bc ny ch m th vin

    c to sn trc khi tng hp.

    Chn File > Open Library m th vin c to sn.

    Hnh 11.1. M th vin Milkyway to sn trc khi tng hp

    c file thit k

    c file DDC s dng File > Import > Read DDC.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    81

    Hnh 11.2. c file thit k DDC

    c file rng buc thit k

    c file SDC s dng File > Import > Read SDC.

    Hnh 11.3. c file rng buc thit k SDC.

    Bt giao din layout

    S dng Window > New layout window m mt ca s thit k layout. C th

    thy cc cell c xp chng ln nhau mt gc giao din thit k.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    82

    Hnh 11.4. Giao din thit k layout

    Lu kt qu

    Trc khi lu kt qu cn thc hin lnh sau b thit lp l tng cho cc cng

    vo ra: remove_ideal_network [get_ports]

    Cui cng thc hin lnh sau lu li ton b kt qu thc hin c:

    save_mw_cel -as data_setup

    b) Floor Planning

    To nn

    Chn Floorplan > Initialize Floorplan.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    83

    Hnh 11.5. To nn

    Sau khi to nn, cc chn c to ra v cc cell c sp xp pha ngoi IC.

    Hnh 11.6. Thit k sau khi to nn

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    84

    Hnh 11.7. Cc cell c xp pha ngoi nn to

    To chn ngun (VDD) v t (VSS)

    Preroute > Derive PG Connection

    Hnh 11.8. To chn ngun v t

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    85

    To cc vng y ngun v t xung quanh IC

    Preroute > Create Rings.

    Hnh 11.9. To vng dy VDD

    Hnh 11.10. To vng dy VSS

    IC sau s c cc vng dy ngun v t xung quanh.

    Hnh 11.11. Cc vng dy VDD v VSS xung quanh thit k

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    86

    Thit lp rng cc vng dy

    Preroute > Create Power Straps.

    Hnh 11.12. Thit lp rng vng dy VDD

    Hnh 11.13. Thit lp rng vng dy VSS

    To vng m

    Preroute > Create Pad Rings.

    Hnh 11.14. To vng m

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    87

    Lu kt qu

    Thc hin lnh lu thit k trc khi xp linh kin.

    save_mw_cel -as floorplanned

    c) Xp linh kin

    Sau khi to ra hnh dng c bn cho IC, cc cell c sp xp vo mch. y l

    mt trong nhng bc nng nht.

    Xp linh kin t ng

    Chn Placement > Core Placement and Optimization.

    Hnh 11.15. Xp linh kin t ng

    Thi gian xp linh kin kh lu do mch phc tp v c din tch ln.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    88

    Hnh 11.16. Mch sau khi xp linh kin

    Lu kt qu

    Lu li kt qu thit k sau khi xp linh kin.

    save_mw_cel -as placed

    d) To mng clock

    Clock l tn hiu c bit, khng c thc hin HFS (High Fan-out Synthesis)

    nh cc tn hiu khc (enable, reset) m qu trnh tng hp, ti u v thit k s c

    thc hin ring bc layout, bng thut ton CTS Clock Tree Synthesis.

    To mng clock

    Chn Clock > Core CTS and Optimization.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    89

    Hnh 11.17. To mng clock

    Sau mt khong thi gian x l, mng clock c to ra a tn hiu clock ti u

    n tng cell.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    90

    Hnh 11.18. Mng clock c to ra

    Hnh 11.19. Tn hiu clock c a ti tng cell

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    91

    Lu kt qu

    Lu li kt qu thit k sau khi to mng clock.

    save_mw_cel -as ctsed

    e) i dy

    Sau khi sp xp linh kin v i dy tn hiu clock, cc ng tn hiu cn li

    c phn mm tnh ton v thc hin i dy t ng. y l bc nng nht v tn

    km ti nguyn nht.

    i dy t ng

    Chn Route > Core Routing and Optimization.

    Hnh 11.20. i dy t ng

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    92

    Nh thit lp s dng a li khi bt u chng trnh, phn mm s dng ti a

    ti nguyn x l ca h thng, t tc rt tt, c bit l bc i dy.

    Hnh 11.21. Ti nguyn x l ca h thng c tn dng ti a

    Thit k hon chnh sau khi i dy xong.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    93

    Hnh 11.22. Thit k hon chnh sau khi i dy

    Lu kt qu

    Lu thit k mach sau i dy.

    f) Xut kt qu

    Extract RC

    Chn Route > Extract RC.

    Hnh 11.23. Extract RC

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    94

    Xut cc file d liu thit k

    S dng cc lnh sau:

    write_sdf icc.sdf

    write_sdc icc.sdc

    write -format ddc -hierarchy -modified -output {icc.ddc}

    write_verilog icc.v

    Xut cc bo co

    S dng cc lnh sau:

    report_qor > icc_qor.txt

    report_area > icc_area.txt

    report_constraint -all_violators > icc_constraint.txt

    report_port > icc_port.txt

    report_power > icc_power.txt

    report_timing > icc_timing.txt

    report_timing -nosplit > icc_timing_nosplit.txt

    report_timing -delay min > icc_timing_delay_min.txt

    report_design -physical > icc_design_physical.txt

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    95

    12. KIM TH SAU LAYOUT

    Kim th sau layout c thc hin tng t kim th sau tng hp, ch khc file

    netlist v file nh ngha tr.

    vcs -debug +v2k +systemverilogext+sv +incdir+src

    ./lib/tcbn45gsbwp_120a/verilog/tcbn45gsbwp_120a/tcbn45gsbwp.v

    ./icc.v ./src/sim/motion_estimation_testall.sv -sdf

    typ:motion_estimation:icc.sdf -o postlayout_simv

    Kt qu m phng sau layout t yu cu ra v c chc nng v thi gian.

    [work@VIT-PC rtl]$ ./postlayout_simv

    Chronologic VCS simulator copyright 1991-2010

    Contains Synopsys proprietary information.

    Compiler version D-2010.06-SP1; Runtime version D-2010.06-SP1; May 14 22:15 2014

    ==================================================

    Test '1pos'

    ==================================================

    Wed May 14 22:17:30 ICT 2014

    1000: curr_addr = 0 | mv_x = 0 | mv_y = 0 | sad = 0

    Wed May 14 22:17:30 ICT 2014

    27000: curr_addr = 4798 | mv_x = 0 | mv_y = 0 | sad = 0

    Wed May 14 22:17:30 ICT 2014

    157000: curr_addr = 4799 | mv_x = 0 | mv_y = 0 | sad = 0

    Wed May 14 22:20:00 ICT 2014

    614557000: curr_addr = 0 | mv_x = 11 | mv_y = 22 | sad = 0

    Wed May 14 22:22:31 ICT 2014

    1228957000: curr_addr = 1 | mv_x = 3 | mv_y = 22 | sad = 0

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    96

    13. PHN TCH THI GIAN SAU LAYOUT

    Vic thc hin phn tch thi gian bng PrimeTime sau layout c thc hin

    tng t nh cng on sau tng hp, ch khc file thit k by gi l icc.ddc. Cc

    file bo co bao gm pt_postlayout_coverage.txt, pt_postlayout_timing.txt, v

    pt_postlayout_timing_min.txt. Bo co cho thy mch m bm yu cu v mt

    thi gian sau i dy.

    ****************************************

    Report : analysis_coverage

    -check_type {setup hold recovery removal min_period min_pulse_width clock_separation

    max_skew clock_gating_setup clock_gating_hold out_setup out_hold nochange}

    Design : motion_estimation

    Version: D-2010.06-SP3-4

    Date : Tue May 20 20:02:24 2014

    ****************************************

    Type of Check Total Met Violated Untested

    --------------------------------------------------------------------------------

    setup 45070 45061 (100%) 0 ( 0%) 9 ( 0%)

    hold 45070 45061 (100%) 0 ( 0%) 9 ( 0%)

    min_pulse_width 154792 154762 (100%) 0 ( 0%) 30 ( 0%)

    out_setup 88 88 (100%) 0 ( 0%) 0 ( 0%)

    out_hold 88 88 (100%) 0 ( 0%) 0 ( 0%)

    --------------------------------------------------------------------------------

    All Checks 245108 245060 (100%) 0 ( 0%) 48 ( 0%)

    ****************************************

    Report : timing

    -path_type full

    -delay_type max

    -max_paths 1

    Design : motion_estimation

    Version: D-2010.06-SP3-4

    Date : Tue May 20 20:02:59 2014

    ****************************************

    Startpoint: en (input port clocked by clk)

    Endpoint: control_unit_u0/curr_addr_reg[2]

    (rising edge-triggered flip-flop clocked by clk)

    Path Group: clk

    Path Type: max

    ------------------------------------------------------------------------------

    data required time 2.096

    data arrival time -1.219

    ------------------------------------------------------------------------------

    slack (MET) 0.877

    ****************************************

    Report : timing

    -path_type full

    -delay_type min

    -max_paths 1

    Design : motion_estimation

    Version: D-2010.06-SP3-4

    Date : Tue May 20 20:03:24 2014

    ****************************************

    Startpoint: control_unit_u0/curr_addr_reg[10]

    (rising edge-triggered flip-flop clocked by clk)

    Endpoint: control_unit_u0/curr_addr_reg[10]

    (rising edge-triggered flip-flop clocked by clk)

    Path Group: clk

    Path Type: min

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    97

    ------------------------------------------------------------------------------

    data required time 0.133

    data arrival time -0.168

    ------------------------------------------------------------------------------

    slack (MET) 0.035

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    98

    14. KT LUN

    14.1. Kt qu

    Trong gn mt hc k tch cc hc tp v tm hiu, nhm hon thnh bi tp

    ln v t c nhng kt qu sau:

    Thit k thnh cng khi d on chuyn ng lin nh theo ng quy

    trnh thit k ASIC, t yu cu trong c t chi tit (specification) c

    a ra.

    S dng b cng c thit k IC ca Synopsys mc c bn, tham kho

    quy trnh trong ti liu training ca Synopsys.

    Hiu v nm r nhng nguyn l c bn trong thit k ASIC.

    14.2. Nhn xt

    Thit k khi d on chuyn ng lin nh trong nn video l mt ti thit k

    s phc tp, i hi mi thnh vin phi tch cc tm hiu, tra cu v c hiu cc ti

    liu khc nhau, t code Verilog cho n s dng cc cng c ca Synopsys. Trong

    qu trnh thc hin nhm gp phi rt nhiu vn trong vic s dng cng c.

    Chng em xin chn thnh cm n s hng dn ch bo v gip tn tnh trong

    qu trnh thc hin ca TS. Nguyn V Thng v KS. Nguyn Nam Phong nhm

    c th thc hin thnh cng ti ny.

  • THIT K ASIC KHI D ON CHUYN NG LIN NH TRONG NN VIDEO

    99

    TI LIU THAM KHO

    [1] R. Furtner, High Fanout without high stress: Synthesis and Optimization

    of High-fanout Nets Using Design Compiler 2000.11, Boston: SNUG

    Boston, 2001.

    [2] N. H. E. Weste and D. M. Harris, CMOS VLSI Design: A Circuits and

    Systems Perspective, Addison-Wesley, 2011.

    [3] C. E. Cummings, ""full_case parallel_case", the Evil Twins of Verilog

    Synthesis," 1999.

    Li ni uMc lcDanh mc hnh nhDanh mc bng biu1. Tng quan1.1. Gii thiu tng1.2. K hoch thc hin1.2.1. Milestones1.2.2. Phn chia cng vic

    2. c t chi tit2.1. Cc khi nim2.1.1. To im v to khi2.1.2. Tng tr tuyt i sai khc2.1.3. Vector chuyn ng

    2.2. Chc nng ca mch2.2.1. Cc tham s ca mch2.2.2. Cc tn hiua) Cc tn hiu ng bb) Cc tn hiu giao tip b nhc) Cc tn hiu kt qu tnh ton

    2.3. Cc yu cu phi chc nng

    3. Thit k kim th3.1. Kim th h thng3.1.1. Thit k b testa) Cu trc b testb) Phn loi b testc) Cc b test

    3.1.2. Kim th t ng

    3.2. Kim th tng khi

    4. Thit k thut ton v kin trc4.1. tng thut ton4.2. Thit k thut ton4.2.1. Thut ton qut khung hnh hin ti:4.2.2. Thut ton qut khung hnh tham chiu

    4.3. Thit k kin trc

    5. Thit k RTL5.1. Khi iu khin (control_unit)5.1.1. S khi5.1.2. Chc nng5.1.3. Cc cng vo ra5.1.4. Thut ton

    5.2. Khi b m khung hnh hin ti (curr_mem)5.2.1. S khi5.2.2. Chc nng5.2.3. Cc cng vo ra5.2.4. Thut ton

    5.3. Khi b m khung hnh tham chiu (ref_mem)5.3.1. S khi5.3.2. Chc nng5.3.3. Cc cng vo ra5.3.4. Thut ton

    5.4. Khi tnh ton tng tr tuyt i sai khc SAD (sad_calc64)5.4.1. S khi5.4.2. Chc nng5.4.3. Cc cng vo ra5.4.4. Thut ton

    5.5. Khi tnh ton vector chuyn ng (mv_calc)5.5.1. S khi5.5.2. Chc nng5.5.3. Cc cng vo ra5.5.4. Thut ton

    5.6. Khi so snh (comp_unit.v)5.6.1. S khi5.6.2. Chc nng5.6.3. Cc cng vo ra5.6.4. Thut ton

    6. Kim th chc nng6.1. Check li code:6.2. M phng trc khi tng hp mch

    7. Tng hpa) Ci t th vinCi t th vin cell chunCi t th vin cng ngh ch to

    b) To file theo di qu trnhc) c cc file code thit k Verilogd) Elaboratee) Kim tra thit kf) To clock v thit lp cc thng s clockg) Thit lp cc rng buc thit kTr u voTr u raThit lp thng s RC cho cng vo/raiu kin hot ng (Operating condition)Design Constraints

    h) Compile Ultrai) Xut bo coTiming PathReport constraintsReport PowerReport Design ResourcesReport Area

    j) Xut cc file kt qu tng hpVerilog NetlistDDC FileTo file SDFTo file SDCTt file theo diXut file TCL

    8. Kim th sau tng hp8.1. Kim th chc nng sau tng hp8.2. Kim th thi gian sau tng hp

    9. Kim tra tnh tng ng10. Phn tch thi gian trc layout11. Layouta) Chun b th vin v d liu voCi t th vinc file thit kc file rng buc thit kBt giao din layoutLu kt qu

    b) Floor PlanningTo nnTo chn ngun (VDD) v t (VSS)To cc vng y ngun v t xung quanh ICThit lp rng cc vng dyTo vng mLu kt qu

    c) Xp linh kinXp linh kin t ngLu kt qu

    d) To mng clockTo mng clockLu kt qu

    e) i dyi dy t ngLu kt qu

    f) Xut kt quExtract RCXut cc file d liu thit kXut cc bo co

    12. Kim th sau layout13. Phn tch thi gian sau layout14. Kt lun14.1. Kt qu14.2. Nhn xt

    Ti liu tham kho