• Aucun résultat trouvé

Modular Multiplication for FPGA Implementation of the IDEA Block Cipher

N/A
N/A
Protected

Academic year: 2021

Partager "Modular Multiplication for FPGA Implementation of the IDEA Block Cipher"

Copied!
21
0
0

Texte intégral

(1)Modular Multiplication for FPGA Implementation of the IDEA Block Cipher Jean-Luc Beuchat. To cite this version: Jean-Luc Beuchat. Modular Multiplication for FPGA Implementation of the IDEA Block Cipher. RR-4558, INRIA. 2002. �inria-00072030�. HAL Id: inria-00072030 https://hal.inria.fr/inria-00072030 Submitted on 23 May 2006. HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés..

(2) INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE. Modular Multiplication for FPGA Implementation of the IDEA Block Cipher Jean-Luc Beuchat. No 4558 September 2002. ISSN 0249-6399. ISRN INRIA/RR--4558--FR+ENG. ` THEME 2. apport de recherche.

(3)

(4)  

(5)      

(6)  "! #%$&'($)'*+   ,- .'/#10324! 56 7 8 9:.;'<. =?>A@?BDC E*FHGJIK>LFGMN@PO Q<RTWSVhiUKgW+jkalXg mnY[aporZ]qAU+\V^Ts?_`beW ac_lactfbedfmn_cW g_`WVa uwvxbkyzWh({(vx\^nje_`vxW |(je}T}Pbfvrh(~W vxWVgRnWvgRTW€^+k‚Aƒeƒe„ Y‡†AW}ThˆWU‰sPWVviXkŠfŠfX Y,‹Œ}njkdfWVo Žg _c}THRT‘W’Vvˆ“hˆ”nW•k¥A’eh§– sTQ<acbARTgWKœoV—z¨<˜šmn™›or{_c^Td©sTa`j4bgœ‹ªXkg„k_`Ÿ«}TsnRn_¡h§WvoˆWV_cogvˆjWhorqAœeUžWqfUž¬€W hxQ<vˆ_lRTg9WJŸ œeoˆWVWVqg mnjevˆa`df_`hzbeq©vx_¡hxbeRT­U£—z˜š¢*™›RT{®_cgR vˆWVWa`_c^nWVgovˆqAbf}^4hog bf¤kU+‚kŸ sTsT_c_`^Thš_c^T}Td¯aljk_cbe^L}?hˆWWv¥Ljhhx_`sTbfac^nboKgœA­°oivxbehˆU±b¦¤ehˆ‚kRTŸ vxsTW_¡Wh UKjkjkacacdedebWbe~snvxmn_`vxhˆa`jeb RT_cUgKopdevxsPbejemnoˆ}nWV~ o²‰bf¢*^+_`RT^Lhx_cjšgWR oˆdeUWV_cv+ošjkacjehxfRT~nU‰W~mT_¡g hxa`_`vxhˆbf_¡_chx}T^³_ca`gV_lUžjkgjkaHbAhˆjk~T_cbevxmT_¡^hxa`bRT¢*Už_`hˆW RKhˆ¨H_ljig‰sToˆ_¡behzmT}?¢*snW_loˆoˆvWVWjtLhˆmTW _cbe¥TWV^J^fg achmnbkUž­woˆ_`hx´fbARTW~TW‰mTbea`snvba`bbeg gbf­<œvˆhzvx¢WVg g _cb }Thˆ_cRTbeWVŸ ^pvVsT¬p¬ _`h+Q<—¶^J¢RnWbfhˆqvxRT~n_ljko]ovx¨HWw}njk}njk^n}?je~µvrWhxvª_c_c¨%g^LmT¢·hˆWValW+jkdevxW_ca`^Lv+q]´fU+¢WVorWVmThˆa`a`_cAhˆdf_coˆjk}TmThˆac_¡W_ hxgVWVhxj~RThˆ_cvx­°bebeW^ Wv hˆsnRTjeW oˆWVal~;jhxbeWV^orh*Už¸bAu~TZmT{€a`b ~TW´A_cgWVo<WVU+je~ns?~WVW~Tv~o_c¬N^T†AdWVoˆ´eUWvjkjkaca%?jeU‰vxgmTRTa`hˆ_`hˆ_c}TWªa`g9_chxWmTvivˆsTWªo·a`bbkg­DœoVhxRT¨LWac_ œe—zW]˜ihˆ™RT{€W ¹šsTac_`bAvˆhˆgWœ¥AgŸ«—ˆ_`}n—wRT­ºjkWUžv(je_ca`vˆqfWš¬Nhˆ» RTWVW ^¦je~acoˆWVboxg g vxbe_`s?^PWVor_l~~Wjkv*^P~;jKU+gbemnUža¡hx}n_`}Tjkacvx_ WVW~ v ­°UKvˆbfbU&~Wªo~¬_`¼1ÀšWmnvxWv<^L­ºh;jeor}?hˆWVbeor_c^Lh(h§g _cbkvxg­ mT´A_`hi_`WVje¢ g²JRT_cWhxRT´fWVvxbeo·mTj+dfhxRTRT}TvxmbehmTdfhxRTb©}Tjkmvxh(WVjµbe­v„Tj¬Áhxƒž_`b³Z]bfs?v;ÂoVjf¨~¢*WVRTtLmn_lgjkR;hˆ_c_lbeoV^½¨hˆ¢*bž_¡behxmnR¾v*­°œLW^nWª~bsn¢*jfa`Wªgœ-~dejkWf^P¨f~¾hxRTW ^Tbes?^TWVŸ¿or­°h(WVWVvx~jksnhˆWjfgvˆœ-WV}PgbfRnvrjehxWV_`^n~§_`^T_`^d hˆRTW ac_¡hxWvjhxmTvˆWf¬ æÄfÅ1ÆxÇ+È “É‘f–ËÊ beUž}TmhxWv(jevˆ_`hˆRTUžWhˆ_lgk¨TUžb~mTacb¦Ì Í U+mTa`hˆ_c}Tac_ gVjhx_`bf^p¨T—z˜š™›{ÎsTacbAgœ;g _c}TRTWvª¨ngvˆqA}hxbedevjk}nRLqf¨L¸uZ{ 2n. n. (2n + 1). (2n + 1). 2n + 1. ÏcÐpшҫӪÔ<Ñ<ÕÖlҠ׿ØÙ ÚpۍÜÁÝ%Þ¿ßzàÞÜÁÝáâÁÝ¿ã<ázä9áÜÁâåáæâÁßwáÝá·çºßrÝ¿ßráç¿è Û çºßzékã9çºÞãêTޫۍßNëAáæeã9ç¿áxÞ¿ã9ÜÁç¿ßìßNâlí îðïªê`ã9ç¿ñ(áxÞ¿ÜÁòVóªßHìóôTáç¿áâÁ õzâÁÜ Ý«ñ*ßö ÷9÷ønù°ú9úˆû9û9ûnüðýxþªÿ ˆþnü ú . Unit´e de recherche INRIA Rhˆone-Alpes 655, avenue de l’Europe, 38330 MONTBONNOT ST MARTIN (France) T´el´ephone : 04 76 61 52 00 - International : +33 4 76 61 52 00 T´el´ecopie : 04 76 61 52 52 - International : +33 4 76 61 52 52. 

(7)  .

(8) ; 9    $);9 H'® §  zV$& ++    D;

(9)  "! '  z  H .:$)' ' › ž§  'Ë 3#10324! mTa ^;je~T‘sn~Ta`_¡bhxg]_`bf~^W –Už¤k—zb‚+˜š~sn™›mT_¡ach{ b o*~WVorWihš¨hxacmnW W ¥A^JhˆbeW jkmacgdeW RTbf¥T_`vˆg ¼1_`achˆvˆmnRT\foˆUž¬ _¡­W+sTj‰_`~Th oˆW‰\V‰gg mTvxsnqAvx_¡hi_¡}hxhx~\]jeW~deWUžW]—z;bk˜šhg o(™›acW ~{έwW }TvˆvxWV_c}Psn´ebL\_¡horWo*W]hˆW orvh(mnjkv·^naljKoraljK­°U+beg vxmTUbea`U‰hˆjk_c}TsT^Lhiac_c_^ngVmTjkj^_lhˆor_cbfbesn^§^a`b~ UžgKbe~b}?W‰~\mTv¤eacj‚b hx_`sTbf_`^nhxo]o~n~W+jk^nhxo¬ W ¥AhˆÊ vxhˆW beW‰hˆ_lhˆoWW^Jde~vxgbeWVacmTjevˆ^n_`}?v]_`WVSVWo]vˆ^ W ² WVU+ormTh·a`a hˆ_cbf}T}Pac_\VgVvxjjkhˆhˆ_c_cbebe^P^o›jkoˆvxmT_¡_`hx´ART_cUžWVo\ hˆ~ _ltLmnmT^TWšWšggvˆbe_`hˆvx_lvˆtLWªmTg9hˆW_cbe~ ^D—z¬D˜š—¶™›alo›{+oˆbe¬n^L˜šh›je}n^njeo<vrhxg _cWgh<mTjea`_cvrShxvx_cWgUža`WfWV¨L^f^nhwbesnmn_`oWV^§\ hxmnje~T~je_cbe}^nhˆo·\ªowhxvˆjkbfmT_c¥žo·jkgac_`devg bfmTvˆ_`_`hˆhxRToUž¸uWªowZW {4¥}Tvxac\Vbeg_`hxWje^L^Lhxoh<g ~beW]^L}?hxWW ^nhˆ_`jehˆ^fWªoh UK~~W Wb}P´A~mTWmnhˆWa`_`b hx²oivˆU+WVacmTjka`hˆhˆ_c_cbe}T^ac¬H_`WVWuwmT^LacvxhˆmnoVvxoˆW¨n_`WVgalmTbejUžvoro·mTUžjevˆvxW]­ºgjealRngjK_¡W hx­ºWVW jkg9h(UžhxmTac_cW+a`vxcWVW ~o›\V¹i~sT_c_¡vˆhšmThˆ^beW ¥Am}TŸ vx—rjeb—9~T¬g \VWVitLoxbemnoˆWmnjmThxo(v_`bfg—zbe^˜i^nj™›oˆ´f_l{€~WV\gvxoˆacbebeWV^n^Lo(h·o·~TW\V_`^ndf´fjkoˆWmTvacWo*_`UžhˆUžWWV~bA^f\V~Th*gWVmTvˆo(_`^:hˆ~WªbfW‰o}PWg\VRnh·vxjjk\Vðhˆ´^nWjkjkmnacdfmTv·We\sP¬Wªjeo·ioˆ~T\bkW]hxoˆvˆmT~Wvi_`¼1g~T\_`vWVvxg Wo*mT^Lje_`hxhi~no·~ac}?W_¡hxbe}T_`_cbf^fac^nmnhooo vxje}T_c~TWjkhrhxW_c^fh(mn^:~T\sT_`hi~W„T¬ÁƒKZ]s?ÂoV¨ng W tLmT_pWªozh K^TbehˆvxWgbe^T^Pjk_loˆoxjk^ngWšacW UžW_ca`cWmnv*vˆ\ªormTa`hxjkh*}TmTsTac_`\ žgW<yzbemTvª¬ È ’ª‘ Æ • – {(vx_¡hxRTUž\ hx_ctLmTW~Wªo<bev~_c^njhxWmTvo¨AU‰mTa¡hx_`}na`_lgjkhˆ_cbe^:UžbA~TmTa`b ¨—z˜š™›{¨?g vxqL}Thˆbedfvxje}TRT_cWe¨A¸uZ{ . .

(10) 

(11). . . 2n. . . (2n + 1). . . .  . . (2n + 1). n. . . . . !. "

(12). . (2n + 1).  . .

(13)  

(14)     "!$#&%(') *'+*,- ./0213*%54"6$#&78 9:<;= 31>*?. 1# ‰ D w  sTWQ<^na`RTbgW+gvˆœÎqA—z}˜šg h™›_co }T{ RT¤eWV‚k̺vCŸ —¶sT^LB_¡hˆ„h WD‰vx}T^n_loJaljkjkhˆ_cj¾_c^fbehx^noˆW qAje¥AUKah ˜]Užsnja`Wbhxhˆjgvxœ_c™wg oŸ«^nœfhxg Wb vxq qA¤e}je‚khˆa`_cŸ dfbesTbe^_¡vxhµ_¡{ihxRTg a`_cUdf}TbeRTvxWV¢*_¡hxvrRTRThxW _lU g¥AR hÍ sT„ a`bggbeœUžoV¨}Tmmnhoˆj_`^Thx_`d bf^nj jkac`q"‹ªXe„_lŸ ~sTWV_¡^fhhx_cœegVjkWVqa³vxbemT¬ ^P~To —z˜i­°™›beac{ `b¢·gWVbe~®^noˆ_lsLozq/ho-jk_c^^ hˆ­°bebevmjkvxhxUK^n}Torm_c­°^Tbeh›dKvxhxUvxhˆjeRnow^nW j or_`­°^T¤kbe‚e}nvxUžŸ«msTh(jk_`hwhˆbk_c_c­be^T^:hˆ}TRTm̺W¸h·^T_c_`de^LWmT¥Lhˆvxbh(Wvx­°bebe‹ mTÍmn¬Nv(^n|*~%‹ª¤¬NbeŸ mTQ<sT^P_`RThw~ W beg mbfhxÌ UK}Tm}nhmsnhxjka`bhˆ_cgbeœ^ oÍ ­°_`je^Avˆ~Tbf´e~U bf_`a`hˆ´f_cbeWVož^P¬ jkoˆa+_¡Q<¥ oˆRTmT‹ªW¦sT¤œfŸ besTWmq_`hhxo }ToˆmmThsTœfhxvxWjeq^nÌ o oz­°bfvˆUjkÌhˆ_cbe^p¨W¨ Už}T}TvxacbAb~TqLÍ mn_c^Tg ~WªdWVo:vˆ_c­°´ebehˆRTWªmn~Wv gbe _c}?}TWRTvWjvˆhˆhˆ_cWbe¥A^PhVoµ¬;­°Q<vˆbfRnU W§orhxWªRTg vxmTWvxW _`hzqjea`bkdf­<WsT—z˜ivjk™_lg{ devxvxWbeacmT_`WªÍ}no oV¬be^³Q<g bfRTU+W¾sThx_c^TRT_cvˆ^TWVdW devxbemT}be}?Wvjhx_`bf^no·be^ Ÿ«sT_`h(¢·bev~To jk^n~ Ì Í jkvxWe² —¶^LhˆWVdeWVv<jf~T~_`hˆ_cbe^:Užb~mTacb Ì¿~W^nbkhˆWª~§sAq Í ¬ ¬ E _`hz¢*_coˆWW ¥Tg acmnoˆ_`´fW]bfv ̺~WV^TbkhxWV~sAq Í ¢*sAF q _`bhˆR~_HGnWª~¬_c— ^f­ hxWjfdfoˆWoˆv]bU+g be_ljmTv hˆa`Wªhˆ_c~]}T¢*ac_ gV_¡hxj¨ªR ¢·hˆ_cbeWw^ vxWUž}TalbAje~TgWwmTa`_`b hsA̺q~WV^Tbkhx¬WV— ~ ­¨ hxsARTq W›vx¬WVoˆmTÍ a`hDbk­AhˆRnW›U+mna¡hx_`}Tac_lgjhx_`bf^ _co ¨_`h_lopvxW}TaljegWV~ hˆa`˜i_cRTWVWªWo›g vx_`g ^qL_c}T}ThxRThˆRT_cWW(bevˆ^µhˆœfWW_c¥Aq‰o h+oxjf}TggRTvxRTbWª_cW´L~´e_lmT~WªacWªW(~J~³demPWVjeor^T_co ^TWv_cd^Tj}Thxhˆ_`RTm^TW;hªd¬ oˆhxjeRTQ<UKW RTWW§jebea`^Tdfacbeqg vxbA_¡~Thx?W RTI_¡¼1U"gW_`vxWV¢*W^L^n_¡hxhxgoVR W ¬ —z˜i™›{ W^ngvˆqA}ho<}Tacje_`^LhxW ¥Ah(_`J^ GT¥Wª~AŸ oˆ _ KW ¤k‚eŸ«sT_`h*sTacbAgœoV¬ L(b¢·W´eWVvV¨ UKWªoˆoxjkdfWVo6¢*_`ac½bk­ðhxW^&W ¥Tg WVWV~ ¤e‚®sT_`hxo je^n~ j®Ì°™ Ê oˆ_`Už}TacUžW boˆ~beWeacm¨ hx_`g bfbe^p^P¨4or_lozœAh^Tob_`¢*^ ^ }njkjfvˆo hˆ_`hˆ™w_cbeacWV^ng _`hˆ^Tvxd be^Thx_lgRTWÎÊ }Tbac~jeWV_`^LsPhxbAW bf¥Aœ h _`Q<^LRThˆb_co6E*¤kÍ ‚e™ Ÿ«Ê sT_`h‰snUža`bbg~œWo+jeRn^njf~³o W^PRTg bvx¢·qLW}T´fhˆW_c^Tv dJj®Wªje~gR³vxj¢*_c^nsP~jeWg}?œ®W^P_c~^ W^LhˆhxacRTqeW ¬ o}TrWVacje^n_`or^LW hxW hˆ¥ARPh+jEh:sTac_cb~gWVœA^Lo‰hˆ_ljkg^njka~µg _l_co }ThxRTRTWVWvrhxvxW W ¥A­°bfh:vˆW;sTa`~b_cgoxœg o;bfUž_`UžUK}TWVac^nq¾~Wª_c~T~µW^L_¡­*hˆ_lhxgRTjeW a ororWªbfg }TvxRTW _lhozhxœe_cgVWjq¦hˆWª_lo~-vxgWRPmnjkoˆWV_c^T~_`^n­°bed vUžUžbbe~vxWªW+ohxsTRnvxjk_`^ ^Td³be^Tj³WKoˆUžbeacWVmoxhˆoˆ_cjebede^-Wf¬hˆbµF hxbeRTvx_lWo }TÌ Ê vˆbfsTÊ acWU:Už¬ b¸n~beWev‰¨ž_`^nj½orhx­°WVjeWV^n~g snWfjf¨Ng_`œ^©hˆUžRTWªW gRnÊ jk_`^T}n_lRToˆWU‡v E gVjka`bmngoˆœ WVo¦Ê hˆRnRTjkW _c^T_c^ThˆRd gsT _ca`}TbE RTgœWvˆo Í hˆWjk¥A^nh©~ sTjeacbA^ gœ Ÿ hˆsTb _¡h ~T_`W^n}?_¡hxW_c^nje~a` _ KVjkbfhˆ^ _cbe^hˆRTMW´fWVg9Gnhxvxbeorvªh ¬&†A}T_c^nacjeg_`W©^LhxhxW RT¥AWh A. K. r 1≤r≤8. (r). 1 ≤ i ≤ 6. Ki. K. (9). Ki. 1 ≤ i ≤ 4. n. x. y n = 16. xy. 2n. • • •. x⊕y. (2n + 1). 0∈Z x

(15) y x=0. n. 2n. y=0. 2 ∈. Z∗2n +1. 216. 216. 0. (r). Ki. j. j. n. ï. f]f hgij(j(k. @. W_c^-^Lhxhx_`vxRTW W¦~}TWVvx}PW´AWV_c^nbe~mnWVo^ng gq_`}TRnbeW^ vˆhˆW }T¥AvˆhWªg sTWªac~b_`g^nœMd Bc‹ªsTXacbAD ¨·gœjeo©a`i_csToa`bg gbfœ^fožhjkU+_c^TmPWVoz~ h s?}T_cW }PWV}Ta`vx_c^TbWJg WªhˆoˆRToˆWVWµ~4g oˆbfWVUKtLmT}nWVm^Lhxjkhˆ_lhˆjk_cbeac`^¾3q Nª}n¬ jkhˆQ<R RT_ljeo^n~½}Tvˆ_`bfUž}P}TWVvrac_hzWVqo­°j¯bfvˆorsTac_l_ ~Tdeo§RLhˆhˆacqb ¢*~j _`_`¼?hˆ^TR¾WVbevˆ^TWVjJ^LŸ¿­°h acWVbWV¢·Rn~WsnjevKvxjf~ghˆ¢<œ RTjkvxbeUžvxWmnbAde~TRTjkWÎv}TgmTRT~ThV_`WV¬½hˆoxWªg g9Q<vxhˆ_`mnRTs?vˆWWVW ~ g bfbe­°mT­³be^Lv¾hˆhˆWRTWv¦W ¥jeÌ sTÊ UžacQ*b}Tg|a`Wœ Í _cgUžO^ _`}TbARnBÁ~TPƒ WWeD v ¨¨ g jebfo]mTvxalWV~4gbevxUžWUžUžWVW~^nq½~Wªhx~RTW³_cQ^ or_`Bchˆ‹VmPPŠ jD ¬+hˆ_cbe— h^ _lo _`­‰jk_`alh:orb;s?}PWVgbLbeoˆUžoˆ_`snWVa`o:W‰jhˆbozh}Tjk_c}P^nWV~na`jk_c^Tv~W hˆ~RnWªW6g beUž}Tvx}?bbfg oˆWª_¡oˆhxoˆ_`bfbe^6v4_cbe^3­§hx­°WVRTWVW4~sP~Tjejghœ jÎUKozhxvˆbWª~jkWªU o _`_c­©^Lhˆ¢·b W6jfoˆgWg }nWVje}vxh jkhˆhxWRTacqW W^Pg vxqL}TmThˆa`hˆWV_c~;}TacUž_ gVWVjoxhxoˆ_`bfje^deWªUžo¨Ab¢*~RTmTWVacb vˆW _lo<hˆRnW _l}To<_`}?hˆRTWWac_ ^TgWvˆ_`hˆ~_lWg}Tjehˆap.R jkvxB _¡R‚ hxD«R¬ Ÿ Užoˆ}PW WVhxWVF _c~g bkbe­H}?jkW^vj—zhx˜i_`bf™›^ {Îbe­+}nvˆhˆbRng _cWªo:oˆoˆsTbeacbv<gjkœ4vxW g oz_c}ThxvˆRTbfWV^TvVde²acqsPvxbeWhˆalR€jhˆjkWª~vxWVhxj-b‰jkhx^nRT~W Rn}?jebfvxoˆ~W¢<be­TjkvxhˆWRT_lbfo}P}nWVjkvx}?jkWhˆvbev_loDghxjeb]vˆvx~TqAWV_`oˆ^n_`dfd^beWmIh g _cW^LhNjk¬+vx_¡Q<hxRTRTUžWKW Užhx_cjeg_`^ be}?}TWmTvjvˆŸŸ hˆsTbfvxvx_`Wo­%­°bfb´evwW¸vxu´A_`ZWV¢¯{¾bksn­%jf¹šorWª_`vˆ~+hˆW_cUž¥LŸ }T™³a`WVjkUž^nW~ž^L¹šhxjk_`hˆvˆ_chˆbeW^n¥AoHŸ«—ˆbe—­?¸—zu˜šZ™›{{4¬L­º{*jkUž­ðhx_`Wacv›_ WVj o hˆoˆÌ¿RnW†´eWVW WVg9vxhxje_`bfabf^;}PjeXvxWVgÍvxRTjk¨f_`hˆ¢·hˆbfWªW(vg9_chxÌ¿^AmT†A´evˆWªWVWªg9orohˆhˆ¨H_c_cbedf¢·^ jkW§hˆ@ W<RnÍ ­°¬jbf´f—¶mT^¦W;v~bejevWVa`df~´ebeWWVvxv<a`bf_¡hxhx}PRTbWªU~¯WVowjej¦oˆ~_ca`WVhxq~TbL_cbfg gVa<bejUžhˆ¢*Wª}nRT~Kje_cghˆvˆRbW de}TWVvx^Tbg WWVvjoxoˆhxbeWVvªo§¬hˆ†ARTWVW¯´eWoˆvqAjk^Lanhˆ}nRTjkWªvorjk_ KVUžjesTW hxa`WWvoN¹jkLšac`˜ b¢mngo›bA~Thˆb+W gbeRn­KbLbLjeor^ W*bf—z˜š^TW(™›be{ ­ hˆhˆRnRnW*WU+hˆRnmTvˆa`WVhˆW_c}Tbeac_`}?WVWvxvoNj~hxWªbeoˆvgo vˆ_cs?¨WV~‰_`¨P^je†A^nWª~ g9hˆ_cbe^ ̰vxWV@oˆjk}P^nWª~+g9hxhˆ_`´fRnWW*acqacjkhˆ~WWV^P^Tg bkqhxWVbe~ ­ sA†AqWªg9hˆ_cbe¨ ^©¨D‚nje¬ ^n¸~ _c^njkbeac ^ qe¨›¸†A_`Wªdfg9mThˆvˆ_cWbe^½‹ Í ƒ¦¬‰~» _cdeWWªoz~hWVo+oxg bfvxmT_csPv+W‰UhˆjkRT_c_l^¯o]hˆvxbAWVbfoˆmTaa`_chx^ o jk^P~;gbeUž}njkvxWVohxRTWU ¢*_¡hxR:vˆWªg W^Lh*¢·bevxœAobe^:—z˜š™›{¬ ' U£ D X' WZYn2 S T +$)' §'* ; H' € .V +;[ U£ D X' WZYT#D# ;+$)   ' ¹iQ<jk^PRT_cvˆ~:_lhˆoiW ¹i¥AoˆWV_cŸ vr™g hxhˆW _cjk¥Abe^PŸ«^:—ˆ~:—*de¹i_cg ´ebe_cWª>^vro*hxGnW jžde¥AmTŸ«sT—ˆvvˆ—*jk_cW sn~­Na`WWb´A´fac_lbeg WWVdevxo(_l´Lg_c­°WbesT¢ viacbhˆbkgRT­NœA_lo+mnoioˆÌ¢·W Ê ­°bemTvxaDœ1­°¬<oWVj¹ihx}T_cmTvrvxhxvxbW WV´A¥Ao*_cŸ«~be™ W ­ ­°acbemTde^n_lg gkhˆ¬_cbe™›^njejegaDR WVÊa`WVUKWV^L_`^nhxo*ga`­°mPbf~všWVoˆoqAvˆ^nWªgorRT}?vxWVbeg ^Thˆ_cbf´emnWVo*a`q]jkhz^n¢·~¦b+g̰be¹šEU‰_`vˆsTÍhˆ_`W^P¥LjŸ hˆ™ bfvˆ_lbejkv a ­°acbLbemnbfœLvŸ«mT̰¹i}©_cvˆhxhˆjeW sT¥Aa`Ÿ Wª—ro:— ÍE Ì ]oˆa`\š_lg QWªo¨Hg bfhz¢·^Lhxb jk_cor^Thˆ_cbf^TvxdjedesnWjeoˆWV_ca`gVWVjkUžac`Wq^LhxhzoV¢¨b:je‚k^nŸ ~³_c^T­ºÍ}Tjfmozhh Í ^`_bab_ ìßzèrçdcVéªÞ«ÜÁã9ï èráïÛªã5e%ß¶ä ßzçækßNékßzçºê`ã9çºñ*ßrìšÜÁï]éáç¿áâÁ ßzâ d. d (2n + 1). x

(16) y.

(17). α β. .

(18) . γ. ⊕. . . . . . .

(19) ‚. <9H       " "!$#&%'  H*?'*?3 .`

(20) d1>*"%/406h#&7 H :<;  >13* (1). (1). K1. α. β. K2. (1) β. α−β or 0. 0 or β−α. . 0 or β−α. 16. γ α. K4. α. γ (1) K5. acgbRn¢(jevxojfmPg9o·hˆWVhˆvˆbž_lor¢*hˆ_lvˆg‰_`hˆÌ¿W¸_cU‰demnmTvˆa¡hxW_`}nXka`g _cWv¬ o·hˆRnjkh<hxjkœfW je~´jk^LhjkdeWšbk­hˆRT_lo Í Ì«À]| Ê { oˆWvx_`Wªo*‚­°vxbeU Djhˆhˆ_lg W i À ˆ h n R  W i v  ¸  u  Z { º ­ k j ž U c _ ` a c _ V W ‰ o beQ<v§RTWV†A_`hˆvvj¢*hˆ_l_`~A¥¯hˆR ­°vxbe_coU&oˆUž{(jea`hˆa`cWWvvšj ÍhˆRPjejkac^ oˆb WU+jks?^PWV~¦~½_¡hoˆU_loijkhxac(RTWU+vxW mT­°a`bfhˆvˆ_c}TW‰ac_`^TWVWVvxg oVŸ ¬ hˆWVRnoxoxWVjkoˆvxW q;sThxa`bb;gWœ¼?oWªÌºg9oˆhxW_`W´fW­°acbfq¦v*sT_`^nmTor_chxa ~Jje^nhˆg RTW WKB @vxWVD Í tL¬ mT_cvˆWª~U+mna¡hx_`}Tac_ Wv]­°vˆbfU. (1). K3. FIFO (depth = α ). α. α+β (1). K6. α. 2α+2β+γ β. 2α+2β+γ. CLB. β. Slice 3 First carry chain. Round 1. β. Tiockiq. γ γ. γ. LUT. LUT. (9). (9). K1. α. β. K3. (9). (9). K2. β. α−β or 0. α. K4. Output round. LUT. 0 or β−α. . ×. (216 + 1). . FF. Slice 2. FF. FF. FF. (b) Embedded multiplier. FF. LUT FF. net. Critical path. FF. LUT. Tmultck FF. Tioock FF. MULT18x18S FF. FF net. (c) Embedded multiplier with an internal pipeline stage. ¸_`dfmTvxW XT²N¹i_cvrhxW ¥AŸ —r—jevˆ_`hˆRnUKWhˆ_lg]­°WVjkhˆmTvxWVo·b´eWVvˆ´A_cW¢ ¬ (a) Virtex−II CLB. T}¸_`_c}?deWmnacvˆ_ W^TW+‹eor²Îhxjk—zdf˜iWVoV™¬ {±gbeUž}Tmhjhˆ_cbe^ }njhxR jk^n~ _¡hoJbf}hˆ_cbe^njea mTgjkvˆvxWvx{ Xeqj a`¹iÍ bf¬ de_cvˆ_lhˆgW ¥A~Ÿ WV—r~— _lg~jkWVhˆ´LWª_l~§g W;hxbjkaljeor~Tb¦~WV_`hˆU+_cbes?^¦WV~Tjeo+^n~:UžorjemT^AsTq-hˆv‹ªje„ g9hx_`‹Vbf„;^ hzÌ¿¢·¸b_`deoŸ bksTg be­1_¡hHUžhˆmTRT}T^nWVacU oˆW_cUždeor^TWVmTWª^f}n~ h<}P¢*U+bfvr_cmn~Thxa¡_`Wehx^T_`¬d}TQ<achz_ ¢·RnWv_cboo]¢*_c̰^Thˆ_c}TRT~mW hˆRh·F }P_loD\ bf_lvr~hQWªo*jk‹V‹Vaf„k„k­°¥1Ÿ«besn‹ªvp_¡„h›hxRTsToˆW·_`acdfb_`^TUžgœWV}T~žo acÍ Wbf¨LUžv(WªjeW‹g^TŒR ŸŸ hxUKjbfhx_`vˆbfWf^:¨PWªbkje­DghxR¦RTW U‰UžmTa¡bhx_`~}nmTa`_cacWb v]Rnjeo]jk^Jbe}U+hxmT_`bfa`^nhˆ_cjk}Taac_ _`gV^LjhˆhxWV_`vˆbf^P^pjk¬waD¸T}nmT_`}?vˆhˆWRnac_`W^nvˆW Ÿ _`ozjk^žhsTjkachxdeWKRTWfW(hˆ¬§b¹i†Ajk_cmTvˆmThˆvxhˆW }Tbe¥AvxUŸ _coˆ—rjk_`—N^nhˆ~Tde_lgjkacjkqehxac¨%j qhxoˆRTRT~_cWo WVWjeh­°WVaNjkj¢*^nhxmT_¡~žhxvxR oˆWqA_`_c^fhVo hx¬RT}?Q<WVbAoˆRTbe_loHvxW a`hˆq bAbe~\ albowg oˆQmTWUž‹VWV„kU6W¥%^L‹VmThx„fWV^T~† Ÿ g beUž}?be^TWV^LhV¨nj´jk_caljksTacWš_c^hˆRTW ac_ sTvxjevˆqbe­N†qL^nF }Ta`_ ­°q§u›vˆbP¨njka`Ÿ 0 or β−α. FF. FF net. Slice 0. Round r (r = 2, ..., 8). Tioock. MULT18x18. FF. LUT. Second carry chain. γ. Tmultck. FF. Slice 1 LUT. Critical path. FF. LUT. .  

(21)       hˆhˆ˜š_c_c}TbeWV^µoˆac_`_`WVdfjkv:^T^P_`_c~J^no;d:~hˆWVRnje}P^W WVje^nœfvˆW~TWªq½ojŸ«be}Phˆ^J_cbfUž_`hˆ^LW‰RTh:WKW?bkIh­ jkgvxhx_`deRTWVW ^LW h hRP¸UKjkuvb~Z~¢·mn{ jea`b vˆvˆWJWªor_`bfUžmT}Tvg acWWVUžoV¬WU+^LQ<hmTRTja`W ŸŸ GnvozhšhˆRTvxWW‰jkacdebevx_`hˆRTUo(_c^A´ebfa`´fWorUjkacDU‰mTa`hˆ_c}Ta`_cWvo]jk^n~jevˆW hˆdeRAvmnjk}noRn}no8jk@Tvˆhˆ¬c‹]_lg mThˆb aljk@Tvxac¬ q@ ~¬NWV» ~_lW‰gjkjkhˆalWªor~Jbg hxbfb:^n¹ioˆ_c_c~vrWVhxW v(¥AjKŸ«—ˆU+—]mT~Ta`Whˆ´A_c}T_cgac_`WVWVov(̺sn}njejkoˆvWVj~ Ÿ be| ^¬ Už?_cbUž~UžmTacWb vxUžje^T^ Í ­°bev jf~T¹ ~WVvx†Ao(—i̺_c}nUžjk}TvjkacWdfUžvxjeW}T^LR hxjk@nhˆ¬_c‚beÍ^no}TvxBcbe‹}?‚ D«bf¬oˆWV†A~KmnsAgRq WVjkor^¦hˆ_cbf^T}PdWVjkvxjka`hˆhˆWVbfvˆv*^PvˆjWªhˆtf_c´emnW]_`vx­°WVbfo*v<bfhˆ^TRTacW q ¹š]_`\švˆhˆQW¥LošŸ jk™-^n­º~¦jkUžgbe_`mTacqeal~:¬ s?W‰jk^:_c^LhˆWvˆŸ . (2n + 1). (2n + 1). . . î fDî.

(22) ƒ.  

(23)     "!$#&%(') *'+*,- ./0213*%54"6$#&78 9:<;= 31>*? . |*WV}Tacjfg _c^Td¦Ì@ Í jk^n~ °Ì ‚ Í _`^³Ìz‹ Í qL_cWal~To Ì«ƒ Í Užb~ UKb~ _`_`­­ _lÀšÌ°g_c^LjkmThˆaNvWV}P¹dejWLihˆv‰Rµ˜ }nsAjkqvdfjkW_cUž^n^ToˆWWVWhˆvxvˆWjkhˆvhˆ_cbf^Tvpd:jk}Tac`¨w_`b}?¢(jkW­ðo1achˆ_ Whx^TRTv+WW›hˆozRTmPhWorjkWVdfvporWVmnhˆosbš_chˆ^ orvRTjehxbfg RTvrhˆWhxWWvU+^]̰hˆmns?Rna¡bAhxWbe_`}Tg acWVvxac_jk_`Whr^ vŸ }nvjkjeUžvxjeW UKhxWWv hˆWVv ¬Í Q<¨pRTjkW‰^n~ }Pjkjv­ðjkhxÍ UžWvšW hˆhxRTWvZW Gn^njeaNje~T~WVvK̺sPbAbfa`vxWªWVjktL^JmT_c}PvˆWªjoŸ ­°jmT´vˆjkhˆ_cRTa jeWVsTv<acW W+¥_c}T^JalÍjk¹i^n_cjkvˆhˆhˆ_cW be¥A^nŸ oV™ ¬H~†WV_`^n´Ag_cgW WVF oV¨1\ hˆRTW Q‹V„k¥%‹V„ sTacU‰bgmTœa¡ohx_`je}nvˆa`Wš_cWv^Tbk_lho hˆ_coˆUKRnmnWVg}nRoˆa`_cWVo›j(UKhˆg bAWV_cv^Lbeg alhˆmTo·WV_`~;jkhDvx_csAWi^§qšdeacUžWVbe^TdebW_l´AgKv_cjk^TÌ acÊd qKjeE sTo·a`vˆWijkWVde^nhˆb‰_l~ozhx}T­ºWje_`vD}?ororh(Whxacgje_ ^TjkdeW]vxWªvxo%jeq‰_`m^Lachˆbehxbfb*dfU_chˆg RTjÍ hˆW¬w_lgU+†AjeqAmTa`^ca`q ŸŸ hˆjk_csn}Ta`acW _`WV_cvV^¦¬wbeQ<mTRnv*Wvx_cUžW ­°}TbevxacWWeUž¨LmTW};^LhxhˆjkbKhˆ_chˆbeRn^pvˆ¬<WVWš†A_c}T^n_cg }?W Wachx_`RT^TWWoˆorUžhxjejedea`WªDoWjeU+vˆs?WWVj~n´~jkWV_ca¡~ Ÿ U+}T_cmn}Pa¡WVhxa`_`_c}T^TacW_ Worvhxopjebkde­TWe¹š¨ _`vˆhˆW¥A_lo<Ÿ«—ˆWV—1tL~TmnWjk´Aa1_cghxWVb oDRnjbe´ev Wwje­°^bev<be}hˆhxRn_`_cbfo<^n­ºjkjeaeUž_`^L_`achˆqeWV¬vˆ^Pjka.  

(24) . Q<~WVRToˆW _`dfp^TbW¢<viŸ bkL(­H_chˆdeRTR W+je—za`˜idfbe™›vx{_¡hxRTsTU acbA¢<gœjeo%g bf_c}Tvˆ_cRTdeWV_cv^njeB „a`cD qi¬·~Q<WªRToˆg_loivˆ_cjesPa`Wªdf~bevxsA_¡qihxRThxU:RTW ¨ ~j+W hxGnbA^nbeWVa%~žhxbKsAq+}?W™›vˆtL­°bemnvxjkU hˆ_cbeUž^bÌr~‹ mTÍ ac¨fb }Tvxb´L_l~WªoHhˆRTU+W*mT}na`hˆvˆ_cbf}Tdeacv_ gVjkjUžhˆ_cUžbe^:WvH¢*¢*RT_¡WVhxR^ ¬ _`UžUž­ bb~~ ~T_`´ ~~_c_c´´ Užb~ Ìz‹ Í _`­ ~T_`´ Užb~ RnL(jkb^n¢·~TWa`´eWªWV~vV¨(oˆWhˆ}PRTjkWµvjghˆjfWVora`qfWª¬o§i¢*bkRThxWVWvˆWhˆRnjkh bev U+mnorh¦sPW Užb~ Užb~ Ì¿X Í ¢*or}?RTWVWgvx_cWjeapW^ngb~_`^ndKbe¬w­ {šoˆoˆ¨TmT™›UžtLWmn^Tjhxb_`¢¾bf^ hˆRPÌ«Xjh s?WVgbeUž²NWV~o mTW]hˆbKhxRT_co Í_`­ _`bk­ hxRTWvx¢*_lorW Ê be^noˆWVtLmTWV^fhxa`qf¨ UUžžbb~~ _`_`­­ − − + >  ¸ c _ e d n m ˆ v W M @ ~W}T_lg9ho¯hxRTW RPjkv~¢·jevˆW¾jevxgRT_`hˆWªg9hxmTvˆW bk­j − UKpbb¢<~Ÿ mnL(a`b _cdeRJjea`dfbevx_¡hxRTU‰U:mT¬ia`hˆ— _c}Tha`}T_lgvˆjk_cUhˆ_cbejk^µvx_`acbeq¦}?g Wbfvj^nhxorbe_lorv hxo(snjf_c^ orWªje~ ^ be^µhˆRnW mT¢*^nRToˆbf_`dfoˆW^TWV_`~µ^n}TU‰mhxmTo a¡hx_`}na`_cjeW^nvK~ jk^n~µj¦jevˆUžWboˆ~WmTacWVacg9b hxWV~ sAq jU+oˆmnmTa¡shxhˆ_`}TvjeacW g ¥hˆWVWVvv ¸ _`dfmTvxW @T² F b~mTacb U+mTa`hˆ_c}Tac_`WVv›snjforWª~Kbe^KhˆRTW pb¢<Ÿ L(c_ deR¦jea`dfbevx_¡hxRTU:¬ ~W}?W^n~T_`^Tdbf^ jk^n~ ² UUžžbbA~~ _`_`­­ @ Í Ì  ” ! Ä#"%$'& ( *Z*) 22*)( 5 -* d1>*,+* 13 .- ` d1 /) ?2 5?2  #)?'+* Užb~ _`­ je^n~ *10 '  H*2)23 jk^n~ _`_`­­ ]  465 * 1> .-* 7 #8) ° Ì ‚ Í 4 7 ~_c´ _`­ jk^n~ f]f hï gij(j(k . x

(25) y =. (2n + 1). .  xy   . 2n − xy 2 n + 2n + 1 2n > xy 2n , x

(26) y = n n xy 2 − xy 2    xy 2n ≤ xy 2n . x = 0. . . m1. y=0. ( (2n + 1 − x) x

(27) y = (2n + 1 − y). m1. x = 0, x = 1,. m1. .. n. 2 2n. y = 0, x = 0.. n×n. (2n + 1). cH.   0 = 0   xy. 2n. y = 0, x = 0, x 6= 0. y = 0, x = 0, x 6= 0. n. Modulo 2 subtracter 15:0. cL. 31:16. cH. n. Modulo 2 adder. 1. x == 0 y != 0. y. (xy) mod m. m3. 1. m2. y == 0. x. m1 = 0, 1, 2 or 3 pipeline stages m2 and m3 = 0 or 1 pipeline stage. (2n + 1). cH. 2n 2n. 1. Latency: α = m1 + m2 + m3. x != 0 y != 0. y. (2 + 1). y  n  (2 + 1 − x) cL = (2n + 1 − y)   xy 2n. 0. x. n. cL x. 16 × 16. . (2n + 1) = (−j) (2n + 1) = 2n + 1 − j,. 2n  1 x

(28) y = 0  n 2 +1−x. m ∈ {0, 1, 2, 3}  1. m3. y = 0. 1 ≤ j ≤ 2n. cH > c L , cH ≤ c L .. m2. n. (2n · j). (cL − cH + 1) 2n (cL − cH ) 2n. m1. xy. Modulo 2 subtracters. x, y ∈. Z∗2n +1. (. .  ". y 6= 0,. •. y 6= 0.. x=y=0 cL = 1 cH ≤ c L x

(29) y = c L − c H = 1. cH = 0.

(30) ¤. <9H       " "!$#&%'  H*?'*?3 .`

(31) d1>*"%/406h#&7 H :<;  >13* L. n. n. n. H. n. L. H. H. L. L. H. L. H. . L. n.  

(32) . H.  *  .

(33)   . _`i{or^LmTohˆsTWVhˆ~vvWªjejeoˆg9a`g_lhxj]vˆ_`_cbfs?hˆ^nRTWVoVW]~©¬ g jebf{3sPUKb}P´fga`jkWeWVvx¨›´e_cWVoˆhˆbeRTv^KW vˆWVbkp¢*­1bhzvˆ¢<¢·_`hˆŸ b_cL(^T‹Vd¯_cde¤kRŸ«jesTa`cjk_`bhwac¢(de_c^fbfožhxvˆW_`mnhˆdfoRTWU vhxowb¯jk_c^Ade^n´eW~Kbfha`hz´fvˆ¢·_lWV~b o bkjk­w^n~4hxRThˆWKb©oˆmTvxWsUžhxvxbjf´fg9W¦hx_`bfhˆ^nRToiWµjkg hibfhˆUžRn}nW‰jk}Tvjvx_lhxg beW+vª¬6be­{ijoxaloˆjkmTvxUždeWVWJv(hxU+Rnmnja¡h hx_`}TacW je¥^nWV~ v ¬H» W Rnj´eW Užb~ UžbA~ ~_c´ ~_c´ UžbA~ ~_`´ . x. n. y ∈ {1, . . . , 2 − 1} xy. 2n ≥ xy 2n 2n − xy ⇔ xy. ⇔ xy. jk^n~. ⇔ xy. UžbA~. n. n. 2n ≥ 0. 2 + 2 − xy 2 n ≥ 2n | {z }   "!$#&% ' !$' () n. 2 + xy. ~_c´. 2n. ̺¤ Í. n. +1≥2 ,. ™›tLmnjkhˆ_cbe^no Ì@ Í jk^P~ ̺‚ Í jeo. _¡_¡­­ jeje^n^n~~ ¡ _ ­ e j n ^ ~ Užb~ bkhˆRnWvx¢*_coˆW jk^P~ _`_`­­ jkjk^n^n~~ ` _ ­ k j n ^ ~ ~_c´ behˆRTWVvˆ¢*_loˆW ¸jhx_`bedfvmTvxÌðW;hˆRn‚ W§_`}nac`jemPvxozjehxvxUKjkWhˆhˆWVWVo‰vxohxRTWg¨ bevxvˆWªor}?jkbe^n^P~ ~_`^ndJjeRnvˆjeWvx~_l~¢<WVjk^fvxhxW_cgVbfjk}PaWVhˆvrb Ÿ hˆRnbfoˆW~TWVoxg vx_`s?WV~_c^:†AWªg9hx_`bf^ @n¬`‹ Í ¬  0    0 cL = 1    xy cH. x 6= 0 x=0 x=0. 2n.  x    y =  0    xy. ,. x 6= 0 x=0 x=0. 2n. y = 0, y 6= 0, y = 0,. .. m1 m2. m3. Latency: α = m1 + m2 + m3. x x != 0 y != 0. y. y = 0, y 6= 0, y = 0,. 1 x == 0 y == 0. 1. cH y & "0...0". x == 0 y != 0. n. Modulo 2 adder. cL. 15:0. m2. +. n bits. 31:16. + m3. x != 0 y == 0. x & "0...0". (xy) mod m.   x = 0  y = 1 45 * 1> -P* c = c = 0   2*d1>*-P 3* /) 5*- H R* + d1 /) x

(34) y = 07 52* )($/)  ( * ? 2 '+ (22 + 1) = 2  7 0 4   x = 10   y = 9 4 5 *  +?- 2 c = 90  • # ) c ≤ c 4 x

(35) y = c − c = 90 7 c = 07   x = 16384  y = 8 4 5 *13. -* c = 0  • ;h )?* ?3*,   4 x

(36) y = (c − c + c = 27  '    1) 2 = 65535 7 •. most significant bit m1 = 0, 1, 2 or 3 pipeline stages m2 and m3 = 0 or 1 pipeline stage. m1. ~Už_c´ b~ Užb~ ~T_`´ Užb~ _H¸ Gn_`WVdf~ mTvxpW·b‚P¢<² Ÿ FL(_cbde~Rmnjka`b acdebfvˆ_`hˆRTU:¬ U+mTa`hˆ_c}Tac_`WVvwsnjforWª~+bf^‰hxRTW*Užb~AŸ Užb~ ~_`´ Užb~ Ì«Œ Í ( *"” * )+! 22Ä#*)("% 5$ -* d1>* +* 13 .- `  )?*  2 2  |*W}Taljeg_`^nd:Ì¿¤ Í je^n~ Ì Œ Í _c^³Ì¿ƒ Í qA_cWal~To d1>*Z* 0 ') * )  5* R )(3*  +.-* 3 ] * 1> -P* U_`ž­ b~ UKb~ ~_c´ ~_`´ UžbA~ 4 4   #7 4) 5 4 '+9 7 U_`ž­ b~ UKb~ ~_c´ ~_`´ UžbA~ ]  4 5 *h)?1>* .3-* *?3 4 4  h ; 7 4  '+ 2* bkjk­^n~hˆRThˆWJRTW*hz¢g bfb¯Užoˆ}nmTjksvhxjvxhxjfbeg9vphx_lWovo^Tbš_co§acbeoz^nhxdevxjeWv_`df^TRfWVhˆg­°beWVvxox¢·oˆjejevˆvxqf~p¬D²¦Q<¢RTW·WvˆvxWVWUž¢*bvx´_`hˆjeW a 213* -  3* /) 5*  R* + d1 /) * )( /)7  ( 5*? (xy. Užb~. n. 2 − xy. = (xy. = (xy. n. 2 ). 2. n. 2 + 2n − xy 2n + xy. (2n + 1). . n. 2n ). 2n + 1). 2n. 2n ..  ". +*. ,.  (xy   . 2n + xy 2n + 1) 2n n n xy 2 + xy 2 + 1 ≥ 2n , x

(37) y = n n 2 + xy 2 + 2) 2n  (xy  n n xy 2 + xy 2 + 1 < 2n ,. •. x = y = 0 c L = 1 cH = 0 cH = 2 n − 1 c L + cH + 1 = 2 n + 1 x

(38) y = (2n + 1) 2n = 1. •. x=0 y=1 c L = 0 cH = y = 1   cH = 2 n − 2 cL + cH + 1 = 2n −1 x

(39) y = (cL +cH +2) 2n = 0  n 2 04 7. î fDî.

(40) Œ.  

(41)     "!$#&%(') *'+*,- ./0213*%54"6$#&78 9:<;= 31>*? )*  +? 2 '+9   x = 16384  y = 8 45 *

(42) 1> -P* c = 0 4 c = • /)  ;h )?* 3*?3   24 *?3 h c 2 =−2 2 −5 31 7 1C/ ) )( (   )(4 '+c 2+H*? c d1>+  12  x

(43) y = (c +c +2) '+9 2 = 2 −1 = 65535 7 •.   . . x = 10 y = 9 4%5 90 4 cH = 0 4 ) c + c c+L = cH = 2 n − 1 7 1 = 90 + 2n 4 L H x

(44) y = (cL + cH + 1) 2n = 90 7 H. L. n. H. L. n. L. '. #. n. H. H. n. n.     

(45)     $  × %  . . _c^fhxb¦Ìº„ Í qA_cWal~To Užb~. (2n + 1). x ˜y˜. =. M + dn −. n−1 X. di 2. i. !. UKb~. (2n + 1). žU b~ ÌÍ sA|*q WVUKWVU+s?Wv^nb¢ hxRnjh+j:Užb~mTacb vxWV~mng hˆ_cbe^µ_lo~WGP^TWV~ UKb~ Ìz‹VŠ Í hˆhˆ» _cb }TWiac_ jkgV}Tjhx}n_`a`bfq^ ² Ìz‹VjkŠacdeÍ bfhˆvˆb§_`hˆÌRnU

(46) Í jk­°^Pbf~‰v bfshxje_`^jŸ«sTUž_`hb_`~^LmThˆWVacbdeWVvxoisPWVa`bf^TU+de_cmT^Ta`d Ÿ UžbA~ =. M + dn +. i=0 n−1 X. d¯i 2i + 2. i=0. !. (2n + 1).. . m. ˆhQ<_c}TRTa`WW¥bfW}P¬:v:WVvx» hˆjkbhˆW;bfRnvD~je~WV^noxWg ~}nvxac_c_`WJg s?hˆWhxWVRT~+RTW³beWVvˆ^+orW§}?¸WVRT_cgdeb_cmT¢jevxaW›hxgb¦‚]jeoˆozhˆWVhxvxo;_`WVacjkA¢*h+g beRTg UžWVbfvˆvˆ}TW vxvxWV_lg orhˆWªacoDqj(hˆU‰RnWVmTbfoˆa`WvŸ hzg¢jeoˆb WVo›¢*_¡hxR;jeŸ ^sT_`h*_`^LhˆWVdeWVvxo jk^P~ U+mToˆmna`hˆg_cR¦}Tacje_`WVo vV¬ pWh·mPo~W?Gn^TW _¡_¡­­ jk^n~ _¡_¡­­ _`­ U+mTa`hˆ_c}Tac_ gVjhx_`bf^;_lo<hˆRnW^:W ¥}TvxWVoxorWª~§jfo F b~mTacb Užb~ Užb~ _`­ Užb~ ̺„ Í UKb~ ¢*RTWvxW _`­ Užb~ je^n~ ~_`´ Ìz‹f‹ Í †AmTsnorhˆ_`hˆmhx_`^nd Užb~ Užb~ _`­ jk^n~ Užb~ Užb~ { Wª~orhxUbje}Pa`WVvrUž­°bfbvˆ~U _ G?hxgRTjW hx_`Užbf^ b~be_ ­‰GPWV™›~tLUžmnjkbAhˆ~T_cbemT^ a`b Ìz‹e‹ Í _lo¦orhˆU+_ca` mTa`vxhˆW _`ŸŸ K U  b ~ ž U  b ~ t L T m c _ ˆ v Užb~ }Tca _ gVjhx_`bf^ be­—z˜š™›{¬|*WUžWU‰sPWVvhˆRnjkh ­°bfv x = 0. y =0. (n + 1) × (n + 1) (n + 1) x ˜ y˜ ( x 1 ≤ x ≤ 2n − 1 x ˜= x=0 2n y˜ =. (. (2n + 1) = (M + 2n D). =. x ˜y˜. =. (2n + 1). 2n. n−1 X. di 2i. i=0. !. D=x ˜y˜. n X. di 2i .. =. i=0. 2n. (2n + 1) = (−1). 22n (2n + 1) = ((2n (2n + 1)) · (2n = ((−1) · (−1)). ï. f]f hgij(j(k. n. (2n + 1). (2n + 1). (2n + 1)  n−1 X    M + d¯i 2i + 2 − 2n − 1     i=0   n−1  X    d¯i 2i + 2 ≥ 2n + 1 M +   i=0. n−1 X    d¯i 2i + 2  M+    i=0    n−1  X    d¯i 2i + 2 < 2n + 1 M +  i=0. (2n + 1),. 2n =. m = x − km).. Z∗2n +1. 1 ≤ y ≤ 2n − 1 y=0. y 2n. M + dn 22n + 2n ·. M =x ˜y˜. . (n + 1). . (2n + 1). x˜y˜. (km ≤ x < (k + 1)m) ⇔ (x. !  n−1 X   i ¯  di 2 + 1 M+ 2n     i=0   n−1  X    M + d¯i 2i + 1 ≥ 2n   i=0. n−1 X     d¯i 2i + 2 M +    i=0    n−1  X    d¯i 2i + 1 < 2n M +  i=0. (2n + 1))). (2 + 1) = 1,. (2n + 1). (2n + 1) x

(47) y = 0. x=.

(48) „. <9H       " "!$#&%'  H*?'*?3 .`

(49) d1>*"%/406h#&7 H :<;  >13*. » Ê beW^nRnoˆWVjtL´emTW WVjk^f^Phx~ a`qf¨k¢*¨ RTWV^ ¨je^n~Ì. UKb~. U‰mTa¡hx_`}na`_lgjkhˆ_cbe^p¬ Í ¬¬ Ž È “ °’ ’" $ & Ä F b~mna`b ¨e¢W<besThxjk_c^ Äi É ’ Ä Užb~ j Ä É UžbA~ Ì Ÿ«sn_¡h(_c^LhˆWdfWv _¡_¡­­ ~_c´ Ì Ÿ sT_`h(_`^LhˆWVÍ deWVv Í k je^n~ bevÌ bkhˆRnWvx¢*_coˆW ͒ Ä ¸_c^njea`cqe¨­°bf¬wv Q<RnWvxW ­°bevxW ¨¢W RPj´eW ¨ ¨Tjk^P~ UžbA~ Ä º‘ Ä Užb~ Užb~ UžbA~ UKb~ ÄÉ » ~WVWoxg bevxsT_`s?hxWVjk~_c^sLhxqžRTW{(acUždebfbAvˆ~T_`mThˆRna`b U @n¬`‹ije^n~U‰_ca`cmTmna¡orhxhˆ_`v}nja`_lhxgWVjk~žhˆ_cbebe^^¸be_c}?deWmTvvxjWšhˆbfƒTv ¬ ] 4 5 * 13 .-*  *  +?- 2 4 x = 1, y = 0 (2n · 1) (2n + 1) = 2n Pn−1 ¯ i D=0 M =1 M+ d 2 +1 = 2n −1 Pn−1 ¯ ii=0 i n M + i=0 di 2 +1 < 2 ! n−1 X i ¯ di 2 + 2 x

(50) y = M + 2n. 0, y = 1. i=0.   0    0 = n−1 X    d¯i 2i + 2 M +  . (x = 0, y = 1), (x = 1, y = 0),. " . M+. n−1 X. d¯i 2i + 2. i=0. !. n−1 X. 2i + 2. i=0 n. = (2 + 1) = x

(51) y.. !.  . 2n. 2n = 1. y. Latency: α = m1 + m2 + m3 1. 15:0. =0. n. M. + 31:16 m1. n bits most sig− nificant bit. 32. m2. + m3. ¸_cdemnvˆWƒ² F b ‰U ~mTmna¡a`hxb _`}na`_cWvª¬ U+mTa`hˆ_c}Tac_`WVv(snjforWª~be^:jk^  ” ! Ä " $" (]*? *) 22 *) 5 -*)213*8+ *1> -9 0/8d1 /) d1 2 5?2 52  0. 1) × (n + 1).  ".  *10 '  H*2)23. . x

(52) y ←. M+. (n +. n−1 X. d¯i 2i + 2. !. 2n. d¯i 2i + 1. !. 2n. i=0. x

(53) y ←. M+. n−1 X i=0.

(54) . x = y = 0 M dn = 1 4  di =P0 ∀i 6= n 7   n−1 ¯ i x

(55) y = M + i=0 di 2 + 2 (2. n. ]. dn =. i=0.  . ".  . n. '. '+9 + 1). 2 = 17. =. 0. 2n. =. n.   y = 1 4 5 * 1> -P* M = 0 4 d = • x = 0 .   # ) + P d¯ 2 + 14 d = 2013* ∀i 56= 07 /)  *M 9    3  $* +& x

(56) y = 1  = 2 P− 1 4  '+9 '+9 2 = 0 7 M+ d¯ 2 + 2 2 =2 ] x = 10  y = 9 4 5 *

(57)  +?- 2 M = 90 4 D = 0 4 •  M + P d¯ 2 + 1 = 2 + 90 7 ;  )?* 3*?3  4   ' P x

(58) y = M + d¯ 2 + 1 2 = 90 7 ] x = 16384   y = 8 4%5 * 13. -* M = 0 4 D = 2 4 •  M + P d¯ 2 + 1 = 2 − 2 7 x

(59) y / ) d1>*?  ' P "* ?3    M+ d¯ 2 + 2 2 = 2 −1 = n. i. n−1 i=0. . n−1 i=0. i. n−1 i=0. m1 = 0, 1, 2 or 3 pipeline stages m2 and m3 = 0 or 1 pipeline stage. (2n + 1). . •. (xy) mod m. x. 2n n 2 (n + 1) ! n−1 X i n dn = 0 d¯i 2 + 1 < 2 M+. M ← xy D ← xy. . Modulo 2 adder 15:0. 15:0.

(60) . . (2n + 1). =0. 

(61) . y=0 y ← 2n. . . . dn = 1 M = 0. 2n =. (n+1)*(n+1) multiplier. . . 1. x=y=0. di = 0 ∀i 6= n. x=0 x ← 2n.

(62) . . i=0. (2n + 1). 

(63) . . . .. .  . . n−1 i=0. i. n. i i n−1 i=0. i i n−1 i=0. n. i. 0 i. n. n. i. i. n. n. i. i. n. n. 7  { e ´ V W ˆ v  q  g ` a sAq Ê mTvˆ_cdeWVvZ*?bL)orW<  jk7 vB g‚RRTD«¬]_`hˆWV—¶^ng hˆormThˆWVvxjfW·~¦RnjebkoH­Ns?hxRTWWVW ^K }nmT sT0 ac_ oˆ *RTdLWV~‰jhx_cWe^¨?‹hˆRTnWVq ‹ 65535.  . î fDî.

(64)  

(65)     "!$#&%(') *'+*,- ./0213*%54"6$#&78 9:<;= 31>*?. mnje~TorWš~WVjkvV^¬(Q< HRndf_cjkošhˆbeW·}?hˆWbvjgbehxbeUžvi}ToˆmWhxWVW*UžhˆoiRnW(RTb_`^n¢·}TWm´ehWVv*gVjkUžvxvˆ_corq hxjebeœe­?Whx^DRT¬(Wi¸ToˆWVbegvšbe_`^n^T~ Ÿ ozh¨njkje^n^ng~ We¨k_`­ ¢·W<Rnj´eW UžbA~ ¨ ~_c´ UKb~ ~_`´ ­°Q<beRTvxW]WWªbetLmmnhx}Tjka1mh(hxbgjebevˆ^TvxW q‰jkbe^P­D~§hxRT¢·)W WGPbevxsorh·hjkUž_c^ b~mTacb jf~T~WVv_lo·hˆRTWVvˆWŸ Užb~ UžbA~ ¢*bkhˆRTRn_cWgv*R½_c^T_lo}Tmg hiacWV´jejevˆaca`q³mTWª¢*o¬ vxbe^TdP¬4Q<RT_coWvxvˆbfvKbgVg mTvo‰­°bev§oˆW´fWvjka. . (g vxbeWVhˆjfW orWªhˆ~žRnsAjkh;q‰bfhxRT^T_lWeo;¬wbf†A}P_c^nWVg vxWijkhˆhˆbfRTv§W]g g bf_cvxUKgmT}n_`mhhˆbeWª^;o§¸hxRT_cdeWµmnorvˆmTWiU ¤+_`^A´fbeac´eWVo _c^Ÿ hˆUž_cbeb^³~{imTÌroac‹ªb X hˆÍRTW_lo*´jkjema`hxmTbeW Ujfj~Thx~_cgV_`_chˆo§jk_cacbevˆ`q;^nWVoV}Tor¨?vˆmTWªhˆUžorRTWVW‰Už^LhˆhˆWVWVWV~p~-vˆ¬U sAq ­°bf¨<mTj ^n~_c^g ™›bevxtLvxmnWVjkg9ŸŸ hˆ?_c_cbeUž^µUKmTWV^nvˆ_¡Uh+je_lo ^T^;vxWVRPtLjemTo*_cvˆ~Wª~?W Gnhx^Tb¦WV~ Rnjk^P~a`WžhxRTWVoˆWoˆ}PWªg _ljka›gVjeoˆWVoV¬| ¬ _`_`­­ jkjk^n^n~~ _`­ {-U+je~TmT~Ta`hˆW_c}Tv acjeW ¥gVg WbevHvor~WV_ca`^TWªg9dhophxb hxRTW›_cjk^T^P}T~ mhHbk¬ ­(hxRTbeWhˆWKGnhˆ^nRnjkjkaLhUž|b~¬ mT1ac_`b UžUžWvˆŸ Uje~njk~^TW^¦v§RPorhˆjevxoimn~Tg hˆWVmToˆ_`vxdfW^ThˆWVb³~:}?jk^¦WvˆWV­°be^nvx~AU Ÿ¶jkvxhˆbeRnmT_co^P~AaljeŸ gVorh§jkvxjevˆq~n~}P_¡jkhx_`vbfjk^pac`¬ WVa¡Ÿ u›}Tvˆvx?WW GTGT¥¥    6.  %    .   |U+ ¬mTa`hˆ?_c}T_cUKac_ gVUžjhˆWV_cvˆbeU^©jkbe^n}?^ WvjRnhˆjebfoËvxo}Tmnvxorbe_c^T}?dbfoˆUžWV~ b~mTUKacbkbŸ ~vxmnWVa`~b mngWV~µ}njevrhx_cjea ­°je~be~nWVac´L~b_lWg ¢*vWªo<_`o ^Tjkdžjkvx^nWivx~ WRT¢*bbevx¢·mn_¡hx0vW_`´f^nGnWd‰^nv·jkbevxaN­jkhˆUž™›RTtLbWVmnv~jkmT_chˆ^Tac_cb WbeI^µgÌz_`‹VWV‚^fh<² ­°bfv<_logmTsnvxjfvˆorWVWª^f~Jh*¸bf^JuZhxRT{ W Í }GnTvˆ^nbjk~amPjfg9~ThxoV~¨:Wv UžBcbA‹~T‚mTD ¬ a`b gjebvˆ~vxqLmnŸ a`boxj´eW¾je~n~Wvo¨:U+jkmT^Pa`hˆ~ _c}Tacj _ gVjžU hˆ_cbbe~^6mTac_cb o Užb~ ~WGn^nWV~sAq?² F UžbA~ _`_¡­­ UKb~ uwu UžbA~ Ìr‹ªX Í ¢*RTWvxW uwu Ìr‹9@ Í + ¸_cdeU‰mnvˆmTWKa`hˆ¤_c}T~a`_cWW}nv_cg jehx^noš~¯hˆRT_`hxWKo‰jk­°vbfgmTRTvž_`hˆbeWVg }hˆhxmT_`bfvx^nWjkbea·­N}Thˆ_cRT}P_lWVoia`_cUž^TW¦b~ozmThjkacb dfWVoV¬¯{ GnvxorhorhxjedeW*_cUK}na`WVUKWV^Lhxow™tfmPjhˆ_cbe^Ìr9‹ @ Í hˆb+gbeUž}TmhxW*hˆRTW+‹V¤ + UhˆK_c}Tba`~_lgmnjka`hˆbe_cŸ«bevx^¦WV~_lmPo*g hxWVRT~+W^J}njkgVvˆjkhˆvx_ljkvˆ_caAWV}T~;vxbbe~mTmnhig sAhxqoV¬ oˆF mTUžb~Užmn_`a`^Tb dhˆRTWªorW hxWU‰vxUmTa¡oŸ UKjkjk^nvxWVbe~U+mThˆ^ns?RT~WWŸ v*gVg hxjkbfRnvx^nvˆjozqh*hjkhxjeRT^L~nh_l~o(Wbev*¢*}?¢*W_¡hx_`vhˆRjR hx_`bf^UžbgVjk~^mTacsPb W+² vˆWªjkacH_ KVWV~;jesL~Tq;~TWjkv^:o¬HW|*^n~W ŸŸ ¸_`dfmTvxW]¤n² F b~mTacb UžWvxUjk^T^ o*jkacdebfvˆ_`hˆRnU¬ U+mTa`hˆ_c}Tac_`WVv(snjforWª~be^:| ¬ ?_cUKŸ Užb~ UKb~ Ìz‹‚ Í x=y=1. 2n = 1 xy. xy. . a+b. n. 2n =. (2n + 1). n. 0. 2n + xy. xy. 2n. 2n + 1 = 1 00 . . 00} 1. | .{z. 2n. 0. (n−1)×. 2n. (2n + 1) = (1 + 1). xy. . . .    . 2n = 2. $ .   .  ¯  (Y , 1) ? ? ¯ 1) (C , S ) = (X,   (0, 0).  . . 1). X = 2n Y = 6 2n , n X 6= 2 Y = 2n , X = Y = 2n .. x. y. (2n +. . 

(66) . (2n ± 1). (2n + 1). (2n + 1). (a + b + 1). =. n+2+. n−1 X. i. i=0. !. (2n + 1),. 0 or 1 pipeline stage. (2n +. y. .... x ¯i · 0 · · · 01 · · · 1.. m2. Modulo (2 n +1) carry−save adder. =xi · yn−i−1 · · · y0 y¯n−1 · · · y¯n−i +. Modulo partial− product generator. x. Latency: α = m1 + m2 + m3 + m4. 2. m1. i. a + b ≥ 2n , a + b < 2n .. m3. 1. S. ★. S. 0 1. m4. 0 1. 2 correction. 1). n. ★. C. n. (2 +1). C. 0 1. Modulo (2n +1) adder. 2. n. (2n + 1). . c ( = c¯ ). (a + b + 1). ï. f]f hgij(j(k. (2n + 1) = (a + b + c¯ ) ). 2n .. (2n + 1). (xy) mod m. (2 + 1). 2n. (a + b + 1) a+b. n. xy. (2n + 1) =. (.

(67) ‹VŠ . <9H       " "!$#&%'  H*?'*?3 .`

(68) d1>*"%/406h#&7 H :<;  >13*  .  .   . 

(69) .     . acQorjWjeqhxsTo·Í a`bkW+bk­D­w‹š}PhxoˆRTjkmTvWKUžjk­°UžUžbemTW jehxv vˆW_ vjkKoacWªde¬oHbfQ<hˆvˆRn_`RThˆWiWšRnUžU¹"o]jkLi_c~˜^Wªµoroˆ}?gg vˆWVb_cgsP~_ G?WªWi~Jg ¢<_`hˆje_cjeWVsPo·o]bjk´f̺mTjkWhˆvx­°beWVbeUj v jejkoˆ^nhˆW_l~´fgWjk~vacWjkq Ÿ a de}TWa`WV^nUžWvWj^LhˆhˆWªWª~%~ž¨beorqA^K^L¹ihˆRn_cvrWVhxoˆW _HKV¥AWVŸ«~™¯mnjeoˆ^n_`^n~Kdš¹i†A_cqAvrhx^TW }T¥AacŸ _¡—r­°q —~Tu›Wvˆ´Ab]_cgŒWV¬ oNŠn¬ WV@nUž¨ªje}T^na`b~ qA_c_cUK^Td Ÿ i_ca`_c¸T^be¥v{i¹ia`_ccvˆ_ljkhˆW ^n¥AgŸ W+—r—D†A~TWvxW_`´AWª_co<gWV‚noV¬c¨‹ehˆ¬ RŠRT@eW·_¿hx¬ RT_`v~Užb~mTacb U‰mTa¡Ÿ hˆor_cac}T_ ga`WV_lgošjkg hˆbe_cbeUž^}njejea`vˆdfWªbe~;vx_¡hxhˆRTbU hxRTjeWa`chzb¢·¢(b opj*pboˆ_`¢<dfŸ^TL(_ G?_cdegR¦jk^LjkhDacdLdejkbf_cvˆ^_`hˆ_`Rn^UžhxoVWvx¬*UžQ<oDRTbk_lo­ df¢*jkRT_cW^ vxW_lohˆRnbkW­‰U+gbemTmTa`vhˆoˆ_c}TWJac_`acWVWVv+oxo;_lo _cUž_cUK}P}nbfa`vrWVhUKjk^LWVh^Lhˆ­°WVbe~µvbf¹i^ _cvrÊhxW ¥AŸ«™ oje~^nW~µ´A_lg vˆWªWoŸ thˆfRTmn_l_`o·vxWV­ºožjkUžhxRT_ca`Wqf¨U¢jkW]_c^½jkalor}nbKjkvˆbehsnoˆbkW­vx´ehxWšRTWj‰Rnoˆ_`jedfvx^T~H_ ¢<GPgjkjevx^fWh·vˆ_`Wª^Porg bfvxmTEWVvxjegoˆWVWioVbe¬ ­D¸ThxRTbfWv vhˆˆ~_cWVW}Tacaljka`j_chˆq+WWVv;~s?jkW hˆhzmb‰¢·hxhˆbeWRTUWVW^žjjkhxjev_ca`gVgdfjkRTbeac_`vx`hˆq¯_¡WVhxg RTdfhˆUWmT^Tvxo WiWVvxbejkjk­phˆ^PWªhˆ~~©RnW sA¬q¯Q<hxRTRT_lWowdLoˆjkqL}K^Lhx_cRToWVg oˆWV_coKvrhjkhxU+bA_c^TmTbea`ala`q oŸ mnbk̰be­(g9^nh}noW+jeÍ ¬Užvxje¸beUKvx_c^nW+WhˆjeorWVa`hxcvxqejko ¨%df_lWbfo mT_c^¦všWhˆ¥RT}PW+WVhˆvˆvx_cW¨UžW+Woˆ^LmThxUžo]orUžRn_`b^n¨N¢Îdje^nhˆhˆRn~RnjkW+hš}nhxjeRTvrWžhx_cjesPaDWªoz}T_`h ­(vxbor¢·~AWWhŸ ¢·je^fQ<h<RThxWJbbegje}vˆhxvx_`UžqLŸ _ oxKjW]´eW:hˆRTjeW~nhx~RTWvxv;bemTsndfjeRToˆ}TWV~½mh(bfbe}P­DWVhˆvxRnjkWhˆbevacbeWV}?jfW~Tvojhxhxbeb¯vª¬ hxRTW ac}Tjevˆvˆbfdf}nWVjkordLh:jjehx^n_`bf~ ^oˆ_c^Ja`b¢·gVjkWVvxorvˆh¦qLŸ¶g oˆ_cjvxg´fmTW]_¡hjfo~T¬£~W†AvoV_c^n¨Pg oˆWqL^LhˆhxRnRTWWVvxoˆW _co(_lhˆo:bA^Tbealb¾oi~Tgjebevˆ^ vxq h hˆmnoˆb¦gorvˆW;_csT}~mThˆWV_c_calbe~~³^_lgj§jkjkhˆac­°`Wªmnb~³¢(a`·o›gjejkmn~Tvxo~vxqJWVhˆvb‰acbeg hxdeWVje_la`œe«gžW¬§acje_`{ ^T~Wª´´eo+jkWV^LjevˆhqJ^njk~³dea`bWijk¢<acbk`Ÿ ­pba`WVgVhx´eRTjWVhˆ_co<aW"¹gVhzjk¢Livxbvˆ˜ qž4ac\ibe~deQW_lgoŸ shˆPjkRT^nWªW§g ~;beghˆUžvˆRn_`WªWhˆo _lvxgW jeUž­°beawbevx}nvxWšjkWžhˆhˆbžgRpbe¬vˆUžWªQ<~}TmnRTac_gWVgVWšoˆjWhxhxWVRTvˆ~µWWªorjkjkmn^nvxa¡WVh~ ojn=¬_chˆ^nWVLi~^nbmn~ ¢gWVhˆWVb¦o´eWVjeWªvV^oz¨Lhhˆjk_cRn^nsTW gac_vˆoˆvˆWªRbfjemoˆhˆhˆWKRn_c^Tjk_c^d h hˆjkbacde¸bevxu_`hˆZRT{iUoVo*¬ _c^LhˆW^P~WV~:­°bfv]{]†A— Ê oijevˆW+^Tbkhjkac¢·jqo*je~njk}hxWV~ ! H. '*› ; ' +  #?0®24!  "Y ·' . hˆ(jeRT~TbW~¢½_`~hˆhˆWª_cbeRPor^J_cjdeh<^;UK¢bkbWš­H~RnmnjKja`bg´e_`W(}nRT?W IWhxv<jkg vx_cœfWbeWV^LmTošh^nje~;Už~_lb´o·jk~^LormThˆhacvbjkjkde_cW deRLbehˆ­H­°be­ºjevx¢·orhrjeŸ¶U‰vxg~%jkmTvx²a¡hxvx_`_`q§^L}nhxa`ac_cWbeWdedevWV_logv ¨ jkorRT^nbf~ vrhx]W\š^§QhˆRTo]W _cUKg vx}n_`hˆa`WV_lgUKjkWVa%^L}PhjhˆsnRD_¡hz¨¢*WV_ljeorgWKR;W be¥T}?gWa`mnvjoˆ_chx´ebeWKv·beRnvªje¬ o<—¶j‰^ }nbfjkvxv~jkWVUžviW hxhˆb Ÿ .  . . . . . . . (2n +1). . . 2. 3. (n + 1) × (n + 1). m1 = 2 m 2 = 1. m3 = 1

(70). . . .  . . . (2n + 1). 2n. . . vx¹_cg§Lš˜^LmnU+dfs?WW^Tv+WVbevxjk­(hˆ_`be^LvžhxWjkvxmT^nhˆjkbea·U}Tjk_c}Phˆ_lWVga`jk_c^Tac W:qµozjfh~Tjk~TdeoKWªovxW̺Qde_ljkorsnhˆWa`W:vo‰X _`Í ^¬³WVÀšjfgmTR v vxg bebfmTvx~T^n_`~4^Td:_`^ hxb:bevhˆ~RTWWªv§orW§hˆb½}njkg vbfjkvˆUžvxWVW g hxhˆWacvqooˆÌº¸qA^n_cdegmTRTvxvxW¦be^T‹ _ K¬WJ¸nhˆRTmTWµvrhxRT~TWjvxhUžj-bejfvxg9WeŸ ¨ bes?mnW hzv¢·hˆWbAWbe^ašhz_c¢·o;bKjksToˆmnacW¦gVg hxWVb¯oxoˆ_`_`´f^PWšorWVvxvrbehmTvx^PW~Tdfo_c¬orhˆWVvxobf^Í hˆRTW sPbfmT^n~Tjevˆ_cWVo deQvxjkbesTmnac};WiXbf² }P(WVvxmTjkU‰hˆ_cbesP^nWVoVvw¬ bk­1_`^LhxWvx^njkaT}n_`}?Wac_`^nWiozhjkdfWVobk­?hˆRTW(hˆRTvxWW â 9ã áïªì â 9ã i . . .  . . α ∈ {0, . . . , 3}.

(71). . α ∈ {0, . . . , 4}. . ⊕. β ∈ {0, 1}. γ ∈ {0, 1}. Pipeline stage Optional pipeline stage Round 1. Round 1. Round 1. Round 1. Round 2. Round 4. Output round. Output round. Output round. Round 8. Output round. ¸g Wª_`oˆdfoˆmTbevxvªW¬ Œ²w¸TbfmTvijkvgRT_`hˆWªg9hˆmnvˆWªo·oˆmT_`hxjesTa`W­°bfv(jk^:—z˜š™›{€}TvxbkŸ Uj jevˆ~WV¸Wde_`_ldfozmTmThxWvx} WÎvª¨‰beŒ­jkj ^Pbe~ ~^TWVW j }T_cvˆU‰g bfhxmTmTo½^na`hˆ~%j6_c}T¨a`snWhxje¥RToˆWW _cvªg ¬)bfRnmje{&hˆ}nvx~m}T¢<h©aljkjkhx_cvxvx^LW jehˆ^nWje¥Lozvx­°h gbfRTvˆsTU_`hˆacbAWªjkg9ghˆhxœ€_cmTbevˆ^p_lWo ¨ oˆmT}T}Tac_`Wª~€hxb4hˆRnWg_`vg mT_`hJhxRTvxbemTdfRÎhˆRTWU+mTa`hˆ_c}TacW ¥Wvª¨hxRTW Gnvozh³vxbemT^P~ bk­—z˜i™{)_co W´jea`mnjkhˆWª~%¨jk^n~ hˆRTW½vxWVoˆmTa`hµ_lo hˆorjebµhˆo+bevxj¦hxWVRT~µg W¦be_cU‰Rn^¯jesTvxhx_c~RT^n¢<W§jhxjkvx_`vxbfWW§df^n_cjkvxorbeawhˆWVmngvV^n_`v¨H~%g ¢*¬¾mTRT_`h§— bL­]or̰W;_«hˆ¬ RTWeg ¬W¦be^LvxhxbeWmT^L^Ph‰~©_lo_ložhxRT_`UžW^¯}Tac­°WWVUž~¯WV¨psP^fhˆjehxRnWVg_c~œ o sngRnjfjeor_l_`g^T_c^T_`d hˆWVvxUKjkbhˆ_c~´eWªW oKjea`_cvxœegW RT_`Ê hˆWªg9ÊhxmT²vˆWbe^na`_cq³o6bfhx^TjeW§_`acbe}TvxalWVjk~Ë_c^LhˆhxWb3¥Lhž­°WVsTWVacÍ b~gsnœ jfg_lœ o WsT^Pacbg gvxœqL}TjhˆWV­ðhx~-Wv¯jhž^T_cj^TW4hx_`Užga`W:bgjkœ ^nE ~©gqA¢ga`WWªo4gjk̰^-WV_`df}TRLvxbh¯´L_lvˆ~bfWmT^nj~To³^TWVje¢ ^n~ _`^n}ThxRTmWh bemThˆ}Tmhihˆvjk^nor­°bevxUjhˆ_cbe^ Í ¬ pWh ~TW^TbehˆWhˆRnW+g acbgœvxjkhˆW be­ (a) 1+1 rounds. (b) 2+1 rounds. (c) 4+1 rounds. (d) 8+1 rounds. . α =β =γ =0. f. î fDî.

(72) ‹e‹.  

(73)     "!$#&%(') *'+*,- ./0213*%54"6$#&78 9:<;= 31>*?. Q jesTacWK‹f² Ê beUž}njkvx_lorbf^§bk­hˆRnW­°bemTv*Užb~mTacb Ž È “ °’ ;Ä º• Ä ÊÊ XkXk¹i¹i‚L‚LŠŠŸ¶Ÿ¶¤¤ p´fbWV¢<~ Ÿ L(Db_cde¢<R Ÿ-Li_`dfR ¶ — K U n } ˆ v  b ÊÊ XkXk¹i¹]‚LXfŠƒkŸ¶Š¤ Ÿ¶¤ Ê jkvxvˆqLŸ¶oˆj´fWije~n~Wv*snjforWªU‰~;mTjea¡vxhxg_`Rn}n_¡a`hx_cWWVv g9hxmTvxW ÊÊ XkXk¹i¹i‚L‚LŠŠŸ¶Ÿ¶¤¤ p´fbWV¢<~ Ÿ L(Db_cde¢<R -Ÿ Li_`dfR ¶ — K U n } ˆ v  b ÊÊ XkXk¹i¹]‚LXfŠƒkŸ¶Š¤ Ÿ¶¤ Ê jkvxvˆqLŸ¶oˆj´fWije~n~Wv*snjforWªU‰~;mTjea¡vxhxg_`Rn}n_¡a`hx_cWWVv g9hxmTvxW ÊÊ ¹‰¹‰‹V‹VŠfŠfŠkŠk™N™NŸ¶Ÿ¶¤¤ p´fbWV¢<~ Ÿ L(Db_cde¢<R -Ÿ Li_`dfR ¶ — K U n } ˆ v  b ÊÊ ¹‰¹‰‹V‹VŠfŠfŠkŠk™N™NŸ¶Ÿ¶¤¤ Ê jkvxvˆqLŸ¶oˆj´fWije~n~Wv*snjforWªU‰~;mTjea¡vxhxg_`Rn}n_¡a`hx_cWWVv g9hxmTvxW ÊÊ ¹‰¹‰‹V‹VŠfŠfŠkŠk™N™NŸ¶Ÿ¶¤¤ p´fbWV¢<~ Ÿ L(Db_cde¢<R Ÿ-Li_`dfR ¶ — K U n } ˆ v  b ÊÊ ¹‰¹‰‹V‹VŠfŠfŠkŠk™N™NŸ¶Ÿ¶¤¤ Ê jkvxvˆqLŸ¶oˆj´fWije~n~Wv*snjforWªU‰~;mTjea¡vxhxg_`Rn}n_¡a`hx_cWWVv g9hxmTvxW ÊÊ ¹‰¹‰‹V‹VŠfŠfŠkŠk™N™NŸ¶Ÿ¶¤¤ p´fbWV¢<~ Ÿ L(Db_cde¢<R -Ÿ Li_`dfR ¶ — K U n } ˆ v  b ÊÊ ¹‰¹‰‹V‹VŠfŠfŠkŠk™N™NŸ¶Ÿ¶¤¤ U‰mTa¡hx_`}na`_cWv p  b < ¢ Ÿ L(_cdeR ÊÊ ¹‰¹‰‹V‹VŠfŠfŠkŠk™N™NŸ¶Ÿ¶¤¤ —¶UK}nvˆb´fWV~ Db¢<U‰-Ÿ LimT_`a¡dfhx_`R }na`_cWv . " .   .  . . (n + 1) × (n + 1). . .   . . (n + 1) × (n + 1). . .   . . (n + 1) × (n + 1). . .   . . (n + 1) × (n + 1). . .   . . (n + 1) × (n + 1)  .   . ï. . f]f hgij(j(k. (n + 1) × (n + 1). (2n + 1). U+mTa`hˆ_c}Tac_`WVvxo·­°bfv(¹i_cvˆhˆW ¥AŸ ™je^n~¹i_cvrhxW ¥AŸ —r—º’ ~T$ W´A_cg;ÄWVoV¬ ¿” Å ¿• Ä ‘  È • p‘ ‘ ŠŠ ŠŠ ŠŠ ‹‹ ŠŠ ŠŠ ŠŠ Š ‹ Š ‹‹ ‹‹ ‹‹ ‹‹ ‹‹ ‹‹ ‹‹ ‹ ‹ Š ŠŠ ŠŠ ŠŠ ŠŠ ŠŠ ŠŠ ‹‹ ‹‹ ‹‹ ‹‹ ‹‹ ‹‹ ‹ XX ‹‹ ‹‹ X@ ‹‹ ‹‹ @ ‹ ‹ @ ‹ ‹. m1. m2. m3. m4. . ". 66 48 25 393 75 58 25 474 241 204 178 392 241 226 177 466 325 318 305 371 365 314. !  " " . "  . 15.7 15.9 15.8 15.7 6.9 7.1 6.3 6.9 24.7 24.3 32.1 31.1 15.4 15.2 22.5 11.9 10.9 10.8 15.2 11.0 10.8 14.6.

(74) ª‹ X <9H       " "!$#&%'  H*?'*?3 .`

(75) d1>*"%/406h#&7 H :<;  >13* hˆRT_lo*—z˜š™›{€}Tvxbg WVoxoˆbev f_`hxo<hxRTvxbemTdfRT}Tmh*_lo<hˆRTWV^¦~WGn^nWV~sAq jkjk^P^P~~:jKbemhxhxbe}TœfmWhš^oˆsn_`dfje^noˆWVjk~:alo(g jebfvˆ^LW hˆvxvxbebea1mhxmTWV^T~_`hVhx¬·RT¸TvˆbfmTmTvˆhˆdeRTRWVvˆhxUžRTW+bfvˆ˜iWfŸ¿¨ThzjkqAac}?pW _`^nn}T_cm}hŸ }Taljk_c^LhˆW ¥Avxh(bemTsT^Pacb~Tgo œ§oˆH_ KVW nbev*bf}n¹šoš_`vˆjhˆ´Wje¥A_`Ÿ«al—ˆjk—sT~acWWV´L_c^¦_lg WªhˆRno¬W‰—¶^T}nmh9ÂfÀšmhˆ}TmTh]sTacbgœo(bk­¹i_cvrhxW ¥AŸ«™ Q<RTvxbemndeRT}TmTh N N Q<H_ KVRTWVW;~ ¹ mnLioˆ_`^T˜ d†Ag qAb^T~}nW§a`_ ­°¢<qJjeuwo+vxdebJWV^TŒAW¬ ŠTvj¬ @:hxWVjk~µ^nsA~ qµ_`UžbemT}Tv‰acWUžhˆbAWVbe^faloVhx¨HWV~ oˆqAbe^^ Ÿ ˆ h n R V W ˆ o (j³bk^ThxWWž¢ hˆRnsTjkachbg­°œ-bevjej:o;^norbAbebf^^Ÿ«­°WjfWªož~snhˆjeRTgW œ }TgvxRnWVjkg _cWª^T~_c_c^T^Td:dµ¢beW^TWgVjkWV^ ^Lhˆ}TWvˆvbož´Ahx_lRT~WW ¹iac_ je_cvˆ^nhˆg W W+¥AŸ †A™3WVvˆ_cjkWV^no<~΂P¬`¹š‹f¬ _`Š vˆ@khˆ_«W¬N¥AŸ«Q<—ˆ—RTW ~vˆWVWª´AtL_cgmTWV_`vxoWV~§WVUžhˆ_c}TUža`bW qAvx_c^Tje^Td deiWªo_ca`­°_cvˆ^bf¥ U®{(‹Va`Š Ÿ beQ<mRThxW}TmhˆRThvxbehˆvmnjkde^nRTor}T­°bemTvxh<U_lo<jhˆhx_cRTbeW^ ^ ̺_¿¬ We¬ jk­ðhˆWvW_cdeRLh:g acbAgœ½g qga`Wªo Í ¬ Užbe}?_`W^AvmjhxhxWVbeo]vª¨Ì°‚ ‰‹Ê *Xvˆ¹]bfƒemTŠe^nŠ ~ToVhˆ¨ b „šRTbemnvxo<̺„ ‰‹›vxbemTU+^PmT~Ta`hˆo_c¨k}TgVacjk_`WVvxv›vˆqLsnŸ¶jfoˆorjWª´f~ W Í e j n ~  ~  W * v n s f j r o ª W § ~ f b P } V W x v k j ˆ h f b vV¨ Ê ¹]XeŠeŠfŠk™ Í ¬ Q<RTvxbemndeRT}TmTh N N ,     }n¸g vxjk_c_¡devˆhxmnhˆ_cgV_lvˆjkjkWªa·ao a`}nbAŒjbfs€hx}³RjkmT_`^P^P^T~ g vxvxbeWVŒacje`sÎ_coˆ^TWVdn_`o(ac¬ mn}Tozvˆ¸Thxbfbfvx}PvKjkbfhˆgvrWªbehxo:_`U+bfhz^nsn¢jk_`b¾^nac jkqjehˆ_cvxhˆbegb§^nRTjehˆ_`hˆRTawWªW‰g9vxbehx^AmTmTmTvˆ^nU+Wª~no:s?o¨HW¢*v]hx_¡RThxbkR W ­   . mTUK^TWVvx^nbe~ac`WªWª~¯~­°vxbfbev+mT^n­°WV~nWVo~¬NsnQ<jfRTgœ¯_lo<gjkRn}Tjk}T_c^Tvxbf_c^TjfdJgRUž_lo›bhx~RTWªWovx¬¯W ­°{(bfvˆ­ðW]hˆW^Tvbe_ch·^nvxoˆWVWvˆghˆbe_cUKbe^ Ÿ ­°pWWWªhi~snmnjfošgozœ hxmng~Rnq je_`Gn^Tvx_cor^Thšd½oˆbeUžUžbW+~WVjeoVvx¬/gRT_`QhˆWªjkg9sThxacmTWCvˆWª@¾o*~~WV_cdeoˆWª_cdeoz^Tho:Wª~hˆRT­°beW©v(Už^Tbfje^_`^ Ÿ bk^T­be^}nŸ«_`­°}?WWWªac~_`^nsnWjfgorœhxjeUždeWªbAo~T¨AWV_`h*o jfbfgRT^¦_cWor´eUWªjko›acpdfbA~bAWV~;´L_lg WWª^Pog ¬ vxqL}Thˆ_cbe^§vjhxWVo]̰_c^ H_gGnRnWVje~JvxjfUKg9hˆbWV~vˆ_lmnora`hˆb _lgopbe­P—z˜š™›{½U+}Tmnvxa¡bhx_`g }TWVacox_loˆgbejvhxop_`bf}?^Wvˆ¢*­°be_`hˆvxRJUK_cj;^TdšorUhˆRTjkW<acUžU+bmT~Aa`ŸŸ Í ~-oˆRTb¢(ojk^½jkvgRT_`hˆWªg9hˆmnvˆW¢*_¡hxR­°mTa` hˆ_c}Tac_`WVv*jk^n~;j‰oˆmTsnoˆWVtLmTWV^fh<Užb~mTacbKgbevxvˆWªg9hˆ_cbe^Ì¿jkacdebfvˆ_`hˆRTUo  ¸ c _ n ^ e j ` a c e q < ¨  ¸ ` _ f d T m ˆ v J W k Œ hxa`bAjbehx_`}§bf^nmTo<^Tvxbkbe­ac`hˆ_cRn^TW d+sT~a`Wªb~g_lœ§gjghx_`WV}n~žRTWhxvªb¬NRTQ<_cdeRTRWhxhˆRTRTvxvxbebemTmndfdeRTRT}T}TmmTh·h<_`_lUžo*}T^TacbW¢ UžW^TŸ hˆjk‹RnvxW*hxWbq g acjk@ WV}TÍje¬}nvˆacvˆq uwb¥hˆvˆRn_cbUžW(gWVjkUžoxhˆorWVbfbfa`orqšvxhwo vˆ_`Wª^L¢·tfhˆbemnWVvxvˆ_`œAvxWªW›_`oz^nhx¤ed_`^nŠ dš¾¢*­°_¡hxbebfR¯­vwhˆ¹ihxRTRT_cW·vˆWhˆorW achx_l¥ARTg Ÿ WV_`—rvoV—H~©¨~¢jeWWa`´Adfg_lbeg jkWªvx^+_¡ohx²_`RTUKjeU oŸ Q<RTvxbemndeRT}TmTh N }Taljk_c^fhxW ¥Ah(sTacbgœ§or_ KW }ToxjkacWUžUžW(W¸^Lh<ujZg{Rn¬ jk(_c^Tbk_chx^TW*dhˆUžRPjbhN~hˆWiRnbfW(vw}Thx_cRT}PWšWVa`oˆ_cmT^TsTWiœfgWbeqž^Lhxoˆjeg_`RT^nWªo ~mTacW(beoz^žhjkhxdfRTWVWo —¶g ^µWVoxoˆjfbe~Tv~g_`hˆbe_c^Lbehx^ je_`hˆ^PbohxjšRTorWmTsn—z˜iœeW™q{ Užg WbfUžUKbf}nvˆqmhx_cjkUKhˆ_c}nbea`^WVUK}nWVj^LhxhˆRpWV¨D~+Wªbeje^ gR Ê }TvˆbeoŸ betL^mTWoz^LhÊhxjka`qfdeXkWª¨¹+o¢·‹VbfŠfW^ŠeorŠ·Rnjkbe^nÊ mT~ alX~³¹~ƒkÊ ŠeWV¹‰gŠJbe‹V~UžŠfWŠe}?´AŠkbf_l™:g oˆWVW‰~oWVhx´LRT̰‚ _lW§g ‰‹Wª~T§owjk̺hxvx„ j¦be‰‹mTor^PHhˆvx~TvˆWVbfo jeÍmTU®¬ ^n~TÊ _co ^ bfÍ ^njkoˆ^nW ~ Ÿ Ì}T°vxa`beq¯mTgdfbeRT^na`qoˆ_loz‚AhƒkoŠK_c^©orac_lg j¦WVohxÍbeœejkWV^n^¯~jej‰oxorgbbeg^L_chˆjkvxhˆbeWVa1~µmT¢*^n_¡_`hªhˆ¬wR-Q<WVRTjfWgR³acjk}ThrhˆacjeWVv*_`^Lorhx_cW UKE ¥AhŸ be_c^:v j‰­°WVorWVWV~}nsnjkjfvjgœhxWUžUžbWV~oxWeoxjk¬ deWªoH_`^žbfvx~WVvHhˆb mnoˆW<hˆRnWVoˆW*}TvˆbgWVoxorbfvxo hˆhˆsTRTWVa`bg W hˆgmThxœ1bevx¬WVœf—¶oVW^ž¬^¦jfor~TWV~a`Wª_`g9hˆh_cbeo<^‰hˆRThˆb W‰_cg ^nbe~vx_lvxgWVjkg9hˆh(_c^ToˆmTd]sThˆœfRTWW*q´o<jk_`ac^¦_l~_`_¡hˆhzWVq‰vxbkjk­Phˆ_chˆ´eRTW W(jk~TvjkghxRTjn_`Ÿ ¨ hz¢·WWQ<^‰RTjkW:vxWVorWªj*g jkbf^P^n~ ~©Wje^na`gdfvˆbeqAvx}_¡hxhxRT_`bfU ^vbkj¼1hˆWW›vbeo+^hxRT¹šW:_`vˆhˆsPWWª¥LozŸ hž™Jhx~vxjfWV~´AW _cgŸ WVbkoV¼¾¬s?{(W a`ŸŸ hˆ_cUKRnbe}nmTvˆdfbR:´fWVjfo ~T­°~vxWV_c^TtLdmTWVj‰^n­°g beqfmT¨HvˆhˆhˆRTR:W}Tvx_cWV}PoˆWVmTa`_ca¡^Thx_`W+^ndJorhxje}TdevxW]bg _`WV^oxoˆhxbeRTvWvxU+WVtLmnmTa¡hx_c_`vˆ}TWªaco+_ Wj v al_ljko(vxordemnWvˆvw}Tjevx^n_lor~ž_c^TUždbejkvx^nW(~:W ¥}n}?vˆbfWsn^njkoˆ_csT´eacW(q§~gWVbe´LUž_lg WVW‰o·Ìº­°QvxbejkU

(76) sTacW(hˆRT‚ W Í ¬NvxW Q<hxRT_`Už_co›_c^TvˆWªdormnjka¡a`hŸ ' D deg bbf~vˆ_`WšhˆRndeU®WV^TWbkv­<jhxhxRTbeW§vHhˆoˆbKqL^L~hxWVRToxWVg oˆvx_c_co sPW(hˆbAWbe¥al}Toa`¬_lg »_`hˆacW§qžRTRnbj¢´fWKhˆUžRTW]bU+~_HmnGna¡WVhx~¯_`}Tbeac_ mTWvv     % be{(‹ž^žacZ nj]W ¥†A}?mnbeW^­wvxUK_`F UžWV_lWVUžg ^fvxbebfho›vxoˆqq~ozWªhx¬oˆWg—¶Uvˆ^ _co=s?je\(WV~n~Ka`~hˆ_`_¡v^žhxj_`Ÿbfhx‹V^RTŠ(_lowhx¢·b}nbejehˆvxRn}PœWKWVozhvw—zj¢˜šhx_`WV™›bfvˆ^§{W<̰}?‚fg Wbf‚fvˆUžŠ­°beF}TvxUžmL hxWVjkKf~ Ÿ ¨ _lmn}To]vxg behxhˆob}njesPdfWžjkhˆ_cW‰UKjf}n~Ta`WV~UK¨ WVvxWVož^LhˆÌºWV¸~p_cde¬‰mT» vxWžW„ ormT¬KU"Q<RTmnW}J¢*~hx_¡hxH_RTIR³W gjmTa`hxhz}nvˆqjeWVW‰vra`hx_cWV_cbejeo]­·a_cg}T^JjevxvˆbhxvxRT~AqLW ŸŸ hˆ_cbe^ E }PjhˆRD¨(WVjfgR4}TÍ vxbAgWVoxorbfv§g bf^Lhxjk_c^no;j©oˆmTsTœeWVq½UKWVUžbevxq ~WhˆWvxUž_`^Pjhˆ_cbe^-bk­(hxRTW:¢*_c~hˆRÍ bk­(hxRTW:_`^LhˆWVvˆUžWª~_cjkhˆW:ormnUžoV¬ . . .    ' '

(77)  "  =. =. . . ·f. . . 64 f. 9. . !. (n + 1) × (n + 1) ". . . .    ( ( ' '

(78)  " = 8f.. #.  %$  '&  )  (. . . . .  . . (2n + 1). . "*.    ( ( ' '

(79)  " =. = 64f.. ·f. . . . ". . . 55. 107. !. 107. . 55. . .   . . .   .

(80) . n. Pi = xi y i ∈ {0, . . . , n − 1}. î fDî.

(81) ‹9@.  

(82)     "!$#&%(') *'+*,- ./0213*%54"6$#&78 9:<;= 31>*?. PsQWjehzsT¢a`WZWVW@T^² hzÊ ¢Rnbjeoˆvxmnjfgg9ghxWWVvxox_coror_chˆ´e_lW]go*vxbebemT­w^nbe~nmTov]¨ jkvgRT_`hˆWVg hˆmTvxWVo(­°bevšhˆRTW+¨ hˆRTvxWW‰¨PU+jkmT^na`~ hˆ_c}Tac_`WVvšsPÍ ¬jeoˆWV~ be}?Wv°’j$hxbevoÄ̰^nb§¿” vxÅ Wde_lorhˆWvš“beÈ^s?bemnÆ ^n~Tjkvx_cWVo Ž È “ º’ Ä º• Ä §È É‘ ¿• Ä ‘  È • p‘ ‘ ! ’ ; n‘ ÊÊ XX¹‰¹‰‹V‹VŠfŠfŠeŠeŠŠŸ¶Ÿ¶¤¤ —¶Už}TvxbD´ebWª¢<~ -Ÿ LiDb_`df¢<R Ÿ-Li_`dfR „„ ‰‹‰‹ Ì̺e„L‚X Í @k@k‚‚ Í @k‚ ÊÊ XX¹‰¹ƒk‹VŠfŠfŠeŠŸ¶Š¤ Ÿ¶¤ + U T m ` a ˆ h c _ T } c a ` _ V W v „ ‰‹ ¿ Ì e ¤ Š Í ÌÌ«eŒ ‚ Í ‹V‹V„„ ÊÊ XX¹¹ƒkƒkŠfŠfŠŠŸ¶Ÿ¶¤¤ —¶Už}TvxbD´ebWª¢<~ -Ÿ LiDb_`df¢<R U+Ÿ-LimT_`a`dfhˆ_cR }Tac_`WVv ‚‚‚ ‰‹‰‹‰‹ Í ‹V„ ¿ Ì k ¤ ‚ Í ÊÊ ¹+¹+‹ª‹ªŠeŠeŠfŠfŠkŠk™N™NŸ¶Ÿ¶¤¤ —¶Už}TvxbD´ebWª¢<~ -Ÿ LiDb_`df¢<R Ÿ-Li_`dfR „„ ‰‹‰‹ ̺̫„nŒk„‹ Í Ê ¹+‹ªŠeŠfŠk™NŸ¶¤ U+mTa`hˆ_c}Tac_`WVv „ ‰‹ Ì ŒA‹ ÍÍ (bkhxWhˆRnjkh hˆhˆRnbAbfWžaco<~TWVoˆoˆRT_`bedfmT^Jal~bk­·s?jkWVvxg_¡behxUžRTUžWW jkhˆ^§_lg‰_cUžbe}?}PWbfvvrjhhˆjkbf^Lvxh<oV¬ vˆWªQ<orWªRTjkWvg~RWVoˆGn_cWdeal^~§be¢*­_`hˆ^TRnWV_`¢ ^ hˆRnW ¸^T_`W ^P¥Ajkh(ac`qeqfWª¨wjkhˆvRnoW:¬ gVjkvxvˆqLŸ¶oˆj´fWje~T~TWvKsnjeoˆWV~©be}?Wvjhˆbfv‰acWVjf~To hˆbaljkvxdeWVv·je^n~:oracb¢·Wv<g _cvxgmT_¡ho ̺QjksTacW+ƒ Í ¬ Ìr‹ªƒ Í ' ,     jkÊ ^ be^noˆWVtLmTWV^fŸ hxsTa`qf_¡h(¨n^AhxRTmTW‰U‰oˆsPmTWVU£vV¬Hbk» ­HWhz¢·~b WV~TmnŸ g sTW_¡h]­°vx}nbejkU®vˆhˆ_lÌrjk‹ªaƒ }TÍ vxhxbARn~Tjmnh g9ho(_lo }TQvxjkbsTg acWVW§oxoˆ¤bevJoˆmToˆUžmTU_`hxjkjksnvxa`H_ W©KVWVo­°behxv RTW§­°WWVgRn~Tjesnvxjejfgg9œÎhˆWVgvˆRn_lorjkhˆ_c_l^Tgo_c^Tbkd4­(UžoˆbebUž~WWVoV—z¬)˜š™›{i{ o hˆ_c^nRng W¯vxWVvˆjfbformTWª^now~Tjko ^n~jkvx¢W³W(^Tbfbs¢ hxje_`g ^§beU‰´eWsTvx_cq+^njacbhx¢¾_`bf^nWjk^Pa«g ¨vxqLhˆ}TRThˆW-_cbeg ^vx_¡vhxj_cgVhˆjkWªoa+¬H}PQ<jRThˆR W hˆhˆsnRnRPjfW‰jkor^¯_lgs?WVoˆ_¡orqAhxh]orWhˆvbfWVj^TUhˆW‰_co´e­°W½be¢*vš_`jkhˆ­°vR¯WgWVRT}n~T_`hˆjesnWªvrjeg9hxghˆ_cœ:jemnawvˆUžWÎacbLbbf̺~¸}³WV_coVdemT²(mT^T_`vxvxh]W bevxac`WVŒ_ctL^Tj mTÍd_cvˆoˆjeWªW^no(W~³UacWVjeooxgošRThxoˆb_cacW_ ´fgs?WVWVWoo ¢*jk}TRT}T_cgac_RJWVoi_cooˆmnjkg^ R¦vxmTacWVo*hxb§Ÿ«sTsT_`hšmn^A_`almT~:U‰hˆRnsPWWVvV¬ÀšmTvš¹ U‰LimT˜ a`hˆ-_c}Tdea`_cWW^nvªW¬ivjQ<hˆRTbfWv hˆRnWoˆjeUKW]hxRTvˆbfmTdeRn}TmhV¬ ^T‹VR„W¢Î@+org ac_bfgU+WVosTg _c^nbejUžhx_`}nbfje^nvˆjkWªa1~‰Užhˆb‰b~XemTŠkac‚ b ­°bfvwhˆRnWi}Tvx_`U+Umnjea¡vˆhxqK_`}Tg ac_ _cWvxv*gmTvx_¡WVhªtL¬NmTQ<_cvˆRTWªWo             % #  . hˆUKXRT‚eWª_l‚oijeoˆoˆjemTac}T_ vxg}TWVWVvx~o›bfjeje~^ngW~R;aljT_cqJo(¬ÁXbeUK­^nbfohxvˆRTWg WbfbfUKg sL_c´A}Pvxg_cjkbemTvxmnWV_`ho·~K_c­°hˆobfb vi@Toˆ‹VWV„ tL^PmTooˆ¬§Wac_ ^LgQ<hxWV_co›RnjeWa%je^nbesP}?~ WVW^TvW jGThˆh‰bfvx^nbkoVo­ ² ­°vxQWVWVjkjkoˆsTWVhˆmTacjkW vvxWVgRTo<Œ WVbevx­oV~¬hx_cRTde» WVWªoˆozW+hWo

(83) df—z_`˜i´fvx™WWVoˆ{€RTmTWVa`hx}TvˆoW+vxbAj§g}TWVsTmToxvxsnor_`bfa`W_lvx­HoroVRnb¬ WV´f~ Wvx´AsA_`WVq ¢ oˆbebe­NUžhˆRTW/W‰bkUžhˆRnjeW_`^ v ­°bebe}?vWhˆvRTjW(hˆbfoxvVjk¨UžhˆRnW·Wacjk—zhˆ˜iWV^n™g { q be}T­nvx­°bbeg mnWªvHoˆoˆgbea`bv g¢*œ_`ghˆqAR³ga`­°Wªmnoa`¬·Q<a`bARnbfjk}³^nœAmTo^Tvxhxbebšachx`_cRT^T_ld o ‹f¬ Ê vˆqA}hxb bAbforhˆWv Ì bLoˆje^Aqfj *?  B`‹ @PD jk^n~ E h Bc‹(D _lo j F RT_cdeRTacq"UžbA~TmTacjev 7 je^n~"vxWVgbe^Ÿ GThxoš_`^Lhxb§be^nW Ê ¹+‹ªŠeŠeŠe™4¸uZ{¬%Q<RT_loiW¥}PWVvˆ_cUžW^Lhi_ca`cmnorŸ V W n m  g n R k j E hˆvjhˆWªohˆRnW_`^nW Ig _cW^ngq be­hxRTW§jfg9hˆmPjka›oˆqA^fhxRTWVoˆ_lohˆbAbealo­°bfv GndemTvjksna`W gbeÍ }Tvxbg Wªoˆoˆbev hxjkœA_c^Td ­°mna`³je~T´je^LhxjkdfW be­ . m1 = m 2 = m 3 = 1 β = 1 "    . . . . .  . " " " !. (n + 1) × (n + 1)  .   . (n + 1) × (n + 1)  .   . ". (n + 1) × (n + 1). γ=1 "  .

(84).  " !  " . "  .  "*. 4845 * 4199 * 3077  "* 2905  * 2436 "* 1983 * 10024 * 9586 * 8745. . . . . . . ∼ 8.0 ∼ 7.9 ∼ 8.5 ∼ 4.0 ∼ 4.0 ∼ 4.1 ∼ 4.3 ∼ 4.3 ∼ 2.8. 8.0 8.1 7.5 7.9 8.0 7.7 14.9 14.9 22.9. . . max(2Pi+1 + Pi ) =. n−1 X j=0. 2j + 2 ·. n−1 X. 2j. j=0. = 2n − 1 + 2 · (2n − 1) = 2n+1 + 2n − 3.. $   & . . (. . . . .  . n. (n + 2). max = (22 · (2Pi+3 + Pi+2 ) + (2Pi+1 + Pi )) {z )  } | {z )  } | 2. = 2 · (2. n+2  n+1 n. + 2 − 3) + 2. n+2 n+1. . + 2n − 3. = 2n+3 + 2n+2 + 2n+1 + 2n − 15,  (n + 4) 16 × 16 (2n + 1). .  . 29. . . ï. f]f hgij(j(k. 10.8.  . . . . . . . . .

(85) ‹‚. <9H       " "!$#&%'  H*?'*?3 .`

(86) d1>*"%/406h#&7 H :<;  >13* 8 bits PP2 = x2 *y PP3 = x3 *y. PP0 = x0 *y PP1 = x1 *y. PP4 = x4 *y PP5 = x5 *y. PP6 = x6 *y PP7 = x7 *y. 10 bits * 22. * 22. Optional pipeline stages. * 24. ¸ _cdemTvxW „T²N{(vgRT_`hˆWªg9hˆmnvˆWbk­Njk^ mT^Por_cde^TWª~§U‰mTa`hˆ_c}Ta`_cWvª¬ vˆQWVjedesT_loza`WhxWv<‚n² be^:Ê s?RPbejkmTvje^ng9~nhxjkWvxvx_`_cWªorhˆo_lgs?o+W hzbk¢·­(WbfWVmT^vKhz¢jevxbgRnoˆmn_¡hxgWVgg9WVhxoxmTorvx_cWV´eo W]­°vˆbfbfv+mT^nhxRT~TW;oV¨ hˆRTvxWW;U+¨mTa`hˆ_c}Tac_`WVvK¨ sPjeoˆWV~ ¨ be}?ÄWvjhxº¨T”bejeÅv^no~ bf^¯¹iD_c“ vrÈ hxÍ W ¬ ¥AŸ ™6Æ ~WV´L_lg Wªo;̺^Tb Ž È “ °’ Ä º• Ä §È É‘ º• Ä ‘ ÊÊ ¹+¹+‹ª‹ª¤e¤eŠeŠeŠeŠe™N™NŸ¶Ÿ¶¤¤ —¶Už}Tvxbp´ebWV¢<~ Ÿ L(pb_cde¢<R Ÿ L(_cdeR „„ ‰‹‰‹ ̺̫R„Œ @ Í ‘ ! ’ ; T‘ Ê ¹+‹ª¤eŠeŠe™NŸ¶¤ U+mTa`hˆ_c}Tac_`WVv „ ‰‹ Ì«Œk¤ ÍÍ _cgÊ ^½mTvxvˆqAbevx}Wvhˆ~^Lb Whvž¸bAhxubLbµozZhxjfW{igv go+Wjkac_cWUK^nv~j}nhˆa`¢·W¦WVUKbegvxvˆWVœLqA^L_c}hx^Tohxdbede¢*hˆvRT_¡jkhxW,}nR³RTj:_c—zg;˜iRTjk™›bfacorde{ hbfvˆor_`qhˆsTorRTachˆUbAWgU oVœ ¬ UKgjkRnac`bjkb~_c¢

(87) ^Tmn_ca`^T}nWfd)¬jkvˆQ<hˆmT_lRTjk^TW‰a(_`hVvxU¨ WVgjebe¢*_`^ ^_`GPhˆdeRndebfbemTjemvaDjh3behx­w_`bfUžhˆ^-RTb_l~beo_`­š­°jkqLhxv_cRTg^TWJRTd _`hˆg WVbfjeg }T^LhˆvxmTq bAvxgW+WVbk_loxhˆošorRnbfhˆWvVb v ¬ g™_`Ê}TRnWv

Références

Documents relatifs

Unit´e de recherche INRIA Lorraine, Technopˆole de Nancy-Brabois, Campus scientifique, ` NANCY 615 rue du Jardin Botanique, BP 101, 54600 VILLERS LES Unit´e de recherche INRIA

Unit´e de recherche INRIA Lorraine, Technopˆole de Nancy-Brabois, Campus scientifique, ` NANCY 615 rue du Jardin Botanique, BP 101, 54600 VILLERS LES Unit´e de recherche INRIA

Unit´e de recherche INRIA Lorraine, Technopˆole de Nancy-Brabois, Campus scientifique, ` NANCY 615 rue du Jardin Botanique, BP 101, 54600 VILLERS LES Unit´e de recherche INRIA

Unit´e de recherche INRIA Lorraine, Technopˆole de Nancy-Brabois, Campus scientifique, ` NANCY 615 rue du Jardin Botanique, BP 101, 54600 VILLERS LES Unit´e de recherche INRIA

Unit´e de recherche INRIA Lorraine, Technopˆole de Nancy-Brabois, Campus scientifique, ` NANCY 615 rue du Jardin Botanique, BP 101, 54600 VILLERS LES Unit´e de recherche INRIA

Unit´e de recherche INRIA Lorraine, Technopˆole de Nancy-Brabois, Campus scientifique, ` NANCY 615 rue du Jardin Botanique, BP 101, 54600 VILLERS LES Unit´e de recherche INRIA

Unit´e de recherche INRIA Lorraine, Technopˆole de Nancy-Brabois, Campus scientifique, ` NANCY 615 rue du Jardin Botanique, BP 101, 54600 VILLERS LES Unit´e de recherche INRIA

Unit´e de recherche INRIA Lorraine, Technopˆole de Nancy-Brabois, Campus scientifique, ` NANCY 615 rue du Jardin Botanique, BP 101, 54600 VILLERS LES Unit´e de recherche INRIA