OpenCores
URL https://opencores.org/ocsvn/present/present/trunk

Subversion Repositories present

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /present/trunk/32BitIO
    from Rev 19 to Rev 20
    Reverse comparison

Rev 19 → Rev 20

/doc/present_32bitIO.pdf
55,7 → 55,7
J[=!Fʂ-ټݾR.IȞvݺnݦޖh8t+1&) -4Lh4PXCT"^/` 8F#)PQ'X}.SyW3vKc>`>+ҚK[|f=a"8oӔ +4Lh4PXCT"^/` 8F#)PQ'X}.SyW3vKc>`>+ҚK[|f=an?ӗ endstream endobj 30 0 obj << @@ -149,17 +149,12 @@ /ProcSet [ /PDF /Text /ImageC ] >> endobj 46 0 obj << -/Length 704 +/Length 830 /Filter /FlateDecode >> stream -xVMS0WhDZP>f - 8[~}Wcd&ԗpQdgJ{ht auov$F9`F\g8Z0grNhp84d5[|a _YOpއ-8ՇWT$U4a=D-^=j2O%uiSeaUz\r)c>™1c;2"ʖ]wSq3 -Pˆ1(#eJ5%3PΒ@$vE%HZ -)( qbyd~Ya^V"yz5mYK>kcm-@I]ҺV -Y͛M;a| _Us71ёKϴiõH/7X!iwUټe8WO'S\-n/ըC'o%Hv? - +xVKS0WhԊ޲PHO!M q qjz8Mp'ԗpey}շݛ\#J!5R!S-d.jr SN1DY(Hv΢nwxJ'#tCζasE%$N$"F-Ӟ= +'z>lLcJd LaӈRJ 5ʯQO<ڟlHkA¡FW1";;$0a~GF{B)& R`c`XbJ{qWuQgQ)4ş5bh 5}`ͱ!`IDP]sSPF |z4:=DtUgfͱ(5u$q>/@՟Y5Qb\zy3V[@rUL`2@`%`#!XwY=}*ČyYվrK+up׍}03g?6~ jW2LH]֣!XvY;k.m]z;{.yq4l`ʢYQVT/tI]UVE]޳zψ!6fDws;f~l^Ao!&q6!ZCI[ Y-C܍nn`K G`zPOhu@8DGkeBpn֘%zNJ4I(Ch ˀW%:sEy7g endstream endobj 45 0 obj << @@ -210,7 +205,7 @@ 4d{rs b &%oCӁy*6RIa0*wY!00c>L:K/S'G+@CZ;9 NFI\R4w%d9x.pSw]M~N<B)@" M_5});DiRk7iӯo޶M!9aB54]ئEY틗}[e(^f0<~Jy0 )dV!12mx<;9vӦvh(X jctSi}RI$8%Uh6EAs[VM7hP49ŝmPBaF?l6%v] -c Hi"\։$>,n0T]匜$i܀d@חo]yG; 1)[vv"fLǨҮYmV~x˃ϓ>qwA {9KR3jG +c Hi"\։$>,n0T]匜$i܀d@חo]yG; 1)[vv"fLǨҮYmV~x˃ϓ>qwA L2=^_GE endstream endobj 65 0 obj << @@ -306,18 +301,13 @@ /Filter /FlateDecode >> stream -e - -.sH!"4E;/9e(ή;v*TOoEU\<<@'Dh~pw{J>ܬZ61:PxCuxJMð`;b_SW57Xjo2E5fQa -8]*U՗Ps{5Q߁8`;)4;"!ó倰JS_l?mֿ=nۇԌ( A!c -n\w1Ec* +xWKoFW>@dnQN a`@Ę",@.vfd6:'8Kx"ٽ%,3a„ Y];FY9b)=Nq$) +&hE>-BG sFNZ65R0Xd{'hb:rzf~Dۣ<-qHsv;ʫaV#}[%5P_p|McX)ӰoӡPk=mݻ| bɅ>ɹ0XS",cE¡鞪فQ?6?mҿ_C>`!P1xW՛E endstream endobj 82 0 obj << @@ -635,7 +625,7 @@ /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] -/Rect [460.445 521.324 468.502 533.767] +/Rect [456.777 521.324 464.835 533.767] /A << /S /GoTo /D (figure.1) >> >> endobj 73 0 obj << @@ -667,18 +657,21 @@ /ProcSet [ /PDF /Text /ImageC ] >> endobj 100 0 obj << -/Length 1597 +/Length 1625 /Filter /FlateDecode >> stream -_׿'HJyqzOTR^]uғ "Vfyt^2YI*{0+ҩ4txbaݮ38uxNmS m]$M``+MVvQm7gϺl G$#;u|C>||r)&o#ĄW~8`*O+Exېʖ{pc#v':|}5}׏OUD;I-'`S/*_8Rq(D@! +o*bm5\Gu*k5wl-w# f"@FE .pԷ]ri;aK] +͏G*n̓&-xpZ3 {̨ͥI/Nu;Q ݦu"9 +Ȯ(F3Gr" ~ۮ endstream endobj 99 0 obj << @@ -783,7 +776,7 @@ /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] -/Rect [329.023 678.008 337.081 690.451] +/Rect [478.239 678.008 486.297 690.451] /A << /S /GoTo /D (figure.2) >> >> endobj 101 0 obj << @@ -793,10 +786,10 @@ /D [99 0 R /XYZ 77.669 724.535 null] >> endobj 103 0 obj << -/D [99 0 R /XYZ 224.608 493.334 null] +/D [99 0 R /XYZ 204.595 491.935 null] >> endobj 105 0 obj << -/D [99 0 R /XYZ 224.706 299.834 null] +/D [99 0 R /XYZ 176.194 298.435 null] >> endobj 98 0 obj << /Font << /F37 36 0 R /F48 49 0 R /F55 102 0 R /F57 104 0 R >> @@ -804,30 +797,28 @@ /ProcSet [ /PDF /Text /ImageC ] >> endobj 120 0 obj << -/Length 1923 +/Length 1961 /Filter /FlateDecode >> stream -YF -*xkG:C-T<9YN%c[:>/VǷe&WM{sլdQ"3ƕ ZIo[W*Q<˺OankomwM>[X[ݞݒ255M_W@u⣀C(f#oV -NT.{8T9*?`@qZ[|<Њ3R7p 6y{4CEm ]Gsh r7mo열G itfSe> <~EmSGb@UA&A7% RnN9~[.+6hAr29/0'8QOtm4&6 -" -%} -) )nbfz#|xtQ:Ax1 +! + ] E?'&U2A֥Elm_SߞWu \.7.MtCYޖ}}ߏol72D]踨t3(z{T8+TO}PQP-$BN&C!3Es+{n.CAԳhd -kO+fAͫhôY5TV;0ĄIg{H鵠١>p+;{! ataථv'kŞ M_{Pm=7Dz:x]&'3Qáw DqB;P"ht GUT!YDK? +lgM˼Xƅv% +]U&F0{o'8JO\ Va+b=Qq: +Qn=źSi +.mI^RJjJ!m +'{TѼ<8,GKő5bt0<]Rq0( +@JRt3} ƶ;_Amzm.PUۯmRPSknܑB$/W޴2('jB S揶{&}sW:C "XpPbuTS⌫zO] endstream endobj 119 0 obj << @@ -1118,7 +1109,7 @@ /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[0 1 0] -/Rect [483.003 680.435 491.061 690.2] +/Rect [125.034 666.886 133.092 676.651] /A << /S /GoTo /D (cite.PRESENT) >> >> endobj 107 0 obj << @@ -1125,7 +1116,7 @@ /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] -/Rect [485.757 650.91 493.815 663.102] +/Rect [110.13 637.36 118.188 649.553] /A << /S /GoTo /D (figure.3) >> >> endobj 109 0 obj << @@ -1132,7 +1123,7 @@ /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] -/Rect [254.289 320.004 262.347 332.447] +/Rect [254.289 306.454 262.347 318.898] /A << /S /GoTo /D (figure.3) >> >> endobj 110 0 obj << @@ -1139,7 +1130,7 @@ /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] -/Rect [297.778 270.983 305.836 283.295] +/Rect [297.778 257.434 305.836 269.746] /A << /S /GoTo /D (figure.3) >> >> endobj 111 0 obj << @@ -1146,7 +1137,7 @@ /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] -/Rect [297.778 159.131 305.836 171.443] +/Rect [297.778 145.582 305.836 157.894] /A << /S /GoTo /D (figure.3) >> >> endobj 121 0 obj << @@ -1156,7 +1147,7 @@ /D [119 0 R /XYZ 77.669 724.535 null] >> endobj 122 0 obj << -/D [119 0 R /XYZ 230.319 437.137 null] +/D [119 0 R /XYZ 230.319 423.587 null] >> endobj 118 0 obj << /Font << /F37 36 0 R /F48 49 0 R /F55 102 0 R >> @@ -1168,29 +1159,31 @@ /Filter /FlateDecode >> stream - fӎMyeeo^]jew*r Td,-!!EZ4֜g$"e!%W7*]zn|HձЉX͜ `ɐ}OЂ - B+0vN.@d@x -&i' Xq)Uki6C ˈW >.{4:VW!8pEΟr?T{wi*𰊗i0=j4䪣 ۬nu;^/am+891MkaQ ˥و`M\FTW,2QxG%\>ÆwF<[E-0qi!tc:.6a#Fu\l;ŽQ\$##=CFMw'A^o_10"9"6q XG& DFTP_EDqC9 -_!F0 |s!ڍa]Ә!֍X|tc:5Q]΁ -ƢqNJ$qY@j7ai]\4X -+% +xZ]s}%U*@koZ[wT +K&+hO њ[1 }L0)`x[O(S"DD o~&~27HQ} +}cLү+ + +=B:j}NCSIoڸ:ھ_Fv-0vgJRFxWA!̡uVRR!*+L?P =a[zؘ(ǓǻέA͂>|z]E_]`.Et\XfYZ.q8K\~"Χlɥe#6$(:8AVLQP`,@4p2FvWum6o' M;& 7ԥL`|_EԾԶ3E~@V`T7fVq C% +Zb+!-" }q8$ȫKq+ƷfCBùZMBb![ F +LP_%Dr9!nx"xx@UI"8 +j*e` Q6A׭y`8 +lߜyHvcRˮ̐U|@tc֢keQӜHHV?I{f6Ml1 1ܩep[i1 1%t`:1@kZ poЮ6Eq($R-9.mM_8?Hp j 6=LXO.~|PC +7*rB +lXd ɠS}->_,ijErL~ کHNsp(.Mդ;|@>v7׌\!}SHkzdiE9M& +$`>ڙ4%M05A.uՖ4l Z2H2Zj~(V;5FSV6zmKM$cwMT'J[qZ&k/Nbh/Mt-eTEp\ѮmZ$a%ncT֯џε礪Jme922g;s3[$5p MI~_(r<9t_{L^`Dpt(8<$ꀿ/a endstream endobj 131 0 obj << @@ -1255,22 +1248,21 @@ /ProcSet [ /PDF /Text ] >> endobj 149 0 obj << -/Length 1046 +/Length 1055 /Filter /FlateDecode >> stream -xVKo6r˧("momV*J^$3#&@rf<8jIH -r]/~_\<2Vb -X -G)4C<ܥv %S(ښo"a0r)_ -ՖF\uۗsr'#ux95wdey\ure!7tRY?$AƫU+i{?O 6qFS@cB/%Y|)R)?^7S`*Eg:魲yBsя[9 p0'mo= +{UI +L[&T6FM[(I OayDŽ%Y|-G[o%@z +P endstream endobj 148 0 obj << @@ -1306,7 +1298,7 @@ /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[0 1 0] -/Rect [274.441 626.238 282.499 636.004] +/Rect [322.287 626.238 330.345 636.004] /A << /S /GoTo /D (cite.PRESENT) >> >> endobj 150 0 obj << @@ -1334,7 +1326,7 @@ 8.ݚ:bkAkS_z(vY yɫP@¾l; 堾ՀmU 0;iV: hB|U<&?I8$HW}_&iEAY -A9}lTc6Xca&C埕婽-|&&`{ L3EmƼ婟"ܸT7qqQEu컱A3wуwaH07;]h$v +A9}lTc6Xca&C埕婽-|&&`{ L3EmƼ婟"ܸT7qqQEu컱A3wуwaH07;]hT endstream endobj 160 0 obj << @@ -1423,19 +1415,17 @@ /Filter /FlateDecode >> stream -xVߓ6~_eLwu.N>榽Ia|]iG>v&/Z]:M^ጆ,NsJ9RxNuޒ>zc 4v -04Xc_9|9t K=?S7TxXVA롽]y{HJv; X-ʙsݱPB)`J8 1Ey09 #tEB7I72:gcyp4%ȹ>-IMu/<h -Uig4YYɱ*]P}̶fMe2 -XMܤ6C.B`#F2pKtGWU}-xq2ą&Fgg3R\EgEײ1+⼵*!,~f[2b<á%y h^m(%:hEEJrל5(q^Ac -!FCˇr.ϟ -7ЮMs$6A'4mW^(jX#ׯ#i[~[s mSle}L# P$>7|?Qcmə4q!֣}>T3aZClC]Z(}yr[^/w|w2x1JoS*T8t?5!Cf|zSg -v/Kؙ +Vp, [Yn?7xPanwZk=f;00"W8*z]C"7XXw )gA=B g# ,<U?`>mnEFUɐK3<9Ȑ !)>}(weq@z^qn6u}nh'E^:РZ49<˯ɗZMUh` d>@P$QJ$1r]>P2 (N8dV(ڸ]kCCV.ϟr mV0"+v}P!RŃK,5me7n& +:>3m;cU^_Pkn^S:<^GgQ|npBS/qIJWGToEygM'U\#Imlb5]GZ]MMVM8&hȟQ4

{G_!#iW~[{ ]S֮22Ҿ?F`E(y=3ZCqL83=0-FH!n/nWQ p +WDCȱxnKZ춟uz֛)joƊ9xy4 +ñ}dVA@վDi;JSsB:?ꗾhl>sZ /CיW#xhOJ1}yO3W^/w|{2x1JgS*T8t>!ꃶ>CN7 +/q؜ endstream endobj 179 0 obj << @@ -1493,7 +1483,7 @@ ngL~:zzlE ʀ~|hNfsQ/c&|qP\@2./A lݠ;;KSː&ޙSVU9ʙq0JtJM?aLj^cGd,£,Jak]|voCrﲿZrlA'JfX@ ;3ݬ2gCO,w0&8seF:Ůɡ>JD҈} +|Rɛmڶ(w[l(:2xX(}T2=Q庬*Ϩ2moL>ʙq0JtJM?aLj^cGd,£,Jak]|voCrﲿZrlA'JfX@ ;3ݬ2gCO,w0&8seF:Ů fBI%"iDx" endstream endobj 192 0 obj << @@ -2460,60 +2450,60 @@ >> endobj 265 0 obj << /Length1 1199 -/Length2 5236 +/Length2 5159 /Length3 0 -/Length 6013 +/Length 5930 /Filter /FlateDecode >> stream -xmwg\5ҥI'H#ti"E0$@K ^E &M@={>gͬY{C5QH,,R#m0]m, pHCMX'].@54E셏@\ bV(/! G;!: - Gb\\p]8円1 - -$C ؋a5nhNo"D8%CAokpU܁dLݸȣ_zM*@.9[ݰf%aHF#yqR:`Kᬛⵊ -H8˞V\1Xg: 2vzb@UJa/cAѰyD_BX*-rl͎-yBk'-Z -#W%({D>R0'sPR33Hq1%cT2,C)7TA>ܰr牘*evC58uws8nA%JvG#_HW~-tI#!W֩yoրS@1U(rBs9acsb/c*#avKjqR,hhk\}کﯮ vHCw"4̿v>uҋ4̿UeaQM0qoP+ȺZ%3oQ0Ut#)T;1ڛs/%ǥ;ÑUN޲X<Wd{K:o~ \ 4/w^k+Y]s'[#x7t5LW5}wi:4EY/Ǟ.gFڰ-/l -WYkTcDUN> YK6*5j2"t޼Wc0446M:LzgS4xggd]bA3MXNRLt$W#B" -dFl3-?{oXV1]x~|nŽhGׇΠtӓ7tת8qׂ"jZqf*0u!4&mIGB%,ћ|sfK9_^G?)|:i歹^cHQ\tzĻ*VcwN]X,?U]f605v -|uFGon]Ι}BMéb3{nTMD=^)p]yշW;=Pk%q~&\I:!fy ->|n*ƣ 5y?(S|ǽ$$H>jɇ8-׺,_VX}XIRRf_5['#C -eNʼn!\kgv>!ϑ{0 Ĉt~xWG\w.f; `q9:gy7wUBd"$*>qJX0TEc#!i"a? -VBlv{MJ~۠-4 -F -`GAKZ|\Nq*s]jGd=8Ӎ E](ϳu:OEZ#𱙏jz!,D.&誉9߮5ZX]f,oq,Ifؐݤ@2W12,xMEK;wyXt"lSPSz57)\Q;QoRҰZ\UBV4: i`ݟk=%a<|]o᷹ȟ -{a`:0O}eEmΨyQ٪ 0$UQ'=V&JM)0H'Mf+ڻ*9;\Qt5P.;Gn˟Rt9%}R`Z0B`GЉ\e]!BDhy[0y#c4''`h^\6gkn3JAQ_n6'V\U3ЪqCrӧUL1rf*6(^J>dWD`ԾxqDxJf8Mz$f yBYpi*hp@%).}=B+>lv~P66e1kmn -z'5@C34KCn:>ՋZ]?Mq -L,1yeN,xxi?K7W'/h%3U5p4|GJ $ٗ@EH}mvo!0yxW+'MA\c2Qq)2UgP#[zkASڔR60B&gؖ"?uk-(;yhGҔz[م -&zm3X`d,!"`DLeIا( - ^h>9~G:ksW~Н;\zo4.KzGKQ%ΰ)cC~hn[ܟy8h#*Nf*F8'Z7ۛ#R<+K(UT^1Tʣ"EnE}-Jtց;LuIHಯ=7lԖM`}ȏ -723OQk}U9a}DYӶ3a/(.VGGO?[f@(S2>{i]%)OzۢmiV|c9X -BG2Iٍ4uuk<^_ -=,' -x.=~N͋ _uzBvH,uiWU7 OjM\Xd{ᅴ!idm`;}z&Ŏjv#'cJh'Ojٜy>3CO)(aJzRmkEq/wwiItћZ9@\VZ~fۦyyj&MyGPtޔx[w}jPM[֭s +xmsyfdߥ+;cf0f!!K˾&kȚ%[!DId}WvWܿ>}y_r-4 +' +Hw<-jpn @ +4 @LnHE10VxQ3>3 `f|WPXX XNN7@`N( BB`. +G:".~X/7r0Gpœ~aF8u@q=_O6 G|qׇ#bZfzjj ZQ,@T\V_)'%oPjCrDjB˿B` +`K]}wD^@CGѰ!.!G,ޢo1n_:\Y$sejsV"ƱhxʩI=vI'yX/OsE`h9>)5{Uݧ[gWI}I(!ry2 {i~9ʨI𖁎## T[mu,)6[T + &U8Xȷ8詴)_.Oq6+4By)1m* 7aWX2>u Rʎ^xsEN/f&՞8je &:-}|dBTḀvG-PZMxNy0pqΰ,RNgQH"qu2ecd7 \C gc0`|rDj)w|HGFP(TB>'0P艬NW N;:Ni]ᙔńcB/Ȇc)bYȾS>>L\E7uyF<3)` dVhs%R +n/U(aá/Ѐf?;S JT":WD)?BFPpun;E{E5!GЎzG)s:g,yf_lGP5 +>0(3,^j$~9'GܯC[ԋ$,SӴHH٪ U&bY/')*Wǚ(K<[O{rvӧ3%_' oBe$(nuhX|Cc˒iA[0O90N2n<<P6!qV+Vj(^l)F%fz>Mm`G0 [S9U8CZ;B ˯h?~iy)a+ J z+/DmYC""R_F+gKIf6jw|.oW`dSP?2ApcvC,}wo0D{Z({V-9CazJ@O=B~0RamW{NZ̉ +F)!m`ٛ rla2=#=:KԺDZ9ٓ[f%إGl@&^9aב,k&pǕ&mY|v۳ N0vnekz6&Y7n??JΤh4Uzn1l 8XqfD䬵\PTR۰UA=<{71ud?Y7M}PF݁Nh4.<ˣ,m)OĒbgeD_$wo-}ꝋkm{ +ghHe> endobj 197 0 obj << @@ -2552,7 +2542,7 @@ 104 0 obj << /Type /Font /Subtype /Type1 -/BaseFont /IBFKTW+NimbusSanL-ReguItal +/BaseFont /GOEFUK+NimbusSanL-ReguItal /FontDescriptor 266 0 R /FirstChar 45 /LastChar 121 @@ -2682,8 +2672,8 @@ >> endobj 281 0 obj << /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.14)/Keywords() -/CreationDate (D:20140906121206+02'00') -/ModDate (D:20140906121206+02'00') +/CreationDate (D:20140917230826+02'00') +/ModDate (D:20140917230826+02'00') /Trapped /False /PTEX.Fullbanner (This is MiKTeX-pdfTeX 2.9.4902 (1.40.14)) >> endobj @@ -2691,32 +2681,32 @@ 0 282 0000000038 65535 f 0000000015 00000 n -0000040826 00000 n -0000159040 00000 n +0000040952 00000 n +0000159157 00000 n 0000000060 00000 n 0000000090 00000 n -0000052719 00000 n -0000158956 00000 n +0000052873 00000 n +0000159073 00000 n 0000000135 00000 n 0000000162 00000 n -0000092399 00000 n -0000158870 00000 n +0000092592 00000 n +0000158987 00000 n 0000000207 00000 n 0000000248 00000 n -0000095919 00000 n -0000158782 00000 n +0000096112 00000 n +0000158899 00000 n 0000000294 00000 n 0000000333 00000 n -0000098337 00000 n -0000158694 00000 n +0000098539 00000 n +0000158811 00000 n 0000000379 00000 n 0000000408 00000 n -0000101546 00000 n -0000158606 00000 n +0000101748 00000 n +0000158723 00000 n 0000000454 00000 n 0000000488 00000 n -0000104401 00000 n -0000158531 00000 n +0000104603 00000 n +0000158648 00000 n 0000000534 00000 n 0000000574 00000 n 0000001150 00000 n @@ -2725,257 +2715,257 @@ 0000000622 00000 n 0000010059 00000 n 0000010118 00000 n -0000157824 00000 n -0000158168 00000 n +0000157941 00000 n +0000158285 00000 n 0000000040 00000 f -0000011214 00000 n +0000011340 00000 n 0000000042 00000 f -0000011363 00000 n +0000011489 00000 n 0000000058 00000 f -0000011512 00000 n -0000011779 00000 n -0000011066 00000 n +0000011638 00000 n +0000011905 00000 n +0000011192 00000 n 0000010282 00000 n -0000011661 00000 n -0000011720 00000 n -0000157655 00000 n -0000107491 00000 n -0000013234 00000 n -0000013384 00000 n -0000013534 00000 n -0000013683 00000 n -0000013832 00000 n -0000013982 00000 n -0000014131 00000 n +0000011787 00000 n +0000011846 00000 n +0000157772 00000 n +0000107693 00000 n +0000013360 00000 n +0000013510 00000 n +0000013660 00000 n +0000013809 00000 n +0000013958 00000 n +0000014108 00000 n +0000014257 00000 n 0000000060 00000 f -0000012787 00000 n +0000012913 00000 n 0000000062 00000 f -0000012936 00000 n +0000013062 00000 n 0000000075 00000 f -0000013085 00000 n -0000014398 00000 n -0000012590 00000 n -0000011861 00000 n -0000014280 00000 n -0000014339 00000 n -0000040154 00000 n -0000040308 00000 n -0000016190 00000 n -0000039637 00000 n -0000040458 00000 n -0000040612 00000 n +0000013211 00000 n +0000014524 00000 n +0000012716 00000 n +0000011987 00000 n +0000014406 00000 n +0000014465 00000 n +0000040280 00000 n +0000040434 00000 n +0000016316 00000 n +0000039763 00000 n +0000040584 00000 n +0000040738 00000 n 0000000077 00000 f -0000039707 00000 n +0000039833 00000 n 0000000079 00000 f -0000039856 00000 n +0000039982 00000 n 0000000092 00000 f -0000040005 00000 n -0000040944 00000 n -0000016000 00000 n -0000014480 00000 n -0000040767 00000 n -0000040884 00000 n -0000036962 00000 n -0000107612 00000 n -0000107672 00000 n -0000107732 00000 n -0000052509 00000 n -0000042895 00000 n +0000040131 00000 n +0000041070 00000 n +0000016126 00000 n +0000014606 00000 n +0000040893 00000 n +0000041010 00000 n +0000037088 00000 n +0000107814 00000 n +0000107874 00000 n +0000107934 00000 n +0000052663 00000 n +0000043049 00000 n 0000000094 00000 f -0000052062 00000 n +0000052216 00000 n 0000000096 00000 f -0000052211 00000 n +0000052365 00000 n 0000000112 00000 f -0000052360 00000 n -0000052899 00000 n -0000042739 00000 n -0000041061 00000 n -0000052659 00000 n -0000123329 00000 n -0000052777 00000 n -0000157993 00000 n -0000052838 00000 n -0000091582 00000 n -0000091735 00000 n -0000055240 00000 n -0000091885 00000 n -0000092036 00000 n -0000092187 00000 n +0000052514 00000 n +0000053053 00000 n +0000042893 00000 n +0000041187 00000 n +0000052813 00000 n +0000123531 00000 n +0000052931 00000 n +0000158110 00000 n +0000052992 00000 n +0000091774 00000 n +0000091929 00000 n +0000055432 00000 n +0000092078 00000 n +0000092229 00000 n +0000092380 00000 n 0000000114 00000 f -0000091132 00000 n +0000091324 00000 n 0000000116 00000 f -0000091282 00000 n +0000091474 00000 n 0000000124 00000 f -0000091432 00000 n -0000092521 00000 n -0000055046 00000 n -0000053042 00000 n -0000092338 00000 n -0000092459 00000 n -0000095706 00000 n +0000091624 00000 n +0000092714 00000 n +0000055238 00000 n +0000053196 00000 n +0000092531 00000 n +0000092652 00000 n +0000095899 00000 n 0000000126 00000 f -0000095256 00000 n +0000095449 00000 n 0000000128 00000 f -0000095406 00000 n +0000095599 00000 n 0000000141 00000 f -0000095556 00000 n -0000096285 00000 n -0000095093 00000 n -0000092653 00000 n -0000095858 00000 n -0000095979 00000 n -0000096041 00000 n -0000096102 00000 n -0000096163 00000 n -0000096224 00000 n -0000158279 00000 n -0000098121 00000 n +0000095749 00000 n +0000096478 00000 n +0000095286 00000 n +0000092846 00000 n +0000096051 00000 n +0000096172 00000 n +0000096234 00000 n +0000096295 00000 n +0000096356 00000 n +0000096417 00000 n +0000158396 00000 n +0000098323 00000 n 0000000143 00000 f -0000097671 00000 n +0000097873 00000 n 0000000145 00000 f -0000097821 00000 n +0000098023 00000 n 0000000153 00000 f -0000097971 00000 n -0000098397 00000 n -0000097508 00000 n -0000096381 00000 n -0000098276 00000 n -0000100472 00000 n -0000101013 00000 n +0000098173 00000 n +0000098599 00000 n +0000097710 00000 n +0000096574 00000 n +0000098478 00000 n +0000100674 00000 n +0000101215 00000 n 0000000155 00000 f -0000100022 00000 n +0000100224 00000 n 0000000157 00000 f -0000100172 00000 n +0000100374 00000 n 0000000172 00000 f -0000100322 00000 n -0000101971 00000 n -0000099835 00000 n -0000098493 00000 n -0000101485 00000 n -0000101606 00000 n -0000101667 00000 n -0000101727 00000 n -0000101788 00000 n -0000100743 00000 n -0000101849 00000 n -0000101249 00000 n -0000101910 00000 n -0000104158 00000 n +0000100524 00000 n +0000102173 00000 n +0000100037 00000 n +0000098695 00000 n +0000101687 00000 n +0000101808 00000 n +0000101869 00000 n +0000101929 00000 n +0000101990 00000 n +0000100945 00000 n +0000102051 00000 n +0000101451 00000 n +0000102112 00000 n +0000104360 00000 n 0000000174 00000 f -0000103708 00000 n +0000103910 00000 n 0000000176 00000 f -0000103858 00000 n +0000104060 00000 n 0000000185 00000 f -0000104008 00000 n -0000104461 00000 n -0000103545 00000 n -0000102067 00000 n -0000104340 00000 n -0000106458 00000 n -0000106652 00000 n -0000107076 00000 n +0000104210 00000 n +0000104663 00000 n +0000103747 00000 n +0000102269 00000 n +0000104542 00000 n +0000106660 00000 n +0000106854 00000 n +0000107278 00000 n 0000000187 00000 f -0000106008 00000 n +0000106210 00000 n 0000000189 00000 f -0000106158 00000 n +0000106360 00000 n 0000000000 00000 f -0000106308 00000 n -0000107791 00000 n -0000105813 00000 n -0000104544 00000 n -0000107551 00000 n -0000106865 00000 n -0000107284 00000 n -0000157163 00000 n -0000107887 00000 n -0000108215 00000 n -0000108402 00000 n -0000108579 00000 n -0000108822 00000 n -0000109014 00000 n -0000109197 00000 n -0000109396 00000 n -0000109667 00000 n -0000109946 00000 n -0000110257 00000 n -0000110535 00000 n -0000110765 00000 n -0000110987 00000 n -0000111298 00000 n -0000111493 00000 n -0000111679 00000 n -0000111991 00000 n -0000112198 00000 n -0000112480 00000 n -0000112760 00000 n -0000113025 00000 n -0000113288 00000 n -0000113587 00000 n -0000113918 00000 n -0000114126 00000 n -0000114381 00000 n -0000114659 00000 n -0000114982 00000 n -0000115264 00000 n -0000115565 00000 n -0000115852 00000 n -0000116138 00000 n -0000116439 00000 n -0000116736 00000 n -0000116981 00000 n -0000117337 00000 n -0000117583 00000 n -0000117801 00000 n -0000118099 00000 n -0000118303 00000 n -0000118545 00000 n -0000118785 00000 n -0000119064 00000 n -0000119366 00000 n -0000119619 00000 n -0000119918 00000 n -0000120159 00000 n -0000120399 00000 n -0000120654 00000 n -0000120941 00000 n -0000121259 00000 n -0000121558 00000 n -0000121782 00000 n -0000122095 00000 n -0000122415 00000 n -0000122692 00000 n -0000122990 00000 n -0000123575 00000 n -0000123999 00000 n -0000124463 00000 n -0000125246 00000 n -0000125717 00000 n -0000126406 00000 n -0000137614 00000 n -0000137988 00000 n -0000150116 00000 n -0000150728 00000 n -0000156861 00000 n -0000158388 00000 n -0000158457 00000 n -0000159111 00000 n -0000159279 00000 n -0000159454 00000 n -0000159636 00000 n -0000159797 00000 n -0000159969 00000 n -0000160150 00000 n -0000160288 00000 n -0000160401 00000 n -0000160472 00000 n -0000160551 00000 n +0000106510 00000 n +0000107993 00000 n +0000106015 00000 n +0000104746 00000 n +0000107753 00000 n +0000107067 00000 n +0000107486 00000 n +0000157280 00000 n +0000108089 00000 n +0000108417 00000 n +0000108604 00000 n +0000108781 00000 n +0000109024 00000 n +0000109216 00000 n +0000109399 00000 n +0000109598 00000 n +0000109869 00000 n +0000110148 00000 n +0000110459 00000 n +0000110737 00000 n +0000110967 00000 n +0000111189 00000 n +0000111500 00000 n +0000111695 00000 n +0000111881 00000 n +0000112193 00000 n +0000112400 00000 n +0000112682 00000 n +0000112962 00000 n +0000113227 00000 n +0000113490 00000 n +0000113789 00000 n +0000114120 00000 n +0000114328 00000 n +0000114583 00000 n +0000114861 00000 n +0000115184 00000 n +0000115466 00000 n +0000115767 00000 n +0000116054 00000 n +0000116340 00000 n +0000116641 00000 n +0000116938 00000 n +0000117183 00000 n +0000117539 00000 n +0000117785 00000 n +0000118003 00000 n +0000118301 00000 n +0000118505 00000 n +0000118747 00000 n +0000118987 00000 n +0000119266 00000 n +0000119568 00000 n +0000119821 00000 n +0000120120 00000 n +0000120361 00000 n +0000120601 00000 n +0000120856 00000 n +0000121143 00000 n +0000121461 00000 n +0000121760 00000 n +0000121984 00000 n +0000122297 00000 n +0000122617 00000 n +0000122894 00000 n +0000123192 00000 n +0000123777 00000 n +0000124201 00000 n +0000124665 00000 n +0000125448 00000 n +0000125919 00000 n +0000126608 00000 n +0000137816 00000 n +0000138190 00000 n +0000150318 00000 n +0000150930 00000 n +0000156980 00000 n +0000158505 00000 n +0000158574 00000 n +0000159228 00000 n +0000159396 00000 n +0000159571 00000 n +0000159753 00000 n +0000159914 00000 n +0000160086 00000 n +0000160267 00000 n +0000160405 00000 n +0000160518 00000 n 0000160589 00000 n -0000160716 00000 n +0000160668 00000 n +0000160706 00000 n +0000160833 00000 n trailer << /Size 282 /Root 280 0 R /Info 281 0 R -/ID [ ] >> +/ID [<6FFE93721F55951C5F43BD35CC77B3C2> <6FFE93721F55951C5F43BD35CC77B3C2>] >> startxref -160991 +161108 %%EOF

/doc/src/present_32bitIO.tex
7,7 → 7,7
%%%%%%%%%%%%%%%%%
\docDate{ \today }
\docID{Present cipher (32 bit input)}
\docRevision{0.1}
\docRevision{0.2}
\docStatus{Draft}
\docTitle{\mbox{Present Cipher (32 bit input)}}
\authorName{\mbox{Krzysztof Gajewski} \\ and opencores.org}
17,6 → 17,7
 
\revisionList{
0.1 & all & 2014/09/05 & First draft & K. Gajewski \\
0.2 & all & 2014/09/16 & Some small corrections with the text, typos, etc. & K. Gajewski \\
}
 
\begin{document}
38,11 → 39,11
This cipher consists of 32 rounds, during which:
\begin{itemize}
\item round key is added to plaintext
\item plaintext goues through sBoxes (substitution boxes)
\item plaintext goes through sBoxes (substitution boxes)
\item plaintext after sBoxes goes through pLayer (permutation layer)
\item round key is updated
\end{itemize}
After that, ciphertext feeds out the output. Briefly algorithm was shown in Fig. \ref{pAlgorithm}
After that, ciphertext feeds out the output. Briefly algorithm was shown in Fig. \ref{pAlgorithm}.
\begin{figure}[!ht]%
\begin{center}
\includegraphics[width=0.66\textwidth]{img/presentAlgorithm.png}
52,7 → 53,7
\label{pAlgorithm}
\end{center}
\end{figure}
In this project Present block cipher works with 80 bit key. Target was Xilinx\textsuperscript{\textregistered} Spartan 3E XC3S500E \cite{Spartan} on Spartan 3E Starter Board \cite{Digilent} made by Digilent\textsuperscript{\textregistered}. In comparison with "plain" Present cipher projecy, this core was modified to take 32 bit word at input (plus control word). Output is also 32 bit.
In this project Present block cipher works with 80 bit key. Target was Xilinx\textsuperscript{\textregistered} Spartan 3E XC3S500E \cite{Spartan} on Spartan 3E Starter Board \cite{Digilent} made by Digilent\textsuperscript{\textregistered}. In comparison with "plain" Present cipher project, this core was modified to take 32 bit word at input (plus control word). Output is also 32 bit.
 
\textbf{NOTE:}
 
62,12 → 63,12
 
\section{Interface}
 
Top level component of present was shown in Fig. \ref{penc}. All inputs and outputs are synchronous except \texttt{reset} signal and sampled at rising edge of the clock. Type for all signals is \texttt{STD\_LOGIC} or \texttt{STD\_LOGIC\_VECTOR}.
Top level component of the Present component with 32 bit input was shown in Fig. \ref{penc}. All inputs and outputs are synchronous except \texttt{reset} signal and sampled at rising edge of the clock. Type for all signals is \texttt{STD\_LOGIC} or \texttt{STD\_LOGIC\_VECTOR}.
\begin{figure}[!ht]%
\begin{center}
\includegraphics[width=0.5\textwidth]{img/PresentEnc.png}
\caption{%
Top level component of Present component
Top level of the Present component with 32 bit input
}%
\label{penc}
\end{center}
78,18 → 79,18
\hline \texttt{input} & 32 & in & input data - both key and plaintext. \\
\hline \texttt{ctrl} & 4 & in & control bus for sending commands to the core. \\
\hline \texttt{clk} & 1 & in & clock signal for the component\\
\hline \texttt{reset} & 1 & in & \emph{Asynchronous} reset signal. \\
\hline \texttt{reset} & 1 & in & \emph{asynchronous} reset signal. \\
\hline \texttt{output} & 32 & out & output data - ciphertext. \\
\hline \texttt{ready} & 1 & out & signal informing about end of encoding process. \newline "0" - wait until end of data encoding. \newline "1" - end of the encoding process, output data available. \\
\hline
\end{tabularx}
\captionof{table}{Input/Output signals of Present component}
\captionof{table}{Input/Output signals of the Present component with 32 bit input}
 
\newpage
 
\section{State machine workflow}
 
Overall internal structure of Present component is similar to the structure shown in \cite{PRESENT}. To conform 64 bit plaintext, 80 bit key and 32 bit output data, multiplexer-like blocks was added to fit data. Additionally, control logic was added in the state machine. It was shown in Fig. \ref{presentSM}.
Overall internal structure of the Present component with 32 bit input is similar to the structure shown in \cite{PRESENT}. To conform 64 bit plaintext, 80 bit key and 32 bit output data, multiplexer-like blocks was added to fit data. Additionally, control logic was added in the state machine. It was shown in Fig. \ref{presentSM}.
 
\begin{figure}[!ht]%
\begin{center}
101,21 → 102,21
\end{center}
\end{figure}
 
State machine consist of nine states \texttt{NOP}, \texttt{RDK1}, \texttt{RDK2}, \texttt{RDK3}, \texttt{RDT1}, \texttt{RDT2}, \texttt{COD}, \texttt{CTO1}, \texttt{CTO2}. \texttt{NOP} is default state after resetting the core. This state is active as long as control bus (\texttt{ctrl}) don't have \texttt{crdk1} command at the input.
State machine consist of nine states \texttt{NOP}, \texttt{RDK1}, \texttt{RDK2}, \texttt{RDK3}, \texttt{RDT1}, \texttt{RDT2}, \texttt{COD}, \texttt{CTO1}, \texttt{CTO2}. \texttt{NOP} is the default state after resetting the core. This state is active as long as control bus (\texttt{ctrl}) don't have \texttt{crdk1} command at the input.
 
\texttt{RDKx} states are responsible for reading the key from the input. They are changing when suitable command appears at the \texttt{ctrl} input (\ref{presentSM}). When another commands appear, the state is changing to \texttt{NOP} state. When command are left constant, given state is not changing.
\texttt{RDKx} states are responsible for reading the key from the input. They are changing when suitable command appears at the \texttt{ctrl} input (\ref{presentSM}). When another commands appear, the state is changing to the \texttt{NOP} state. When command are left constant, given state is not changing.
 
\texttt{RDTx} states are responsible for reading the plaintext from the input. They are changing when suitable command appears at the \texttt{ctrl} input (\ref{presentSM}). When another commands appear, the state is changing to \texttt{NOP} state. When command are left constant, given state is not changing.
 
During \texttt{COD} state encoding process start. If encoding process ends (after 32 clock cycles, \texttt{info = "00"} signal from the counter), state machine automaticly goes to \texttt{CTO1} state. When commands another than \texttt{ccod} appear, the state is changing to \texttt{NOP} state. When command are left constant encoding process is working.
During the \texttt{COD} state encoding process start. If encoding process ends (after 32 clock cycles, \texttt{info = "00"} signal from the counter), state machine automaticly goes to the \texttt{CTO1} state. When commands another than \texttt{ccod} appear, the state is changing to the \texttt{NOP} state. When command are left constant encoding process is working.
 
\texttt{CTOx} states are responsible for sending the ciphertext to the output. They are changing when suitable command appears at the \texttt{ctrl} input (\ref{presentSM}). When another commands appear, the state is changing to \texttt{NOP} state. When command are left constant, given state is not changing.
\texttt{CTOx} states are responsible for sending the ciphertext to the output. They are changing when suitable command appears at the \texttt{ctrl} input (\ref{presentSM}). When another commands appear, the state is changing to the \texttt{NOP} state. When command are left constant, given state is not changing.
 
\newpage
 
\section{FPGA implementations}
 
The component has only been verified on a Xilinx\textsuperscript{\textregistered} Spartan 3E XC3S500E FPGA in FG320 package and synthesized with Xilinx ISE 14.2. Appropriate setup files was prepared with use of ISE Project Navigator, but Makefile scripts was also written. Suitable files was stored in \texttt{./32BitIO/syn/XC3ES500/} directory. Implementation in FPGA device \textbf{was not} in this project (due to rather historical issues and nonconventional build of these core). Makefile was tested in Windows 8 with use of Cygwin for 64-bit Windows.
The component has only been verified on a Xilinx\textsuperscript{\textregistered} Spartan 3E XC3S500E FPGA in FG320 package and synthesized with Xilinx ISE 14.2. Appropriate setup files was prepared with the use of ISE Project Navigator, but Makefile scripts was also written. Suitable files was stored in \texttt{./32BitIO/syn/XC3ES500/} directory. Implementation in FPGA device \textbf{was not done} in this project (due to rather historical issues and nonconventional build of these core). Makefile was tested in Windows 8 with the use of Cygwin for 64-bit Windows.
 
Synthesis results was given in Fig. \ref{SynResults}
 
128,7 → 129,7
\hline Number of bonded IOBs & 71 & 232 & 30\% \\
\hline Number of GCLKs & 1 & 24 & 4\%\\
\hline Minimum period & 4.250 ns & - & - \\
\hline Maximum Frequency & 235.311 MHz & - & - \\
\hline Maximum Frequency & 235 MHz & - & - \\
\hline
\end{tabularx}
\label{SynResults}
148,7 → 149,7
 
\section{Simulation}
 
Self-checking test bench were provided to the components used for Present encoder. In case of whole Present encoder this test bench was not self-checking. This is due to historical character of this project. They are stored in \texttt{./32BitIO/bench/vhdl} directory. Suitable configuration files and Makefile used for running test bench was stored in
Self-checking test bench were provided to the components used for Present encoder. In case of whole Present with 32 bit input encoder this test bench was not self-checking. This is due to historical character of this project. They are stored in \texttt{./32BitIO/bench/vhdl} directory. Suitable configuration files and Makefile used for running test bench was stored in
\texttt{./32BitIO/sim/rtl\_sim/bin} directory. Appropriate test vectors was taken from \cite{PRESENT}.
 
Makefile was prepared to make "manual run" of tests. If You want to perform it without gui, remove \texttt{-gui} option in Makefaile.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.