From 2ecaee1b198cb9994944cded52474e8ebd1a2a1a Mon Sep 17 00:00:00 2001 From: Giulio Date: Sat, 17 Aug 2019 19:22:19 +0200 Subject: [PATCH] Refactoring controllo NaN --- IEEE754Adder.gise | 41 +-- IEEE754Adder.xise | 132 ++++---- NaNCheck.vhd | 38 +++ SpecialCasesCheck.cmd_log | 3 + SpecialCasesCheck.ngc | 2 +- SpecialCasesCheck.ngr | 2 +- SpecialCasesCheck.prj | 1 + SpecialCasesCheck.syr | 205 +++++------ SpecialCasesCheck.vhd | 19 +- SpecialCasesCheck.xst | 22 +- SpecialCasesCheck_envsettings.html | 123 ++++--- SpecialCasesCheck_summary.html | 36 +- SpecialCasesCheck_xst.xrpt | 157 ++++----- TypeCheck_envsettings.html | 509 ++++++++++++++++++++++++++++ TypeCheck_summary.html | 102 ++++++ _xmsgs/pn_parser.xmsgs | 2 +- _xmsgs/xst.xmsgs | 2 +- iseconfig/IEEE754Adder.projectmgr | 76 +++++ iseconfig/SpecialCasesCheck.xreport | 6 +- iseconfig/TypeCheck.xreport | 215 ++++++++++++ webtalk_pn.xml | 36 +- xst/work/work.vdbl | Bin 0 -> 12608 bytes xst/work/work.vdbx | Bin 0 -> 128 bytes 23 files changed, 1337 insertions(+), 392 deletions(-) create mode 100644 NaNCheck.vhd create mode 100644 TypeCheck_envsettings.html create mode 100644 TypeCheck_summary.html create mode 100644 iseconfig/IEEE754Adder.projectmgr create mode 100644 iseconfig/TypeCheck.xreport create mode 100644 xst/work/work.vdbl create mode 100644 xst/work/work.vdbx diff --git a/IEEE754Adder.gise b/IEEE754Adder.gise index dce5a88..5a05a93 100644 --- a/IEEE754Adder.gise +++ b/IEEE754Adder.gise @@ -85,6 +85,7 @@ + @@ -110,8 +111,9 @@ - + + @@ -120,23 +122,22 @@ + - + - - + - @@ -145,39 +146,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/IEEE754Adder.xise b/IEEE754Adder.xise index e2972ab..c37b586 100644 --- a/IEEE754Adder.xise +++ b/IEEE754Adder.xise @@ -17,17 +17,21 @@ - + + + + + - - + + @@ -41,8 +45,6 @@ - - @@ -50,8 +52,8 @@ - - + + @@ -61,64 +63,65 @@ - - - + + - + - - - - - + + + - + - + - + - + + - + - - + + + + + - - + - + + @@ -137,12 +140,10 @@ - + - - @@ -160,7 +161,6 @@ - @@ -173,29 +173,35 @@ - + - - + + + + + + + - + - + + @@ -216,13 +222,13 @@ - + - + @@ -231,9 +237,8 @@ - - + @@ -249,10 +254,9 @@ - - + @@ -266,10 +270,10 @@ - + @@ -278,7 +282,6 @@ - @@ -286,9 +289,10 @@ - + + - + @@ -303,14 +307,13 @@ - - - + + - + @@ -318,7 +321,7 @@ - + @@ -331,28 +334,25 @@ - + - - - + + - + - - + - - - - + + + @@ -360,17 +360,17 @@ - + - - - - + + + + diff --git a/NaNCheck.vhd b/NaNCheck.vhd new file mode 100644 index 0000000..1ba7ed4 --- /dev/null +++ b/NaNCheck.vhd @@ -0,0 +1,38 @@ +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +entity NaNCheck is + port( + X, Y: in std_logic_vector(31 downto 0); + isNan: out std_logic + ); +end NaNCheck; + +architecture NaNCheckArch of NaNCheck is + component TypeCheck is + port( + N: in std_logic_vector(31 downto 0); + NaN, INF: out std_logic + ); + end component; + + signal xNan: std_logic; + signal xInf: std_logic; + signal xSign: std_logic; + signal yNan: std_logic; + signal yInf: std_logic; + signal ySign: std_logic; + +begin + xCheck: TypeCheck + port map (N => X, NaN => xNan, INF => xInf); + yCheck: TypeCheck + port map (N => Y, NaN => yNan, INF => yInf); + + xSign <= X(31); + ySign <= Y(31); + + isNan <= xNan or yNan or (xInf and xSign and yInf and (not ySign)) or (xInf and (not xSign) and yInf and ySign); + +end NaNCheckArch; + diff --git a/SpecialCasesCheck.cmd_log b/SpecialCasesCheck.cmd_log index 1168b5f..727d9bb 100644 --- a/SpecialCasesCheck.cmd_log +++ b/SpecialCasesCheck.cmd_log @@ -5,3 +5,6 @@ xst -intstyle ise -ifn "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.xst" -ofn xst -intstyle ise -ifn "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.xst" -ofn "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.syr" xst -intstyle ise -ifn "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.xst" -ofn "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.syr" xst -intstyle ise -ifn "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.xst" -ofn "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.syr" +xst -intstyle ise -ifn "/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.xst" -ofn "/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.syr" +xst -intstyle ise -ifn "/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.xst" -ofn "/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.syr" +xst -intstyle ise -ifn "/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.xst" -ofn "/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.syr" diff --git a/SpecialCasesCheck.ngc b/SpecialCasesCheck.ngc index 129b4db..35a11a9 100644 --- a/SpecialCasesCheck.ngc +++ b/SpecialCasesCheck.ngc @@ -1,3 +1,3 @@ XILINX-XDB 0.1 STUB 0.1 ASCII XILINX-XDM V1.6e -$bfx55=4:3CE\XZ5X=12>58682996D@_UU8Z867=87>0:=>?2::30>>78920NX]PIODL=>EHEDC_XHJ8;BPFEQCC92O?7HONA39EA1=ANOO:7J=4GOF2?L40CO[Ic:R-657499;8SA:4P@PWe>VNFVH^_DJWb:RJJZDR[GKFI;5\OTP@A47<[yohelbLargpGmcdc=1_U]Kl;TQFVZPN[@HGI45YIDU\P\VB<2R7<3;4X=33:0=_48;596V313<6?]:6;7?0T1?;>49[8439=2R7=;0:;Y>23;3^;97?0T149[8779=2R7>?0:;Y>17;3^;:?4>7U2=7?78\94?6<1S0?714:Z?6;35:1=_4>4?7U27>59[8<86l2RB@D@W-YFA$5(6(Z^^N->!1!CPGLO13QY_@DL8;YQW[BHC02RT^X9?UBNXH6;Y]23ZOE]O30TR?7_H@VB<=_W83TEO[I8:Z\5ZOE]O30TR3QU9;RGMUG;8\Z4?W@H^J45W_3;\MGSA02RT>RGMUG;8\Z57W@H^J45W_23\MGSA02RT?RGMUG:8\Z2XAK_M46VP5^KAQC>^X1VCIYK84Xe`\Ma773QnfS@oeosTfvvohf8:0TicPMhllvScu{`ee?6V|t59Z85823P6:<3;4Y=32:0=^488596W312<6?\:6<7?0U1?:>49Z8409=2S7=:0:;X>2<;3>49Z8749=2S7>>0:;X>10;3285V<34=1>_;:>4>7T2=8?78]94>6=1R0?0:;X>04;105;2_;07>0U1718:[\4ZOE]O30UR??_H@VB<=^W8;TEO[I9:[\57YNJ\L27TQ>3^KAQC?3PU:;RGMUG;8]Z7?W@H^J45V_0;\MGSA02ST=RGMUG;8]Z47W@H^J45V_33\MGSA12ST>?QFBTD:?\Y5;VCIYK74Y^07[LDRN01RS?;PICWE=>_X:?UBNXH6;X]13ZOE]O30UR<7_H@VB<=^W;3TEO[I8:[\6ZOE]O30UR=?_H@VB<=^W:;TEO[I8:[\7ZOE]O20UR:PICWE<>_X=VCIYK64Y^4\MGSA02ST;RGMUG:8]Z>XAK_M46WP9^KAQC3?7;hqMek708j1bCoa162\WR6?3`yEmc?7399jwKgi91237d}Aao03=f=n{Gke>=7PSV24?luIig8=n6g|N`l12ZUP8>1bCoa3448mvHff==0e~@nn524?luIig>:;6g|N`l552=n{Gke4884irLbj<1n;hqMekYHJ\L=7d}Uesma?lu]m{eTCO[Ie:z`7v37%<'{}?>79:{@l`el'N>27tMgebi,C<{GHy8ho6NOx369B?4=9rY<6;h51g827171>8094?>>{o4g>4=i>l0=7)8l:5;8yV0=>o0:j7?<40455?4?:990h?:50;395~U02?l1=k4>353524<50;::7{Z=3;295?7=1hqX;78i:0d95626>?;1>56?u?:08~kg7=831do54?::k75?6=,;818=5a2083?>o4n3:1(?<5419m64<632c8h7>5$30905=i:80976g<4<;:k0f?6=,;818=5a2087?>o4i3:1(?<5419m64<232c857>5$30905=i:80=76g<8;29 74=<91e><48;:k03?6=,;818=5a208;?>o4>3:1(?<5419m64<>32c897>5$30905=i:80j76g<4;29 74=<91e><4m;:k06?6=,;818=5a208`?>o493:1(?<5419m645$30905=i:80n76g=f;29 74=<91e><4i;:k1a?6=,;818=5a20824>=n:m0;6)<=:528j77=9810e?m50;&16?273g8:6<<4;h0a>5<#:;0?<6`=1;30?>o5i3:1(?<5419m64<6<21b>44?:%01>16;7c<>:048?l20290/>?4;0:l15?7032c?:7>5$30905=i:80:465f4483>!452=:0b??51898m12=83.9>7:?;o02>4g<3`>86=4+23874>h593;i76g;2;29 74=<91e><4>c:9j7`<72-8969>4n3395a=o??3:1(?<5899m64<632c397>5$309<==i:80976g74;29 74=011e><4<;:k;7?6=,;81455a2087?>o?:3:1(?<5899m64<232c3=7>5$309<==i:80=76g70;29 74=011e><48;:k4b?6=,;81455a208;?>o0m3:1(?<5899m64<>32c5$309<==i:80j76g8c;29 74=011e><4m;:k4e?6=,;81455a208`?>o013:1(?<5899m645$309<==i:80n76g87;29 74=011e><4i;:k42?6=,;81455a20824>=n?<0;6)<=:9:8j77=9810e::50;&16?>?3g8:6<<4;h50>5<#:;0346`=1;30?>o0:3:1(?<5899m64<6<21b;<4?:%01>=>:048?l>a290/>?478:l15?7032c3i7>5$309<==i:80:465f8e83>!452120b??51898m=e=83.9>767;o02>4g<3`2i6=4+238;<>h593;i76g7a;29 74=011e><4>c:9j<3<72-896564n3395a=h1<7*=2;:;?k4628o07d9?:18'67N3i2B9:6*>4;68mc<722c:<7>5;h32>5<>{ekj0;684?:1y'60<602B?m6F=6:&20?20;29?l762900e<<50;9l5a<722wio=4?:483>5}#:<0:46F;a:J12>"6<3h0ek4?::k24?6=3`;:6=44i0094?=h9m0;66smc483>0<729q/>84>8:J7e>N5>2.:87l4ig83>>o683:17d?>:188m44=831d=i4?::afc<72<0;6=u+2482<>N3i2B9:6*>4;`8mc<722c:<7>5;h32>5<>{ek80;684?:1y'60<602B?m6F=6:&20?d0;29?l762900e<<50;9l5a<722wio?4?:283>5}#:<0::6F;a:J12>"6<320ek4?::k24?6=3f;o6=44}ca0>5<2290;w)<::0:8L1g<@;<0(<:5b:ke>5<>o6:3:17b?k:188yge3290>6=4?{%06>4><@=k0D?84$069f>oa2900e<>50;9j54<722c:>7>5;n3g>5<2;29?j7c2900qol=:187>5<7s-8>6<94H5c8L70<,8>1m6gi:188m46=831b=<4?::m2`?6=3thi?7>55;294~"5=3;37E:n;I05?!732k1bj7>5;h33>5<>i6l3:17plm4;291?6=8r.997?7;I6b?M413-;?6o5ff;29?l772900e5;|`a1?6==3:1d;29?xde>3:197>50z&11?7?3A>j7E<9;%37>g=nn3:17d??:188m47=831b=?4?::m2`?6=3thi57>55;294~"5=3;37E:n;I05?!732=1bj7>5;h33>5<>i6l3:17plma;291?6=8r.997?7;I6b?M413-;?695ff;29?l772900e5;|`50?6=:3:14?:383>5}#:<0:?6F;a:J12>ob2900ct$37956=O;5fe;29?j7c2900qo8?:181>5<7s-8>6<=4H5c8L70d;29?xd2n3:1>7>50z&11?743A>j7E<9;hg94?=h9m0;66sm5d83>7<729q/>84>3:J7e>N5>2cn6=44o0f94?=zj5<5290;w)<::018L1g<@;<0eh4?::m2`?6=3th>n7>52;294~"5=3;87E:n;I05?lc=831d=i4?::a1d<72;0;6=u+24827>N3i2B9:6gj:188k4b=831vn8750;094?6|,;?1=>5G4`9K63=nm3:17b?k:188yg3?29096=4?{%06>45<@=k0D?84id83>>i6l3:17pl:6;296?6=8r.997?<;I6b?M413`o1<75`1e83>>{e=<0;6?4?:1y'60<6;2B?m6F=6:kf>5<5;n3g>5<5;|`66?6=:3:15}#:<0:?6F;a:J12>ob2900ct$37956=O;5fe;29?j7c2900qo:i:181>5<7s-8>6<=4H5c8L70d;29?xd3m3:1>7>50z&11?743A>j7E<9;hg94?=h9m0;66sm4e83>7<729q/>84>3:J7e>N5>2cn6=44o0f94?=zj?h1<7<50;2x 73=9:1C8l5G279ja?6=3f;o6=44}c4b>5<5290;w)<::018L1g<@;<0eh4?::m2`?6=3th=57>52;294~"5=3;87E:n;I05?lc=831d=i4?::a2=<72;0;6=u+24827>N3i2B9:6gj:188k4b=831vn;950;094?6|,;?1=>5G4`9K63=nm3:17b?k:188yg0129096=4?{%06>45<@=k0D?84id83>>i6l3:17pl95;296?6=8r.997?<;I6b?M413`o1<75`1e83>>{e>;0;6?4?:1y'60<6;2B?m6F=6:kf>5<5;n3g>5<h6=4=:183!422890D9o4H348m`<722e:h7>5;|`b=?6=:3:15}#:<0:?6F;a:J12>ob2900ct$37956=O;5fe;29?j7c2900qoo::181>5<7s-8>6<=4H5c8L70d;29?xdf<3:1>7>50z&11?743A>j7E<9;hg94?=h9m0;66sma283>7<729q/>84>3:J7e>N5>2cn6=44o0f94?=zjh81<7<50;2x 73=9:1C8l5G279ja?6=3f;o6=44}cc2>5<5290;w)<::018L1g<@;<0eh4?::m2`?6=3thj<7>52;294~"5=3;87E:n;I05?lc=831d=i4?::a=c<72;0;6=u+24827>N3i2B9:6gj:188k4b=831vn4k50;094?6|,;?1=>5G4`9K63=nm3:17b?k:188yg?c29096=4?{%06>45<@=k0D?84id83>>i6l3:17pl6b;296?6=8r.997?<;I6b?M413`o1<75`1e83>>{e1h0;6?4?:1y'60<6;2B?m6F=6:kf>5<5;n3g>5<5;|`:3?6=:3:15}#:<0:?6F;a:J12>ob2900ct$37956=O;5fe;29?j7c2900qo7;:181>5<7s-8>6<=4H5c8L70d;29?xd>;3:1>7>50z&11?743A>j7E<9;hg94?=h9m0;66sm9383>7<729q/>84>3:J7e>N5>2cn6=44o0f94?=zjk:1<7<50;2x 73=9:1C8l5G279ja?6=3f;o6=44}cce>5<5290;w)<::018L1g<@;<0eh4?::m2`?6=3thji7>52;294~"5=3;87E:n;I05?lc=831d=i4?::aea<72;0;6=u+24827>N3i2B9:6gj:188k4b=831vnlm50;094?6|,;?1=>5G4`9K63=nm3:17b?k:188ygge29096=4?{%06>45<@=k0D?84id83>>i6l3:17plna;296?6=8r.997?<;I6b?M413`o1<75`1e83>>{ei>0;6?4?:1y'60<6;2B?m6F=6:kf>5<5;n3g>5<5;|``3?6=:3:15}#:<0:i6F;a:J12>ob2900ct$3795==O;5+158a?l`=831b==4?::k25?6=3`;96=44o0f94?=zjkn1<7;50;2x 73=911C8l5G279'51>o693:17d?=:188k4b=831vno650;794?6|,;?1=55G4`9K63=#9=097dh50;9j55<722c:=7>5;h31>5<1;29?l752900c1<7>t$37952=O;5+1580?l`=831b==4?::k25?6=3f;o6=44}c`a>5<2290;w)<::0:8L1g<@;<0(<:59:ke>5<>o6:3:17b?k:188yv7>2909w0lj:0f89gb=9;1v=9m16n:4>2:p5g<72;q6nn4>d:?af?`7}Y:h168h4j;|q1f?6=:rT9n63;f;g8yv4d2909wS`=z{;n1<7h4?:3y]6`=:=;0n7p}=f;296~X5n27>?7k4}r13>5<5sW9;70;;:d9~w67=838pR>?4=479a>{t;;0;6?uQ339>1352z\07>;2?3o0q~=;:181[5334?36h5rs2794?4|V:?01875e:p73<72;qU?;525`8f?xu4?3:1>vP<7:?6f?c750;0xZ6?<57}Y;h169h4j;|q0f?6=:rT8n63:f;g8yv5d2909wS=l;<43>`=z{:n1<7;0n7p}5<5sW>:708;:d9~w14=838pR9<4=779a>{t<:0;6?uQ429>2352z\70>;1?3o0q~:::181[2234<36h5rs5494?4|V=<01;75e:p02<72;qU8:526`8f?xu303:1>vP;8:?5f?ch6=4={<`1>47<5=i1=i5rs5f94?4|5k81==524e82`>{t;3m3;o7p};f;296~;d>3;;70:i:0f8yv372909w0m9:g9>15<6l2wx9<4?:3y>g1<6:27>=7?k;|q66?6=:r7h87?>;<71>4b46<5<91=i5rs4694?4|5j>1j63:4;3g?xu2=3:1>v3m2;d8903=9m1v8850;0x9g3=98169;4>d:p12<72;q6o;4>1:?63?7c3ty>47>52z?a1?7734?365<5s4h>6k525882`>{t=h0;6?u2b5826>;2i3;o7p}:b;296~;ei3;970;m:0f8yv3d2909w0ln:03890e=9m1v8j50;0x9gg=99169i4>d:p1`<72;q6nl4i;<7f>4b44<5{t>80;6?u2b8824>;193;o7p}92;296~;e<3;:708=:0f8yv042909w0l6:g9>26<6l2wx:94?:3y>21<6l27i47h4}r46>5<5s4h?6<>4=7795a=z{?<1<7;1>3;o7p}97;296~;d>3;97088:0f8yv0?2909w0l<:03893>=9m1v;750;0x9g5=9916:44>d:p2d<72;q6n>4i;<4b>4b44<5?h1=i5rs6294?4|V>:014?5e:p34<72;qU;<52938f?xu0:3:1>vP82:?:7?c7}Y?<165;4j;|q42?6=:rT<:6367;g8yv102909wS98;<;;>`=z{>21<75<5sW=i707l:d9~w2e=838pR:m4=8f9a>{t?m0;6?uQ7e9>=`52z\4a>;>n3o0q~9i:181[1a34k;6h5rs9294?4|V1:01l?5e:p<4<72;qU4<52a38f?xu?:3:1>vP72:?b7?c7}Y0<16m;4j;|q;2?6=:rT3:63n7;g8yv>02909wS68;`=z{131<75<5sW2h70ol:d9~w=b=838pR5j4=`f9a>{t0l0;6?uQ8d9>e`52z\;b>;fn3o0q~7?:181[?734h;6h5rs8394?4|5j;1==529082`>{t1;0;6?u2c08e?8?528n0q~7<:1818da288014=51e9~w<2=838p14:51e9>fa52z?:1?7c34ho6<>4}r;5>5<5s43=603;o70lj:028yv?>2909w0m>:0089d:p=g<72;q6o84>1:?:f?7c3ty2o7>52z?:g?7c34hn65<5s4i>6<>4=8f95a=z{0o1<7;>m3;o7p}6f;296~;d83;9707i:0f8yvg72909w0ml:g9>e5<6l2wxm<4?:3y>gf<6827j=7?k;|qb6?6=:r7ho7?>;4b44<5h91=i5rs`694?4|5jh1j63n4;3g?xuf=3:1>v3lb;33?8g228n0q~o9:1818ee28;01l851e9~wd1=838p1n>5109>e2<6l2wxm54?:3y>gg<6:27j47?k;|qb=?6=:r7j57?k;<`;>4646<5hk1=i5rs``94?4|5j:1j63nb;3g?xufk3:1>v3nc;3g?8db2880q~ok:1818da28;01lj51e9~wdc=838p1oh5119>e`<6l2wxmk4?:3y>fc5<5s4i>6<<4=c295a=z{k;1<7464b<5k<1=<5rsc794?4|5k?1=i52b7826>{tj?0;6?u2b782`>;e?3l0q~l8:1818d028n01ol5119~wg?=838p1o751e9>fg<692wxnl4?:3y>fd<6l27in7?=;|qa`?6=:r7h?7?>;<`g>4b4b<5j81j6s|c183>7}:k90:h63l3;d8yve62909w0m>:0f89f4=991vn<50;0x9f4=9m16o>4>2:pg6<72;q6o>4>d:?ag?`4b<5k=1==5rsb794?4|5j?1=i52c2824>{tk?0;6?u2c782`>;e?3;:7p}l7;296~;d?3o01ol51e9~wf>=838pRn64=b;95a=z{j31<7;d13o0q~mm:1808ee28n01o65109>ff<682wxon4?:2y>gf<6l27i47?=;<``>47{I05?xh61h0;6;5rn0;g>5<6sA8=7p`>9d83>4}O:?1vb<7i:182M413td:m=4?:0yK63=zf8k:6=4>{I05?xh6i;0;6;5rn0c6>5<6sA8=7p`>a783>4}O:?1vb{I05?xh6ih0;6;5rn0cg>5<6sA8=7p`>ad83>4}O:?1vb{I05?xh6j;0;6;5rn0`6>5<6sA8=7p`>b783>4}O:?1vb{I05?xh6jh0;6;5rn0`g>5<6sA8=7p`>bd83>4}O:?1vb{I05?xh6k;0;6;5rn0a6>5<6sA8=7p`>c783>4}O:?1vb{I05?xh6kh0;6;5rn0ag>5<6sA8=7p`>cd83>4}O:?1vb{I05?xh6l;0;6;5rn0f6>5<6sA8=7p`>d783>4}O:?1vb{I05?xh6lh0;6;5rn0fg>5<6sA8=7p`>dd83>4}O:?1vb{I05?xh6m;0;6;5rn0g6>5<6sA8=7p`>e783>4}O:?1vb{I05?xh6mh0;6;5rn0gg>5<6sA8=7p`>ed83>4}O:?1vb{I05?xh6n;0;6;5rn0d6>5<6sA8=7p`>f783>4}O:?1vb{I05?xh6nh0;6;5rn0dg>5<6sA8=7p`>fd83>4}O:?1vb{I05?xh58;0;6;5rn326>5<6sA8=7p`=0783>4}O:?1vb?>8:182M413td9<54?:0yK63=zf;:26=4>{I05?xh58h0;6;5rn32g>5<6sA8=7p`=0d83>4}O:?1vb?>i:182M413td9==4?:0yK63=zf;;:6=4>{I05?xh59;0;6;5rn336>5<6sA8=7p`=1783>4}O:?1vb??8:182M413td9=54?:0yK63=zf;;26=4>{I05?xh59h0;6;5rn33g>5<6sA8=7p`=1d83>4}O:?1vb??i:182M413td9>=4?:0yK63=zf;8:6=4>{I05?xh5:;0;6;5rn306>5<6sA8=7p`=2783>4}O:?1vb?<8:182M413td9>54?:0yK63=zf;826=4>{I05?xh5:h0;6;5rn30g>5<6sA8=7p`=2d83>4}O:?1vb?{I05?x{zuIJHw?ml:b2;27>4;tJKNv>r@ARxyEF \ No newline at end of file +$d0x5>4682996D@_UU8[867=87;;7><5IORVP?_;;80;2?570028<56789:;<=>?0123<>DR[VCEJB:4CMI32>EKC82;:6MCK3531>EKC;R37NBD2Y3;40=DDB3;96MCK@34?FJLI8N9;6MCK@3G02=DDBK:H5;4CMIA50=DDBI:96MCKE36?FJLL_i0OAEKV^FJRLBB=2IGGKV7;BNHB]7?801HC@CFTUGG3>EUMH^NH<>4EDGFGFEDIHKJ<56?4:DEB@><4I508M02:4LTV70>JR\<>0@XZ92:L1<>HD'`yEmc74NB-jwKgi9h1EO"g|N`l24d=IK&cxBl`>1`9MG*otFhd:>l5AC.kpJdh6;01EO"g|N`l1=>HD'`yEmc=6;OA,mvHff=30BN!fsOcm1<=IK&cxBl`99:L@+luIig=27CM irLbj=?=5AC.{@l`el'NUhc`~ztd,D[qkw494T_Z>8;OGWSJTL02DjBNfjcj38K1=HJ\Lh7] =0043=45XD=1[M_Zn;QKM[GSTAMRi7]GA_CWPJDKB>2ZXHB@J109PLWC@WLR_^LM[_OE@a>UOZLMTAD@PSHXF2>UH][IN:6][AUWP54=TxlibmaMnsdq@l`el<2^R\H74TxrfGmcdcj1^_H\PVHQJFIC>3_CN[RZVPD68\969=2R7==0:;Y>25;3^;9=4>7U2>5?78\9716<1S0<915:Z?5=823Q6:53:4X=3=1>^;:94>7U2=1?78\9456<1S0?=15:Z?61823Q6993;4X=05:0=_4;=596V329<6?]:517>0T1<15:Z?75803Q68=7>15:Z?74833Q68295W<5<7?]:26=1S0;0;;Y>4:1=_414?7U26>0f8\LJNFQ'SHO.?.0"PPPD'8';+M^MFI79[WQJNJ>1S_YQHNE:8\Z6XAK_M56VP11]JFP@>3QU:=RGMUG;8\Z75W@H^J45W_01\MGSA12RT=9QFBTD:?]Y6=VCIYK74X^35[LDRN01SS<9PICWE=>^X91UBNXH6;Y]2=ZOE]O20TR?PICWE=>^X:9UBNXH6;Y]15ZOE]O30TR<=_H@VB<=_W;9TEO[I9:Z\61YNJ\L27UQ=5^KAQC?3QU95RGMUG:8\Z4XAK_M56VP31]JFP@>3QU8=RGMUG:8\Z5XAK_M46VP4^KAQC>^X0VCIYK64X^;\MGSA>2RonRGk119[`hYJiceyZh||inl24>^ceVGbbb|Yesqjkk549Z8469=2S7=<0:;X>26;3_;9<4>7T2>6?78]9706<1R0<615:[?5<833P6:285V<32=1>_;:84>7T2=2?78]9446<1R0?:15:[?60823P69:3;4Y=04:0=^4;2596W328<7?\:56<1R0>>17:[?74<76<1R0>?14:[?7;2586W35?68]909<2S7;3:4Y=:=0>_;1790UH]7;X]3[LDRN01RS<>PICWE=>_X98UBNXH6;X]26ZOE]O30UR?<_H@VB<=^W8>TEO[I9:[\50YNJ\L27TQ>6^KAQC?XAK_M56WP18]JFP@?3PU:SDLZF89Z[76XAK_M56WP20]JFP@>3PU9>RGMUG;8]Z44W@H^J45V_36\MGSA12ST>8QFBTD:?\Y5>VCIYK74Y^04[LDRN01RS?6PICWE=>_X:0UBNXH7;X]1[LDRN01RS>>PICWE=>_X;8UBNXH7;X]0[LDRN11RS9QFBTD;?\Y2W@H^J55V_7]JFP@?3PU#lsf011xFGx;k97MNw4e8E>7<6sZ;3647545827171>8095ko;{o;4>4=i110=7)79:618yV702031894>353524<51ok37i:k:182>4}T910257:;:01753062;3mm95yT5`94?7=9339w^?7:8;901<6;=;=:<4=9gc7?!362;30(9;5e09a0a<72=819?462zJ64>"3m3>o7W;52z396?{#5==6?54i7494?"3?31=1<7*;7;4b?k212<10e;=50;&73?0f3g>=6;54i7094?"3?3===6l54i4g94?"3?3f==6h54i4;94?"3?3=83.?;78n;o65>46<3`?<6=4+4685e>h3>3;:76g:6;29 11=>h1e8;4>2:9j10<72-><6;o4n54956=1<7*;7;4b?k2128>07d;<:18'02<1i2d?:7?:;:k46?6=,==1:l5a47822>=n?80;6):8:7c8j10=9>10e:>50;&73?0f3g>=6<64;h4e>5<#<>0=m6`;6;3:?>o1m3:1(9956`9m03<6i21b:i4?:%64>3gh7>5$5592d=i!202?k0b9851g98mg5=83.?;7l=;o65>5==6?54i`g94?"3?3h97c:9:298mdb=83.?;7l=;o65>1==6;54i`c94?"3?3h97c:9:698md?=83.?;7l=;o65>===6l54i`494?"3?3h97c:9:c98md2=83.?;7l=;o65>f==6h54i`394?"3?3h97c:9:g98md6=83.?;7l=;o65>46<3`3m6=4+468a6>h3>3;:76g6e;29 11=j;1e8;4>2:9j=a<72-><6o<4n54956=07d7m:18'02=nj00;6):8:c08j10=9>10eo650;&73?d53g>=6<64;h`4>5<#<>0i>6`;6;3:?>oe>3:1(995b39m03<6i21bn84?:%64>g45$559f7=i!202k80b9851g98kab=831dhk4?::`41?6=93:17g<@>>0D8>4$3597>o583:17d<>:188m74=831d8?4?::a7`<72>0;6=u+4d81`>N0<2B><6*=7;68m76=831b><4?::k16?6=3`886=44i3694?=n:<0;66a;2;29?xd483:1;7>50z&7a?4c3A=?7E;?;%04>1=n:90;66g=1;29?l452900e?=50;9j61<722c997>5;n61>5<6=4;:183!2b2;k0D::4H428 71=;2c9<7>5;h02>5<>{e;?0;6:4?:1y'0`<5l2B<86F:0:&13?7d3`8;6=44i3394?=n:;0;66g=3;29?l432900e?;50;9l07<722wi?:4?:783>5}#"5?3;i7d?4?::k17?6=3`8?6=44o5094?=zj:21<7;50;2x 1c=:k1C;95G519'62<6i2c9<7>5;h02>5<>i3:3:17pl<9;293?6=8r.?i77>5;|`0e?6=?3:1<4?::k16?6=3`886=44i3694?=n:<0;66a;2;29?xd4j3:1;7>50z&7a?4c3A=?7E;?;%04>4e>o5:3:17d<<:188m72=831b>84?::m76?6=3th8o7>56;294~"3m38h7E9;;I73?!4028h0e?>50;9j64<722c9>7>5;h00>5<1<75`4383>>{e;80;684?:1y'0`<5j2B<86F:0:&13?7f3`8;6=44i3394?=n:;0;66g=3;29?j252900qo==:184>5<7s->n6?j4H668L06<,;=1=n5f2183>>o593:17d<=:188m75=831b>94?::k11?6=3f>96=44}c10>5<0290;w):j:3f8L22<@<:0(?951b9j65<722c9=7>5;h01>5<>o5=3:17b:=:188yg53290<6=4?{%6f>7b<@>>0D8>4$3595<=n:90;66g=1;29?l452900e?=50;9j61<722c997>5;n61>5<N0<2B><6g>f;29?j252900qo6m:181>5<7s->n6?84H668L06>{e0h0;6?4?:1y'0`<5>2B<86F:0:k2b?6=3f>96=44}c::>5<5290;w):j:348L22<@<:0e5}#o6n3:17b:=:188yg>029096=4?{%6f>70<@>>0D8>4i0d94?=h<;0;66sm8783>7<729q/8h4=6:J40>N282c:j7>5;n61>5<6=4=:183!2b2;<0D::4H428m4`=831d8?4?::a<1<72;0;6=u+4d812>N0<2B><6g>f;29?j252900qo6<:181>5<7s->n6?84H668L06>{e0;0;6?4?:1y'0`<5>2B<86F:0:k2b?6=3f>96=44}c:3>5<5290;w):j:348L22<@<:0e5}#o6n3:17b:=:188yg1b29096=4?{%6f>70<@>>0D8>4i0d94?=h<;0;66sm7e83>7<729q/8h4=6:J40>N282c:j7>5;n61>5<N0<2B><6g>f;29?j252900qo9n:181>5<7s->n6?84H668L06>{e?00;6?4?:1y'0`<5>2B<86F:0:k2b?6=3f>96=44}c5;>5<5290;w):j:348L22<@<:0e5}#o6n3:17b:=:188yg?229096=4?{%6f>70<@>>0D8>4i0d94?=h<;0;66sm9583>7<729q/8h4=6:J40>N282c:j7>5;n61>5<N0<2B><6g>f;29?j252900qo7>:181>5<7s->n6?84H668L06>{e190;6?4?:1y'0`<5>2B<86F:0:k2b?6=3f>96=44}c:e>5<5290;w):j:348L22<@<:0e5}#o6n3:17b:=:188yg>629096=4?{%6f>70<@>>0D8>4i0d94?=h<;0;66sm7783>7<729q/8h4=6:J40>N282c:j7>5;n61>5<N0<2B><6g>f;29?j252900qoj>:181>5<7s->n6?84H668L06>{el90;6?4?:1y'0`<5>2B<86F:0:k2b?6=3f>96=44}cae>5<5290;w):j:348L22<@<:0e5}#o6n3:17b:=:188ygec29096=4?{%6f>70<@>>0D8>4i0d94?=h<;0;66smcb83>7<729q/8h4=6:J40>N282c:j7>5;n61>5<N0<2B><6g>f;29?j252900qom6:181>5<7s->n6?84H668L06>{ek10;6?4?:1y'0`<5>2B<86F:0:k2b?6=3f>96=44}ca5>5<5290;w):j:348L22<@<:0e5}#o6n3:17b:=:188yge329096=4?{%6f>70<@>>0D8>4i0d94?=h<;0;66smc283>7<729q/8h4=6:J40>N282c:j7>5;n61>5<N0<2B><6g>f;29?j252900qom?:181>5<7s->n6?84H668L06>{ejo0;6?4?:1y'0`<5>2B<86F:0:k2b?6=3f>96=44}c`f>5<5290;w):j:348L22<@<:0e5}#o6n3:17b:=:188ygbe29096=4?{%6f>70<@>>0D8>4i0d94?=h<;0;66smd`83>7<729q/8h4=6:J40>N282c:j7>5;n61>5<N0<2B><6g>f;29?j252900qoj8:181>5<7s->n6?84H668L06>{el?0;6?4?:1y'0`<5>2B<86F:0:k2b?6=3f>96=44}cf6>5<5290;w):j:348L22<@<:0e5}#o6n3:17b:=:188yge029096=4?{%6f>70<@>>0D8>4i0d94?=h<;0;66smbb83>7<729q/8h4=6:J40>N282c:j7>5;n61>5<N0<2B><6g>f;29?j252900q~6j:1818532;8015k5439~w=b=838p1>;5209>70<58273n7:=;|q;e?6=:r78<7<>;<:b>1476<51318?5rs9:94?4|5::1>>5289876>{t0>0;6?u231816>;??3>97p}76;296~;4838>7069:508yv>22909w0=?:3689=3=<;1v5:50;0x96?=:<16494;2:p<6<72;q6?44=4:?;7?253ty3>7>52z?02?46342969<4}r:3>5<5s49=6?=4=92907=z{>l1<76s|7d83>7}:;?099638e;61?xu0l3:1>v3<6;07?81c2=80q~9l:18185f2;>01:m5439~w2d=838p1>o5229>3g<3:2wx;l4?:3y>72<59271472<5>218?5rs6594?4|5:=1>>5276876>{t1<0;6?u239815>;>=3>97p}64;296~;4038;707;:508yv?42909w0=7:3189<5=<;1v4<50;0x96>=:;165?4;2:p=4<72;q6?44=1:?:5?253ty2<7>52z?0=?47343;69<4}r:e>5<5s4926?=4=9d907=z{1i1<76s|8083>7}:;?09<6371;61?xu0>3:1>v3<7;01?8112=80q~j;:1818532;901i:5439~wa5=838p1>k5219>`6<3:2wxh<4?:3y>7`<5927o=7:=;|qg4?6=:r78i7<=;1475<5jl18?5rsbg94?4|5:o1>952cd876>{tkm0;6?u23g814>;dl3>97p}lc;296~;4n38:70ml:508yvee2909w0=i:3089fd=<;1vno50;0x964=:<16ol4;2:pg<<72;q6??4=4:?`=?253tyh47>52z?0f?4634i369<4}ra5>5<5s49i6?=4=b4907=z{j?1<76s|c583>7}:;k09963l4;61?xud;3:1>v301n<5439~wf7=838p1>=5229>g4<3:2wxo=4?:3y>7f<5927h<7:=;|qab?6=:r78o71472<5ko18?5rscf94?4|5:i1>>52be876>{tlk0;6?u230815>;cj3>97p}ka;296~;4938;70jn:508yvb>2909w0=>:3189a?=<;1vi650;0x967=:;16h54;2:p`2<72;q6??4=1:?g3?253tyo:7>52z?06?4734n=69<4}rf6>5<5s4996?=4=e7907=z{m81<76s|c683>7}:;k09<63l7;61?xuek3:1>v3a5<6n2wx?i4?:3y>7`<3:278877314<5:?1>?5rs2294?4|5:?18?5235815>{t;<0;6?u237876>;4i3897p}<6;296~;4?3>970=n:378yv502909w0=7:50896g=:91v>650;0x96?=<;16?l4=1:p7<<72;q6?l4;2:?00?423ty8m7>52z?0f?2534986?<4}r1a>5<5s49h69<4=21960=z{:i1<77}:;;0?>63<3;02?xu4:3:1>v3<3;61?8532;>0q~8m:181[0e342n65<5sW<2706k:0d8yv002909wS88;<:a>4`f28l0q~8::181[02342265<5sW4`128l0q~8>:181[06342>65<5sW<;706;:0d8yv3a2909wS;i;<:0>4`528l0q~;l:181[3d342;65<5sW?i709i:0d8yv3f2909wS;n;<5f>4`5<5sW?<709m:0d8yv312909wS;9;<5b>4`6=4={_76?81>28l0q~;;:181[3334=365<5sW?87098:0d8yv152909wS9=;<;6>4`5<5sW4`5<5sW<3706l:0d8yv3c2909wS;k;<:2>4`5<5sWh:70j<:0d8yvga2909wSoi;4`5<5sWkh70mj:0d8yvge2909wSom;4`34ii65<5sWk370mn:0d8yvg02909wSo8;4`5<5sWk870m::0d8yvg52909wSo=;4`5<5sW3m70m>:0d8yv?b2909wS7j;4`5<5sW3i70lk:0d8yvdf2909wSln;4`5<5sWh<70j7:0d8yvd12909wSl9;4`6=4={_`6?8b128l0q~l;:181[d334n>65<5sWh;70j=:0d8yvg22909wSo:;4`5<5sWnm70k?:508yxh6?l0;65<6sA?;7p`>8383>4}O=91vb<6<:182M373td:494?:0yK15=zf82>6=4>{I73?xh60?0;60290:wE;?;|l2<=<728qC9=5rn0::>5<6sA?;7p`>8`83>4}O=91vb<6m:182M373td:4n4?:0yK15=zf82o6=4>{I73?xh60l0;6a290:wE;?;|l2=5<728qC9=5rn0;2>5<6sA?;7p`>9383>4}O=91vb<7<:182M373td:594?:0yK15=zf83>6=4>{I73?xh61?0;65<6sA?;7p`>9`83>4}O=91vb<7m:182M373td:5n4?:0yK15=zf83o6=4>{I73?xh61l0;65<6sA?;7p`>a383>4}O=91vb6=4>{I73?xh6i?0;65<6sA?;7p`>a`83>4}O=91vb{I73?xh6il0;65<6sA?;7p`>b383>4}O=91vb6=4>{I73?xh6j?0;65<6sA?;7p`>b`83>4}O=91vb{I73?xh6jl0;65<6sA?;7p`>c383>4}O=91vb6=4>{I73?xh6k?0;65<6sA?;7p`>c`83>4}O=91vb{I73?xh6kl0;65<6sA?;7p`>d383>4}O=91vb6=4>{I73?xh6l?0;65<6sA?;7p`>d`83>4}O=91vb{I73?xh6ll0;65<6sA?;7p`>e383>4}O=91vb6=4>{I73?xh6m?0;65<6sA?;7p`>e`83>4}O=91vb{I73?xh6ml0;65<6sA?;7p`>f383>4}O=91vb6=4>{I73?xh6n?0;65<6sA?;7p`>f`83>4}O=91vb{I73?xh6nl0;65<6sA?;7p`=0383>4}O=91vb?><:182M373td9<94?:0yK15=zf;:>6=4>{I73?xh58?0;65<6sA?;7p`=0`83>4}O=91vb?>m:182M373td9{I73?xh58l0;6h:6d1;gxFGJr:vLM^t}AB \ No newline at end of file diff --git a/SpecialCasesCheck.ngr b/SpecialCasesCheck.ngr index 8e3b39e..c97eb0e 100644 --- a/SpecialCasesCheck.ngr +++ b/SpecialCasesCheck.ngr @@ -1,3 +1,3 @@ XILINX-XDB 0.1 STUB 0.1 ASCII XILINX-XDM V1.6e -$ccx74=(`fgn#A{la.KPA*OBML=>8Ljkes-Pt`enieIjh}Lhdah*snc9918>7GAPTV9J956294:<6==:HLSQQ<_4:;1<3??;209MKVR\3S7?<4?>`906?H;;80;2l5<2;Z?74<76h18>7W33083:g=4{<:{}?>7-468EKB5>2KEH?L>6:CM@1D6<2KEH564BTQ\MK@H12IDA@G[TDF4?FTBI]OO=6I<;FLG<>AXadzTK<<4I108M44<4I508M040B1>15:L?55823G6:=3;4N=31:0=I489596@315<6?K:6=7?0B1?9>49M8419=2D7=50:;O>2=;249M8759=2D7>90:;O>11;3H;:14>7C2=9?68J949=2D7?=08;O>05?69=2D7?<0;;O>0:1=I4=4?7C2:>59M83833G6<295A<9<7?K:>6:1EmCm4N`L\mhvXFhD:=6A<;NP17>IU;:1D^9=4OS:`?U(5889:<<=PL59SEWRf3YCESO[\IEZa?UOIWK_XBLCJ3:PWHg=TANH^_RGAFNc8WLAXJ\YBHUl4SHE\FPUIIDO:=6]ebkbhFgtmzIcine>;U68P\VB02^Te`~PT0a8PZrjxVey<=>?d:V\phvXg{:;<=?k;U]wiuYhz9:;4T^vntZiu89:;Sdcc:V\phvXg{:;<^;87?0T1??>49[8479=2R7=?0:;Y>27;3^;9?4>7U2>7?78\97?6<1S0<714:Z?5;3^;:;4>7U2=3?78\9436<1S0?;15:Z?63823Q69;3;4X=0;:0=_4;3586V32?78\9576>1S0>?50?78\9566=1S0>0;;Y>7:1=_4<4?7U29>59[82833Q63295W<8<2`>^ND@DS!UJM 1,2$VRRJ):%=-O\CHK5?]USD@H<7U][_FLG5`=_[]UBA]BJMDLWEQOHFVIDB^Z]AHLWW462RonRGk119[`hYJiceyZh||inl24>^ceVGbbb|Yesqjkk549Z8459=2S7=90:;X>21;3_;914>7T2>9?68]979=2S7>=0:;X>15;3_;:=4>7T2=5?78]9416<1R0?915:[?6=823P6953:4Y=0=1>_;;94<7T2<1;2=1>_;;84?7T2<>59Z81833P6>295V<7<7?\:06=1R050;;X>::0=n{Gkeh6g|N`l\ekb789:9<6g|N`l\ekb789:Te`~PirLbjZgil9:;<4irLbjZgil9:;=Rgbp^kpJdhXign;<=?>119jwKgiW`g{Sd}Aao35?lu]m{em7~azrbg\bljbfhgnh6}`usaf[ioimgh=7uMgebi7?}Oin=1sBl`j;ya0w06*=$zz>=69;xAkafm33pCej95vN`l~DEv5:;1KLu67:G81>4}Tm32<69851262237=:18;=v`75;38j=0=>2.3879i;|Qg>=1=n6=4>:0yPa?>02=<1=>:>67396=4792|M8l4?:082>5}Tm32<69851262237=:18;=6*:d;3g?!202>1i8h4?:5092?2?sE296{K0:0:w)l>:19~ 06=6;4ro`c94?=hj90;66g87;29 1?=??1e854?;:k41?6=,=31;;5a4982?>o0;3:1(975779m0=<532c<>7>5$5;933=i<10876g81;29 1?=??1e854;;:k44?6=,=31;;5a4986?>o1n3:1(975779m0=<132c=i7>5$5;933=i<10<76g9d;29 1?=??1e8547;:k5g?6=,=31;;5a498:?>o1j3:1(975779m0=5$5;933=i<10i76g98;29 1?=??1e854l;:k53?6=,=31;;5a498g?>o1>3:1(975779m0=5$5;933=i<10m76g94;29 1?=??1e854>0:9j26<72->26:84n5:954=:18'0<<0>2d?47?<;:k54?6=,=31;;5a49820>=n=o0;6):6:648j1>=9<10e:k50;&7=?113g>36<84;h5g>5<#<00<:6`;8;34?>o0k3:1(975779m0=<6021b;o4?:%6:>20290/84486:l75$5;933=i<10:o65f7583>!2>2><0b9651e98m3?=83.?5799;o6;>4c<3`?n6=4+48842>h303;m76gn2;29 1?=i81e854?;:kb4?6=,=31m<5a4982?>o>m3:1(975a09m0=<532c2h7>5$5;9e4=i<10876g6c;29 1?=i81e854;;:k:f?6=,=31m<5a4986?>o>i3:1(975a09m0=<132c257>5$5;9e4=i<10<76g68;29 1?=i81e8547;:k:3?6=,=31m<5a498:?>o>>3:1(975a09m0=5$5;9e4=i<10i76g63;29 1?=i81e854l;:k:6?6=,=31m<5a498g?>o>93:1(975a09m0=5$5;9e4=i<10m76g7f;29 1?=i81e854>0:9j<`<72->26l?4n5:954==n0h0;6):6:`38j1>=9<10el750;&7=?g63g>36<84;hc;>5<#<00j=6`;8;34?>of?3:1(975a09m0=<6021bm;4?:%6:>d75$5;9e4=i<10:o65f9g83>!2>2h;0b9651e98m<2=83.?57o>;o6;>4c<3`226=4+488b5>h303;m76l71;295?6=8r.><7??;I:3?j`=831vno=50;01>3<5=rF3>7?tH0a8yI>42;qen?4>d:&a5?65<!2>2:<0b9650:9j70<72->26>84n5:95>=n;:0;6):6:248j1>=:21b??4?:%6:>60!2>2:<0b9654:9j75<72->26>84n5:91>=n:o0;6):6:248j1>=>21b>h4?:%6:>60!2>2:<0b9658:9j6f<72->26>84n5:9=>=n:k0;6):6:248j1>=i21b>l4?:%6:>60!2>2:<0b965c:9j62<72->26>84n5:9`>=n:?0;6):6:248j1>=m21b>84?:%6:>60!2>2:<0b9651198m75=83.?57=9;o6;>47<3`896=4+48802>h303;976g=1;29 1?=;?1e854>3:9j65<72->26>84n5:951=2d?47?9;:k0`?6=,=31?;5a49823>=n;j0;6):6:248j1>=9110e>l50;&7=?513g>36<74;h1b>5<#<008:6`;8;3b?>o413:1(975379m0=<6j21b?54?:%6:>60290/844<6:l75$5;973=i<10:j65m5783>f<42lq/9=4:6:m66?6=3`8h6=44i3`94?=n:h0;66g=8;29?l402900e?850;9j60<722c987>5;h00>5<>d2;3:157>50z&64?223A2;7d?=:188m45=831b=94?::k21?6=3`;=6=44i0594?=n910;66g>9;29?j262900qo;;:187>5<7s-?;69=4H928m44=831b=>4?::k20?6=3f>:6=44}c76>5<4290;w);?:508L=6>i393:17p}:2;296~X2:27>97:>;|q1g?6=:rT9o63:3;30?xu5j3:1>vP=b:?67?753ty9m7>52z\1e>;2;3;?7p}=8;296~X5027>?7?9;|q13?6=:rT9;63:3;36?xu5>3:1>vP=6:?67?703ty997>52z\11>;2;3;27p}=4;296~X5<27>?7?7;|q17?6=:rT9?63:4;30?xu5:3:1>vP=2:?60?753ty9=7>52z\15>;2<3;?7p}:3;296~;2;3>:70;::008yv332909w0;;:538903=9:1vqo;m:18`>6k50;9j7a<722c8o7>5;h1a>5<>o403:17d=;:188f0>=8331<7>t$42900=O091b=?4?::k27?6=3`;?6=44i0794?=n9?0;66g>7;29?l7?2900e<750;9l04<722wi944?:583>5}#=90??6F70:k26?6=3`;86=44i0694?=h<80;66sm5`83>6<729q/9=4;2:J;4>o6:3:17d?<:188k17=831v8950;0xZ01<54=4:957=z{8l1<7=9=1v>k50;0xZ6c<5<21=;5rs2f94?4|V:n01865149~w6e=838pR>m4=4:952=z{:h1<7=901v>o50;0xZ6g<5<21=55rs2;94?4|V:301875129~w6>=838pR>64=4;957=z{:>1<7=<8169l4>2:p1<<72;q6944;1:?6e?743twi8=4?:283>5}#=9037E6?;h31>5<>{e980;644?:1y'159;29?j262900qo;>:187>5<7s-?;69=4H928m44=831b=>4?::k20?6=3f>:6=44}c3a>5<4290;w);?:89K<5=n9;0;66g>3;29?j262900q~=i:181[5a34>;69?4}r3b>5<5sW;j70?m:538yv`=839p19>5139>54<3927:n7?<;|q7b?6=;r7?<7?<;<72>17<58h1=?5rs4094?4|5<<19?525c866>{t=>0;6?u25c863>;293;97p}<5;296~X4=27:=7?=;%6g>607}Y;:16=<4>3:&7`?513g>h6?5rs2094?4|V:8012d?o7=4}r12>5<5sW9:70?>:078 1b=;?1e8n4;;|q04?6=:rT8<63>1;35?!2c2:<0b9m55:p6c<72;qU>k5210823>"3l39=7c:l:79~w7c=838pR?k4=0395==#4?<,=n1?;5a4b8;?xu5k3:1>vP=c:?62?4d3->o6>84n5a9=>{t:k0;6?uQ2c9>13<5j2.?h7=9;o6`>d=z{;k1<752z\13>;2>38<7):k:248j1e=l2wx>;4?:3y]63=:=?09:6*;d;15?k2d2l1v?;50;0xZ73<5<<1>85+4e802>h3k3l0q~<;:181[4334?=6?:4$5f973=i7}Y::169;4=3:&7`?513g>h65<5sW8970;9:308 1b=;?1e8n4>2:p64<72;qU><5257815>"3l39=7c:l:018yv472909wS76<,=n1?;5a4b820>{t9o0;6?uQ1g9>1g<6n2.?h7=9;o6`>432wx?i4?:3y]7a=:=k08h6*;d;15?k2d28=0q~=l:181[5d34?i6>m4$5f973=i7}Y;k169o4h6<74}r1b>5<5sW9j70;m:2c8 1b=;?1e8n4>a:p7<<72;qU?4525c80=>"3l39=7c:l:0`8yv5?2909wS=7;<7a>6><,=n1?;5a4b82g>{t;=0;6?uQ359>1g<4<2.?h7=9;o6`>4b{K0:09wcl=:0d8 g7=82w/9=4:c:X`>4}62tP?n7?t4;l7c<722e:m7>5;h14>5<#<008:6`;8;28?l52290/844<6:l7h303807d==:18'0<<4>2d?47=4;h12>5<#<008:6`;8;68?l57290/844<6:l7h303<07d2d?4794;h0g>5<#<008:6`;8;:8?l4d290/844<6:l7h303k07d2d?47l4;h0;>5<#<008:6`;8;a8?l40290/844<6:l7h303o07d<::18'0<<4>2d?47h4;h07>5<#<008:6`;8;33?>o5;3:1(975379m0=<6921b>?4?:%6:>605$5;973=i<10:965f3d83>!2>2:<0b9651798m6b=83.?57=9;o6;>41<3`9h6=4+48802>h303;376g9:9j7d<72->26>84n5:95d=2d?47?l;:k00?6=,=31?;5a4982`>=n:00;6):6:248j1>=9l10e365n4?::k1f?6=3`8j6=44i3:94?=n:>0;66g=6;29?l422900e?:50;9j66<722c9>7>5;h02>5<>o6;3:17d?;:188m43=831b=;4?::k23?6=3`;36=44i0;94?=h<80;66sm5583>1<729q/9=4;3:J;4>o6:3:17d?<:188m42=831d8<4?::a10<72:0;6=u+51876>N?82c:>7>5;h30>5<1v?;50;0xZ73<5<91=45rs3694?4|V;>018=5199~w75=838pR?=4=46956=z{;81<71=95rs4194?4|5<918<5254826>{t==0;6?u255875>;2=3;87psm5c83>f<42lq/9=4:b:m63?6=3`?96=44i3294?=n9o0;66gm50;9j7g<722c8m7>5;h1:>5<>d203:157>50z&64?223A2;7d?=:188m45=831b=94?::k21?6=3`;=6=44i0594?=n910;66g>9;29?j262900qo;6:187>5<7s-?;69=4H928m44=831b=>4?::k20?6=3f>:6=44}c7b>5<4290;w);?:508L=6>i393:17p}:7;296~X2?27>m7:>;|q66?6=:rT>>63:8;30?xu583:1>vP=0:?652z\2b>;203;?7p}47?9;|q0`?6=:rT8h63:8;36?xu4k3:1>vP52z\0f>;203;27p}47?7;|q0=?6=:rT8563:9;30?xu403:1>vP<8:?6=?753ty887>52z\00>;213;?7p}:8;296~;203>:70;n:008yv3>2909w0;6:53890g=9:1vqo:?:180>5<7s-?;655G819j57<722c:?7>5;n62>5<>o6;3:17d?;:188m43=831b=;4?::k23?6=3`;36=44i0;94?=h<80;66sm5083>1<729q/9=4;3:J;4>o6:3:17d?<:188m42=831d8<4?::a5g<72:0;6=u+518:?M>73`;96=44i0194?=h<80;66s|3g83>7}Y;o168=4;1:p5d<72;qU=l521c875>{tn3:1?v3;0;31?8762=;015129>14<3927:n7?=;|q66?6=:r7>:7;=;<7a>0401<5<;1=?5rs2794?4|V:?012d?o7?4}r10>5<5sW9870?>:018 1b=;?1e8n4=;|q06?6=:rT8>63>1;37?!2c2:<0b9m53:p74<72;qU?<5210821>"3l39=7c:l:59~w66=838pR>>4=03953=#41<,=n1?;5a4b85?xu5m3:1>vP=e:?25?7?3->o6>84n5a93>{t:m0;6?uQ2e9>54<612.?h7=9;o6`>==z{;i1<752z\1e>;2>38j7):k:248j1e=j2wx>54?:3y]6==:=?0946*;d;15?k2d2j1v?950;0xZ71<5<<1>:5+4e802>h3k3n0q~<9:181[4134?=6?84$5f973=i:7<:;%6g>607}Y:=169;4=4:&7`?513g>h6<>4}r00>5<5sW8870;9:318 1b=;?1e8n4>1:p67<72;qU>?5257816>"3l39=7c:l:008yv462909wS<>;<75>77<,=n1?;5a4b827>{t:90;6?uQ219>1g<582.?h7=9;o6`>42j4$5f973=i7}Y;j169o4h6<64}r1a>5<5sW9i70;m:2`8 1b=;?1e8n4>9:p7d<72;qU?l525c80e>"3l39=7c:l:0c8yv5>2909wS=6;<7a>6?<,=n1?;5a4b82f>{t;10;6?uQ399>1g<402.?h7=9;o6`>4e0(9j5379m0f<6l2wx>44?:3y]6<=:=80:?6*;d;15?k2d28o0q~?j:181[7b34?:6<:4$5f973=i5459K<5=n9;0;66g>3;29?l732900e<;50;9l04<722wimn4?:483>5}#=90j7E6?;h31>5<>o6=3:17b:>:188yggb290>6=4?{%73>d=O091b=?4?::k27?6=3`;?6=44i0794?=h<80;66s|a`83>7}Yih16mk4;1:pf5<72;qUn=52808e?xue=3:1>v3m3;1e?8ga2880q~l7:1808d028k01lm5149>e`<6<2wxmo4?:3y>ec<6<27jo7:>;|qb`?6=:r7jj7?:;174g<5hi1=>52ad827>{tj00;6?u2b680b>;fn3;87p}87;290~X0?27i?7=8;42<5ho1=?5+4e842>h3k3:0q~9::181[1234h86>;4$5f933=i206s|7383>7}Y?;16n>4<2:&7`?113g>h6>5rs6394?4|V>;01o=5309'0a<0>2d?o7:4}r53>5<5sW=;70l<:228 1b=??1e8n4:;|q5b?6=:rT=j63m3;0e?!2c2><0b9m56:p2`<72;qU:h52b281a>"3l3==7c:l:69~w3b=838pR;j4=c196a=#7e<,=n1;;5a4b8:?xu1j3:1>vP9b:?a7?4e3->o6:84n5a9e>{t>h0;6?uQ6`9>f6<5i2.?h799;o6`>g=z{?21<752z\52>;e;38=7):k:648j1e=m2wx:84?:3y]20=:j:0996*;d;55?k2d2o1v;:50;0xZ32<5k91>95+4e842>h3k3;;7p}93;296~X1;27i?7<<;%6g>202d?o7?=;|q55?6=:rT==63m3;02?!2c2><0b9m5129~w36=838pR;>4=c1965=#vP:f:?a7?7a3->o6:84n5a950=z{>o1<752z\4`>;e;39o7):k:648j1e=9>1v:m50;0xZ2e<5k91?n5+4e842>h3k3;37p}8b;296~X0j27i?7=m;%6g>20k01o=53`9'0a<0>2d?o7?n;|q4=?6=:rT<563m3;1:?!2c2><0b9m51c9~w2>=838pR:64=c197==#vP84:?a7?533->o6:84n5a95a=z{?31<7i7>52z\6a>;e;3;n7):k:648j1e=9o1vl<50;6xZd4<5k=1?:52ab826>;fm3;>7):k:`38j1e=82wxm=4?:3y]e5=:j>0896*;d;c2?k2d281v4k50;0xZ5+4e8b5>h3k380q~7k:181[?c34h<6><4$5f9e4=ik27i;7=>;%6g>d77}Y1k16n:4<0:&7`?g63g>h685rs8c94?4|V0k01o952g9'0a5<5sW3270l8:3g8 1b=i81e8n48;|q:"3l3k:7c:l:89~w<0=838pR484=c596g=#7g<,=n1m<5a4b8a?xu>;3:1>vP63:?a3?4?3->o6l?4n5a9g>{t1;0;6?uQ939>f2<5?2.?h7o>;o6`>a=z{0;1<752z\;b>;e?38?7):k:`38j1e=991v5k50;0xZ=c<5k=1>>5+4e8b5>h3k3;:7p}7d;296~X?l27i;7<=;%6g>d7vPn9:?a3?5b3->o6l?4n5a953=z{h21<752z\b3>;e?39h7):k:`38j1e=911vl850;0xZd0<5k=1?o5+4e8b5>h3k3;27p}n5;296~Xf=27i;7=n;%6g>d701o95389'0a<3:1>vP64:?a3?4>3->o6l?4n5a95`=z{131<7??Mijjr.QsafofdJkxi~Mgebi-rmb639;0=<>4338JJUSS2G68=7>111906?OIX\^1T1=>:1<24>552@D[YY4V<2394;g<;;0E0>?50?c877<_4:;1<3o4338Z867=87>0MCJ=6:CM@7D6>2KEH9L>4:CM@=>A43NDOj6IPcnosqqc)OV~f|<=4G^aliussm'MTx`~30?31?L653@;87D??3:K256=N9;90E<=<;H377>O6=;1B>?5F339J07=N=;1B:?5F739J<7=N1:1BBK:4IOD20>OIA]o0GHK__IKFVDTD@P=0@BIFC@N7?K:76<1E0<>15:L?54823G6:>3;4N=30:0=I48>596@314<6?K:6>7?0B1?8>49M84>9=2D7=40;;O>2:0=I4;:596@320<6?K:5:7?0B1<<>49M8729=2D7>80:;O>12;3H;:04?7C2=>49M8669?2D7?<4?>49M8679<2D7?3:4N=6=0>H;=7>0B1814:L?3;2IU::1D^9=4OS5`?U(588<;5<=PL59SEWRf3YCESO[\IEZa?UOIWK_XBLCJ3:PWHg=TANH^_RGAFNc8WLAXJ\YBHUl4SHE\FPUIIDOm7^AZRBG\BLJBFHGNh6]@USAF[IOIMGH:=6]ebkbhFgtmzIcine;;U[SAc=SWjef|xzj.U]wiu753]Uhc`~ztd,W[qkw494:?6ZPcnosqqc)\V~f|1>11018PZeheyi#ZPtlr?4;46;2^Tobcuug-PZrjx5:5?<84T^aliussm'^Tx`~30?]jiu?<\pznOeklk89UM@QX\PZN86V30?78\9776<1S049[84?9<2R7=3;4X=03:0=_4;;596V323<6?]:5;7?0T1<;>49[8739=2R7>;0:;Y>13;3^;:7?0T1=?>69[867=87?0T1=>>59[86833Q6?295W<4<7?]:16=1S0:0;;Y>;:1=_404:h6VFLHL[)]BE(9$:,^ZZB!2-5%GTK@C=7U][LH@4?]USWNDO=h5WSU]JIUJBELD_MYG@N^ALJVRUI@D__<>4XRV\VQJXX[E[I_ZV6:ZgfZOc991Sh`QBakmqR`ttafd:<6Vkm^OjjjtQm{ybcc=4Xrv:?]usODeoia:4Y=2=1>_;994>7T2>1?78]9756<1R0<=15:[?51823P6:93;4Y=35:0=^48=596W319<6?\:617>0U1?15:[?65823P69=3;4Y=01:0=^4;9596W325<6?\:5=7?0U1<9>49Z8719=2S7>50:;X>1=;26:1=^4?4?7T28>59Z8=833P62285fsOcm2>otFhd::6g|Zdpl2>~D`li`86vFng30?}OinVsXej`PAOF\57Yh9=1sEchPyRkdjZGILV;9Sb?>3:zJjcY~[`meSL@K_07\k42#lsf011c=i?ygt9m|g306)60IigwKL}<79:BC|<4=N381=v]>0;;2>02=9:>::;?528db2~h?n3;0b4>56:&;a?>>3tYm64?555827171>8095ko9;e7f>5<628qX==461;77>4539?<:6?7ia79uB0>=83;1=7>tS029=4<2<3;88<891;0:bd0<,?=1>45+548ab>d2m3:18?4=:50xH=e=9r.>97lj;|N;`?4|,x\2138p4775}h:2>5<#=>03<6`:6;28?l1a290/9:470:l62?7<3`=o6=4+568;4>h2>3807d9l:18'12:7=4;h5a>5<#=>03<6`:6;68?l1f290/9:470:l62?3<3`=26=4+568;4>h2>3<07d97:18'12:794;h54>5<#=>03<6`:6;:8?l11290/9:470:l62??<3`=>6=4+568;4>h2>3k07d9;:18'12:7l4;h51>5<#=>03<6`:6;a8?l16290/9:470:l62?b<3`=;6=4+568;4>h2>3o07d8i:18'12:7h4;h4f>5<#=>03<6`:6;33?>o1l3:1(895819m13<6921b:n4?:%74>=65$459<5=i=?0:965f8983>!3021:0b8851798m=1=83.>;76?;o75>41<3`2=6=4+568;4>h2>3;376g75;29 01=091e9;4>9:9j<1<72-?<65>4n4495d=:7?l;:k4a?6=,<=14=5a5782`>=n?:0;6);8:928j00=9l10e;650;&63?>73g?=65<#=>0jn6`:6;28?lgf290/9:4nb:l62?7<3`k36=4+568bf>h2>3807do8:18'12:7=4;hc5>5<#=>0jn6`:6;68?lg2290/9:4nb:l62?3<3`k?6=4+568bf>h2>3<07do<:18'12:794;hc1>5<#=>0jn6`:6;:8?lg6290/9:4nb:l62??<3`k;6=4+568bf>h2>3k07d7i:18'12:7l4;h;g>5<#=>0jn6`:6;a8?l?d290/9:4nb:l62?b<3`3i6=4+568bf>h2>3o07d7n:18'12:7h4;h;:>5<#=>0jn6`:6;33?>o>03:1(895ac9m13<6921b5:4?:%74>dd5$459eg=i=?0:965fb283>!302hh0b8851798mg4=83.>;7om;o75>41<3`h:6=4+568bf>h2>3;376gm0;29 01=ik1e9;4>9:9jec<72-?<6ll4n4495d=:7?l;:kb=?6=,<=1mo5a5782`>=n1l0;6);8:``8j00=9l10e4=50;&63?ge3g?=65<4<729q/9k4>2:J;e>i693:17pl;b;2904<22==p@5m51zJ1<>{K0m09w);l:09m1a<612w/9k4;e:Xf>7}22?0vV8752z:9=?{n080;6);8:928j00=821b;k4?:%74>=6!3021:0b8852:9j3f<72-?<65>4n4497>=n?k0;6);8:928j00=<21b;l4?:%74>=6!3021:0b8856:9j3=<72-?<65>4n4493>=n?>0;6);8:928j00=021b;;4?:%74>=6!3021:0b885a:9j31<72-?<65>4n449f>=n?;0;6);8:928j00=k21b;<4?:%74>=6!3021:0b885e:9j2c<72-?<65>4n449b>=n>l0;6);8:928j00=9910e;j50;&63?>73g?=65<#=>03<6`:6;31?>o1j3:1(895819m13<6;21b:l4?:%74>=6?290/9:470:l62?7132c3;7>5$459<5=i=?0:;65f8783>!3021:0b8851998m=3=83.>;76?;o75>4?<3`2?6=4+568;4>h2>3;j76g73;29 01=091e9;4>b:9j<7<72-?<65>4n4495f=o1<7*:7;:3?k3128n07d9<:18'12:7?j;:k5=nij0;6);8:``8j00=821bml4?:%74>dd!302hh0b8852:9je2<72-?<6ll4n4497>=ni?0;6);8:``8j00=<21bm84?:%74>dd!302hh0b8856:9je6<72-?<6ll4n4493>=ni;0;6);8:``8j00=021bm<4?:%74>dd!302hh0b885a:9j=c<72-?<6ll4n449f>=n1m0;6);8:``8j00=k21b5n4?:%74>dd!302hh0b885e:9j=d<72-?<6ll4n449b>=n100;6);8:``8j00=9910e4650;&63?ge3g?=65<#=>0jn6`:6;31?>o>>3:1(895ac9m13<6;21b584?:%74>dd7>5$459eg=i=?0:;65fb083>!302hh0b8851998mg6=83.>;7om;o75>4?<3`km6=4+568bf>h2>3;j76gne;29 01=ik1e9;4>b:9jea<72-?<6ll4n4495f=:7?j;:k:7?6=,<=1mo5a5782b>=hj=0;66lm7;2967<32;9p@5m51zJ1<>{K0m09w);l:19m1a<6j2w/9k496:Xf>4}32tP>57?t7;j06<72-?<69<4n4494>=n<80;6);8:508j00=921b?k4?:%74>1465f3d83>!302=80b8853:9j7a<72-?<69<4n4490>=n;j0;6);8:508j00==21b?o4?:%74>14!302=80b8857:9j7<<72-?<69<4n449<>=n;10;6);8:508j00=121b?:4?:%74>14!302=80b885b:9j71<72-?<69<4n449g>=n;:0;6);8:508j00=l21b??4?:%74>14!302=80b885f:9j75<72-?<69<4n44955=:7?=;:k1`?6=,<=18?5a57827>=n:j0;6);8:508j00=9=10e?l50;&63?253g?=6<;4;h6b>5<#=>0?>6`:6;35?>o313:1(895439m13<6?21b854?:%74>1497c;9:0;8?l21290/9:4;2:l62?7f32c?97>5$45907=i=?0:n65f4583>!302=80b8851b98m16=83.>;7:=;o75>4b<3`9>6=4+56876>h2>3;n76g=a;29 01=<;1e9;4>f:9l0f<722e997>5;c6g>5<4290;w);i:`9K6;29?j2a2900qo<9:180>5<7s-?m6o5G8`9j50<722c::7>5;n6e>5<>o6>3:17d?k:188m4c=831b=k4?::k14?6=3`8:6=44i3094?=h4>=;3;jw);i:778m7d=831b>l4?::k1g?6=3`8n6=44i3f94?=n:o0;66g<1;29?l572900e><50;9j71<722c8?7>5;h16>5<>o403:17d:;:188m16=831b884?::k73?6=3`>=6=44i5;94?=n<10;66g;a;29?j072900n;<50;32>5<7s-?m68>4H9c8m43=831b=;4?::k2`?6=3`;n6=44i0d94?=n:90;66g=1;29?l452900e?=50;9j61<722c:;7>5;h3;>5<>o6j3:17d?l:188k1`=831vn;=50;:94?6|,5G8`9j50<722c::7>5;h3g>5<>o583:17d<>:188k1`=831vn;:50;194?6|,5;n6e>5<5<5sW8h708=:0f8yv4b2909wS4c4}r12>5<5sW9:708=:338yv572909wS=?;<41>745<5sW98708=:058yv522909wS=:;<41>4>5<5sW93708=:0`8yv232909wS:;;<41>4e43<5?818k5rs5294?4|V=:01;=5149~w13=838pR9;4=71953=z{==1<7=838pR964=71965=z{=k1<74;f:p25<72;qU:=526587b>{z{=;1<752z\0a>;6<38;7);m:508j0g=;2wx?i4?:3y]7a=:9=0:j6*:b;61?k3f2=1v>m50;0xZ6e<58>1=h5+5c876>h2i3?0q~=m:181[5e34;?6147}Y;016=94>5:&6f?253g?j655rs2:94?4|V:201;;5399'1g<3:2d>m774}r14>5<5sW9<708::258 0d=<;1e9l4n;|q02?6=:rT8:6395;15?!3e2=80b8o5b:p71<72;qU?95264800>"2j3>97c;n:b9~w65=838pR>=4=77976=#=k0?>6`:a;f8yv552909wS==;<46>64<,vP<1:?51?563-?i69<4n4c9b>{t;90;6?uQ319>20<482.>n7:=;o7b>46h4?:3y]6`=:><09i6*:b;61?k3f2880q~6?j4$4`907=i=h0:?6s|2b83>7}Y:j16:84=c:&6f?253g?j6<:4}r0a>5<5sW8i708::3`8 0d=<;1e9l4>5:p0d<72;qU8l526487e>"2j3>97c;n:048yv2>2909wS:6;<46>1?<,{t<10;6?uQ499>20<302.>n7:=;o7b>4><6=4={_64?8022==0(8l5439m1d<612wx8;4?:3y]03=:><0?:6*:b;61?k3f28k0q~:::181[2234<>69;4$4`907=i=h0:n6s|4583>7}Y<=16:84;4:&6f?253g?j65<5sW>;708::528 0d=<;1e9l4>d:p70<72;qU?85264801>"2j3>97c;n:0g8yv4f2909wS7g<,{t9:0;6>u24e821>;5>3;=70?;:5d8H=e=9r.9;7=4}|q54?6=;r7?h7?9;<05>43<5??1:=5C8b82!402;1vq~:l:181[2d34>o69h4}r06>5<5sW8>70<9:5d8yxdd83:1>?4;:31xH=e=9rB946sC8e81!3d291e9i4>d:'1c<1>2Pn64?:%74>14!302=80b8851:9j7c<72-?<69<4n4496>=n;l0;6);8:508j00=;21b?i4?:%74>14!302=80b8855:9j7g<72-?<69<4n4492>=n;h0;6);8:508j00=?21b?44?:%74>14!302=80b8859:9j72<72-?<69<4n449e>=n;?0;6);8:508j00=j21b?94?:%74>14!302=80b885d:9j77<72-?<69<4n449a>=n;80;6);8:508j00=n21b?=4?:%74>1497c;9:038?l4b290/9:4;2:l62?7532c9h7>5$45907=i=?0:?65f2b83>!302=80b8851598m7d=83.>;7:=;o75>43<3`>j6=4+56876>h2>3;=76g;9;29 01=<;1e9;4>7:9j0=<72-?<69<4n4495==:7?n;:k71?6=,<=18?5a5782f>=n<=0;6);8:508j00=9j10e9>50;&63?253g?=65<#=>0?>6`:6;3f?>o5i3:1(895439m13<6n21d8n4?::m11?6=3k>o6=4<:183!3a2h1C4l5f1483>>o6>3:17b:i:188yg4129086=4?{%7e>g=O0h1b=84?::k22?6=3f>m6=44}c37>5<>290;w);i:e9K6;29?l7c2900e5;h02>5<>{e><0;6<653;3b!3a2??0e?l50;9j6d<722c9o7>5;h0f>5<>o493:17d=?:188m64=831b?94?::k07?6=3`9>6=44i2594?=n;?0;66g<8;29?l232900e9>50;9j00<722c?;7>5;h65>5<>o3i3:17b8?:188f34=83;:6=4?{%7e>06<@1k0e<;50;9j53<722c:h7>5;h3f>5<>o593:17d<=:188m75=831b>94?::k23?6=3`;36=44i0;94?=n9h0;66g>b;29?l7d2900c9h50;9~f35=8321<7>t$4d916=O0h1b=84?::k22?6=3`;o6=44i0g94?=n9o0;66g=0;29?l462900c9h50;9~f32=8391<7>t$4d914=O0h1b=84?::k22?6=3f>m6=44}r0a>5<5sW8i708=:078yv4f2909wS405<5sW8o708=:0d8yv4a2909wS765<5sW99708=:318yv532909wS=;;<41>725<5sW9<708=:0;8yv512909wS=9;<41>4g5<5s4<5?91>=5rs5c94?4|V=k01;=5209~w34=838p1;:5179>26<3n2wx:=4?:3y]25=:>=0?j6srs5394?4|V=;01<:5239'1g<3:2d>m7?4}r1e>5<5sW9m70?;:338 0d=<;1e9l4=;|q0a?6=:rT8i63>4;03?!3e2=80b8o53:p7a<72;qU?i521582b>"2j3>97c;n:59~w6e=838pR>m4=0695`=#=k0?>6`:a;78yv5e2909wS=m;<37>4b<,vP{t;00;6?uQ389>51<6=2.>n7:=;o7b>==z{:21<752z\02>;1=39=7);m:508j0g=j2wx?94?:3y]71=:><0886*:b;61?k3f2j1v>=50;0xZ65<5??1?>5+5c876>h2i3n0q~==:181[5534<>6><4$4`907=i=h0n7p}<1;296~X4927=97=>;%7a>147}Y;916:84<0:&6f?253g?j6<>4}r0e>5<5sW8m708::3d8 0d=<;1e9l4>1:p6`<72;qU>h526481a>"2j3>97c;n:008yv4c2909wS7b<,{t:j0;6?uQ2b9>20<5k2.>n7:=;o7b>42<0?m6*:b;61?k3f28<0q~:6:181[2>34<>6974$4`907=i=h0:;6s|4983>7}Y<116:84;8:&6f?253g?j6<64}r64>5<5sW><708::558 0d=<;1e9l4>9:p03<72;qU8;5264872>"2j3>97c;n:0c8yv222909wS::;<46>13<,{t<=0;6?uQ459>20<3<2.>n7:=;o7b>4e;6=4={_63?8022=:0(8l5439m1d<6l2wx?84?:3y]70=:><0896*:b;61?k3f28o0q~6?o4$4`907=i=h0:j6s|1283>6}:53z?7`?71348=6<;4=77925=K0j0:w)<8:39~yv2d2909wS:l;<6g>1`6=4={_06?8412=l0qplm5;291?6=8r.>j7;=;I:b?l722900e<850;9j5a<722c:i7>5;n6e>5<>o6>3:17d?k:188m4c=831d8k4?::aff<72<0;6=u+5g8`?M>f3`;>6=44i0494?=n9m0;66g>e;29?j2a2900q~6>:187[>634h<69=4=cc95a=:jj0:96*:b;:3?k3f291v:h50;0xZ2`<5k=18<5+5c8;4>h2i3;0q~9k:181[1c34h<6>h4$4`9<5=i=h097p}8c;296~X0k27i;7=j;%7a>=67}Y?k16n:473g?j695rs6c94?4|V>k01o953b9'1gm7;4}r5:>5<5sW=270l8:2`8 0d=091e9l49;|q4"2j32;7c;n:99~w20=838pR:84=c597==#=k03<6`:a;;8yv122909wS9:;<`4>61<,vP84:?a3?513-?i65>4n4c9f>{t?;0;6?uQ739>f2<4<2.>n76?;o7b>f=z{>;1<752z\5b>;e?39:7);m:928j0g=n2wx:h4?:3y]2`=:j>08<6*:b;:3?k3f28:0q~8k:181[0c34h<6?h4$4`9<5=i=h0:=6s|6b83>7}Y>j16n:4=e:&6f?>73g?j6<<4}r4a>5<5sW3:p2d<72;qU:l52b681g>"2j32;7c;n:068yv0>2909wS86;<`4>7d<,{t010;6?uQ899>f2<3i2.>n76?;o7b>400?46*:b;:3?k3f2820q~6::181[>234h<6994$4`9<5=i=h0:56s|8583>7}Y0=16n:4;6:&6f?>73g?j65<5sW2870l8:578 0d=091e9l4>b:p<7<72;qU4?52b6870>"2j32;7c;n:0a8yv1b2909wS9j;<`4>16<,{t?:0;6?uQ729>f2<4=2.>n76?;o7b>4c52z\be>;d83>:7);m:``8j0g=92wxm54?:3y]e==:k908j6*:b;ca?k3f2;1vl950;0xZd1<5j:1?h5+5c8bf>h2i390q~o9:181[g134i;6>j4$4`9eg=i=h0?7p}n5;296~Xf=27h<7=l;%7a>dd7}Yi=16o=453`9'1gm794}rc1>5<5sWk970m?:2;8 0d=ik1e9l47;|qb5?6=:rTj=63l0;1;?!3e2hh0b8o59:pe5<72;qUm=52c1803>"2j3ki7c;n:`9~w<`=838pR4h4=b2973=#=k0jn6`:a;`8yv?c2909wS7k;62<,k3:1>vP6c:?`4?543-?i6ll4n4c9`>{t1k0;6?uQ9c9>g5<4:2.>n7om;o7b>`=z{0k1<76s|9783>7}Y1?16o=4=d:&6f?ge3g?j6<=4}r;6>5<5sW3>70m?:3a8 0d=ik1e9l4>4:p=1<72;qU5952c181f>"2j3ki7c;n:078yvd42909wSl<;1g<,{tj;0;6?uQb39>g5<312.>n7om;o7b>417}Yil16o=4;5:&6f?ge3g?j65<5sWko70m?:568 0d=ik1e9l4>c:pe<<72;qUm452c1874>"2j3ki7c;n:0f8yv?b2909wS7j;63<,{t1:0;6?uQ929>g5<5i2.>n7om;o7b>4`1e<5k?1=i5rsc:94?5|5k=1>852b`822>;ek3;=7p}l2;296~;d83>h70l::0g8yve62908w0m?:3789gg=9l16nn4>d:pf1<72;qUn952b487b>{tj00;6?u2b4821>;ei3>m7p}mb;296~;e=3;=70ll:5d8yxu?93:1>vP71:?7f?>63-?i65>4n4c94>{t?o0;6?uQ7g9>0g<0n2.>n76?;o7b>4=z{>n1<7i0(8l5819m1d<43ty52z\4f>;3j3=i7);m:928j0g=<2wx;l4?:3y]3d=:h2i3<0q~97:181[1?34>i6:64$4`9<5=i=h0<7p}87;296~X0?27?n798;%7a>=67}Y??168o486:&6f?>73g?j645rs6794?4|V>?019l5749'1gm7o4}r57>5<5sW=?70:m:668 0d=091e9l4m;|q46?6=:rT<>63;b;51?!3e21:0b8o5c:p34<72;qU;<524c845>"2j32;7c;n:e9~w26=838pR:>4=5`935=#=k03<6`:a;g8yv0a2909wS8i;<6a>3`<,vP9e:?7f?0b3-?i65>4n4c955=z{?n1<7m1/9o470:l6e?763ty=o7>52z\5g>;3j3h2i3;87p}9a;296~X1i27?n78n;%7a>=6m7?:;|q;3:1>vP76:?7f?>13-?i65>4n4c95==z{1?1<73ty387>52z\;0>;3j32?7);m:928j0g=9h1v5=50;0xZ=5<5=h14>5+5c8;4>h2i3;i7p}72;296~X?:27?n76=;%7a>=6o019l57d9'1gm7?k;|q47?6=:rT=838pR;64=5`92==#=k03<6`:a;3e?xufk3:1>vPnc:?7f?gd3-?i6ll4n4c94>{tih0;6?uQa`9>0gn7om;o7b>4=z{h21<752z\b2>;3j3k=7);m:``8j0g=<2wxm84?:3y]e0=:h2i3<0q~o<:181[g434>i6l=4$4`9eg=i=h0<7p}n2;296~Xf:27?n7o=;%7a>dd7}Yi8168o4n1:&6f?ge3g?j645rs`294?4|Vh:019l5a19'1gm7o4}r;e>5<5sW3m70:m:8d8 0d=ik1e9l4m;|q:`?6=:rT2h63;b;;g?!3e2hh0b8o5c:p=f<72;qU5n524c8:g>"2j3ki7c;n:e9~w13:1>vP69:?7f??>3-?i6ll4n4c955=z{021<752z\:3>;3j33<7);m:``8j0g=9;1v4850;0xZ<0<5=h15;5+5c8bf>h2i3;87p}65;296~X>=27?n77:;%7a>dd019l5959'1gm7?:;|qa7?6=:rTi?63;b;`0?!3e2hh0b8o5179~wg4=838pRo<4=5`9f7=#=k0jn6`:a;34?xue93:1>vPm1:?7f?d63-?i6ll4n4c95==z{k:1<73tyjj7>52z\bb>;3j3km7);m:``8j0g=9h1vlk50;0xZdc<5=h1mh5+5c8bf>h2i3;i7p}nd;296~Xfl27?n7ok;%7a>ddm7?k;|q:a?6=:rT2i63;b;;f?!3e2hh0b8o51d9~w<5=838pR4=4=5`9=6=#=k0jn6`:a;3e?xue<3:1>vPm4:?7f?d33tyi:7>52z?;f?763Wh=7psr}|BCG~4?13oj?o7=64CDG}7uIJ[wpNO \ No newline at end of file diff --git a/SpecialCasesCheck.prj b/SpecialCasesCheck.prj index ada0325..81b04dc 100644 --- a/SpecialCasesCheck.prj +++ b/SpecialCasesCheck.prj @@ -1,2 +1,3 @@ vhdl work "TypeCheck.vhd" +vhdl work "NaNCheck.vhd" vhdl work "SpecialCasesCheck.vhd" diff --git a/SpecialCasesCheck.syr b/SpecialCasesCheck.syr index 077b6ec..749be4d 100644 --- a/SpecialCasesCheck.syr +++ b/SpecialCasesCheck.syr @@ -1,37 +1,42 @@ -Release 14.7 - xst P.20131013 (lin64) +Release 14.7 - xst P.20160913 (lin64) Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. --> Parameter TMPDIR set to xst/projnav.tmp Total REAL time to Xst completion: 0.00 secs -Total CPU time to Xst completion: 0.05 secs +Total CPU time to Xst completion: 0.09 secs --> Parameter xsthdpdir set to xst Total REAL time to Xst completion: 0.00 secs -Total CPU time to Xst completion: 0.05 secs +Total CPU time to Xst completion: 0.09 secs --> Reading design: SpecialCasesCheck.prj TABLE OF CONTENTS 1) Synthesis Options Summary - 2) HDL Compilation - 3) Design Hierarchy Analysis - 4) HDL Analysis - 5) HDL Synthesis - 5.1) HDL Synthesis Report - 6) Advanced HDL Synthesis - 6.1) Advanced HDL Synthesis Report - 7) Low Level Synthesis - 8) Partition Report - 9) Final Report - 9.1) Device utilization summary - 9.2) Partition Resource Summary - 9.3) TIMING REPORT + 2) HDL Parsing + 3) HDL Elaboration + 4) HDL Synthesis + 4.1) HDL Synthesis Report + 5) Advanced HDL Synthesis + 5.1) Advanced HDL Synthesis Report + 6) Low Level Synthesis + 7) Partition Report + 8) Design Summary + 8.1) Primitive and Black Box Usage + 8.2) Device utilization summary + 8.3) Partition Resource Summary + 8.4) Timing Report + 8.4.1) Clock Information + 8.4.2) Asynchronous Control Signals Information + 8.4.3) Timing Summary + 8.4.4) Timing Details + 8.4.5) Cross Clock Domains Report ========================================================================= @@ -39,13 +44,12 @@ TABLE OF CONTENTS ========================================================================= ---- Source Parameters Input File Name : "SpecialCasesCheck.prj" -Input Format : mixed Ignore Synthesis Constraint File : NO ---- Target Parameters Output File Name : "SpecialCasesCheck" Output Format : NGC -Target Device : xc3s50-5-pq208 +Target Device : xa6slx4-3-csg225 ---- Source Options Top Module Name : SpecialCasesCheck @@ -56,25 +60,21 @@ FSM Style : LUT RAM Extraction : Yes RAM Style : Auto ROM Extraction : Yes -Mux Style : Auto -Decoder Extraction : YES -Priority Encoder Extraction : Yes Shift Register Extraction : YES -Logical Shifter Extraction : YES -XOR Collapsing : YES ROM Style : Auto -Mux Extraction : Yes Resource Sharing : YES Asynchronous To Synchronous : NO -Multiplier Style : Auto +Shift Register Minimum Size : 2 +Use DSP Block : Auto Automatic Register Balancing : No ---- Target Options +LUT Combining : Auto +Reduce Control Sets : Auto Add IO Buffers : YES -Global Maximum Fanout : 500 -Add Generic Clock Buffer(BUFG) : 8 +Global Maximum Fanout : 100000 +Add Generic Clock Buffer(BUFG) : 32 Register Duplication : YES -Slice Packing : YES Optimize Instantiated Primitives : NO Use Clock Enable : Yes Use Synchronous Set : Yes @@ -85,6 +85,7 @@ Equivalent register Removal : YES ---- General Options Optimization Goal : Speed Optimization Effort : 1 +Power Reduction : NO Keep Hierarchy : No Netlist Hierarchy : As_Optimized RTL Output : Yes @@ -97,7 +98,7 @@ Bus Delimiter : <> Case Specifier : Maintain Slice Utilization Ratio : 100 BRAM Utilization Ratio : 100 -Verilog 2001 : YES +DSP48 Utilization Ratio : 100 Auto BRAM Packing : NO Slice Utilization Ratio Delta : 5 @@ -105,48 +106,50 @@ Slice Utilization Ratio Delta : 5 ========================================================================= -* HDL Compilation * +* HDL Parsing * ========================================================================= -Compiling vhdl file "/home/Luca/ISE/IEEE754Adder/TypeCheck.vhd" in Library work. -Architecture typecheckarch of Entity typecheck is up to date. -Compiling vhdl file "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.vhd" in Library work. -Entity compiled. -Entity (Architecture ) compiled. +Parsing VHDL file "/home/ise/gianni/IEEE754Adder/TypeCheck.vhd" into library work +Parsing entity . +Parsing architecture of entity . +Parsing VHDL file "/home/ise/gianni/IEEE754Adder/NaNCheck.vhd" into library work +Parsing entity . +Parsing architecture of entity . +Parsing VHDL file "/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.vhd" into library work +Parsing entity . +Parsing architecture of entity . ========================================================================= -* Design Hierarchy Analysis * +* HDL Elaboration * ========================================================================= -Analyzing hierarchy for entity in library (architecture ). -Analyzing hierarchy for entity in library (architecture ). +Elaborating entity (architecture ) from library . +Elaborating entity (architecture ) from library . -========================================================================= -* HDL Analysis * -========================================================================= -Analyzing Entity in library (Architecture ). -Entity analyzed. Unit generated. - -Analyzing Entity in library (Architecture ). -Entity analyzed. Unit generated. - +Elaborating entity (architecture ) from library . ========================================================================= * HDL Synthesis * ========================================================================= -Performing bidirectional port resolution... - -Synthesizing Unit . - Related source file is "/home/Luca/ISE/IEEE754Adder/TypeCheck.vhd". -WARNING:Xst:647 - Input > is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved. -Unit synthesized. - - Synthesizing Unit . - Related source file is "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.vhd". + Related source file is "/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.vhd". + Summary: + no macro. Unit synthesized. +Synthesizing Unit . + Related source file is "/home/ise/gianni/IEEE754Adder/NaNCheck.vhd". + Summary: + no macro. +Unit synthesized. + +Synthesizing Unit . + Related source file is "/home/ise/gianni/IEEE754Adder/TypeCheck.vhd". +WARNING:Xst:647 - Input > is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved. + Summary: + no macro. +Unit synthesized. ========================================================================= HDL Synthesis Report @@ -173,7 +176,7 @@ Optimizing unit ... Mapping all equations... Building and optimizing final netlist ... -Found area constraint ratio of 100 (+ 5) on block SpecialCasesCheck, actual ratio is 1. +Found area constraint ratio of 100 (+ 5) on block SpecialCasesCheck, actual ratio is 0. Final Macro Processing ... @@ -195,38 +198,45 @@ Partition Implementation Status ------------------------------- ========================================================================= -* Final Report * +* Design Summary * ========================================================================= -Final Results -RTL Top Level Output File Name : SpecialCasesCheck.ngr -Top Level Output File Name : SpecialCasesCheck -Output Format : NGC -Optimization Goal : Speed -Keep Hierarchy : No -Design Statistics -# IOs : 66 +Top Level Output File Name : SpecialCasesCheck.ngc -Cell Usage : -# BELS : 24 +Primitive and Black Box Usage: +------------------------------ +# BELS : 16 # GND : 1 -# LUT2 : 1 # LUT3 : 2 -# LUT4 : 20 +# LUT4 : 2 +# LUT5 : 2 +# LUT6 : 9 # IO Buffers : 66 # IBUF : 64 # OBUF : 2 -========================================================================= Device utilization summary: --------------------------- -Selected Device : 3s50pq208-5 +Selected Device : xa6slx4csg225-3 - Number of Slices: 13 out of 768 1% - Number of 4 input LUTs: 23 out of 1536 1% + +Slice Logic Utilization: + Number of Slice LUTs: 15 out of 2400 0% + Number used as Logic: 15 out of 2400 0% + +Slice Logic Distribution: + Number of LUT Flip Flop pairs used: 15 + Number with an unused Flip Flop: 15 out of 15 100% + Number with an unused LUT: 0 out of 15 0% + Number of fully used LUT-FF pairs: 0 out of 15 0% + Number of unique control sets: 0 + +IO Utilization: Number of IOs: 66 - Number of bonded IOBs: 66 out of 124 53% + Number of bonded IOBs: 66 out of 132 50% + +Specific Feature Utilization: --------------------------- Partition Resource Summary: @@ -238,7 +248,7 @@ Partition Resource Summary: ========================================================================= -TIMING REPORT +Timing Report NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE. FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT @@ -254,50 +264,53 @@ No asynchronous control signals found in this design Timing Summary: --------------- -Speed Grade: -5 +Speed Grade: -3 Minimum period: No path found Minimum input arrival time before clock: No path found Maximum output required time after clock: No path found - Maximum combinational path delay: 13.307ns + Maximum combinational path delay: 7.532ns -Timing Detail: --------------- +Timing Details: +--------------- All values displayed in nanoseconds (ns) ========================================================================= Timing constraint: Default path analysis - Total number of paths / destination ports: 72 / 1 + Total number of paths / destination ports: 64 / 1 ------------------------------------------------------------------------- -Delay: 13.307ns (Levels of Logic = 7) - Source: Y<8> (PAD) +Delay: 7.532ns (Levels of Logic = 5) + Source: Y<4> (PAD) Destination: isNan (PAD) - Data Path: Y<8> to isNan + Data Path: Y<4> to isNan Gate Net Cell:in->out fanout Delay Delay Logical Name (Net Name) ---------------------------------------- ------------ - IBUF:I->O 1 0.715 0.976 Y_8_IBUF (Y_8_IBUF) - LUT4:I0->O 1 0.479 0.976 isNan35 (isNan35) - LUT2:I0->O 1 0.479 0.704 isNan41 (isNan41) - LUT4:I3->O 1 0.479 0.976 isNan61 (isNan61) - LUT3:I0->O 1 0.479 0.976 isNan209_SW0 (N6) - LUT4:I0->O 1 0.479 0.681 isNan209 (isNan_OBUF) - OBUF:I->O 4.909 isNan_OBUF (isNan) + IBUF:I->O 1 1.222 0.944 Y_4_IBUF (Y_4_IBUF) + LUT6:I0->O 1 0.203 0.924 NC/isNan11 (NC/isNan10) + LUT6:I1->O 1 0.203 0.684 NC/isNan12 (NC/isNan11) + LUT6:I4->O 1 0.203 0.579 NC/isNan13 (isNan_OBUF) + OBUF:I->O 2.571 isNan_OBUF (isNan) ---------------------------------------- - Total 13.307ns (8.019ns logic, 5.288ns route) - (60.3% logic, 39.7% route) + Total 7.532ns (4.402ns logic, 3.130ns route) + (58.4% logic, 41.6% route) + +========================================================================= + +Cross Clock Domains Report: +-------------------------- ========================================================================= -Total REAL time to Xst completion: 3.00 secs -Total CPU time to Xst completion: 3.05 secs +Total REAL time to Xst completion: 22.00 secs +Total CPU time to Xst completion: 19.75 secs --> -Total memory usage is 606300 kilobytes +Total memory usage is 473740 kilobytes Number of errors : 0 ( 0 filtered) Number of warnings : 1 ( 0 filtered) diff --git a/SpecialCasesCheck.vhd b/SpecialCasesCheck.vhd index f74787a..4a81344 100644 --- a/SpecialCasesCheck.vhd +++ b/SpecialCasesCheck.vhd @@ -10,33 +10,26 @@ end SpecialCasesCheck; architecture SpecialCasesCheckArch of SpecialCasesCheck is - component TypeCheck is + component NaNCheck is port( - N: in std_logic_vector(31 downto 0); - NaN, INF: out std_logic + X, Y: in std_logic_vector(31 downto 0); + isNan: out std_logic ); end component; - - signal xNan: std_logic; - signal xInf: std_logic; + signal xSign: std_logic; - signal yNan: std_logic; - signal yInf: std_logic; signal ySign: std_logic; signal isSameAbsValue: std_logic; begin - xCheck: TypeCheck - port map (N => X, NaN => xNan, INF => xInf); - yCheck: TypeCheck - port map (N => Y, NaN => yNan, INF => yInf); + NC: NaNCheck + port map (X => X, Y => Y, isNan => isNan); xSign <= X(31); ySign <= Y(31); isSameAbsValue <= '0'; -- TODO - isNan <= xNan or yNan or (xInf and xSign and yInf and (not ySign)) or (xInf and (not xSign) and yInf and ySign); isZero <= (xSign and (not ySign) and isSameAbsValue) or ((not xSign) and ySign and isSameAbsValue); end SpecialCasesCheckArch; diff --git a/SpecialCasesCheck.xst b/SpecialCasesCheck.xst index 4ad8c20..b60d7e8 100644 --- a/SpecialCasesCheck.xst +++ b/SpecialCasesCheck.xst @@ -2,13 +2,13 @@ set -tmpdir "xst/projnav.tmp" set -xsthdpdir "xst" run -ifn SpecialCasesCheck.prj --ifmt mixed -ofn SpecialCasesCheck -ofmt NGC --p xc3s50-5-pq208 +-p xa6slx4-3-csg225 -top SpecialCasesCheck -opt_mode Speed -opt_level 1 +-power NO -iuc NO -keep_hierarchy No -netlist_hierarchy As_Optimized @@ -22,31 +22,27 @@ run -case Maintain -slice_utilization_ratio 100 -bram_utilization_ratio 100 --verilog2001 YES +-dsp_utilization_ratio 100 +-lc Auto +-reduce_control_sets Auto -fsm_extract YES -fsm_encoding Auto -safe_implementation No -fsm_style LUT -ram_extract Yes -ram_style Auto -rom_extract Yes --mux_style Auto --decoder_extract YES --priority_extract Yes -shreg_extract YES --shift_extract YES --xor_collapse YES -rom_style Auto -auto_bram_packing NO --mux_extract Yes -resource_sharing YES -async_to_sync NO --mult_style Auto +-shreg_min_size 2 +-use_dsp48 Auto -iobuf YES --max_fanout 500 --bufg 8 +-max_fanout 100000 +-bufg 32 -register_duplication YES -register_balancing No --slice_packing YES -optimize_primitives NO -use_clock_enable Yes -use_sync_set Yes diff --git a/SpecialCasesCheck_envsettings.html b/SpecialCasesCheck_envsettings.html index a9b7595..1d78746 100644 --- a/SpecialCasesCheck_envsettings.html +++ b/SpecialCasesCheck_envsettings.html @@ -15,14 +15,21 @@ LD_LIBRARY_PATH -/opt/Xilinx/14.7/ISE_DS/ISE//lib/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64:
/opt/Xilinx/14.7/ISE_DS/EDK/lib/lin64:
/opt/Xilinx/14.7/ISE_DS/common/lib/lin64 +/opt/Xilinx/14.7/ISE_DS/ISE//lib/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/smartmodel/lin64/installed_lin64/lib:
/opt/Xilinx/14.7/ISE_DS/ISE/sysgen/lib:
/opt/Xilinx/14.7/ISE_DS/EDK/lib/lin64:
/opt/Xilinx/14.7/ISE_DS/common/lib/lin64 +< data not available > +< data not available > +< data not available > + + +LMC_HOME +/opt/Xilinx/14.7/ISE_DS/ISE/smartmodel/lin64/installed_lin64 < data not available > < data not available > < data not available > PATH -/opt/Xilinx/14.7/ISE_DS/ISE//bin/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/sysgen/util:
/opt/Xilinx/14.7/ISE_DS/ISE/../../../DocNav:
/opt/Xilinx/14.7/ISE_DS/PlanAhead/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/bin/lin64:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/powerpc-eabi/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/arm/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/linux_toolchain/lin64_be/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/linux_toolchain/lin64_le/bin:
/opt/Xilinx/14.7/ISE_DS/common/bin/lin64:
/usr/lib64/qt-3.3/bin:
/usr/local/bin:
/usr/bin:
/bin:
/usr/local/sbin:
/usr/sbin:
/sbin:
/home/Luca/bin +/opt/Xilinx/14.7/ISE_DS/ISE//bin/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/sysgen/util:
/opt/Xilinx/14.7/ISE_DS/ISE/sysgen/bin:
/opt/Xilinx/14.7/ISE_DS/ISE/../../../DocNav:
/opt/Xilinx/14.7/ISE_DS/PlanAhead/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/bin/lin64:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/powerpc-eabi/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/arm/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/linux_toolchain/lin64_be/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/linux_toolchain/lin64_le/bin:
/opt/Xilinx/14.7/ISE_DS/common/bin/lin64:
/usr/lib64/qt-3.3/bin:
/usr/local/bin:
/usr/bin:
/bin:
/usr/local/sbin:
/usr/sbin:
/sbin:
/home/ise/bin < data not available > < data not available > < data not available > @@ -74,12 +81,6 @@   --ifmt -  -mixed -MIXED - - -ofn   SpecialCasesCheck @@ -94,7 +95,7 @@ -p   -xc3s50-5-pq208 +xa6slx4-3-csg225   @@ -107,7 +108,7 @@ -opt_mode Optimization Goal Speed -SPEED +Speed -opt_level @@ -116,52 +117,58 @@ 1 +-power +Power Reduction +NO +No + + -iuc Use synthesis Constraints File NO -NO +No -keep_hierarchy Keep Hierarchy No -NO +No -netlist_hierarchy Netlist Hierarchy As_Optimized -as_optimized +As_Optimized -rtlview Generate RTL Schematic Yes -NO +No -glob_opt Global Optimization Goal AllClockNets -ALLCLOCKNETS +AllClockNets -read_cores Read Cores YES -YES +Yes -write_timing_constraints Write Timing Constraints NO -NO +No -cross_clock_analysis Cross Clock Analysis NO -NO +No -bus_delimiter @@ -173,37 +180,43 @@ -slice_utilization_ratio Slice Utilization Ratio 100 -100% +100 -bram_utilization_ratio BRAM Utilization Ratio 100 -100% +100 --verilog2001 -Verilog 2001 -YES -YES +-dsp_utilization_ratio +DSP Utilization Ratio +100 +100 + + +-reduce_control_sets +  +Auto +Auto -fsm_extract   YES -YES +Yes -fsm_encoding   Auto -AUTO +Auto -safe_implementation   No -NO +No -fsm_style @@ -215,127 +228,127 @@ -ram_extract   Yes -YES +Yes -ram_style   Auto -AUTO +Auto -rom_extract   Yes -YES +Yes -shreg_extract   YES -YES +Yes -rom_style   Auto -AUTO +Auto -auto_bram_packing   NO -NO +No -resource_sharing   YES -YES +Yes -async_to_sync   NO -NO +No --mult_style +-use_dsp48   Auto -AUTO +Auto -iobuf   YES -YES +Yes -max_fanout   -500 -500 +100000 +100000 -bufg   -8 -8 +32 +16 -register_duplication   YES -YES +Yes -register_balancing   No -NO +No -optimize_primitives   NO -NO +No -use_clock_enable   Yes -YES +Auto -use_sync_set   Yes -YES +Auto -use_sync_reset   Yes -YES +Auto -iob   Auto -AUTO +Auto -equivalent_register_removal   YES -YES +Yes -slice_utilization_ratio_maxmargin   5 -0% +0
@@ -352,28 +365,28 @@ CPU Architecture/Speed -Intel Core Processor (Haswell, no TSX)/2494.222 MHz +Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz/2394.454 MHz <  data not available  > <  data not available  > <  data not available  > Host -Xilinx +localhost.localdomain <  data not available  > <  data not available  > <  data not available  > OS Name -CentOS +OracleServer <  data not available  > <  data not available  > <  data not available  > OS Release -CentOS release 6.10 (Final) +Oracle Linux Server release 6.4 <  data not available  > <  data not available  > <  data not available  > diff --git a/SpecialCasesCheck_summary.html b/SpecialCasesCheck_summary.html index cc69285..c575689 100644 --- a/SpecialCasesCheck_summary.html +++ b/SpecialCasesCheck_summary.html @@ -2,7 +2,7 @@ - + @@ -17,14 +17,15 @@ - + - + - + @@ -42,7 +43,7 @@ @@ -52,7 +53,26 @@ System Settings - + 
SpecialCasesCheck Project Status (08/17/2019 - 16:41:04)
SpecialCasesCheck Project Status (08/17/2019 - 17:19:45)
Project File: IEEE754Adder.xise
Target Device:xc3s50-5pq208xa6slx4-3csg225
  • Errors:
  +No Errors
Product Version:ISE 14.7
  • Warnings:
 1 Warning (1 new)
Design Goal:
Environment: - + System Settings
  • Final Timing Score:
+ + + + + + + + + + + + + + + + + + +
Device Utilization Summary (estimated values) [-]
Logic UtilizationUsedAvailableUtilization
Number of Slice LUTs1524000%
Number of fully used LUT-FF pairs0150%
Number of bonded IOBs6613250%
@@ -64,7 +84,7 @@ System Settings Detailed Reports [-] Report NameStatusGenerated ErrorsWarningsInfos -Synthesis ReportCurrentSat Aug 17 16:39:00 2019    +Synthesis ReportCurrentSat Aug 17 17:19:45 201901 Warning (1 new)0 Translation Report      Map Report      Place and Route Report      @@ -78,5 +98,5 @@ System Settings -
Date Generated: 08/17/2019 - 16:41:04
+
Date Generated: 08/17/2019 - 17:19:45
\ No newline at end of file diff --git a/SpecialCasesCheck_xst.xrpt b/SpecialCasesCheck_xst.xrpt index 2217582..93a37c7 100644 --- a/SpecialCasesCheck_xst.xrpt +++ b/SpecialCasesCheck_xst.xrpt @@ -5,7 +5,7 @@ The structure and the elements are likely to change over the next few releases. This means code written to parse this file will need to be revisited each subsequent release.--> - +
@@ -16,7 +16,7 @@ - + @@ -24,98 +24,86 @@ - + + + + + - +
- - + + - + - - - - - - - - - - - - - - + +
- - + - + - - - - - - - - + + + + + + + + + - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +
@@ -124,23 +112,17 @@
-
-
- - - - - +
+
+
-
- -
-
- +
+ - - + + + @@ -149,11 +131,16 @@
- - - + + + + + + + + - +
diff --git a/TypeCheck_envsettings.html b/TypeCheck_envsettings.html new file mode 100644 index 0000000..cac681c --- /dev/null +++ b/TypeCheck_envsettings.html @@ -0,0 +1,509 @@ +Xilinx System Settings Report + +
System Settings

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Environment Settings
Environment Variablexstngdbuildmappar
LD_LIBRARY_PATH/opt/Xilinx/14.7/ISE_DS/ISE//lib/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/smartmodel/lin64/installed_lin64/lib:
/opt/Xilinx/14.7/ISE_DS/ISE/sysgen/lib:
/opt/Xilinx/14.7/ISE_DS/EDK/lib/lin64:
/opt/Xilinx/14.7/ISE_DS/common/lib/lin64
/opt/Xilinx/14.7/ISE_DS/ISE//lib/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64:
/opt/Xilinx/14.7/ISE_DS/EDK/lib/lin64:
/opt/Xilinx/14.7/ISE_DS/common/lib/lin64
/opt/Xilinx/14.7/ISE_DS/ISE//lib/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64:
/opt/Xilinx/14.7/ISE_DS/EDK/lib/lin64:
/opt/Xilinx/14.7/ISE_DS/common/lib/lin64
/opt/Xilinx/14.7/ISE_DS/ISE//lib/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64:
/opt/Xilinx/14.7/ISE_DS/EDK/lib/lin64:
/opt/Xilinx/14.7/ISE_DS/common/lib/lin64
LMC_HOME/opt/Xilinx/14.7/ISE_DS/ISE/smartmodel/lin64/installed_lin64<  not set  ><  not set  ><  not set  >
PATH/opt/Xilinx/14.7/ISE_DS/ISE//bin/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/sysgen/util:
/opt/Xilinx/14.7/ISE_DS/ISE/sysgen/bin:
/opt/Xilinx/14.7/ISE_DS/ISE/../../../DocNav:
/opt/Xilinx/14.7/ISE_DS/PlanAhead/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/bin/lin64:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/powerpc-eabi/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/arm/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/linux_toolchain/lin64_be/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/linux_toolchain/lin64_le/bin:
/opt/Xilinx/14.7/ISE_DS/common/bin/lin64:
/usr/lib64/qt-3.3/bin:
/usr/local/bin:
/usr/bin:
/bin:
/usr/local/sbin:
/usr/sbin:
/sbin:
/home/ise/bin
/opt/Xilinx/14.7/ISE_DS/ISE//bin/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/sysgen/util:
/opt/Xilinx/14.7/ISE_DS/ISE/../../../DocNav:
/opt/Xilinx/14.7/ISE_DS/PlanAhead/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/bin/lin64:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/powerpc-eabi/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/arm/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/linux_toolchain/lin64_be/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/linux_toolchain/lin64_le/bin:
/opt/Xilinx/14.7/ISE_DS/common/bin/lin64:
/usr/lib64/qt-3.3/bin:
/usr/local/bin:
/usr/bin:
/bin:
/usr/local/sbin:
/usr/sbin:
/sbin:
/home/Luca/bin
/opt/Xilinx/14.7/ISE_DS/ISE//bin/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/sysgen/util:
/opt/Xilinx/14.7/ISE_DS/ISE/../../../DocNav:
/opt/Xilinx/14.7/ISE_DS/PlanAhead/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/bin/lin64:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/powerpc-eabi/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/arm/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/linux_toolchain/lin64_be/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/linux_toolchain/lin64_le/bin:
/opt/Xilinx/14.7/ISE_DS/common/bin/lin64:
/usr/lib64/qt-3.3/bin:
/usr/local/bin:
/usr/bin:
/bin:
/usr/local/sbin:
/usr/sbin:
/sbin:
/home/Luca/bin
/opt/Xilinx/14.7/ISE_DS/ISE//bin/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64:
/opt/Xilinx/14.7/ISE_DS/ISE/sysgen/util:
/opt/Xilinx/14.7/ISE_DS/ISE/../../../DocNav:
/opt/Xilinx/14.7/ISE_DS/PlanAhead/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/bin/lin64:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/powerpc-eabi/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/arm/lin/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/linux_toolchain/lin64_be/bin:
/opt/Xilinx/14.7/ISE_DS/EDK/gnu/microblaze/linux_toolchain/lin64_le/bin:
/opt/Xilinx/14.7/ISE_DS/common/bin/lin64:
/usr/lib64/qt-3.3/bin:
/usr/local/bin:
/usr/bin:
/bin:
/usr/local/sbin:
/usr/sbin:
/sbin:
/home/Luca/bin
XILINX/opt/Xilinx/14.7/ISE_DS/ISE//opt/Xilinx/14.7/ISE_DS/ISE//opt/Xilinx/14.7/ISE_DS/ISE//opt/Xilinx/14.7/ISE_DS/ISE/
XILINX_DSP/opt/Xilinx/14.7/ISE_DS/ISE/opt/Xilinx/14.7/ISE_DS/ISE/opt/Xilinx/14.7/ISE_DS/ISE/opt/Xilinx/14.7/ISE_DS/ISE
XILINX_EDK/opt/Xilinx/14.7/ISE_DS/EDK/opt/Xilinx/14.7/ISE_DS/EDK/opt/Xilinx/14.7/ISE_DS/EDK/opt/Xilinx/14.7/ISE_DS/EDK
XILINX_PLANAHEAD/opt/Xilinx/14.7/ISE_DS/PlanAhead/opt/Xilinx/14.7/ISE_DS/PlanAhead/opt/Xilinx/14.7/ISE_DS/PlanAhead/opt/Xilinx/14.7/ISE_DS/PlanAhead
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Synthesis Property Settings
Switch NameProperty NameValueDefault Value
-ifn TypeCheck.prj 
-ofn TypeCheck 
-ofmt NGCNGC
-p xa6slx4-3-csg225 
-top TypeCheck 
-opt_modeOptimization GoalSpeedSpeed
-opt_levelOptimization Effort11
-powerPower ReductionNONo
-iucUse synthesis Constraints FileNONo
-keep_hierarchyKeep HierarchyNoNo
-netlist_hierarchyNetlist HierarchyAs_OptimizedAs_Optimized
-rtlviewGenerate RTL SchematicYesNo
-glob_optGlobal Optimization GoalAllClockNetsAllClockNets
-read_coresRead CoresYESYes
-write_timing_constraintsWrite Timing ConstraintsNONo
-cross_clock_analysisCross Clock AnalysisNONo
-bus_delimiterBus Delimiter<><>
-slice_utilization_ratioSlice Utilization Ratio100100
-bram_utilization_ratioBRAM Utilization Ratio100100
-dsp_utilization_ratioDSP Utilization Ratio100100
-reduce_control_sets AutoAuto
-fsm_extract YESYes
-fsm_encoding AutoAuto
-safe_implementation NoNo
-fsm_style LUTLUT
-ram_extract YesYes
-ram_style AutoAuto
-rom_extract YesYes
-shreg_extract YESYes
-rom_style AutoAuto
-auto_bram_packing NONo
-resource_sharing YESYes
-async_to_sync NONo
-use_dsp48 AutoAuto
-iobuf YESYes
-max_fanout 100000100000
-bufg 3216
-register_duplication YESYes
-register_balancing NoNo
-optimize_primitives NONo
-use_clock_enable YesAuto
-use_sync_set YesAuto
-use_sync_reset YesAuto
-iob AutoAuto
-equivalent_register_removal YESYes
-slice_utilization_ratio_maxmargin 50
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Translation Property Settings
Switch NameProperty NameValueDefault Value
-intstyle iseNone
-dd _ngoNone
-p xc3s50-pq208-5None
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Map Property Settings
Switch NameProperty NameValueDefault Value
-irUse RLOC ConstraintsOFFOFF
-cmOptimization Strategy (Cover Mode)areaarea
-intstyle iseNone
-o TypeCheck_map.ncdNone
-prPack I/O Registers/Latches into IOBsoffoff
-p xc3s50-pq208-5None
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Place and Route Property Settings
Switch NameProperty NameValueDefault Value
-t 11
-intstyle ise 
-olPlace & Route Effort Level (Overall)highstd
-w truefalse
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Operating System Information
Operating System Informationxstngdbuildmappar
CPU Architecture/SpeedIntel(R) Core(TM) i7-5500U CPU @ 2.40GHz/2394.454 MHzIntel Core Processor (Haswell, no TSX)/2494.222 MHzIntel Core Processor (Haswell, no TSX)/2494.222 MHzIntel Core Processor (Haswell, no TSX)/2494.222 MHz
Hostlocalhost.localdomainXilinxXilinxXilinx
OS NameOracleServerCentOSCentOSCentOS
OS ReleaseOracle Linux Server release 6.4CentOS release 6.10 (Final)CentOS release 6.10 (Final)CentOS release 6.10 (Final)
+ \ No newline at end of file diff --git a/TypeCheck_summary.html b/TypeCheck_summary.html new file mode 100644 index 0000000..bbadc90 --- /dev/null +++ b/TypeCheck_summary.html @@ -0,0 +1,102 @@ +Xilinx Design Summary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeCheck Project Status (08/17/2019 - 16:39:36)
Project File:IEEE754Adder.xiseParser Errors: No Errors
Module Name:TypeCheckImplementation State:Synthesized
Target Device:xa6slx4-3csg225
  • Errors:
+No Errors
Product Version:ISE 14.7
  • Warnings:
1 Warning (1 new)
Design Goal:Balanced
  • Routing Results:
Design Strategy:Xilinx Default (unlocked)
  • Timing Constraints:
 
Environment: + +System Settings +
  • Final Timing Score:
  
+ + + + 
+ + + + + + + + + + + + + + + + + + +
Device Utilization Summary (estimated values) [-]
Logic UtilizationUsedAvailableUtilization
Number of Slice LUTs924000%
Number of fully used LUT-FF pairs090%
Number of bonded IOBs3313225%
+ + + + + + + + 
+ + + + + + + + + + +
Detailed Reports [-]
Report NameStatusGeneratedErrorsWarningsInfos
Synthesis ReportCurrentSat Aug 17 16:39:35 201901 Warning (1 new)0
Translation ReportOut of DateSat Aug 17 16:35:26 2019000
Map ReportOut of DateSat Aug 17 16:35:26 2019004 Infos (0 new)
Place and Route ReportOut of DateSat Aug 17 16:35:26 2019001 Info (0 new)
Power Report     
Post-PAR Static Timing ReportOut of DateSat Aug 17 16:35:26 2019006 Infos (0 new)
Bitgen Report     

+ + +
Secondary Reports [-]
Report NameStatusGenerated
+ + +
Date Generated: 08/17/2019 - 16:39:36
+ \ No newline at end of file diff --git a/_xmsgs/pn_parser.xmsgs b/_xmsgs/pn_parser.xmsgs index c57b568..2aee04b 100644 --- a/_xmsgs/pn_parser.xmsgs +++ b/_xmsgs/pn_parser.xmsgs @@ -8,7 +8,7 @@ -Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.vhd" into library work +Parsing VHDL file "/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.vhd" into library work diff --git a/_xmsgs/xst.xmsgs b/_xmsgs/xst.xmsgs index 7f18513..71eed22 100644 --- a/_xmsgs/xst.xmsgs +++ b/_xmsgs/xst.xmsgs @@ -5,7 +5,7 @@ behavior or data corruption. It is strongly advised that users do not edit the contents of this file. --> -Input <N<31>> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved. +Input <N<31:31>> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved. diff --git a/iseconfig/IEEE754Adder.projectmgr b/iseconfig/IEEE754Adder.projectmgr new file mode 100644 index 0000000..0b2671e --- /dev/null +++ b/iseconfig/IEEE754Adder.projectmgr @@ -0,0 +1,76 @@ + + + + + + + + + 2 + + + SpecialCasesCheck - SpecialCasesCheckArch (/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.vhd) + + 0 + 0 + 000000ff00000000000000010000000100000000000000000000000000000000020200000001000000010000006400000222000000020000000000000000000000000200000064ffffffff000000810000000300000002000002220000000100000003000000000000000100000003 + true + SpecialCasesCheck - SpecialCasesCheckArch (/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.vhd) + + + + 1 + Configure Target Device + Design Utilities + Implement Design + User Constraints + + + View RTL Schematic + + 0 + 0 + 000000ff000000000000000100000001000000000000000000000000000000000000000000000000e5000000010000000100000000000000000000000064ffffffff000000810000000000000001000000e50000000100000000 + false + View RTL Schematic + + + + 1 + + + 0 + 0 + 000000ff0000000000000001000000000000000001000000000000000000000000000000000000028a000000040101000100000000000000000000000064ffffffff000000810000000000000004000000b600000001000000000000005d0000000100000000000000840000000100000000000000f30000000100000000 + false + SpecialCasesCheck.vhd + + + + 1 + work + + + 0 + 0 + 000000ff00000000000000010000000000000000010000000000000000000000000000000000000128000000010001000100000000000000000000000064ffffffff000000810000000000000001000001280000000100000000 + false + work + + + + 1 + Design Utilities + + + + + 0 + 0 + 000000ff000000000000000100000001000000000000000000000000000000000000000000000000f4000000010000000100000000000000000000000064ffffffff000000810000000000000001000000f40000000100000000 + false + + + 000000ff00000000000000020000014c0000011d01000000060100000002 + Implementation + diff --git a/iseconfig/SpecialCasesCheck.xreport b/iseconfig/SpecialCasesCheck.xreport index 0aa7809..3623fdb 100644 --- a/iseconfig/SpecialCasesCheck.xreport +++ b/iseconfig/SpecialCasesCheck.xreport @@ -1,11 +1,11 @@
- 2019-08-17T15:26:24 + 2019-08-17T16:51:16 SpecialCasesCheck Unknown - /home/Luca/ISE/IEEE754Adder/iseconfig/SpecialCasesCheck.xreport - /home/Luca/ISE/IEEE754Adder + /home/ise/gianni/IEEE754Adder/iseconfig/SpecialCasesCheck.xreport + /home/ise/gianni/IEEE754Adder/ 2019-08-17T15:26:24 false
diff --git a/iseconfig/TypeCheck.xreport b/iseconfig/TypeCheck.xreport new file mode 100644 index 0000000..5ff9ff0 --- /dev/null +++ b/iseconfig/TypeCheck.xreport @@ -0,0 +1,215 @@ + + +
+ 2019-08-17T16:37:54 + TypeCheck + Unknown + /home/ise/gianni/IEEE754Adder/iseconfig/TypeCheck.xreport + /home/ise/gianni/IEEE754Adder + 2019-08-17T16:37:53 + false +
+ + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/webtalk_pn.xml b/webtalk_pn.xml index b32f26a..e8c38e2 100644 --- a/webtalk_pn.xml +++ b/webtalk_pn.xml @@ -3,15 +3,16 @@ - +
- + - - + +
+ @@ -21,19 +22,26 @@ This means code written to parse this file will need to be revisited each subseq - - - - + + + + + + + + + + + - - - - + + + + - + - +
diff --git a/xst/work/work.vdbl b/xst/work/work.vdbl new file mode 100644 index 0000000000000000000000000000000000000000..f0a1800fd4039d6417eff516f8603963828d526a GIT binary patch literal 12608 zcmd6uPmEnv9mikk03EQUEd^SH{t?kuNd*hRNQz8gn!Zw)jZuSvG#Oi`g>>Tz62ck! zOlK%e!-9lvY+q-H(9xuci5g8z7w&Z7Ucw4osi1D$;rDay{oelGefPfU7#94JJLjC= z|MNTle|_Ej!j82!bUGJ0f)8KXv3A{k5C7m<8f*Bov;3%k{D(jPZcpd(P1MKq9iBe& zqj8l#ot--~J9leR-2cJJA` zb?cV(y@iF;n_oZI@2#JE{f#s0(V2}F<>j@Z{fJavr#84#i~V&f4oy!SnwmHLmcU_YAjEFuaGKkJIVmX(WtKv6 zfj`^FAOk9?@<9N;r4K232afJ6qy>uYY5Up+Nl3th`s$LeE%YGYxqZt@l4!u*C$jJ_ zeg7^kQG6f*v*&u%DOF^j-xnVBAD6t8#OM|Ik1jp{^56C6ANtnRi7@>Wj&Dnf(o&Rr z11{E6z+;gSLrKJM5PopB36cA9Tab2tpk)_4$h7T(ak$`m3Uz{@H9#LDI<5(Ebci3e zts>f9<3$c*CSZJ*xNlZT9Z-3hdW=(C7p{BVz{gD5Ej?c-caDO2o!$3lT$x>l6iMz#5gxjB?k+~T`uUw>nE|9ot06Cs0CT&6<2@E<_!Poza7 zRr!DR^~EAyR4UK@R7xOaSSK9&vBtRa16+o2RZyP-(czh2TM~aBY!_mM&`qKvXus&t zY;XRJ)B82`90n})#B_&BELD&K5|g<{sMLm2aU(sxbNnMoJ}2~6H3yWaQH6`X02Bn> z%uLtQbFZe;`xkr5bD!3lNYtT4dUTJ#j zRHdQLn3uliS|nzFaL~jpa$1Mil`nQ095fQC`5Pn!&`3dIzlZI^OcXt(Go z&_=G#U6RC71xb=dI%tciWObULW@r4C@ed{WoX}rVb3ln2Rk-L2Kta&WTw9K{W)`Xa zX^~#V>a=Z~UH$5`bPB!5n(*_TfQ$?S!&WD>uFeM)t#9hvr>`_|$+lf-Yd_B95fQb;*F95Xe8M-alm^RBET#Q zov~7w5**hzW({=!9`4x2!OnS96#APXa*PRcSPvDKB}-@M24sJ&nk7|TLy$tldD-^O z1{^|cUU9&BNeKNj8=M$&ylkZsY;1k<+l1}3Z@X(Ed9movg_x*rA`ZgwP z*2hFk0pF_6f>~d&qwz|*DA`S=E)@l&fMmv2=T}M3mLCdC^o&SbQ&a$LfhP`?>A*y2 zEx_InIJCy!QK0h^iD_@ZZ5_HJHw$g{Ketn;Lo03w@~BS8n-doe1K#XW1E~s9 zK;n&_wSJ$%V{a^HZ`_XJ1K!|r8&me|FFYj#_sPTPB{-bEQwsdP2M1t*SU;-Dc%Y|H zUunf#C*$k-4wMT#EsZa*!@Cf^v2)>%0iXT4|E>rr@W|KU)o(${F@0>@>nIO)4;-AD zn7Z_f7k>D&-XC9cg6V6b9Xjy*S?F({pE!SEx_ju*o0r~OBA0Sua%yT~@`(%GnaK;? zr;Z%BfJR&bo7B+1~H@`3c!J@em*{1z_g0%r0RE zpd89BnTXMW>{2A`Rs3l4#d->O#m_9tfzo4Ctl1h zp@Ny=jH{}7RCK$n)J5AvcdKlCm$l^*U|=wTPBE@^HIY3tK zoo6#qMGK)>IahkWxK7G8*9oN1a&5WNCdq5dl_FUO?wbGw_dM=ZzI4ABVgnENX!GMU zyR>@^9iaE<@d;vj3cMS|GwL2|8BP$_>nDiuQk8){fLUe0H^ROEgoo- zM5`95-yT-z;oMxhH%eS9)lZEm&IsRHin|X)>26sZh|*cb_7Qoy(FNeFv? zurRX+VdF;%d&96Wd0m8!A1Unp!@>+G!p4sj_J(3%h7)1qM+$p~vG5(Gu<@_pqd ze6PNXvbIxgMyG-lklw$RiHd>oc_=W^mbpq(3Uz3CFQLLAwo@hMe2B5nKr`UdE;WW+ zGSV(B(PIM|aLG)xamnoz>d^ASrGiUlvP&##Xa-!mM~xwujLa@^k#2g;nhA|ORNZc? zr@%8N84gEQ11ZM_THZrQB0_J|8S!-;)plDx>+PT8oQFO?nrjR==UvG3HbYjH2d(}Z z|E#=U$$0Kb-8lcw(h!oox4Ku6KF|{w@IC@fZd@Erkwo3^Cf^9nlLG%rH$uxWb6xk$ zjX8yAyXi*gSD@U=!2D$X`Zj2K>qb(_b(ja72jtiClc7J?PqU{}Pq&c%jnBM)_*ZKm zd&!9f{!ys<@g6AUKfP%H^yan^1D`)w46MN;S zsPCIG=Y|bz@k6xFI=ga`I2JqJ7bIOrPAxiXMROZ4moKvpX&ne?=yXl;Aq|C$U&_AD3rnjC` zF>B%Jrn}PBpF_p-sw5OYi)z|HnKa}vNO|p6*LY*7TD|l~=NnKTx!dys=+=cMbF_5VVb4Mf$0zTK!k&~Cj!)i^!VDB|wu|zBd=JbOq=3vLO6ty8Ah_t{LxG95 zI$3E-p$=`}(P?u#L;#u|op%dAnqZfj9-YvJTrzTa zQ*bs(QdPLjjeULs;5KT@A0fdGFfO}P4p}tv>g~(-C&bXqz?h3RFEO{<>M8Izyv2y? zMHYpc81p!^J>_h