Modular Multiplication for FPGA Implementation of the IDEA Block Cipher
Texte intégral
(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^+kAee YAW}ThWUsPWVviXkffX Y,}njkdfWVo g _c}THRTWVvhnWk¥Aeh§ sTQ<acbARTgWKoVz¨<mnor{_c^Td©sTa`j4bgªXkgk_`«}TsnRn_¡h§WvoWV_cogvjWhorqAeUWqfU¬W hxQ<v_lRTg9WJ eoWVWVqg mnjeva`df_`hzbeq©vx_¡hxbeRTU£z¢*RT{®_cgR vWVWa`_c^nWVgovqAbf}^4hog bf¤kU+k sTsT_c_`^Th_c^T}Td¯aljk_cbe^L}?hWWv¥Ljhhx_`sTbfac^nboKgA°oivxbehU±b¦¤ehkRT vxsTW_¡Wh UKjkjkacacdedebWbe~snvxmn_`vxha`jeb RT_cUgKopdevxsPbejemno}nWV~ o²bf¢*^+_`RT^Lhx_cjgWR odeUWV_cv+ojkacjehxfRT~nUW~mT_¡g hxa`_`vxhbf_¡_chx}T^³_ca`gV_lUjkgjkaHbAhjk~T_cbevxmT_¡^hxa`bRT¢*U_`hW RKh¨H_ljigsTo_¡behzmT}?¢*snW_loovWVWjtLhmTW _cbe¥TWV^J^fg achmnbkUwo_`hx´fbARTW~TWmTbea`snvba`bbeg gbf<vhzvx¢WVg g _cb }Th_cRTbeWV ^pvVsT¬p¬ _`h+Q<¶^J¢RnWbfhqvxRT~n_ljko]ovx¨HWw}njk}njk^n}?je~µvrWhxvª_c_c¨%g^LmT¢·hWValW+jkdevxW_ca`^Lv+q]´fU+¢WVorWVmTha`a`_cAhdf_cojk}TmThac_¡W_ hxgVWVhxj~RTh_cvx°bebeW^ Wv hsnRTjeW oWVal~;jhxbeWV^orh*U¸bAu~TZmT{a`b ~TW´A_cgWVo<WVU+je~ns?~WVW~Tv~o_c¬N^TAdWVo´eUWvjkjkaca%?jeUvxgmTRTa`h_`h_c}TWªa`g9_chxWmTvivsTWªo·a`bbkgDoVhxRT¨LWac_ ezW]ihRT{W ¹sTac_`bAvhgW¥Ag«_`}nwRTºjkWUv(je_ca`vqfW¬Nh» RTWVW ^¦je~acoWVboxg g vxbe_`s?^PWVor_l~~Wjkv*^P~;jKU+gbemnUa¡hx}n_`}Tjkacvx_ WVW~ v °UKvbfbU&~Wªo~¬_`¼1ÀWmnvxWv<^Lºh;jeor}?hWVbeor_c^Lh(h§g _cbkvxg mT´A_`hi_`WVje¢ g²JRT_cWhxRT´fWVvxbeo·mTj+dfhxRTRT}TvxmbehmTdfhxRTb©}Tjkmvxh(WVjµbevTj¬Á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~jksnhWjfgv-WV}PgbfRnvrjehxWV_`^n~§_`^T_`^d hRTW ac_¡hxWvjhxmTvWf¬ æÄfÅ1ÆxÇ+È ÉfËÊ beU}TmhxWv(jev_`hRTUWh_lgk¨TUb~mTacb¦Ì Í U+mTa`h_c}Tac_ gVjhx_`bf^p¨Tz{ÎsTacbAg;g _c}TRTWvª¨ngvqA}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~Tsn~Ta`_¡bhxg]_`bf~^W U¤kzb+~snmT_¡ach{ b o*~WVorWih¨hxacmnW W ¥A^JhbeW jkmacgdeW RTbf¥T_`vg ¼1_`achvmnRT\foU¬ _¡W+sTj_`~Th oW\Vgg mTvxsnqAvx_¡hi_¡}hxhx~\]jeW~deWUW]z;bkhg o(acW ~{ÎwW }TvvxWV_c}Psn´ebL\_¡horWo*W]hW orvh(mnjkv·^naljKoraljK°U+beg vxmTUbea`Uhjk_c}TsT^Lhiac_c_^ngVmTjkj^_lhor_cbfbesn^§^a`b~ UgKbe~b}?W~\mTv¤eacjb hx_`sTbf_`^nhxo]o~n~W+jk^nhxo¬ W ¥AhÊ vxhW beWh_lhoWW^Jde~vxgbeWVacmTjev^n_`}?v]_`WVSVWo]v^ W ² WVU+ormTh·a`a h_cbf}T}Pac_\VgVvxjjkhh_c_cbebe^P^ojkovxmT_¡_`hx´ART_cUWVo\ h~ _ltLmnmT^TWWggvbe_`hvx_lvtLWªmTg9hW_cbe~ ^Dz¬D¶alo{+obe¬n^Lhje}n^njeo<vrhxg _cWgh<mTjea`_cvrShxvx_cWgUa`WfWV¨L^f^nhwbesnmn_`oWV^§\ hxmnje~T~je_cbe}^nho·\ªowhxvjkbfmT_c¥o·jkgac_`devg bfmTv_`_`hhxRToU¸uWªowZW {4¥}Tvxac\Vbeg_`hxWje^L^Lhxoh<g ~beW]^L}?hxWW ^nh_`jeh^fWªoh UK~~W Wb}P´A~mTWmnhWa`_`b hx²oivU+WVacmTjka`hh_c_cbe}T^ac¬H_`WVWuwmT^LacvxhmnoVvxoW¨n_`WVgalmTbejUvoro·mTUjevvxW]ºgjealRngjK_¡W hxºWVW jkg9h(UhxmTac_cW+a`vxcWVW ~o\V¹i~sT_c_¡vhmTh^beW ¥Am}T vxrjeb9~T¬g \VWVitLoxbemnoWmnjmThxo(v_`bfgzbe^i^njo´f_l{~WV\gvxoacbebeWV^n^Lo(h·o·~TW\V_`^ndf´fjkoWmTvacWo*_`UhUWWV~bA^f\V~Th*gWVmTvo(_`^:h~WªbfWo}PWg\VRnh·vxjjk\Vðh´^nWjkjkmnacdfmTv·We\sP¬Wªjeo·io~T\bkW]hxovmT~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~WT¬ÁKZ]s?ÂoV¨ng W tLmT_pWªozh K^TbehvxWgbe^T^Pjk_looxjk^ngWacW UW_ca`cWmnv*v\ªormTa`hxjkh*}TmTsTac_`\ gW<yzbemTvª¬ È ª Æ {(vx_¡hxRTU\ hx_ctLmTW~Wªo<bev~_c^njhxWmTvo¨AUmTa¡hx_`}na`_lgjkh_cbe^:UbA~TmTa`b ¨z{¨?g vxqL}Thbedfvxje}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ÎqAz}g h_co }T{ RT¤eWVk̺vC ¶sT^LB_¡hh WDvx}T^n_loJaljkjkh_cj¾_c^fbehx^noW qAje¥AUKah ]Usnja`Wbhxhjgvx_cwg o«^nfhxg Wb vxq qA¤e}jekha`_c dfbesTbe^_¡vxhµ_¡{ihxRTg a`_cUdf}TbeRTvxWV¢*_¡hxvrRTRThxW _lU g¥AR hÍ sT a`bggbeUoV¨}Tmmnhoj_`^Thx_`d bf^nj jkac`q"ªXe_l ~sTWV_¡^fhhx_cegVjkWVqa³vxbemT¬ ^P~To zi°beac{ `b¢·gWVbe~®^no_lsLozq/ho-jk_c^^ h°bebevmjkvxhxUK^n}Torm_c°^TbehdKvxhxUvxhjeRnow^nW j or_`°^T¤kbee}nvxU«msTh(jk_`hwhbk_c_cbe^T^:h}TRTm̺W¸h·^T_c_`de^LWmT¥Lhvxbh(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¬ jkoa+_¡Q<¥ oRTmTªW¦sT¤f besTWmq_`hhxo }TommThsTfhxvxWjeq^nÌ o oz°bfvUjkÌh_cbe^p¨W¨ U}T}TvxacbAb~TqLÍ mn_c^Tg ~WªdWVo:v_c°´ebehRTWªmn~Wv gbe _c}?}TWRTvWjvhh_cWbe¥A^PhVoµ¬;°Q<vbfRnU W§orhxWªRTg vxmTWvxW _`hzqjea`bkdf<WsTzivjk_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² ¶^LhWVdeWVv<jf~T~_`h_cbe^:Ub~mTacb Ì¿~W^nbkhWª~§sAq Í ¬ ¬ E _`hz¢*_coWW ¥Tg acmno_`´fW]bfv ̺~WV^TbkhxWV~sAq Í ¢*sAF q _`bhR~_HGnWª~¬_c ^f hxWjfdfoWov]bU+g be_ljmTv ha`Wªh_c~]}T¢*ac_ gV_¡hxj¨ªR ¢·h_cbeWw^ vxWU}TalbAje~TgWwmTa`_`b hsA̺q~WV^Tbkhx¬WV ~ ¨ hxsARTq Wvx¬WVomTÍ a`hDbkAhRnWU+mna¡hx_`}Tac_lgjhx_`bf^ _co ¨_`h_lopvxW}TaljegWV~ ha`i_cRTWVWªWog vx_`g ^qL_c}T}ThxRThRT_cWW(bev^µhfWW_c¥Aqo h+oxjf}TggRTvxRTbWª_cW´L~´e_lmT~WªacWªW(~J~³demPWVjeor^T_co ^TWv_cd^Tj}Thxh_`RTm^TW;hªd¬ ohxjeRTQ<UKW RTWW§jebea`^Tdfacbeqg vxbA_¡~Thx?W RTI_¡¼1U"gW_`vxWV¢*W^L^n_¡hxhxgoVR W ¬ zi{ W^ngvqA}ho<}Tacje_`^LhxW ¥Ah(_`J^ GT¥Wª~A o _ KW ¤ke«sT_`h*sTacbAgoV¬ L(b¢·W´eWVvV¨ UKWªooxjkdfWVo6¢*_`ac½bkðhxW^&W ¥Tg WVWV~ ¤e®sT_`hxo je^n~ j®Ì° Ê o_`U}TacUW bo~beWeacm¨ hx_`g bfbe^p^P¨4or_lozAh^Tob_`¢*^ ^ }njkjfvo h_`hw_cbeacWV^ng _`h^Tvxd be^Thx_lgRTWÎÊ }Tbac~jeWV_`^LsPhxbAW bf¥A h _`Q<^LRThb_co6E*¤kÍ e «Ê sT_`hsnUa`bbg~Wo+jeRn^njf~³o W^PRTg bvx¢·qLW}T´fhW_c^Tv dJj®Wªje~gR³vxj¢*_c^nsP~jeWg}?®W^P_c~^ W^LhhxacRTqeW ¬ o}TrWVacje^n_`or^LW hxW h¥ARPh+jEh:sTac_cb~gWVA^Loh_ljkg^njka~µg _l_co }ThxRTRTWVWvrhxvxW W ¥A°bfh:vW;sTa`~b_cgoxg o;bfU_`UUK}TWVac^nq¾~Wª_c~T~µW^L_¡*h_lhxgRTjeW a ororWªbfg }TvxRTW _lhozhxe_cgVWjq¦hWª_lo~-vxgWRPmnjkoWV_c^T~_`^n°bed vUUbbe~vxWªW+ohxsTRnvxjk_`^ ^Td³be^Tj³WKoUbeacWVmoxho_cjebede^-Wf¬hbµF hxbeRTvx_lWo }TÌ Ê vbfsTÊ acWU:U¬ b¸n~beWev¨_`^nj½orhx°WVjeWV^n~g snWfjf¨Ng_`^©hURTWªW gRnÊ jk_`^T}n_lRToWUv E gVjka`bmngo WVo¦Ê hRnRTjkW _c^T_c^ThRd gsT _ca`}TbE RTgWvo Í hWjk¥A^nh©~ sTjeacbA^ g hsTb _¡h ~T_`W^n}?_¡hxW_c^nje~a` _ KVjkbfh^ _cbe^hRTMW´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^ vhW }T¥AvhWªg sTWªac~b_`g^nMd BcªsTXacbAD ¨·gjeo©a`i_csToa`bg gbf^fohjkU+_c^TmPWVoz~ h s?}T_cW }PWV}Ta`vx_c^TbWJg WªhoRToWVWµ~4g obfWVUKtLmT}nWVm^Lhxjkh_lhjk_cbeac`^¾3q Nª}n¬ jkhQ<R RT_ljeo^n~½}Tv_`bfU}P}TWVvrac_hzWVqo°j¯bfvorsTac_l_ ~Tdeo§RLhhacqb ¢*~j _`_`¼?h^TR¾WVbev^TWVjJ^L¿°h acWVbWV¢·Rn~WsnjevKvxjf~gh¢< RTjkvxbeUvxWmnbAde~TRTjkWÎv}TgmTRT~ThV_`WV¬½hoxWªg g9Q<vxh_`mnRTs?vWWVW ~ g bfbe°mT³be^Lv¾hhWRTWv¦W ¥jeÌ sTÊ UacQ*b}Tg|a`W Í _cgUO^ _`}TbARnBÁ~TP WWeD v ¨¨ g jebfo]mTvxalWV~4gbevxUWUUWVW~^nq½~Wªhx~RTW³_cQ^ or_`BchVmPP jD ¬+h_cbe h^ _lo _`jk_`alh:orb;s?}PWVgbLbeoUo_`snWVa`o:Wjhbozh}Tjk_c}P^nWV~na`jk_c^Tv~W h~RnWªW6g beU}Tvx}?bbfg oWª_¡ohxo_`bfbe^6v4_cbe^3§hx°WVRTWVW4~sP~Tjejgh jÎUKozhxvbWª~jkWªU o _`_c©^Lh¢·b W6jfogWg }nWVje}vxh jkhhxWRTacqW W^Pg vxqL}TmTha`hWV_c~;}TacU_ gVWVjoxhxo_`bfje^deWªUo¨Ab¢*~RTmTWVacb vW _lo<hRnW _l}To<_`}?hRTWWac_ ^TgWv_`h~_lWg}Tjehap.R jkvxB _¡R hxD«R¬ Uo}PW WVhxWVF _c~g bkbeH}?jkW^vjzhxi_`bf^ {Îbe+}nvhbRng _cWªo:oosTbeacbv<gjk4vxW g oz_c}ThxvRTbfWV^TvVde²acqsPvxbeWhalRjhjkWª~vxWVhxj-bjkhx^nRT~W Rn}?jebfvxo~W¢<beTjkvxhWRT_lbfo}P}nWVjkvx}?jkWhvbev_loDghxjeb]vvx~TqAWV_`o^n_`dfd^beWmIh g _cW^LhNjk¬+vx_¡Q<hxRTRTUWKW Uhx_cjeg_`^ be}?}TWmTvjv hsTbfvxvx_`Wo%°bfb´evwW¸vxu´A_`ZWV¢¯{¾bksn%jf¹orWª_`v~+hW_cU¥L }T³a`WVjkU^nW~^L¹hxjk_`hv_chbeW^n¥AoH«be?¸zuZ{{4¬Lº{*jkUðhx_`Wacv_ WVj o hoÌ¿RnW´eWVW WVg9vxhxje_`bfabf^;}PjeXvxWVgÍvxRTjk¨f_`h¢·hbfWªW(vg9_chxÌ¿^AmTA´evWªWVWªg9orohh¨H_c_cbedf¢·^ jkW§h@ W<RnÍ °¬jbf´f¶mT^¦W;v~bejevWVa`df~´ebeWWVvxv<a`bf_¡hxhx}PRTbWªU~¯WVowjej¦o~_ca`WVhxq~TbL_cbfg gVa<bejUh¢*Wª}nRT~Kje_cghvRbW de}TWVvx^Tbg WWVvjoxohxbeWVvªo§¬hARTWVW¯´eWovqAjk^Lanh}nRTjkWªvorjk_ KVUjesTW hxa`WWvoN¹jkLac` b¢mngobA~Thb+W gbeRnKbLbLjeor^ W*bfz^TW(be{ hhRnRnW*WU+hRnmTva`WVhW_c}Tbeac_`}?WVWvxvoNj~hxWªbeovgo v_cs?¨WV~_`¨P^jeA^nWª~ g9h_cbe^ ̰vxWV@ojk}P^nWª~+g9hxh_`´fRnWW*acqacjkh~WWV^P^Tg bkqhxWVbe~ sAAqWªg9h_cbe¨ ^©¨Dnje¬ ^n¸~ _c^njkbeac ^ qe¨¸A_`Wªdfg9mThv_cWbe^½ Í ¦¬~» _cdeWWªoz~hWVo+oxg bfvxmT_csPv+WUhjkRT_c_l^¯o]hvxbAWVbfomTaa`_chx^ o jk^P~;gbeU}njkvxWVohxRTWU ¢*_¡hxR:vWªg W^Lh*¢·bevxAobe^:z{¬ ' U£ D X' WZYn2 S T +$)' §'* ; H' .V +;[ U£ D X' WZYT#D# ;+$) ' ¹iQ<jk^PRT_cv~:_lhoiW ¹i¥AoWV_c vrg hxhW _cjk¥Abe^P«^:~:*de¹i_cg ´ebe_cWª>^vro*hxGnW jde¥AmT«sTvv*jk_cW sn~Na`WWb´A´fac_lbeg WWVdevxo(_l´Lg_c°WbesT¢ viacbhbkgRTNA_lo+mnoioÌ¢·W Ê °bemTvxaD1°¬<oWVj¹ihx}T_cmTvrvxhxvxbW WV´A¥Ao*_c«~be W °acbemTde^n_lg gkh¬_cbe^njejegaDR WVÊa`WVUKWV^L_`^nhxo*ga`°mPbf~vWVooqAv^nWªgorRT}?vxWVbeg ^Th_cbf´emnWVo*a`q]jkhz^n¢·~¦b+g̰be¹EU_`vsTÍh_`W^P¥Lj h bfv_lbejkv a °acbLbemnbfLv«mT̰¹i}©_cvhxhjeW sT¥Aa` Wªro: ÍE Ì ]oa`\_lg QWªo¨Hg bfhz¢·^Lhxb jk_cor^Th_cbf^TvxdjedesnWjeoWV_ca`gVWVjkUac`Wq^LhxhzoV¢¨b:jek^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·hWVhvb_lor¢*h_lvg_`hÌ¿W¸_cUdemnmTva¡hxW_`}nXka`g _cWv¬ o·hRnjkh<hxjkfW je~´jk^LhjkdeWbkhRT_lo Í Ì«À]| Ê { oWvx_`Wªo*°vxbeU Djhh_lg W i À h n R W i v ¸ u Z { º k j U c _ ` a c _ V W o beQ<v§RTWVA_`hvvj¢*h_l_`~A¥¯hR °vxbe_coU&oU{(jea`ha`cWWvvj ÍhRPjejkac^ ob WU+jks?^PWV~¦~½_¡hoU_loijkhxac(RTWU+vxW mT°a`bfhv_c}TWac_`^TWVWVvxg oV ¬ hWVRnoxoxWVjkovxW q;sThxa`bb;gW¼?oWªÌºg9ohxW_`W´fW°acbfq¦v*sT_`^nmTor_chxa ~Jje^nhg RTW WKB @vxWVD Í tL¬ mT_cvWª~U+mna¡hx_`}Tac_ Wv]°vbfU. (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 rjev_`hRnUKWh_lg]°WVjkhmTvxWVo·b´eWVv´A_cW¢ ¬ (a) Virtex−II CLB. T}¸_`_c}?deWmnacv_ W^TW+eor²ÎhxjkzdfiWVoV¬ {±gbeU}Tmhjh_cbe^ }njhxR jk^n~ _¡hoJbf}h_cbe^njea mTgjkvvxWvx{ Xeqj a`¹iÍ bf¬ de_cv_lhgW ¥A~ WVr~ _lg~jkWVh´LWª_l~§g W;hxbjkaljeor~Tb¦~WV_`hU+_cbes?^¦WV~Tjeo+^n~:UorjemT^AsTq-hvªje g9hx_`Vbf;^ hzÌ¿¢·¸b_`deo bksTg be1_¡hHUhmTRT}T^nWVacU oW_cUdeor^TWVmTWª^f}n~ h<}P¢*U+bfvr_cmn~Thxa¡_`Wehx^T_`¬d}TQ<achz_ ¢·RnWv_cboo]¢*_c̰^Th_c}TRT~mW hRh·F }P_loD\ bf_lvr~hQWªo*jkVVafkk°¥1«besnªvp_¡hhxRTsToW·_`acdfb_`^TUgWV}T~o acÍ Wbf¨LUv(WªjeWg^TR hxUKjbfhx_`vbfWf^:¨PWªbkjeDghxR¦RTW UUmTa¡bhx_`~}nmTa`_cacWb v]Rnjeo]jk^Jbe}U+hxmT_`bfa`^nh_cjk}Taac_ _`gV^LjhhxWV_`vbf^P^pjk¬waD¸T}nmT_`}?vhWRnac_`W^nvW _`ozjk^hsTjkachxdeWKRTWfW(h¬§b¹iAjk_cmTvmThvxhW }Tbe¥AvxU _corjk_`N^nh~Tde_lgjkacjkqehxac¨%j qhxoRTRT~_cWo WVWjeh°WVaNjkj¢*^nhxmT_¡~hxvxR oWqA_`_c^fhVo hx¬RT}?Q<WVbAoRTbe_loHvxW a`hq bAbe~\ albowg oQmTWUVWVkU6W¥%^LVmThxfWV^T~ g beU}?be^TWV^LhV¨nj´jk_caljksTacW_c^hRTW ac_ sTvxjevqbeNqL^nF }Ta`_ °q§uvbP¨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) hh_c_c}TbeWV^µoac_`_`WVdfjkv:^T^P_`_c~J^no;d:~hWVRnje}P^W WVje^nfvW~TWªq½oj«be}Ph^J_cbfU_`h^LWRTh:WKW?bkIh jkgvxhx_`deRTWVW ^LW h hRP¸UKjkuvb~Z~¢·mn{ jea`b vvWJWªor_`bfUmT}Tvg acWWVUoV¬WU+^LQ<hmTRTja`W GnvozhhRTvxWWjkacdebevx_`hRTUo(_c^A´ebfa`´fWorUjkacDUmTa`h_c}Ta`_cWvo]jk^n~jevW hdeRAvmnjk}noRn}no8jk@Tvh¬c]_lg mThb aljk@Tvxac¬ q@ ~¬NWV» ~_lWgjkjkhalWªor~Jbg hxbfb:^n¹io_c_c~vrWVhxW v(¥AjK«U+]mT~Ta`Wh´A_c}T_cgac_`WVWVov(̺sn}njejkovWVj~ be| ^¬ U?_cbU~UmTacWb vxUje^T^ Í °bev jf~T¹ ~WVvxAo(i̺_c}nUjk}TvjkacWdfUvxjeW}T^LR hxjk@nh¬_cbeÍ^no}TvxBcbe}? D«bf¬oWVA~KmnsAgRq WVjkor^¦h_cbf^T}PdWVjkvxjka`hhWVbfvv*^PvjWªhtf_c´emnW]_`vx°WVbfo*v<bfh^TRTacW q ¹]_`\vhQW¥Lo jk-^nº~¦jkUgbe_`mTacqeal~:¬ s?Wjk^:_c^LhWv . (2n + 1). (2n + 1). . . î fDî.
(22) .
(23) "!$#&%(') *'+*,- ./0213*%54"6$#&78 9:<;= 31>*? . |*WV}Tacjfg _c^Td¦Ì@ Í jk^n~ °Ì Í _`^³Ìz Í qL_cWal~To Ì« Í Ub~ UKb~ _`_` _lÀ̰g_c^LjkmThaNvWV}P¹dejWLihvRµ }nsAjkqvdfjkW_cU^n^ToWWVWhvxvWjkhvh_cbf^Tvpd:jk}Tac`¨w_`b}?¢(jkWðo1ach_ Whx^TRTv+WWhozRTmPhWorjkWVdfvporWVmnhosb_ch^ orvRTjehxbfg RTvrhWhxWWvU+^]̰hmns?Rna¡bAhxWbe_`}Tg acWVvxac_jk_`Whr^ v }nvjkjeUvxjeW UKhxWWv hWVv ¬Í Q<¨pRTjkW^n~ }PjkjvðjkhxÍ UWvW hhxRTWvZW Gn^njeaNje~T~WVvK̺sPbAbfa`vxWªWVjktL^JmT_c}PvWªjo °jmT´vjkh_cRTa jeWVsTv<acW W+¥_c}T^JalÍjk¹i^n_cjkvhh_cW be¥A^n oV ¬H~WV_`^n´Ag_cgW WVF oV¨1\ hRTW QVk¥%V sTacUbgmTa¡ohx_`je}nva`W_cWv^Tbk_lho h_coUKRnmnWVg}nRoa`_cWVoj(UKhg bAWV_cv^Lbeg alhmTo·WV_`~;jkhDvx_csAWi^§qdeacUWVbe^TdebW_l´AgKv_cjk^TÌ acÊd qKjeE sTo·a`vWijkWVde^nhb_l~ozhx}TºWje_`vD}?ororh(Whxacgje_ ^TjkdeW]vxWªvxo%jeq_`m^Lachbehxbfb*dfU_chg RTjÍ hW¬w_lgU+AjeqAmTa`^ca`q hjk_csn}Ta`acW _`WV_cvV^¦¬wbeQ<mTRnv*Wvx_cUW °}TbevxacWWeU¨LmTW};^LhxhjkbKh_chbeRn^pv¬<WVWA_c}T^n_cg }?W Wachx_`RT^TWWoorUhxjejedea`WªDoWjeU+vs?WWVj~n´~jkWV_ca¡~ U+}T_cmn}Pa¡WVhxa`_`_c}T^TacW_ WorvhxopjebkdeTWe¹¨ _`vhW¥A_lo<«WV1tL~TmnWjk´Aa1_cghxWVb oDRnjbe´ev Wwje°^bev<be}hhxRn_`_cbfo<^nºjkjeaeU_`^L_`achqeWV¬v^Pjka.
(24) . Q<~WVRToW _`dfp^TbW¢<vi bkL(H_chdeRTR W+jeza`idfbevx{_¡hxRTsTU acbA¢<gjeo%g bf_c}Tv_cRTdeWV_cv^njeB a`cD qi¬·~Q<WªRTog_loiv_cjesPa`Wªdf~bevxsA_¡qihxRThxU:RTW ¨ ~j+W hxGnbA^nbeWVa%~hxbKsAq+}?WvtL°bemnvxjkU h_cbeU^bÌr~ mTÍ ac¨fb }Tvxb´L_l~WªoHhRTU+W*mT}na`hv_cbf}Tdeacv_ gVjkjUh_cUbe^:WvH¢*¢*RT_¡WVhxR^ ¬ _`UU bb~~ ~T_`´ ~~_c_c´´ Ub~ Ìz Í _` ~T_`´ Ub~ RnL(jkb^n¢·~TWa`´eWªWV~vV¨(oWh}PRTjkWµvjghjfWVora`qfWª¬o§i¢*bkRThxWVWvWhRnjkh bev U+mnorh¦sPW Ub~ Ub~ Ì¿X Í ¢*or}?RTWVWgvx_cWjeapW^ngb~_`^ndKbe¬w {oo¨TmTUtLWmn^Tjhxb_`¢¾bf^ hRPÌ«Xjh s?WVgbeU²NWV~o mTW]hbKhxRT_co Í_` _`bk hxRTWvx¢*_lorW Ê be^noWVtLmTWV^fhxa`qf¨ UUbb~~ _`_` − − + > ¸ c _ e d n m v W M @ ~W}T_lg9ho¯hxRTW RPjkv~¢·jevW¾jevxgRT_`hWªg9hxmTvW bkj − UKpbb¢<~ mnL(a`b _cdeRJjea`dfbevx_¡hxRTUU:mT¬ia`h _c}Tha`}T_lgvjk_cUh_cbejk^µvx_`acbeq¦}?g Wbfvj^nhxorbe_lorv hxo(snjf_c^ orWªje~ ^ be^µhRnW mT¢*^nRTobf_`dfoW^TWV_`~µ^n}TUmhxmTo a¡hx_`}na`_cjeW^nvK~ jk^n~µj¦jevUWbo~WmTacWVacg9b hxWV~ sAq jU+omnmTa¡shxh_`}TvjeacW g ¥hWVWVvv ¸ _`dfmTvxW @T² F b~mTacb U+mTa`h_c}Tac_`WVvsnjforWª~Kbe^KhRTW pb¢< L(c_ deR¦jea`dfbevx_¡hxRTU:¬ ~W}?W^n~T_`^Tdbf^ jk^n~ ² UUbbA~~ _`_` @ Í Ì ! Ä#"%$'& ( *Z*) 22*)( 5 -* d1>*,+* 13 .- ` d1 /) ?2 5?2 #)?'+* Ub~ _` 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^LmTohsTWVh~vvWªjejeog9a`g_lhxj]v_`_cbfs?h^nRTWVoVW]~©¬ g jebf{3sPUKb}P´fga`jkWeWVvx¨´e_cWVohbeRTv^KW vWVbkp¢*1bhzv¢<¢·_`h b_cL(^TVd¯_cde¤kR«jesTa`cjk_`bhwac¢(de_c^fbfohxvW_`mnhdfoRTWU vhxowb¯jk_c^Ade^n´eW~Kbfha`hz´fv¢·_lWV~b o bkjkw^n~4hxRThWKb©omTvxWsUhxvxbjf´fg9W¦hx_`bfh^nRToiWµjkg hibfhURn}nWjk}Tvjvx_lhxg beW+vª¬6be{ijoxalojkmTvxUdeWVWJv(hxU+Rnmnja¡h hx_`}TacW je¥^nWV~ v ¬H» W Rnj´eW Ub~ UbA~ ~_c´ ~_c´ UbA~ ~_`´ . x. n. y ∈ {1, . . . , 2 − 1} xy. 2n ≥ xy 2n 2n − xy ⇔ xy. ⇔ xy. jk^n~. ⇔ xy. UbA~. 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 ^ ~ Ub~ bkhRnWvx¢*_coW jk^P~ _`_` jkjk^n^n~~ ` _ k j n ^ ~ ~_c´ behRTWVv¢*_loW ¸jhx_`bedfvmTvxÌðW;hRn W§_`}nac`jemPvxozjehxvxUKjkWhhWVWVovxohxRTWg¨ bevxvWªor}?jkbe^n^P~ ~_`^ndJjeRnvjeWvx~_l~¢<WVjk^fvxhxW_cgVbfjk}PaWVhvrb hRnbfoW~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~ Ub~ ~T_`´ Ub~ _H¸ Gn_`WVdf~ mTvxpW·bP¢<² FL(_cbde~Rmnjka`b acdebfv_`hRTU:¬ U+mTa`h_c}Tac_`WVvwsnjforWª~+bf^hxRTW*Ub~A Ub~ ~_`´ Ub~ Ì« Í ( *" * )+! 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´ ~_`´ UbA~ 4 4 #7 4) 5 4 '+9 7 U_` b~ UKb~ ~_c´ ~_`´ UbA~ ] 4 5 *h)?1>* .3-* *?3 4 4 h ; 7 4 '+ 2* bkjk^n~hRThWJRTW*hz¢g bfb¯Uo}nmTjksvhxjvxhxjfbeg9vphx_lWovo^Tb_co§acbeoz^nhxdevxjeWv_`df^TRfWVhg°beWVvxox¢·ojejevvxqf~p¬D²¦Q<¢RTW·WvvxWVWU¢*bvx´_`hjeW a 213* - 3* /) 5* R* + d1 /) * )( /)7 ( 5*? (xy. Ub~. 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 Ub~. (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:Ub~mTacb vxWV~mng h_cbe^µ_lo~WGP^TWV~ UKb~ ÌzV Í hh» _cb }TWiac_ jkgV}Tjhx}n_`a`bfq^ ² ÌzVjkacdeÍ bfhvb§_`hÌRnU
(46) Í jk°^Pbf~v bfshxje_`^j«sTU_`hb_`~^LmThWVacbdeWVvxoisPWVa`bf^TU+de_cmT^Ta`d UbA~ =. M + dn +. i=0 n−1 X. d¯i 2i + 2. i=0. !. (2n + 1).. . m. hQ<_c}TRTa`WW¥bfW}P¬:v:WVvx» hjkbhW;bfRnvD~je~WV^noxWg ~}nvxac_c_`WJg s?hWhxWVRT~+RTW³beWVv^+orW§}?¸WVRT_cgdeb_cmT¢jevxaWhxgb¦]jeoozhWVhxvxo;_`WVacjkA¢*h+g beRTg UWVbfvv}TW vxvxWV_lg orhWªacoDqj(hURnWVmTbfoa`Wv hzg¢jeob WVo¢*_¡hxR;je ^sT_`h*_`^LhWVdeWVvxo jk^P~ U+mTomna`hg_cR¦}Tacje_`WVo vV¬ pWh·mPo~W?Gn^TW _¡_¡ jk^n~ _¡_¡ _` U+mTa`h_c}Tac_ gVjhx_`bf^;_lo<hRnW^:W ¥}TvxWVoxorWª~§jfo F b~mTacb Ub~ Ub~ _` Ub~ ̺ Í UKb~ ¢*RTWvxW _` Ub~ je^n~ ~_`´ Ìzf Í AmTsnorh_`hmhx_`^nd Ub~ Ub~ _` jk^n~ Ub~ Ub~ { Wª~orhxUbje}Pa`WVvrU°bfbv~U _ G?hxgRTjW hx_`Ubf^ b~be_ GPWV~tLUmnjkbAh~T_cbemT^ a`b Ìze Í _lo¦orhU+_ca` mTa`vxhW _` K U b ~ U b ~ t L T m c _ v Ub~ }Tca _ gVjhx_`bf^ bez{¬|*WUWUsPWVvhRnjkh °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^nRnoWVjtL´emTW WVjk^f^Phx~ a`qf¨k¢*¨ RTWV^ ¨je^n~Ì. UKb~. UmTa¡hx_`}na`_lgjkh_cbe^p¬ Í ¬¬ È ° " $ & Ä F b~mna`b ¨e¢W<besThxjk_c^ Äi É Ä Ub~ j Ä É UbA~ Ì «sn_¡h(_c^LhWdfWv _¡_¡ ~_c´ Ì sT_`h(_`^LhWVÍ deWVv Í k je^n~ bevÌ bkhRnWvx¢*_coW Í Ä ¸_c^njea`cqe¨°bf¬wv Q<RnWvxW °bevxW ¨¢W RPj´eW ¨ ¨Tjk^P~ UbA~ Ä º Ä Ub~ Ub~ UbA~ UKb~ ÄÉ » ~WVWoxg bevxsT_`s?hxWVjk~_c^sLhxqRTW{(acUdebfbAv~T_`mThRna`b U @n¬`ije^n~U_ca`cmTmna¡orhxh_`v}nja`_lhxgWVjk~h_cbebe^^¸be_c}?deWmTvvxjWhbfTv ¬ ] 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. ¸_cdemnvW² 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 gRRTD«¬]_`hWV¶^ng hormThWVvxjfW·~¦RnjebkoHNs?hxRTWWVW ^K }nmT sT0 ac_ o *RTdLWV~jhx_cWe^¨?hRTnWVq 65535. . î fDî.
(64)
(65) "!$#&%(') *'+*,- ./0213*%54"6$#&78 9:<;= 31>*?. mnje~TorW~WVjkvV^¬(Q< HRndf_cjkohbeW·}?hWbvjgbehxbeUvi}TomWhxWVW*UhoiRnW(RTb_`^n¢·}TWm´ehWVv*gVjkUvxv_corq hxjebee?Whx^DRT¬(Wi¸ToWVbegvbe_`^n^T~ ozh¨njkje^n^ng~ We¨k_` ¢·W<Rnj´eW UbA~ ¨ ~_c´ UKb~ ~_`´ °Q<beRTvxW]WWªbetLmmnhx}Tjka1mh(hxbgjebev^TvxW qjkbe^PD~§hxRT¢·)W WGPbevxsorh·hjkU_c^ b~mTacb jf~T~WVv_lo·hRTWVvW Ub~ UbA~ ¢*bkhRTRn_cWgv*R½_c^T_lo}Tmg hiacWV´jejevaca`q³mTWª¢*o¬ vxbe^TdP¬4Q<RT_coWvxvbfvKbgVg mTvo°bev§oW´fWvjka. . (g vxbeWVhjfW orWªh~RnsAjkh;qbfhxRT^T_lWeo;¬wbfA}P_c^nWVg vxWijkhhbfRTv§W]g g bf_cvxUKgmT}n_`mhhbeWª^;o§¸hxRT_cdeWµmnorvmTWiU ¤+_`^A´fbeac´eWVo _c^ hU_cbeb^³~{imTÌroacªb X hÍRTW_lo*´jkjema`hxmTbeW Ujfj~Thx~_cgV_`_cho§jk_cacbev`q;^nWVoV}Tor¨?vmTWªhUorRTWVWU^LhhWVWVWV~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`WhxRTWVoWo}PWªg _ljkagVjeoWVoV¬| ¬ _`_` jkjk^n^n~~ _` {-U+je~TmT~Ta`hW_c}Tv acjeW ¥gVg WbevHvor~WV_ca`^TWªg9dhophxb hxRTW_cjk^T^P}T~ mhHbk¬ (hxRTbeWhWKGnh^nRnjkjkaLhU|b~¬ mT1ac_`b UUWv Uje~njk~^TW^¦v§RPorhjevxoimn~Tg hWVmTo_`vxdfW^ThWVb³~:}?jk^¦WvWV°be^nvx~AU ¶jkvxhbeRnmT_co^P~Aalje gVorh§jkvxjevq~n~}P_¡jkhx_`vbfjk^pac`¬ WVa¡ u}Tvvx?WW GTGT¥¥ 6. % . |U+ ¬mTa`h?_c}T_cUKac_ gVUjhWV_cvbeU^©jkbe^n}?^ WvjRnhjebfoËvxo}Tmnvxorbe_c^T}?dbfoUWV~ b~mTUKacbkb ~vxmnWVa`~b mngWV~µ}njevrhx_cjea °je~be~nWVac´L~b_lWg ¢*vWªo<_`o ^Tjkdjkvx^nWivx~ WRT¢*bbevx¢·mn_¡hx0vW_`´f^nGnWd^nv·jkbevxaNjkhURTtLbWVmnv~jkmT_ch^Tac_cb WbeI^µgÌz_`VWV^fh<² °bfv<_logmTsnvxjfvorWVWª^f~Jh*¸bf^JuZhxRT{ W Í }GnTv^nbjk~amPjfg9~ThxoV~¨:Wv UBcbA~TmTD ¬ a`b gjebv~vxqLmn a`boxj´eW¾je~n~Wvo¨:U+jkmT^Pa`h~ _c}Tacj _ gVjU h_cbbe~^6mTac_cb o Ub~ ~WGn^nWV~sAq?² F UbA~ _`_¡ UKb~ uwu UbA~ ÌrªX Í ¢*RTWvxW uwu Ìr9@ Í + ¸_cdeUmnvmTWKa`h¤_c}T~a`_cWW}nv_cg jehx^no~¯hRT_`hxWKojk°vbfgmTRTv_`hbeWVg }hhxmT_`bfvx^nWjkbea·N}Th_cRT}P_lWVoia`_cU^TW¦b~ozmThjkacb dfWVoV¬¯{ GnvxorhorhxjedeW*_cUK}na`WVUKWV^LhxowtfmPjh_cbe^Ìr9 @ Í hb+gbeU}TmhxW*hRTW+V¤ + UhK_c}Tba`~_lgmnjka`hbe_c«bevx^¦WV~_lmPo*g hxWVRT~+W^J}njkgVvjkhvx_ljkv_caAWV}T~;vxbbe~mTmnhig sAhxqoV¬ oF mTUb~Umn_`a`^Tb dhRTWªorW hxWUvxUmTa¡o UKjkjk^nvxWVbe~U+mTh^ns?RT~WW v*gVg hxjkbfRnvx^nvjozqh*hjkhxjeRT^L~nh_l~o(Wbev*¢*}?¢*W_¡hx_`vhRjR hx_`bf^UbgVjk~^mTacsPb W+² vWªjkacH_ KVWV~;jesL~Tq;~TWjkv^:o¬HW|*^n~W ¸_`dfmTvxW]¤n² F b~mTacb UWvxUjk^T^ o*jkacdebfv_`hRnU¬ U+mTa`h_c}Tac_`WVv(snjforWª~be^:| ¬ ?_cUK Ub~ 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) . . acQorjWjeqhxsTo·Í a`bkW+bkDw}PhxoRTjkmTvWKUjk°UUbemTW jehxv vW_ vjkKoacWªde¬oHbfQ<hvRn_`RThWiWRnUU¹"o]jkLi_c~^Wªµoro}?gg vWVb_cgsP~_ G?WªWi~Jg ¢<_`hje_cjeWVsPo·o]bjk´f̺mTjkWhvx°beWVbeUj v jejko^nhW_l~´fgWjk~vacWjkq a de}TWa`WV^nUWvWj^LhhWªWª~%~¨beorqA^K^L¹ihRn_cvrWVhxoW _HKV¥AWV«~¯mnjeo^n_`^n~Kd¹iA_cqAvrhx^TW }T¥Aac _¡r°q ~TuWv´Ab]_cgWV¬ oNn¬ WV@nU¨ªje}T^na`b~ qA_c_cUK^Td i_ca`_c¸T^be¥v{i¹ia`_ccv_ljkhW ^n¥Ag W+rDA~TWvxW_`´AWª_co<gWVnoV¬c¨eh¬ RRT@eW·_¿hx¬ RT_`v~Ub~mTacb UmTa¡ hor_cac}T_ ga`WV_lgojkg hbe_cbeU^}njejea`vdfWªbe~;vx_¡hxhRTbU hxRTjeWa`chzb¢·¢(b opj*pbo_`¢<df^TL(_ G?_cdegR¦jk^LjkhDacdLdejkbf_cv^_`h_`Rn^UhxoVWvx¬*UQ<oDRTbk_lo df¢*jkRT_cW^ vxW_lohRnbkWU+gbemTmTa`vho_c}TWJac_`acWVWVv+oxo;_lo _cU_cUK}P}nbfa`vrWVhUKjk^LWVh^Lh°WVbe~µvbf¹i^ _cvrÊhxW ¥A« oje~^nW~µ´A_lg vWªWo thfRTmn_l_`o·vxWVºojkUhxRT_ca`Wqf¨U¢jkW]_c^½jkalor}nbKjkvbehsnobkWvx´ehxWRTWjRno_`jedfvx^T~H_ ¢<GPgjkjevx^fWh·v_`Wª^Porg bfvxmTEWVvxjegoWVWioVbe¬ D¸ThxRTbfWv vh~_cWVW}Tacaljka`j_chq+WWVv;~s?jkW hhzmb¢·hxhbeWRTUWVW^jjkhxjev_ca`gVgdfjkRTbeac_`vx`hq¯_¡WVhxg RTdfhUWmT^Tvxo WiWVvxbejkjkph^PWªh~~©RnW sA¬q¯Q<hxRTRT_lWowdLojkqL}K^Lhx_cRToWVg oWV_coKvrhjkhxU+bA_c^TmTbea`ala`q o mnbk̰be(g9^nh}noW+jeÍ ¬Uvxje¸beUKvx_c^nW+WhjeorWVa`hxcvxqejko ¨%df_lWbfo mT_c^¦vWh¥RT}PW+WVhvvx_cW¨UW+Wo^LmThxUo]orURn_`b^n¨N¢Îdje^nhhRn~RnjkW+h}nhxjeRTvrWhx_cjesPaDWªoz}T_`h (vxbor¢·~AWWh ¢·je^fQ<h<RThxWJbbegje}vhxvx_`UqL _ oxKjW]´eW:hRTjeW~nhx~RTWvxv;bemTsndfjeRTo}TWV~½mh(bfbe}PDWVhvxRnjkWhbevacbeWV}?jfW~Tvojhxhxbeb¯vª¬ hxRTW ac}Tjevvbfdf}nWVjkordLh:jjehx^n_`bf~ ^o_c^Ja`b¢·gVjkWVvxorvh¦qL¶g o_cjvxg´fmTW]_¡hjfo~T¬£~WAvoV_c^n¨Pg oWqL^LhhxRnRTWWVvxoW _co(_lho:bA^Tbealb¾oi~Tgjebev^ vxq h hmnob¦gorvW;_csT}~mThWV_c_calbe~~³^_lgj§jkjkhac°`Wªmnb~³¢(a`·ogjejkmn~Tvxo~vxqJWVhvbacbeg hxdeWVje_la`e«gW¬§acje_`{ ^T~Wª´´eo+jkWV^LjevhqJ^njk~³dea`bWijk¢<acbk` pba`WVgVhx´eRTjWVh_co<aW"¹gVhzjk¢Livxbv q4ac\ibe~deQW_lgo shPjkRT^nWªW§g ~;beghUvRn_`WªWho _lvxgW jeU°beawbevx}nvxWjkWhhbgRpbe¬vUWªQ<~}TmnRTac_gWVgVWojWhxhxWVRTv~µWWªorjkjkmn^nvxa¡WVh~ ojn=¬_ch^nWVLi~^nbmn~ ¢gWVhWVb¦o´eWVjeWªvV^oz¨Lhhjk_cRn^nsTW gac_vovWªRbfjemohhWKRn_c^Tjk_c^d h hjkbacde¸bevxu_`hZRT{iUoVo*¬ _c^LhW^P~WV~:°bfv]{]A Ê oijevW+^Tbkhjkac¢·jqo*je~njk}hxWV~ ! H. '* ; ' + #?0®24! "Y ·' . h(jeRT~TbW~¢½_`~hhWª_cbeRPor^J_cjdeh<^;UK¢bkbWH~RnmnjKja`bg´e_`W(}nRT?W IWhxv<jkg vx_cfWbeWV^LmToh^nje~;U~_lb´o·jk~^LormThhacvbjkjkde_cW deRLbehH°beºjevx¢·orhrje¶Uvxg~%jkmTvx²a¡hxvx_`_`q§^L}nhxa`ac_cWbeWdedevWV_logv ¨ jkorRT^nbf~ vrhx]W\^§QhRTo]W _cUKg vx}n_`ha`WV_lgUKjkWVa%^L}PhjhsnRD_¡hz¨¢*WV_ljeorgWKR;W be¥T}?gWa`mnvjo_chx´ebeWKv·beRnvªje¬ o<¶j^ }nbfjkvxv~jkWVUviW hxhb . . . . . . . . (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^LvhxWjkvxmT^nhjkbea·U}Tjk_c}Ph_lWVga`jk_c^Tac W:qµozjfh~Tjk~TdeoKWªovxW̺Qde_ljkorsnhWa`W:voX _`Í ^¬³WVÀjfgmTR v vxg bebfmTvx~T^n_`~4^Td:_`^ hxb:bevh~RTWWªv§orW§hb½}njkg vbfjkvUvxWVW g hxhWacvqoo̺¸qA^n_cdegmTRTvxvxW¦be^T _ K¬WJ¸nhRTmTWµvrhxRT~TWjvxhUj-bejfvxg9We ¨ bes?mnW hzv¢·hWbAWbe^ahz_c¢·o;bKjksTomnacW¦gVg hxWVb¯oxo_`_`´f^PWorWVvxvrbehmTvx^PW~Tdfo_c¬orhWVvxobf^Í hRTW sPbfmT^n~Tjev_cWVo deQvxjkbesTmnac};WiXbf² }P(WVvxmTjkUh_cbesP^nWVoVvw¬ bk1_`^LhxWvx^njkaT}n_`}?Wac_`^nWiozhjkdfWVobk?hRTW(hRTvxWW â 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ª_`odfomTbevxvªW¬ ²w¸TbfmTvijkvgRT_`hWªg9hmnvWªo·omT_`hxjesTa`W°bfv(jk^:z{}Tvxbk Uj jev~WV¸Wde_`_ldfozmTmThxWvx} WÎvª¨bejkj ^Pbe~ ~^TWVW j }T_cvUg bfhxmTmTo½^na`h~%j6_c}T¨a`snWhxje¥RToWW _cvªg ¬)bfRnmje{&h}nvx~m}T¢<h©aljkjkhx_cvxvx^LW jeh^nWje¥Lozvx°h gbfRTvsTU_`hacbAWªjkg9ghhx_cmTbev^p_lWo ¨ omT}T}Tac_`Wª~hxb4hRnWg_`vg mT_`hJhxRTvxbemTdfRÎhRTWU+mTa`h_c}TacW ¥Wvª¨hxRTW Gnvozh³vxbemT^P~ bkzi{)_co W´jea`mnjkhWª~%¨jk^n~ hRTW½vxWVomTa`hµ_lo horjebµho+bevxj¦hxWVRT~µg W¦be_cURn^¯jesTvxhx_c~RT^n¢<W§jhxjkvx_`vxbfWW§df^n_cjkvxorbeawhWVmngvV^n_`v¨H~%g ¢*¬¾mTRT_`h§ bL]or̰W;_«h¬ RTWeg ¬W¦be^LvxhxbeWmT^L^Ph~©_lo_lohxRT_`UW^¯}Tac°WWVU~¯WV¨psP^fhjehxRnWVg_c~ o sngRnjfjeor_l_`g^T_c^T_`d hWVvxUKjkbh_c~´eWªW oKjea`_cvxegW RT_`Ê hWªg9ÊhxmT²vWbe^na`_cq³o6bfhx^TjeW§_`acbe}TvxalWVjk~Ë_c^LhhxWb3¥Lh°WVsTWVacÍ b~gsn jfg_l o WsT^Pacbg gvxqL}TjhWVðhx~-Wv¯jh^T_cj^TW4hx_`Uga`W:bgjk ^nE ~©gqA¢ga`WWªo4gjk̰^-WV_`df}TRLvxbh¯´L_lv~bfWmT^nj~To³^TWVje¢ ^n~ _`^n}ThxRTmWh bemTh}Tmhihvjk^nor°bevxUjh_cbe^ Í ¬ pWh ~TW^TbehWhRnW+g acbgvxjkhW 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 jesTacWKf² Ê beU}njkvx_lorbf^§bkhRnW°bemTv*Ub~mTacb È ° ;Ä º Ä ÊÊ XkXk¹i¹iLL¶¶¤¤ p´fbWV¢<~ L(Db_cde¢<R -Li_`dfR ¶ K U n } v b ÊÊ XkXk¹i¹]LXfk¶¤ ¶¤ Ê jkvxvqL¶oj´fWije~n~Wv*snjforWªU~;mTjea¡vxhxg_`Rn}n_¡a`hx_cWWVv g9hxmTvxW ÊÊ XkXk¹i¹iLL¶¶¤¤ p´fbWV¢<~ L(Db_cde¢<R - Li_`dfR ¶ K U n } v b ÊÊ XkXk¹i¹]LXfk¶¤ ¶¤ Ê jkvxvqL¶oj´fWije~n~Wv*snjforWªU~;mTjea¡vxhxg_`Rn}n_¡a`hx_cWWVv g9hxmTvxW ÊÊ ¹¹VVffkkNN¶¶¤¤ p´fbWV¢<~ L(Db_cde¢<R - Li_`dfR ¶ K U n } v b ÊÊ ¹¹VVffkkNN¶¶¤¤ Ê jkvxvqL¶oj´fWije~n~Wv*snjforWªU~;mTjea¡vxhxg_`Rn}n_¡a`hx_cWWVv g9hxmTvxW ÊÊ ¹¹VVffkkNN¶¶¤¤ p´fbWV¢<~ L(Db_cde¢<R -Li_`dfR ¶ K U n } v b ÊÊ ¹¹VVffkkNN¶¶¤¤ Ê jkvxvqL¶oj´fWije~n~Wv*snjforWªU~;mTjea¡vxhxg_`Rn}n_¡a`hx_cWWVv g9hxmTvxW ÊÊ ¹¹VVffkkNN¶¶¤¤ p´fbWV¢<~ L(Db_cde¢<R - Li_`dfR ¶ K U n } v b ÊÊ ¹¹VVffkkNN¶¶¤¤ UmTa¡hx_`}na`_cWv p b < ¢ L(_cdeR ÊÊ ¹¹VVffkkNN¶¶¤¤ ¶UK}nvb´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_cvhW ¥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* hRT_lo*z{}Tvxbg WVoxobev f_`hxo<hxRTvxbemTdfRT}Tmh*_lo<hRTWV^¦~WGn^nWV~sAq jkjk^P^P~~:jKbemhxhxbe}TfmWh^osn_`dfje^noWVjk~:alo(g jebfv^LW hvxvxbebea1mhxmTWV^T~_`hVhx¬·RT¸TvbfmTmTvhdeRTRWVvhxURTW+bfviWf¿¨ThzjkqAac}?pW _`^nn}T_cm}h }Taljk_c^LhW ¥Avxh(bemTsT^Pacb~Tgo §oH_ KVW nbev*bf}n¹o_`vjh´Wje¥A_`«aljksT~acWWV´L_c^¦_lg WªhRno¬W¶^T}nmh9ÂfÀmh}TmTh]sTacbgo(bk¹i_cvrhxW ¥A« Q<RTvxbemndeRT}TmTh N N Q<H_ KVRTWVW;~ ¹ mnLio_`^T dAg qAb^T~}nW§a`_ °¢<qJjeuwo+vxdebJWV^TAW¬ Tvj¬ @:hxWVjk~µ^nsA~ qµ_`UbemT}TvacWUhbAWVbe^faloVhx¨HWV~ oqAbe^^ h n R V W o (j³bk^ThxWW¢ hRnsTjkachbg°-bevjej:o;^norbAbebf^^«°WjfWªo~snhjeRTgW }TgvxRnWVjkg _cWª^T~_c_c^T^Td:dµ¢beW^TWgVjkWV^ ^Lh}TWvvbo´Ahx_lRT~WW ¹iac_ je_cv^nhg W W+¥A A3WVv_cjkWV^no<~ÎP¬`¹f¬ _` v@kh_«W¬N¥A«Q<RTW ~vWVWª´AtL_cgmTWV_`vxoWV~§WVUh_c}TUa`bW qAvx_c^Tje^Td deiWªo_ca`°_cv^bf¥ U®{(Va` beQ<mRThxW}TmhRThvxbehvmnjkde^nRTor}T°bemTvxh<U_lo<jhhx_cRTbeW^ ^ ̺_¿¬ We¬ jkðhWvW_cdeRLh:g acbAg½g qga`Wªo Í ¬ Ube}?_`W^AvmjhxhxWVbeo]vª¨Ì° Ê *Xv¹]bfemTe^n ~ToVh¨ b RTbemnvxo<̺ vxbemTU+^PmT~Ta`ho_c¨k}TgVacjk_`WVvxvvqLsn¶jfoorjWª´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¨ Ê ¹]Xeefk Í ¬ Q<RTvxbemndeRT}TmTh N N , }n¸g vxjk_c_¡devhxmnh_cgV_lvjkjkWªa·ao a`}nbAjbfshx}³RjkmT_`^P^P^T~ g vxvxbeWVacje`sÎ_co^TWVdn_`o(ac¬ mn}Tozv¸Thxbfbfvx}PvKjkbfhgvrWªbehxo:_`U+bfhz^nsn¢jk_`b¾^nac jkqjeh_cvxhbegb§^nRTjeh_`hRTawWªWg9vxbehx^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^TjfdJgRU_lobhx~RTWªWovx¬¯W °{(bfvðW]hW^Tvbe_ch·^nvxoWVWvghbe_cUKbe^ °pWWWªhi~snmnjfogoz hxmng~Rnq je_`Gn^Tvx_cor^Thd½obeUUbW+~WVjeoVvx¬/gRT_`QhWªjkg9sThxacmTWCvWª@¾o*~~WV_cdeoWª_cdeoz^Tho:Wª~hRT°beW©v(U^Tbfje^_`^ bk^Tbe^}n«_`°}?WWWªac~_`^nsnWjfgorhxjeUdeWªbAo~T¨AWV_`h*o jfbfgRT^¦_cWor´eUWªjkoacpdfbA~bAWV~;´L_lg WWª^Pog ¬ vxqL}Th_cbe^§vjhxWVo]̰_c^ H_gGnRnWVje~JvxjfUKg9hbWV~v_lmnora`hb _lgopbePz{½U+}Tmnvxa¡bhx_`g }TWVacox_logbejvhxop_`bf}?^Wv¢*°be_`hvxRJUK_cj;^TdorUhRTjkW<acUU+bmT~Aa` Í ~-oRTb¢(ojk^½jkvgRT_`hWªg9hmnvW¢*_¡hxR°mTa` h_c}Tac_`WVv*jk^n~;jomTsnoWVtLmTWV^fh<Ub~mTacbKgbevxvWªg9h_cbe^Ì¿jkacdebfv_`hRTUo ¸ c _ n ^ e j ` a c e q < ¨ ¸ ` _ f d T m v J W k hxa`bAjbehx_`}§bf^nmTo<^Tvxbkbeac`h_cRn^TW d+sT~a`Wªb~g_l§gjghx_`WV}n~RTWhxvªb¬NRTQ<_cdeRTRWhxhRTRTvxvxbebemTmndfdeRTRT}T}TmmTh·h<_`_lUo*}T^TacbW¢ UW^T hjkRnvxW*hxWbq g acjk@ WV}TÍje¬}nvacvq uwb¥hvRn_cbUW(gWVjkUoxhorWVbfbfa`orqvxhwo v_`Wª^L¢·tfhbemnWVvxv_`AvxWªW_`oz^nhx¤ed_`^n d¾¢*°_¡hxbebfR¯vwh¹ihxRTRT_cW·vWhorW achx_l¥ARTg WV_`rvoVH~©¨~¢jeWWa`´Adfg_lbeg jkWªvx^+_¡ohx²_`RTUKjeU o Q<RTvxbemndeRT}TmTh N }Taljk_c^fhxW ¥Ah(sTacbg§or_ KW }ToxjkacWUUW(W¸^Lh<ujZg{Rn¬ jk(_c^Tbk_chx^TW*dhURPjbhN~hWiRnbfW(vw}Thx_cRT}PWWVa`o_cmT^TsTWifgWbeq^Lhxojeg_`RT^nWªo ~mTacW(beoz^hjkhxdfRTWVWo ¶g ^µWVoxojfbe~Tv~g_`hbe_c^Lbehx^ je_`h^PbohxjRTorWmTsnzieWq{ Ug WbfUUKbf}nvqmhx_cjkUKh_c}nbea`^WVUK}nWVj^LhxhRpWV¨D~+Wªbeje^ gR Ê }Tvbeo betL^mTWoz^LhÊhxjka`qfdeXkWª¨¹+o¢·VbffW^eor·Rnjkbe^nÊ mT~ alX~³¹~kÊ eWV¹gJbeV~UfWe}?´Akbf_l:g oWVW~oWVhx´LRT̰ _lW§g Wª~T§owjk̺hxvx j¦bemTor^PHhvx~TvWVbfo jeÍmTU®¬ ^n~TÊ _co ^ bfÍ ^njko^nW ~ Ì}T°vxa`beq¯mTgdfbeRT^na`qo_lozAhkoK_c^©orac_lg j¦WVohxÍbeejkWV^n^¯~jejoxorgbbeg^L_chjkvxhbeWVa1~µmT¢*^n_¡_`hªh¬wR-Q<WVRTjfWgR³acjk}ThrhacjeWVv*_`^Lorhx_cW UKE ¥Ah be_c^:v j°WVorWVWV~}nsnjkjfvjghxWUUbWV~oxWeoxjk¬ deWªoH_`^bfvx~WVvHhb mnoW<hRnWVoW*}TvbgWVoxorbfvxo hhsTRTWVa`bg W hgmThx1bevx¬WVf¶oVW^¬^¦jfor~TWV~a`Wª_`g9hh_cbeo<^hRThb W_cg ^nbe~vx_lvxgWVjkg9hh(_c^TomTd]sThfRTWW*q´o<jk_`ac^¦_l~_`_¡hhzWVqvxbkjkPh_ch´eRTW W(jk~TvjkghxRTjn_` ¨ hz¢·WWQ<^RTjkW:vxWVorWªj*g jkbf^P^n~ ~©Wje^na`gdfvbeqAvx}_¡hxhxRT_`bfU ^vbkj¼1hWWvbeo+^hxRT¹W:_`vhsPWWª¥Loz hJhx~vxjfWV~´AW _cg WVbkoV¼¾¬s?{(W a` h_cUKRnbe}nmTvdfbR:´fWVjfo ~T°~vxWV_c^TtLdmTWVj^n°g beqfmT¨HvhhRTR:W}Tvx_cWV}PoWVmTa`_ca¡^Thx_`W+^ndJorhxje}TdevxW]bg _`WV^oxohxbeRTvWvxU+WVtLmnmTa¡hx_c_`v}TWªaco+_ Wj v al_ljko(vxordemnWvvw}Tjevx^n_lor~_c^TUdbejkvx^nW(~:W ¥}n}?vbfWsn^njko_csT´eacW(q§~gWVbe´LU_lg WVWo·Ìº°QvxbejkU
(76) sTacW(hRT W Í ¬NvxW Q<hxRT_`U_co_c^TvWªdormnjka¡a`h ' D deg bbf~v_`WhRndeU®WV^TWbkv<jhxhxRTbeW§vHhobKqL^L~hxWVRToxWVg ovx_c_co sPW(hbAWbe¥al}Toa`¬_lg »_`hacW§qRTRnbj¢´fWKhURTW]bU+~_HmnGna¡WVhx~¯_`}Tbeac_ mTWvv % be{(^acZ nj]W ¥A}?mnbeW^wvxUK_`F UWV_lWVUg ^fvxbebfhovxoqq~ozWªhx¬oWg¶Uv^ _co=s?je\(WV~n~Ka`~h_`_¡v^hxj_`bfhxV^RT(_lowhx¢·b}nbejehvxRn}PWKWVozhvwzj¢hx_`WVbfv^§{W<̰}?fg WbffvU°beF}TvxUmL hxWVjkKf~ ¨ _lmn}To]vxg behxhob}njesPdfWjkh_cWUKjf}n~Ta`WV~UK¨ WVvxWVo^Lh̺WV¸~p_cde¬mT» vxWW ormT¬KU"Q<RTmnW}J¢*~hx_¡hxH_RTIR³W gjmTa`hxhz}nvqjeWVWvra`hx_cWV_cbejeo]·a_cg}T^JjevxvbhxvxRT~AqLW h_cbe^ E }PjhRD¨(WVjfgR4}TÍ vxbAgWVoxorbfv§g bf^Lhxjk_c^no;j©omTsTeWVq½UKWVUbevxq ~WhWvxU_`^Pjh_cbe^-bk(hxRTW:¢*_c~hRÍ bk(hxRTW:_`^LhWVvUWª~_cjkhW:ormnUoV¬ . . . ' '
(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Ê ¢Rnbjeovxmnjfgg9ghxWWVvxox_coror_ch´e_lW]go*vxbebemTw^nbe~nmTov]¨ jkvgRT_`hWVg hmTvxWVo(°bevhRTW+¨ hRTvxWW¨PU+jkmT^na`~ h_c}Tac_`WVvsPÍ ¬jeoWV~ be}?Wv°j$hxbevoÄ̰^nb§¿ vxÅ Wde_lorhWvbeÈ^s?bemnÆ ^n~Tjkvx_cWVo È º Ä º Ä §È É ¿ Ä È p ! ; n ÊÊ XX¹¹VVffee¶¶¤¤ ¶U}TvxbD´ebWª¢<~ - LiDb_`df¢<R -Li_`dfR Ì̺eLX Í @k@k Í @k ÊÊ XX¹¹kVffe¶¤ ¶¤ + U T m ` a h c _ T } c a ` _ V W v ¿ Ì e ¤ Í ÌÌ«e Í VV ÊÊ XX¹¹kkff¶¶¤¤ ¶U}TvxbD´ebWª¢<~ - LiDb_`df¢<R U+-LimT_`a`dfh_cR }Tac_`WVv Í V ¿ Ì k ¤ Í ÊÊ ¹+¹+ªªeeffkkNN¶¶¤¤ ¶U}TvxbD´ebWª¢<~ - LiDb_`df¢<R -Li_`dfR ̺̫nk Í Ê ¹+ªefkN¶¤ U+mTa`h_c}Tac_`WVv Ì A ÍÍ (bkhxWhRnjkh hhRnbAbfWaco<~TWVooRT_`bedfmT^Jal~bk·s?jkWVvxg_¡behxURTUWW jkh^§_lg_cUbe}?}PWbfvvrjhhjkbf^Lvxh<oV¬ vWªQ<orWªRTjkWvg~RWVoGn_cWdeal^~§be¢*_`h^TRnWV_`¢ ^ hRnW ¸^T_`W ^P¥Ajkh(ac`qeqfWª¨wjkhvRnoW:¬ gVjkvxvqL¶oj´fWje~T~TWvKsnjeoWV~©be}?WvjhbfvacWVjf~To hbaljkvxdeWVv·je^n~:oracb¢·Wv<g _cvxgmT_¡ho ̺QjksTacW+ Í ¬ Ìrª Í ' , jkÊ ^ be^noWVtLmTWV^f hxsTa`qf_¡h(¨n^AhxRTmTWUosPmTWVU£vV¬Hbk» HWhz¢·~b WV~Tmn g sTW_¡h]°vx}nbejkU®vh_lÌrjkªa }TÍ vxhxbARn~Tjmnh g9ho(_lo }TQvxjkbsTg acWVW§oxo¤bevJomToUmTU_`hxjkjksnvxa`H_ W©KVWVo°behxv RTW§°WWVgRn~Tjesnvxjejfgg9ÎhWVgvRn_lorjkh_c_l^Tgo_c^Tbkd4(UobebU~WWVoVz¬){i{ o h_c^nRng W¯vxWVvjfbformTWª^now~Tjko ^n~jkvx¢W³W(^Tbfbs¢ hxje_`g ^§beU´eWsTvx_cq+^njacbhx¢¾_`bf^nWjk^Pa«g ¨vxqLh}TRThW-_cbeg ^vx_¡vhxj_cgVhjkWªoa+¬H}PQ<jRThR W hhsnRnRPjfWjkor^¯_lgs?WVo_¡orqAhxh]orWhvbfWVj^TUhW_co´e°W½be¢*v_`jkh°vR¯WgWVRT}n~T_`hjesnWªvrjeg9hxgh_c:jemnawvUWÎacbLbbf̺~¸}³WV_coVdemT²(mT^T_`vxvxh]W bevxac`WV_ctL^Tj mTÍd_cvojeWªW^no(W~³UacWVjeooxgoRThxob_cacW_ ´fgs?WVWVWoo ¢*jk}TRT}T_cgac_RJWVoi_coomnjkg^ R¦vxmTacWVo*hxb§«sTsT_`hmn^A_`almT~:UhRnsPWWVvV¬ÀmTv¹ ULimT a`h-_c}Tdea`_cWW^nvªW¬ivjQ<hRTbfWv hRnWojeUKW]hxRTvbfmTdeRn}TmhV¬ ^TVRW¢Î@+org ac_bfgU+WVosTg _c^nbejUhx_`}nbfje^nvjkWªa1~Uhbb~XemTkac b °bfvwhRnWi}Tvx_`U+Umnjea¡vhxqK_`}Tg ac_ _cWvxv*gmTvx_¡WVhªtL¬NmTQ<_cvRTWªWo % # . hUKXRTeWª_loijeoojemTac}T_ vxg}TWVWVvx~obfjeje~^ngW~R;aljT_cqJo(¬ÁXbeUK^nbfohxvRTWg WbfbfUKg sL_c´A}Pvxg_cjkbemTvxmnWV_`ho·~K_c°hobfb vi@ToVWV tL^PmToo¬§Wac_ ^LgQ<hxWV_coRnjeWa%je^nbesP}?~ WVW^TvW jGThhbfvx^nbkoVo ² °vxQWVWVjkjkosTWVhmTacjkW vvxWVgRTo< WVbevxoV~¬hx_cRTde» WVWªoozW+hWo
(83) dfz_`i´fvxWWVo{RTmTWVa`hx}TvoW+vxbAj§g}TWVsTmToxvxsnor_`bfa`W_lvxHoroVRnb¬ WV´f~ Wvx´AsA_`WVq ¢ obebeNUhRTW/WbkUhRnjeW_`^ v °bebe}?vWhvRTjW(hbfoxvVjk¨UhRnW·WacjkzhiWV^ng { q be}Tnvx°bbeg mnWªvHoogbea`bv g¢*_`ghqAR³ga`°Wªmnoa`¬·Q<a`bARnbfjk}³^nAmTo^Tvxhxbebachx`_cRT^T_ld o f¬ Ê vqA}hxb bAbforhWv Ì bLoje^Aqfj *? B` @PD jk^n~ E h Bc(D _lo j F RT_cdeRTacq"UbA~TmTacjev 7 je^n~"vxWVgbe^ GThxo_`^Lhxb§be^nW Ê ¹+ªeee4¸uZ{¬%Q<RT_loiW¥}PWVv_cUW^Lhi_ca`cmnor V W n m g n R k j E hvjhWªohRnW_`^nW Ig _cW^ngq behxRTW§jfg9hmPjkaoqA^fhxRTWVo_lohbAbealo°bfv GndemTvjksna`W gbeÍ }Tvxbg Wªoobev hxjkA_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_`hWªg9hmnvWbkNjk^ mT^Por_cde^TWª~§UmTa`h_c}Ta`_cWvª¬ vQWVjedesT_loza`WhxWv<n² be^:Ê s?RPbejkmTvje^ng9~nhxjkWvxvx_`_cWªorho_lgs?o+W hzbk¢·(WbfWVmT^vKhz¢jevxbgRnomn_¡hxgWVgg9WVhxoxmTorvx_cWV´eo W]°vbfbfv+mT^nhxRT~TW;oV¨ hRTvxWW;U+¨mTa`h_c}Tac_`WVvK¨ sPjeoWV~ ¨ be}?ÄWvjhxº¨TbejeÅv^no~ bf^¯¹iD_c vrÈ hxÍ W ¬ ¥A 6Æ ~WV´L_lg Wªo;̺^Tb È ° Ä º Ä §È É º Ä ÊÊ ¹+¹+ªª¤e¤eeeeeNN¶¶¤¤ ¶U}Tvxbp´ebWV¢<~ L(pb_cde¢<R L(_cdeR ̺̫R @ Í ! ; T Ê ¹+ª¤eeeN¶¤ U+mTa`h_c}Tac_`WVv Ì«k¤ ÍÍ _cgÊ ^½mTvxvqAbevx}Wvh~^Lb Whv¸bAhxubLbµozZhxjfW{igv go+Wjkac_cWUK^nv~j}nha`¢·W¦WVUKbegvxvWVLqA^L_c}hx^Tohxdbede¢*hvRT_¡jkhxW,}nR³RTj:_czg;iRTjkbfacorde{ hbfvor_`qhsTorRTachUbAWgU oV ¬ UKgjkRnac`bjkb~_c¢
(87) ^Tmn_ca`^T}nWfd)¬jkvQ<hmT_lRTjk^TWa(_`hVvxU¨ WVgjebe¢*_`^ ^_`GPhdeRndebfbemTjemvaDjh3behxw_`bfUh^-RTb_l~beo_`°jkqLhxv_cRTg^TWJRTd _`hg WVbfjeg }T^LhvxmTq bAvxgW+WVbk_loxhoorRnbfhWvVb v ¬ g_`Ê}TRnWv
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