!"# $ %&'!"#$
内容简介本书是在作者已经出版的 XilinxAlProgrammableZynq-7000SoC 设计指南 一书的基础上进行大幅度修订而成的 本书的一大特色就是更加突出 ARMCortex-A9 双核处理器的使用 此外, 在修订本书时采用了 Xilinx 最新的 Vivado2015 4 集成开发环境 通过本书的修订, 能反映最新的 ARM 嵌入式设计技术和实现方法, 同时也能更加凸显采用异构架构的 Zynq-7000SoC 在高性能数据处理尤其是在图像处理中的巨大优势 本书可以作为学习 ARMCortex-A9 处理器嵌入式开发, 以及 XilinxZynq-7000SoC 嵌入式开发的教材 工程参考用书 未经许可, 不得以任何方式复制或抄袭本书之部分或全部内容 版权所有, 侵权必究 图书在版编目 (CIP) 数据 XilinxZynq-7000 嵌入式系统设计与实现 : 基于 ARMCortex-A9 双核处理器和 Vivado 的设计方法 / 何宾, 张艳辉编著 北京 : 电子工业出版社,2016 7 ( 电子系统 EDA 新技术丛书 ) ISBN978-7-121-28995-8 Ⅰ 1X Ⅱ 1 何 2 张 Ⅲ 1 可编程序逻辑器件 - 系统设计 Ⅳ 1TP332 1 中国版本图书馆 CIP 数据核字 (2016) 第 124535 号 策划编辑 : 王敬栋 (wangjd@phei com cn) 责任编辑 : 王敬栋 印 刷 : 北京市京科印刷有限公司 装 订 : 北京市京科印刷有限公司 出版发行 : 电子工业出版社 北京市海淀区万寿路 173 信箱邮编 100036 开 本 :787 1092 印张 :46 5 字数 :1190 千字 版 次 :2016 年 7 月第 1 版 印 次 :2016 年 7 月第 1 次印刷 印 数 :3000 册 定价 :128 00 元 凡所购买电子工业出版社图书有缺损问题, 请向购买书店调换 若书店售缺, 请与本社发行部联系, 联系及邮购电话 :(010)88254888,88258888 质量投诉请发邮件至 zlts@phei com cn, 盗版侵权举报请发邮件至 dbqq@phei com cn 本书咨询联系方式 :010-88254451
* +, - "./0 1* 1*!" 2 34,-5678 2 a 4 3,, * 9*5! "#$%&' ()*+,-..9:; # 4 2 3 54*5 <=>?@ABCDE 4 3,, * 3 54*5 #(#! ( ("- #(#! ( #"- F GHE@I
!"### $ %!"#$%&' ' 9QJ $ RS ' ( $%&) &' %! 3 -./? ]^! $%&) &'%! "1< =# '0:<.'0: / J$ /'.: %& "'\ &' %! -./ 01?@ 456701 2 #()*+ 3 4567 0W:; 3 4567 2 + $%&) ; J "1=# 0W ; Q 45 O "1Q 45 \Z(Q ' 9QJ a()2 *+, $ [- (.!"### $ %/ E /01 1 &' %! +,-./<81 $ > N Q 23 456789J : 1-./ ;# #< # # 45 T $ -. <P=: > :?@-.@A B 2 PC. DE $ $/$:% () T?@: FG HI 89 $ PC 1JKL M %NO1 NO PC < / 1 D PQ RS 45TU VWE <9! V$5X YA YA <YA : T 45c C `Z YA [ c A \ <] ^ _!\ <] [`?@aw a + abw #(- c 2 ; $5 < '$ % 1 (- P : &' %!),-./ &' %!&) +,-. / &' '!+## ' ; $ 3 689J T : J $ "' J -.: NO ) A +01^ A ) -. ) * V$5X 0W _ %1 " 89 ^ 0 <N $ ^BT 5X ( ' 9QJ **> &' < 2 PC ` ]^` HJ ) \]^ ) ]^ [
$Z[ ( J ]^!"### $ % LM?@ O #()*+ 3 4567(Q &' '1. < &' %! c B ^ :!"### $ %] $ `a :Z. 01?@ ]^ % =! -./ %! 3 9! / (Q '0:,.'0: J$<E / /' \ X.: +!"### $ %]!"### $ %] 4 0W NO E %! 1-./ ] => VA[?@ )!"### $ %] 89 < % VA VA -.<_ :[?@ - ;?@ 4567!"### $ %] ; ] #67!"### $ %] ; \ # 67 Q 45O ; H -. M 9QJ a $J $. &' $. _. $ <%& B %& 3. R M ( %& < `a # M + ) ]^ R. M `a 9QJ W P < $ <%& B #(- / ) 01
( (*(\N Q9! ( (*(*(\N Q9! " ( (*(* $ % '%;< %; D (*(* \N Q $ %!" + (*(*+N Q $ % # ) (*(*)\N Q9! J -./$0 ) (*!"### $ % :<4 - (* *(!"### $ % [$ - (* *!"### $ % : " (* *!"### $ %-. $ (* *+!"### $ %N Q ( (* *)!"### $ %] 4 (+ (* *-!"### $ % % (- (* *"!"### $ %] '0:.'0: (" (* *!"### $ %] [ (*!"### $ % J LM (* *(01 =>\?@ (* * (* * = &' (* *+N? + + - " (*+!"### $ % (Q (*+*( 0 < 3 (*+* 01 & (Q (*+* 0 # (*+*+ -./] # (*+*)01 0< 5 /$ ( (*+*- `! (Q (*+*"0,: % < (*+* [(< (*+* / Q<] ( ( (*+*(#Z[N *('1 )* * '11 +
* *('11M_ * * '11 _ * * '11+,I" * *+ -. + " * *)'1 1 * '1 1 * *('1 14 * * '1 1 +# * * '1 1_ $0 + * *+'1 1/5 ++ * *)'1 1_ 0 +" * *-'1 1 1 + * *"'1 1 _ I" + * * '1 1 ) * * '1 1_ ) * *(#'1 1[ _ * *(('1 1 ) -( * *( 1 -( * *( '1 1 - *+'10+ -+ *+*('10+ )* -+ *+* '10+ : -+ *+* '10+ 4 " *+*+0+! : "+ *+*)0+!$ : ")!" " *( 2 *(*( 2 *(* %; 23 *(* 2 Q=# *(*+ 2 ] 4 * * *( 4 <4 * * (Q * * 45 " " " ( - - " #$%&$' # +*(> < / +*(*(> < / : +*(* > < / 0,: # + +*(* Q 0 +
+*(*+&' /0 / +*(*)678 6 0; +*(*- 0 / +* % $ 4 4 : +* *(% $ 4 4 )* +* * % $ 4 : - " "!" # (# )*("1-.6 )* (# )*(*( : (# )*(* 9H (# )* &'-./ 5X (#) )* %! J:-./4 (#- )* *(-./ (#" )* * ; / (# )* * ( (() )* *+[ (() )* *) < ((- )* *-67< (( )*+%! -./ 3 (( )*+*( 3 (( )*+* -. ( )*+* / ( " )*+*+[ ( )*+*) <? ( # )*+*-> (!" #()*+,-%./ ( " -*( ( ( " -*(*(!" ( " -*(* LM< ( -*(* /4 ( -*(*+ 4 ( -*(*) < (++ -*(*-M< = (+- -*(*" :<>J & (+- -*(* P<? (+" -*(* @ < # (+ -*(*(#!"### J %! ( ()( -* / () -* *(A8 < / 0 () -* * /B ()+
-* * /C ()) -* /D.6 () -* *(''; :E* () -* * / (-# -* * (-( -* *+ 3 E* (-+ -* *) 1 (-- -* *- / (- -*+ 0 6 (- -*+*( 9F (- -*+* $%; 8 ("# -*) ("# -*)*( G! ( (" -*)* H < (" -*)* I (" -*)*+0:,JK 0 / (") -*)*)&' LM0 (") -*)*- = (") -*)*" %! < 0 / N L ("- -*)* ("" -*)* Q 0 ("" -*-9! / (" -*-*(9! /)* (" -*-* 9! / : ( # -*" [ ( ) -*"*( O ( ) -*"* ( " -*"* 0,: ( " -*"*+$'% / -*"*)$ %&; / -*"*-> $ ; / ( " ( " ( -*"*"%; a ; / ( 0 $%&' 1 ( "*( 2 PQ ( "* 01 03 / -./ ( ( "* 4 / $/? ( - "*+ "1 Q ( "*) # "*)*( ] A # "*)* C*=> # "*-$/? PC 01 #+
"*-*( 4 PQ "*-* PQ $/? "*-* 2 / PQ "*-*+ # / PQ "*-*) / PQ "*"$/? :[(PC #+ #) #) #- #" # 0 % 23 ( *( 0:. *(*( 0: : *(* 0: Q(Q ( (+ (" *(* 0,: ( *(*+Z[; /PQ ( *(*)R4,MS PQ *(*- 0: 0S PQ # # * 67 '0:,M0 => ( * *( 1R4,MS M 0:"1Q ( * * 1 0S M0 0:"1Q + * 67.'0:,M0 => * *( 1R4,MS M 0:"1Q " " * * 1 0S M0 0:"1Q!" #45678 23 - *(E. - *(*(E $0 " *(* E -. +( *(* G E TU + *(*+ E Q ( + * J$. ++ * *( ZJ$ [ ++ * *!"### $ %] J$67 +" * * J$0 / : + * 67 J$ => ) * *(%! -./J$ E cv (Q ) * * %! 0:0 /cv (Q * * ] $/? ) ) * *+ 2 "1PQ )+ * *) #"1PQ )"!" #9: 23 ) (#*( / ) (#*(*(%; a /<W X / )
(#*(* \ /, / ) (#*(* W X / -# (#*(*+Y /, / - (#*(*)0,: (#* 67 / 0 => (#* *( 4 PQ -) -) -- (#* * $/?\ PQ -- (#* * #\ "1PQ -!" # 23 "# ((*(/'0 / "# ((* /'0 / : " ((* *(S 0 "+ ((* * /'D./ ") ((* * )8B 0 : ' 0 : ((* *+ / / ((* *- [ "" ((* *" &D. " ((* * /'% &D. ((* * Z <J$ " # ((* *(#E [K ( ((* *(( \ ((* *( 0 \ + ((* /'0 / Q + ((* *(] 0 / + ((* * # /'_ + ((* * J$ #Q ((* *+; /E* ) ) ((*+* / /_ ((*+* /'_ &D. ((*+*+017Z 2] /'8B ( ((*+*)J$7-./ ((*+*- 3RS ((*) Q ((*- : 0 / ((*"0,: ((*"*(0 ((*"* [ ) ) ) "- "- ((* *) 0 "- ((*+/' Q - ((*+*(M^ Q1 0 %%& - - - ((* 67 /'_ => -
((* *(/'0 /cv (Q ((* * J$0 /cv (Q ((* * J$ TU-.(Q ((* *+ ] $/? ((* *) 2 "1PQ ((* *- #\ "1PQ " "!" #; " #" ( *( 8 ] #" ( *(*(), \ X ( *(* A8_`< \_` ( *!"### ;] 8 ( * *(%; \9a # # (# (( ( * * %() ; / 0 ( ( * * ''; \ ( ( * *+ ( \ ( ( * *) \E 0 ( ( * *-%; 8 0 ( ( * *"$%;; / 0 ( * * J 8 (+ (+!" # ( 23 () ( *($0'/ () ( *.: (" ( * *( b (" ( * * $0 ( * *.: ; / ( * *+.: 3 ( *.: % 1/< / ( * *( ( ( # ( ( ( * * c.: ( ( *+.: L ( *)$/?PC L \ ( *-01.: ] S ( *-*(.: $0 ( *-*.: ] S ( *"L.: /1 ( * / PQ ( * => #- - " ( ( * *( ] $/? ( * * 2 "1PQ ( * * #\ "1PQ
( *(#.: 1 => ( *(#*( ] $/? ( *(#* 2 "1PQ ( *(#* #\ "1PQ + + + )!" #,-./ " (+*(//& /0 / " (+*(*(//& /0 / : (+*(* 0 /8 +# (+*(* //&,< &/ +( (+*(*+//&% +( (+*(*)//&0 / @ + (+*(*-//&cv < + (+*(*" + (+*. /0 / (+* *(. /0 / : ++ (+* *. /0 /< / (+*!$0 84 0 / (+* *(!$0 84 0 / : (+* *!$0 84 0 /; 2 (+* *!$0 84 0 / (+*+$/,$/0: 0 / (+*+*($/,$/0:0 / : (+*+* $/,$/0:0 /_ Y (+*+* $/,$/0:0 / ++ +) +" + )# ) ) )+ )) ) (+*);$1 < : 0 / ) (+*)*(;$10 / : (+*)* ;$1 (+*)* ;$1 -( -+ -- (+*)*+;$1: - (+*- D O 0 / (+*-*( D O 0 / : (+*-* D O 0 / Q (+*-* D O 0 / (+*"$00 / (+*"*($00 / : (+*"* $00 / 2 - "# "( ") )- "- "" " (+* % 0 / " (+* *(% 0 / : # (+* * % 0 / (+* * % 0 / (+* *+% 0 / 9F/ +
(+* *)% 0 / Q 0 (+* ;& 0 / (+* *(;& 0 / : (+*(#0 %0 / (+*(#*(0 % &0 (+*(#* 0 %0 / :<P (+*((/% / (+*((*(/% / : (+*((* /%> (+*((* _ / (+*( %0!. + - " # ( + + ) ) <0=>?@ " ()*(N Q )* ()* N Q : " ()* *(% 1 $5 < ; ()* * 2D. ()* * &' ()* *+ -.!/$$5 +## ()* *), +#( ()* *- ;# 5/ +# ()* *"%0!. +# ()* * /%! / +# ()* * +#+ <0AB,- +#) (-*( +#) (-*(*( : +#) (-*(* +#" (-*(* 23 (-*(*+ +# +# (-*(*)00/ +(# (-*(*-; /)* +(# (-* +(( (-* *( +(( (-* * $ +(( (-* * //&8 +( (-* 0A (-* *(0A 4 # +( +( (-* * & +(- (-* * $0 +(" (-* *+> H< 2 +("
(-* *) :L 4 +(" (-*+0A% +( (-*)0A (-*-0 4 +( +( (-*" \ + (-*"*(0181 8 %! (-*"* 8981 $ /'0 / /'% (-*"* 89 : /' + + + + + + (-*"*+89 0% /' + + (-*"*)8981 0 /' + <9 CD )*%! + # ("*(. ("* 0! 0 ("* *( 0 + # + # + # ("* * ' 0 + ("* * 01 0 / + ("* 4 ) 0 J ++ ("* *( 4PQ<' ++ ("* * ) 0 +++ ("* * ) 5 ++" ("*+ ] $/? ++ ("*) < \ "1PQ ("*)*( "1PQ ++ ++ ("*)* ] D ( +)( ("*)* #"1PQ +) <9 E )*+( +) ( *(. +) ( *(*( 0,. +) ( *(* ; / 0,. +)+ ( * 0, +)- ( * *( 0 +)- ( * * ' 0 +)" ( * * 01 0 / 0 +-( ( * ; / 0, +- ( * *( $ 0.&0 +- ( * * ' $ 0.&0 +-+ ( * * 01 0 / $ 0.&0 +-- ( *+ 4 ) 0 J +-" ( *+*( 4PQ<' +-" ( *+* ) 0 +-
( *+* ) 5 +" ( *) ] $/? +"+ ( *- < \ PQ +") ( *-*( "1PQ +") ( *-* ] D ( ( *-* #"1PQ + # + # ), 23 + ( *(. ( * ] ( * *( 4PQ<' + ( * * ) 0/'0, ( * * ) 0 :0, ( * *+ /'J$ $ ( * *) < ( * < \ PQ + + + + + - + + ( + ( ( * *( ] $/? + ( * * \ "1PQ ( * * ] D ( ( * *+ #"1PQ + )# )# 23 )#+ #*(. #* 4 PQ )#+ )#+ #* $ 8 )#+ #*+ ) 0 )#) #*+*( ) 0 )#- #*+* #*+* [ N )#- )#" #*)01 $/? <=>"1PQ )# #*)*( 2 \ "1PQ #*)* "1Q #*)* ] D ( #*)*+ #"1PQ )# )# )( )( F%GFH#$ 23 )(+ (*( (* 0,. )(+ )() (* *(0 5/ )() (* * ) 5/8 01 )() (* * 01 5/< )() (* *+0 5/ )("
(* *)0 )(" (* *-0 0 -. (* 0:,. (*+ YA ] (*+*( 4 PQ )( )( )( )( (*+* ) 0 )( (*+* ) 0 < 0:, ) # (*+*+ <[ (*) \ PQ (*-$, YA ) ( ) ) ) IJ%KL 23 ) *(!"### $ %] 9Q *!"### $ %] [ * *( [ * * 2[ * * [ * *+ % ) ) ) ) ) ) + *!"### $ %] 1 &:' ) ) * *(1 &:' * * 1 &:' Z * * ] * *+1 &:')] <] [ * *) -. ) ) ) - )+# )+ )++ * *-1 &:'-. )+) *+!"### $ %/ *+*(E* : *+* / (Q )+ )+ ))( *+* ))+ *+*+; /)* ))) *) $/ I ] ))- *)*($/ %"# # ))- *)* 4 PQ ))" *)* ] *)*+ $/ ] I )) )) *)*) $/ ] )-( *- $0 84 I ] )-( *-*( $0 84 *-* $0 84 I *-* $0 84 ] )-( )- )- *"%! +, < # )-+ *"*( +,] PQ )-+
*"* ) 0, )-+ *"* ] $/?J )-- *"*+ )-" *"*) $1 "1PQ *"*- %;# "1PQ *"*" %;( *"* %;( "1PQ )- )- )" )" *"* $/ I )"" *"*(#+, #< )" *"*((+, )" < ) 23 ) ( *(/% / 4 ) ( * /% / : ) * *(/%> ) * * _ / * /%0,4 *+45A! /% ) ) + ) ) *)*( 4 PQ *)!"### $ %] 5 ) - ) - *)* $ 8 ) - *)* ) /%0 ) " *)*+ W N *)*) ) *)*- -. ) ) # ) # *-01 $/? <=>"1PQ ) ( *-*( 2 "1PQ *-* "1Q *-* ] D ( *-*+ #"1PQ ) ( ) ) " ) *%-" MNO 0- ) +*( 67 +* <] ; (+*#+ J +* *(2 ) 7 +* * %/,/ / $ ) -# -# -# +* * ; (+*#+ -#+ +* *+( ; (+*#+ ] -#" +* *)] ; (+*#+ -#" +* *- ) -#" +* PC -# +* *(B 8 3 -#
+* * ; 67 -# +*+ <] $$ < -(# +*+*( <] $$ -(# +*+* < -(( +*) 1/67 -(( +*)*( PC -( +*)* < $/? #()*+ PC -( +*- < 3 45PC -(+ +*-*( 3 45PC : -(+ +*-* %A 67 -(+ +*-* &'A 67 - ( - <./--GF O - # )*( 2 PQ - # )* ) 0, - ( )* ] )* *( )< @ " 0 - ( - ( )* * )< /'0 - )* * )< 0/83 % 0 )* *+ )< /'0 8 0, )* *) )< 0, - + - ) - ) )* *- 1J 0, - ) )* *" )< 5 8 $8 & 8 0, )* * Z[ )*+ ) )*) ] - " - " - -+# - <./-- F O -+ -*(!. => -+ -*(*(! -+ -*(*! 4 -+ -*(*! P -++ -*(*+! ] (Q -++ -*(*) 1! -) -*(*- % 4 --( -* ],4 1 -* *(],4 -- -- -* * ], --+ -* * ], -* *+], --) --) -* *)1 ] 9Q -- -* *- ],] 9Q -"#
-* *" 1], -*. => -* *( )* -* * -* * 1 -*+. -*) ; ] I -*)*( $1 -" -" -" -" -"+ -"+ -") -"- -*)* 1:: *10 ] -"- -*)* $/ -*)*+ 1:: *10 -*)*) 1 ], -*)*- 1 -*)*" -" - # - # - ( - ( -*-] ; - *%-" O CD PQRJ S0MN - + "*( Q c - + "* $0 - ) "* 45(Q - - "*+ Q 4 "*+*() < S "*+* J 4 <S "*) M ' 9 C "*- 1 Q "*" M Q "* # Q - - - - - " - + - + - ) - " *%-" O TU78V RJ S0MN - *(. * MJ$-. 1 * *( Q * * ) < S "* * C A 3 8cV * M ' 9 C *+ 1 Q *) Q - - - - "# "# "# "# *%-" O WX 0- "#) *( * < : "#) * : )-+# I : "#- * *( I ] "#"
* * $%%1 "#" * * M I ; / * *+ I ; / "# "# * *) I cv (Q "(( * $ => A? F?@ * *( $ PC :<LM "( "( * * A?@ / N O "(+ *+HI-. * "(" *)HI-. \ *)*(; "( "( *)* HI-.Q 45 "( *- HI-. " (