From c6ef95462a55396003f1022be60b7cc196b0bed8 Mon Sep 17 00:00:00 2001 From: Luca Cuzzocrea Date: Sat, 24 Aug 2019 14:39:01 +0200 Subject: [PATCH] Completato check casi speciali + test --- EqualCheck.vhd | 28 + IEEE754Adder.gise | 182 +- IEEE754Adder.xise | 33 +- NaNCheck_isim_beh.exe | Bin 0 -> 21792 bytes NaNCheck_stx_beh.prj | 2 + SpecialCasesCheck.bgn | 135 + SpecialCasesCheck.bit | Bin 0 -> 340708 bytes SpecialCasesCheck.bld | 35 + SpecialCasesCheck.cmd_log | 30 + SpecialCasesCheck.drc | 8 + SpecialCasesCheck.ncd | 3 + SpecialCasesCheck.ngc | 2 +- SpecialCasesCheck.ngd | 3 + SpecialCasesCheck.ngr | 2 +- SpecialCasesCheck.pad | 255 + SpecialCasesCheck.par | 147 + SpecialCasesCheck.pcf | 4 + SpecialCasesCheck.prj | 2 + SpecialCasesCheck.ptwx | 332 + SpecialCasesCheck.syr | 99 +- SpecialCasesCheck.twr | 180 + SpecialCasesCheck.twx | 339 + SpecialCasesCheck.unroutes | 9 + SpecialCasesCheck.ut | 31 + SpecialCasesCheck.vhd | 25 +- SpecialCasesCheck.xpi | 3 + SpecialCasesCheck_bitgen.xwbt | 8 + SpecialCasesCheck_envsettings.html | 223 +- SpecialCasesCheck_guide.ncd | 3 + SpecialCasesCheck_map.map | 140 + SpecialCasesCheck_map.mrp | 245 + SpecialCasesCheck_map.ncd | 3 + SpecialCasesCheck_map.ngm | 3 + SpecialCasesCheck_map.xrpt | 686 ++ SpecialCasesCheck_ngdbuild.xrpt | 107 + SpecialCasesCheck_pad.csv | 256 + SpecialCasesCheck_pad.txt | 255 + SpecialCasesCheck_par.xrpt | 1998 ++++ SpecialCasesCheck_summary.html | 281 +- SpecialCasesCheck_summary.xml | 10 + SpecialCasesCheck_usage.xml | 313 + SpecialCasesCheck_xst.xrpt | 65 +- SpecialCasesTest.vhd | 165 + SpecialCasesTest_beh.prj | 6 + SpecialCasesTest_isim_beh.exe | Bin 0 -> 21792 bytes SpecialCasesTest_isim_beh.wdb | Bin 0 -> 107887 bytes SpecialCasesTest_stx_beh.prj | 6 + ZeroCheck.vhd | 40 + _ngo/netlist.lst | 2 +- _xmsgs/bitgen.xmsgs | 9 + _xmsgs/map.xmsgs | 27 +- _xmsgs/netgen.xmsgs | 12 + _xmsgs/par.xmsgs | 3 + _xmsgs/pn_parser.xmsgs | 2 +- _xmsgs/trce.xmsgs | 4 - _xmsgs/xst.xmsgs | 2 +- equalCheck.cmd_log | 2 + equalCheck.lso | 1 + equalCheck.ngc | 3 + equalCheck.ngr | 3 + equalCheck.prj | 1 + equalCheck.stx | 0 equalCheck.syr | 298 + equalCheck.vhd | 28 + equalCheck.xst | 52 + equalCheck_envsettings.html | 388 + equalCheck_summary.html | 106 + equalCheck_xst.xrpt | 165 + fuse.log | 30 + fuse.xmsgs | 9 + fuseRelaunch.cmd | 1 + iseconfig/IEEE754Adder.projectmgr | 82 +- iseconfig/SpecialCasesCheck.xreport | 10 +- isim.cmd | 3 + isim.log | 14 + .../ISimEngine-DesignHierarchy.dbg | Bin 0 -> 6047 bytes .../NaNCheck_isim_beh.exe | Bin 0 -> 49958 bytes isim/NaNCheck_isim_beh.exe.sim/isimcrash.log | 0 isim/NaNCheck_isim_beh.exe.sim/isimkernel.log | 29 + isim/NaNCheck_isim_beh.exe.sim/netId.dat | Bin 0 -> 92 bytes isim/NaNCheck_isim_beh.exe.sim/tmp_save/_1 | Bin 0 -> 4439 bytes .../work/NaNCheck_isim_beh.exe_main.c | 40 + .../work/NaNCheck_isim_beh.exe_main.lin64.o | Bin 0 -> 2768 bytes .../work/a_0557987184_1272247069.c | 368 + .../work/a_0557987184_1272247069.didat | Bin 0 -> 4624 bytes .../work/a_0557987184_1272247069.lin64.o | Bin 0 -> 5512 bytes .../work/a_4078426953_2628201599.c | 221 + .../work/a_4078426953_2628201599.didat | Bin 0 -> 5004 bytes .../work/a_4078426953_2628201599.lin64.o | Bin 0 -> 4336 bytes .../ISimEngine-DesignHierarchy.dbg | Bin 0 -> 9797 bytes .../SpecialCasesTest_isim_beh.exe | Bin 0 -> 59696 bytes .../isimcrash.log | 0 .../isimkernel.log | 29 + .../netId.dat | Bin 0 -> 92 bytes .../tmp_save/_1 | Bin 0 -> 9422 bytes .../work/SpecialCasesTest_isim_beh.exe_main.c | 44 + ...SpecialCasesTest_isim_beh.exe_main.lin64.o | Bin 0 -> 3144 bytes .../work/a_0557987184_1272247069.c | 368 + .../work/a_0557987184_1272247069.didat | Bin 0 -> 4632 bytes .../work/a_0557987184_1272247069.lin64.o | Bin 0 -> 5512 bytes .../work/a_1540508602_4151211736.c | 278 + .../work/a_1540508602_4151211736.didat | Bin 0 -> 5160 bytes .../work/a_1540508602_4151211736.lin64.o | Bin 0 -> 4888 bytes .../work/a_2347761600_1146481140.c | 180 + .../work/a_2347761600_1146481140.didat | Bin 0 -> 3488 bytes .../work/a_2347761600_1146481140.lin64.o | Bin 0 -> 4144 bytes .../work/a_2912948712_3395701438.c | 31 + .../work/a_2912948712_3395701438.didat | Bin 0 -> 3692 bytes .../work/a_2912948712_3395701438.lin64.o | Bin 0 -> 1880 bytes .../work/a_3914402253_2628201599.c | 221 + .../work/a_3914402253_2628201599.didat | Bin 0 -> 5036 bytes .../work/a_3914402253_2628201599.lin64.o | Bin 0 -> 4352 bytes .../work/a_4189535622_2372691052.c | 1141 +++ .../work/a_4189535622_2372691052.didat | Bin 0 -> 6500 bytes .../work/a_4189535622_2372691052.lin64.o | Bin 0 -> 14824 bytes isim/isim_usage_statistics.html | 16 + isim/lockfile | 0 isim/pn_info | 1 + isim/precompiled.exe.sim/ieee/p_2592010699.c | 8819 +++++++++++++++++ .../ieee/p_2592010699.didat | Bin 0 -> 5868 bytes .../ieee/p_2592010699.lin64.o | Bin 0 -> 47352 bytes isim/temp/equalcheck.vdb | Bin 0 -> 3197 bytes isim/temp/nancheck.vdb | Bin 0 -> 4237 bytes isim/temp/specialcasescheck.vdb | Bin 0 -> 3428 bytes isim/temp/specialcasestest.vdb | Bin 0 -> 3965 bytes isim/temp/typecheck.vdb | Bin 0 -> 4767 bytes isim/temp/zerocheck.vdb | Bin 0 -> 4605 bytes isim/work/equalcheck.vdb | Bin 0 -> 3192 bytes isim/work/nancheck.vdb | Bin 0 -> 4232 bytes isim/work/specialcasescheck.vdb | Bin 0 -> 3423 bytes isim/work/specialcasestest.vdb | Bin 0 -> 13428 bytes isim/work/typecheck.vdb | Bin 0 -> 4762 bytes isim/work/zerocheck.vdb | Bin 0 -> 4600 bytes .../synthesis/SpecialCasesCheck_synthesis.nlf | 21 + .../synthesis/SpecialCasesCheck_synthesis.vhd | 877 ++ par_usage_statistics.html | 32 + pepExtractor.prj | 5 + usage_statistics_webtalk.html | 636 ++ webtalk.log | 16 + webtalk_pn.xml | 13 +- xilinxsim.ini | 1 + xst/work/work.vdbl | Bin 12608 -> 19981 bytes xst/work/work.vdbx | Bin 128 -> 171 bytes 143 files changed, 21122 insertions(+), 224 deletions(-) create mode 100644 EqualCheck.vhd create mode 100755 NaNCheck_isim_beh.exe create mode 100644 NaNCheck_stx_beh.prj create mode 100644 SpecialCasesCheck.bgn create mode 100644 SpecialCasesCheck.bit create mode 100644 SpecialCasesCheck.bld create mode 100644 SpecialCasesCheck.drc create mode 100644 SpecialCasesCheck.ncd create mode 100644 SpecialCasesCheck.ngd create mode 100644 SpecialCasesCheck.pad create mode 100644 SpecialCasesCheck.par create mode 100644 SpecialCasesCheck.pcf create mode 100644 SpecialCasesCheck.ptwx create mode 100644 SpecialCasesCheck.twr create mode 100644 SpecialCasesCheck.twx create mode 100644 SpecialCasesCheck.unroutes create mode 100644 SpecialCasesCheck.ut create mode 100644 SpecialCasesCheck.xpi create mode 100644 SpecialCasesCheck_bitgen.xwbt create mode 100644 SpecialCasesCheck_guide.ncd create mode 100644 SpecialCasesCheck_map.map create mode 100644 SpecialCasesCheck_map.mrp create mode 100644 SpecialCasesCheck_map.ncd create mode 100644 SpecialCasesCheck_map.ngm create mode 100644 SpecialCasesCheck_map.xrpt create mode 100644 SpecialCasesCheck_ngdbuild.xrpt create mode 100644 SpecialCasesCheck_pad.csv create mode 100644 SpecialCasesCheck_pad.txt create mode 100644 SpecialCasesCheck_par.xrpt create mode 100644 SpecialCasesCheck_summary.xml create mode 100644 SpecialCasesCheck_usage.xml create mode 100644 SpecialCasesTest.vhd create mode 100644 SpecialCasesTest_beh.prj create mode 100755 SpecialCasesTest_isim_beh.exe create mode 100644 SpecialCasesTest_isim_beh.wdb create mode 100644 SpecialCasesTest_stx_beh.prj create mode 100644 ZeroCheck.vhd create mode 100644 _xmsgs/bitgen.xmsgs create mode 100644 _xmsgs/netgen.xmsgs create mode 100644 equalCheck.cmd_log create mode 100644 equalCheck.lso create mode 100644 equalCheck.ngc create mode 100644 equalCheck.ngr create mode 100644 equalCheck.prj create mode 100644 equalCheck.stx create mode 100644 equalCheck.syr create mode 100644 equalCheck.vhd create mode 100644 equalCheck.xst create mode 100644 equalCheck_envsettings.html create mode 100644 equalCheck_summary.html create mode 100644 equalCheck_xst.xrpt create mode 100644 fuse.log create mode 100644 fuse.xmsgs create mode 100644 fuseRelaunch.cmd create mode 100644 isim.cmd create mode 100644 isim.log create mode 100644 isim/NaNCheck_isim_beh.exe.sim/ISimEngine-DesignHierarchy.dbg create mode 100755 isim/NaNCheck_isim_beh.exe.sim/NaNCheck_isim_beh.exe create mode 100644 isim/NaNCheck_isim_beh.exe.sim/isimcrash.log create mode 100644 isim/NaNCheck_isim_beh.exe.sim/isimkernel.log create mode 100644 isim/NaNCheck_isim_beh.exe.sim/netId.dat create mode 100644 isim/NaNCheck_isim_beh.exe.sim/tmp_save/_1 create mode 100644 isim/NaNCheck_isim_beh.exe.sim/work/NaNCheck_isim_beh.exe_main.c create mode 100644 isim/NaNCheck_isim_beh.exe.sim/work/NaNCheck_isim_beh.exe_main.lin64.o create mode 100644 isim/NaNCheck_isim_beh.exe.sim/work/a_0557987184_1272247069.c create mode 100644 isim/NaNCheck_isim_beh.exe.sim/work/a_0557987184_1272247069.didat create mode 100644 isim/NaNCheck_isim_beh.exe.sim/work/a_0557987184_1272247069.lin64.o create mode 100644 isim/NaNCheck_isim_beh.exe.sim/work/a_4078426953_2628201599.c create mode 100644 isim/NaNCheck_isim_beh.exe.sim/work/a_4078426953_2628201599.didat create mode 100644 isim/NaNCheck_isim_beh.exe.sim/work/a_4078426953_2628201599.lin64.o create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/ISimEngine-DesignHierarchy.dbg create mode 100755 isim/SpecialCasesTest_isim_beh.exe.sim/SpecialCasesTest_isim_beh.exe create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/isimcrash.log create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/isimkernel.log create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/netId.dat create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/tmp_save/_1 create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/SpecialCasesTest_isim_beh.exe_main.c create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/SpecialCasesTest_isim_beh.exe_main.lin64.o create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_0557987184_1272247069.c create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_0557987184_1272247069.didat create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_0557987184_1272247069.lin64.o create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_1540508602_4151211736.c create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_1540508602_4151211736.didat create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_1540508602_4151211736.lin64.o create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2347761600_1146481140.c create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2347761600_1146481140.didat create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2347761600_1146481140.lin64.o create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2912948712_3395701438.c create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2912948712_3395701438.didat create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2912948712_3395701438.lin64.o create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_3914402253_2628201599.c create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_3914402253_2628201599.didat create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_3914402253_2628201599.lin64.o create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_4189535622_2372691052.c create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_4189535622_2372691052.didat create mode 100644 isim/SpecialCasesTest_isim_beh.exe.sim/work/a_4189535622_2372691052.lin64.o create mode 100644 isim/isim_usage_statistics.html create mode 100644 isim/lockfile create mode 100644 isim/pn_info create mode 100644 isim/precompiled.exe.sim/ieee/p_2592010699.c create mode 100644 isim/precompiled.exe.sim/ieee/p_2592010699.didat create mode 100644 isim/precompiled.exe.sim/ieee/p_2592010699.lin64.o create mode 100644 isim/temp/equalcheck.vdb create mode 100644 isim/temp/nancheck.vdb create mode 100644 isim/temp/specialcasescheck.vdb create mode 100644 isim/temp/specialcasestest.vdb create mode 100644 isim/temp/typecheck.vdb create mode 100644 isim/temp/zerocheck.vdb create mode 100644 isim/work/equalcheck.vdb create mode 100644 isim/work/nancheck.vdb create mode 100644 isim/work/specialcasescheck.vdb create mode 100644 isim/work/specialcasestest.vdb create mode 100644 isim/work/typecheck.vdb create mode 100644 isim/work/zerocheck.vdb create mode 100644 netgen/synthesis/SpecialCasesCheck_synthesis.nlf create mode 100644 netgen/synthesis/SpecialCasesCheck_synthesis.vhd create mode 100644 par_usage_statistics.html create mode 100644 pepExtractor.prj create mode 100644 usage_statistics_webtalk.html create mode 100644 webtalk.log create mode 100644 xilinxsim.ini diff --git a/EqualCheck.vhd b/EqualCheck.vhd new file mode 100644 index 0000000..15cd1ba --- /dev/null +++ b/EqualCheck.vhd @@ -0,0 +1,28 @@ +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +entity EqualCheck is + generic( BITCOUNT: integer := 8 ); + port( + X, Y: in std_logic_vector( (BITCOUNT-1) downto 0 ); + isEqual: out std_logic + ); +end EqualCheck; + +architecture EqualCheckArch of EqualCheck is + signal compVec: std_logic_vector( (BITCOUNT-1) downto 0 ); +begin + compVec <= X xor Y; + + res_compute: process (compVec) + variable res_tmp: std_logic; + begin + res_tmp := '0'; + for i in compVec'range loop + res_tmp := res_tmp or compVec(i); + end loop; + isEqual <= not res_tmp; + end process; + +end EqualCheckArch; + diff --git a/IEEE754Adder.gise b/IEEE754Adder.gise index 5a05a93..c279d9f 100644 --- a/IEEE754Adder.gise +++ b/IEEE754Adder.gise @@ -22,18 +22,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -59,7 +93,6 @@ - @@ -68,12 +101,34 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -83,38 +138,97 @@ - + - + + + + + + + + + + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + + + + + + + + + + + + + + + + + + + @@ -122,35 +236,57 @@ - - + - - + + - - - - - - - + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/IEEE754Adder.xise b/IEEE754Adder.xise index c37b586..0391d9b 100644 --- a/IEEE754Adder.xise +++ b/IEEE754Adder.xise @@ -16,17 +16,31 @@ - - + + - + - + + + + + + + + + + + + + + + @@ -41,7 +55,7 @@ - + @@ -83,7 +97,7 @@ - + @@ -284,7 +298,8 @@ - + + @@ -303,7 +318,7 @@ - + @@ -358,7 +373,7 @@ - + diff --git a/NaNCheck_isim_beh.exe b/NaNCheck_isim_beh.exe new file mode 100755 index 0000000000000000000000000000000000000000..3209988d8d84424c4d5c423f8f5aaa98e3cf50c8 GIT binary patch literal 21792 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 literal 0 HcmV?d00001 diff --git a/SpecialCasesCheck.bld b/SpecialCasesCheck.bld new file mode 100644 index 0000000..66d6b7a --- /dev/null +++ b/SpecialCasesCheck.bld @@ -0,0 +1,35 @@ +Release 14.7 ngdbuild P.20131013 (lin64) +Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. + +Command Line: /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/unwrapped/ngdbuild -intstyle +ise -dd _ngo -nt timestamp -i -p xa6slx4-csg225-3 SpecialCasesCheck.ngc +SpecialCasesCheck.ngd + +Reading NGO file "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.ngc" ... +Gathering constraint information from source properties... +Done. + +Resolving constraint associations... +Checking Constraint Associations... +Done... + +Checking expanded design ... + +Partition Implementation Status +------------------------------- + + No Partitions were found in this design. + +------------------------------- + +NGDBUILD Design Results Summary: + Number of errors: 0 + Number of warnings: 0 + +Total memory usage is 494556 kilobytes + +Writing NGD file "SpecialCasesCheck.ngd" ... +Total REAL time to NGDBUILD completion: 2 sec +Total CPU time to NGDBUILD completion: 2 sec + +Writing NGDBUILD log file "SpecialCasesCheck.bld"... diff --git a/SpecialCasesCheck.cmd_log b/SpecialCasesCheck.cmd_log index 727d9bb..b563c4c 100644 --- a/SpecialCasesCheck.cmd_log +++ b/SpecialCasesCheck.cmd_log @@ -8,3 +8,33 @@ xst -intstyle ise -ifn "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.xst" -ofn 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" +xst -intstyle ise -ifn "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.xst" -ofn "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.syr" +ngdbuild -intstyle ise -dd _ngo -nt timestamp -i -p xa6slx4-csg225-3 SpecialCasesCheck.ngc SpecialCasesCheck.ngd +map -intstyle ise -p xa6slx4-csg225-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o SpecialCasesCheck_map.ncd SpecialCasesCheck.ngd SpecialCasesCheck.pcf +par -w -intstyle ise -ol high -mt off SpecialCasesCheck_map.ncd SpecialCasesCheck.ncd SpecialCasesCheck.pcf +trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml SpecialCasesCheck.twx SpecialCasesCheck.ncd -o SpecialCasesCheck.twr SpecialCasesCheck.pcf +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" +ngdbuild -intstyle ise -dd _ngo -nt timestamp -i -p xa6slx4-csg225-3 SpecialCasesCheck.ngc SpecialCasesCheck.ngd +map -intstyle ise -p xa6slx4-csg225-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o SpecialCasesCheck_map.ncd SpecialCasesCheck.ngd SpecialCasesCheck.pcf +par -w -intstyle ise -ol high -mt off SpecialCasesCheck_map.ncd SpecialCasesCheck.ncd SpecialCasesCheck.pcf +trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml SpecialCasesCheck.twx SpecialCasesCheck.ncd -o SpecialCasesCheck.twr SpecialCasesCheck.pcf +bitgen -intstyle ise -f SpecialCasesCheck.ut SpecialCasesCheck.ncd +netgen -intstyle ise -ar Structure -tm SpecialCasesCheck -w -dir netgen/synthesis -ofmt vhdl -sim SpecialCasesCheck.ngc SpecialCasesCheck_synthesis.vhd +xst -intstyle ise -ifn "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.xst" -ofn "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.syr" +ngdbuild -intstyle ise -dd _ngo -nt timestamp -i -p xa6slx4-csg225-3 SpecialCasesCheck.ngc SpecialCasesCheck.ngd +map -intstyle ise -p xa6slx4-csg225-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o SpecialCasesCheck_map.ncd SpecialCasesCheck.ngd SpecialCasesCheck.pcf +par -w -intstyle ise -ol high -mt off SpecialCasesCheck_map.ncd SpecialCasesCheck.ncd SpecialCasesCheck.pcf +trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml SpecialCasesCheck.twx SpecialCasesCheck.ncd -o SpecialCasesCheck.twr SpecialCasesCheck.pcf +xst -intstyle ise -ifn "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.xst" -ofn "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.syr" +ngdbuild -intstyle ise -dd _ngo -nt timestamp -i -p xa6slx4-csg225-3 SpecialCasesCheck.ngc SpecialCasesCheck.ngd +map -intstyle ise -p xa6slx4-csg225-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o SpecialCasesCheck_map.ncd SpecialCasesCheck.ngd SpecialCasesCheck.pcf +par -w -intstyle ise -ol high -mt off SpecialCasesCheck_map.ncd SpecialCasesCheck.ncd SpecialCasesCheck.pcf +trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml SpecialCasesCheck.twx SpecialCasesCheck.ncd -o SpecialCasesCheck.twr SpecialCasesCheck.pcf +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" +ngdbuild -intstyle ise -dd _ngo -nt timestamp -i -p xa6slx4-csg225-3 SpecialCasesCheck.ngc SpecialCasesCheck.ngd +map -intstyle ise -p xa6slx4-csg225-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o SpecialCasesCheck_map.ncd SpecialCasesCheck.ngd SpecialCasesCheck.pcf +par -w -intstyle ise -ol high -mt off SpecialCasesCheck_map.ncd SpecialCasesCheck.ncd SpecialCasesCheck.pcf +trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml SpecialCasesCheck.twx SpecialCasesCheck.ncd -o SpecialCasesCheck.twr SpecialCasesCheck.pcf diff --git a/SpecialCasesCheck.drc b/SpecialCasesCheck.drc new file mode 100644 index 0000000..f8072ec --- /dev/null +++ b/SpecialCasesCheck.drc @@ -0,0 +1,8 @@ +Release 14.7 Drc P.20131013 (lin64) +Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. + +Sat Aug 24 10:52:28 2019 + +drc -z SpecialCasesCheck.ncd SpecialCasesCheck.pcf + +DRC detected 0 errors and 0 warnings. diff --git a/SpecialCasesCheck.ncd b/SpecialCasesCheck.ncd new file mode 100644 index 0000000..aeef356 --- /dev/null +++ b/SpecialCasesCheck.ncd @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.6 +###6532:XlxV32DM 3fff 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###3800:XlxV32DM 3fff ec0eNqVm8mO5DYQRH/GN1+4aWE15lcMUBQJzMU++GjMv1slZlZzCdZkYTAYo0rtlgLBJONl6lAP9dDXX/XfHyk+Dv31d3aP3Xz9oXf/2PXXn2m/vv369a8+npfa/37oc32k/evH84Pr37+uv9e314fqYa5v1f4I8atcZZ/fuO37m+uTv65vf/06dL5/4GGv/+XfOT/05r6ed+C28qv9+vVPiM9fTXdwaG3vn+B7DalcucWvn+XKf5K97/Uwemsvzfdjrfr6FefDOP7Jk3/kJz0l3dYgSFiAIPellyDP33YLktdvQegWrse+bvspyH1VK8j1TSXIoTtBllsQvc4FSVJB9AkFsefvBblva3SIRg7R7BAS5PqgcsjrsRM5ZBQkNQ4JnSBrccg5FcR4uUMCdIgSOCRAhzjkkMAOCeSQUDsk0GNft10cEnpBrm9qh5hOkK04ZL5krJM7ZIcOiQKHGOgQhRxi2CE7OcTUDtnpsa/bLg7Ze0Gub2qHHJ0ge3FImguS5Q45kCBLFjjkgA6xyCEHO+Qghxy1Qw5+7EwOOQZBcuMQ2wnii0PCVBD3gUM8dMghcIhFgmwZOcSyQzw5xNYO8fTYjh3ie0Fc65DYCRKKQ/JckEXukAgdkgQOidAhaNu9L70dEskhsXZI5MdeyCFxEGRpHOI6QY7ikGMuyCp3CCyqNggc4qBDEnKIY4dQUb0+qBzCRfW67eKQoai6tXHI2QkSb0EWNRVEfbDLnNAhgm33vq3RIWjbvS+9HXKSQ87aIScfv3iXOYeDWbPL5NQJct6CmHkNUUEuSIKCCHaZ+7ZGQdAuc196C5JIkFQLkvixAwmSBkFCI0juBEllyei5IIdckAwFERTV+7YGQTwqqveltyCZBMm1IJkf+yBB8iDIUQlilOoEyUWQN0smigUxCgry+xpSbmsUBNSQculTEHNnmB/PD74FKbfwfOxYBHle1QkSa4f4pRXkefZ5ChLngpzionrAXcb63zvkvq2xqJ7AIfelz6J60C5zffBdVA/eZa7bvovqMewy6mwE6cLdMy48BZkf3ZU8yxywqNpdIAgMd1tEgqwsCBVVv9aCvIoqZZljLKpNlvFbJ4gpRXWZC5LlgsCiajeBIBsU5ECCbCwIFVW/1YK8imomQcai2pxUQ1dDdlsEMfO0q8SCRJh2jeDoHmAN2dDRPTAPiZR2Q81D4ivTqiJIHNOuahyyd4IUHmLexH8tdwjcZewqcMgOBQnIITs7hHYZv9cO4V3muu3ikGGXub6pHdLxkL3wEPMGEBm5Q2DaNYKje4A8ZENH98A8JFLaDTUPiZx2r9suDhnS7vVN7RDfCVJ4iJlvu1oe7iLcdu0icIiHgnjkEM+CKHKIrwXhbVdTuIvDtqubcBc6HrIXHmL2uSCLXBCYdo3g6B4gD9nQ0T0wD4mUdkPNQyKnXb2QIEPa1U24Cx0P2QsPsfOTqv4g3BkoiMAhAfKQFTkkHBzuDAly1OHO8GNzuDODIE248x1C3AsPMW4uyCZ3iIZLxgmWDESI246WTGCHaFoyoXaI5sfeyCF6EGRrHNIBor3wEOPnguxyQWD8N4JwFzAgQuEuMCCKFP9DDYgix39NbYg4xH/dtCFCF//3wkPsG4d4+ZKxUBCBQwKM/ytySDh5yVgS5KyXjOXH9rRk7CBIE/99X0MKD9FzYqaD3CGwhlgrWDKwhmwbWjJcQyLVEF/XkPiqIYEcMtaQJv6HjpjtxEPmxEwfckEgZDaC+B8gMVtR/A9MzCJB5lATs8iQWR8kyACZ9dE4pGOqe+Ehxs4FiXJB4JKxRuAQyFS3FTkksiC0ZHysBXktmUiCjEumif+hj/+Fh5h5/Nfy+B9h/DcCphpg/F8RUw0c/yPF/1DH/8jxX1P8j0P81038T93R3RceYt84RN6XUbCGLAIekuDR3SMekujo/vxttyCpOrrTLTwfm/oyaqwhTdr13S7jCw8x84OZ+SDtOrhkBM1uD3eZDTW7Pe8y0dGSqXeZcgvPhiWnXTe0Mpu0GzpA5ImHvOntytNuhIDICBwSICBakUMCA6JIgCjUgCgyIDKUduMAiEyTdlOXZXzhIXYOiIyRLxlYVBcBMUswy3hEzJLhJUNFNZl6yXBRNYaWzFBUTZt2uzaELzxEz3u7xsodssAlI+j+e9iG2FD33yd2yEJLJtUOWfixLTlkGQRp5kNChxA98ZA3gnwQ/yFCNAKHBIgQV+SQwAgxEkIMNUKMjBANx/8BIZom/qcuy/jCQ+ycmBl5b1fBoroImGqCWcYjpposLxkqqsnWS+ZVVKm3q8ai2sT/1B3MfOEhdn50N6tcEFhUnYCpJngw84ipJm52KyqqqW52q1dRXUmQsag28T90TNUXHmLeCPJB/IdM1QgcEiBTXZFDAjPVSEw11Ew1MlM1HP8Hpmqa+J+6LOMLD7Fzpmp2uUNgUV0EkDnBLOMRZE6OHUJFNbnaIa+iupNDxqLaxP/UH8xoPmTOVI282a1gUXUCyJzgwcwjyJy4+6+oqKa6+69eRZWa3Wosqm3a7SCzJx7yRhB52j0hZDYChwQImVfkkMCQ+STIHGrIfDJkNpR2zwEymybtpi7c+cJD7BwyG3mzW61wyQiYaoLhziOmmhZ2CA3upqV2CA/uGmp2q2Fw1zRpN/UHs8JD3Jssc8oFgUXVCah7ggczj6h74vkQRUU11fMh6lVUTxJkLKpN2s39wazwEDcfmDFJPh8CG1VO4JAMD2Y7ckjeeD6EGlV5q+dDuFFlEs2HDI0q0zS7Ux/uCg+xc8hsPoj/sLe7CJhqguHOI6aaeLRbUW831aPd6vXYHP+H3q5p4n/qJohC4SFu3uy2Su4QWFSdgLonPEGEqHt6TRBRUU3NBBEXVavIIUNRtU38z90uEwoPcXOmarVcENi5cwKHZLjL7Mgh2bMg1LnLvhaEO3dWkyBD58628b+rIaHwEDuvIfaD+A9ryCKg7gnWEI+oe+IaoqiGpLqGqNdoN8f/cbS7if+5mw8JhYe4OUK0H7weAjt3TjJ0h9+XgUN3PGOmqXOX6xkzzZ07y6+HDJ0728T/1GWZUHiIfbNkPki7cMksAuqeYJbxiLqnnR1CSybttUNeS4bT7rhkmrSbO8gcCg9x886dladdDSGzE1D3jN+XQdQ9M2TWBJlzDZk1Q2ZLaVcPkNk2aTf1RZV4yLwNYTe5Q2BvdxFA5gSLqkeQOXFRVdTbTXVRVdzbtRs5ZOjt2ibt5o6phsJD3JypWnna1ZCpOgFkzvh9GQSZMzNVTUw110xVM1O1lHb1wFRtnXaNLVHt+kOCFB7yjUN+JlXrYWwbZQ5VYhdvpVSMt3TJc7byWPwODNhKy6XPh7R3zvjx/OD7IS01n57/Ec7rU1XM3k12BCIZb179kY/tK/zqjwAPJzjZ4REeTvxymKKubKpfDlOvV39obF+Nr/60Y/sdDQ1EMuY01H4wtg9pqBPg4Qxp6I7wcGYaqomG5pqGaqahlsf2Bxpq27H9jnWFQjLcPLjbD8b2IetyAviXIevaEfzLzLo0sa5csy7NrMvy2P7AumxDMnJHMkIhGW4ey6ycZGhIMpwA7WRIMnaEdjKTDE0kI9ckQzPJsEQy9EAybDu23zukkAz9xiEfjO3DGuIkoy7YIXDUhSc7Dqohvp7sOF41hMf2xxrSju33OZXedHnjEPnYfsQOkUx2wJy6w8mOzLycHOJzzctfDqGx/Tg6pCEZod9l6E2X+RnTyfv2J04hgiNVgLvMjo5UgecHT0ohoZ4f/B+njkhH###5172:XlxV32DM 3fff 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###2456:XlxV32DM 3fff 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###2576:XlxV32DM 3fff 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###2484:XlxV32DM 3fff 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###2500:XlxV32DM 3fff 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###2436:XlxV32DM 3fff 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###2764:XlxV32DM 2fda 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 \ No newline at end of file diff --git a/SpecialCasesCheck.ngc b/SpecialCasesCheck.ngc index 35a11a9..3a086a5 100644 --- a/SpecialCasesCheck.ngc +++ b/SpecialCasesCheck.ngc @@ -1,3 +1,3 @@ XILINX-XDB 0.1 STUB 0.1 ASCII XILINX-XDM V1.6e -$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 +$02546<803;<=>?0123439;446<09:;<=>?01234567<23;<4??;823=56789:;<4>?999AQVYNFOE97NG;;BNH43=DDB;3<;5LLJ0440=DDB8S46MCK3Z2<53EKCH;O>:5LLJC2@11EKCM\h7NBDDW]GMSOCM<1H@FHW8:AOOC^60930OBCBIUVF@2=DZLK_II<4DH33?@CBMJIHOLONA1:;4d=By|kgOeklk59EBCC?3OLMJKHIE028BC@ANOLMJKHIFGDF5>A43NDO=6G=;H21?L753@897D==;H61?L333@H^J45FNHVPPDRB>2FDOFKK7:NLCLEFD=1GYY=;;MWW01=K]]??7A[[649NQ]E^:2D;>6@>2: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\L:7]m4P/0356779:UG86^NRUc8TLHXJ\YBHUl4PHL\FPUIIDO=7]]KOOG2?V763ZBYIJQJXUPBGQYIOJo0_E\JG^OJJZUNRL<0_B[]CD48WQGS]Z;:7^~jchcoGdub{Jbnof:4TXRF=>R~xlIcinel;TQFVZPN[@HGI>5YCB;8RLCPW]S[I95W<1<6?]:687?0T1?>>49[8449=2R7=>0:;Y>20;3285W<04=1>^;9>4>7U2>8?78\97>6=1S0<0:;Y>14;3^;::4>7U2=4?78\9426<1S0?815:Z?62823Q6943;4X=0::1=_4;4>7U2<0?58\956294>7U2<1?68\959<2R783:4X=7=0>^;>7>0T1914:Z?<;2^T\VMEH:5WSU]UGF>1^KAQC?3QU:9RGMUG;8\Z71W@H^J45W_05\MGSA12RT=5QFBTD:?]Y61VCIYK64X^3\MGSA12RT>=QFBTD:?]Y59VCIYK74X^01[LDRN01SS?=PICWE=>^X:=UBNXH6;Y]11ZOE]O30TR<9_H@VB<=_W;=TEO[I9:Z\6=YNJ\L27UQ=9^KAQC>^X>VCIYK64X^5\MGSA02RT4RGMUG:8\Z?XAK_M:6Vkb^Kg55=_ldUFmga}Vdppmjh682RoaRCfnnpUawungg90T~z;;X>3:0=^48:596W310<6?\:6:7?0U1?<>49Z8429=2S7=80:;X>22;3_;904?7T2>>49Z8769=2S7><0:;X>16;3_;:<4>7T2=6?78]9406<1R0?615:[?6<833P69285V<22=3>_;;80;285V<23=0>_;;7>0U1:14:[?1;29<2S753=4YDQ;?\Y7W@H^J45V_02\MGSA12ST=_X9_H@VB<=^W;:TEO[I9:[\64YNJ\L27TQ=2^KAQC?3PU9:RGMUG;8]Z40W@H^J45V_3:\MGSA12ST>4QFBTD;?\Y5W@H^J45V_22\MGSA12ST?SDLZF99Z[3YNJ\L37TQ8_H@VB==^W1UBNXH7;X]:[LDRN880VN!fs[gqkZq`Wjs7<3?<;[A,mv\bzfU|kRmv<02=57=]K&cxVh|`_ve\g|:66880VN!fs[gqkZq`Wjs7>3?=;[A,mv\bzfU|kRmv<2<26>\D'`yQiaPwf]`}9299;1QO"g|Zdpl[raXkp6>2<<4ZB-jw_cugV}lSnw36?31?_E(azPn~bQxg^az8286:2PH#d}Uesm\sbYdq525=?5UC.kp^`thW~mTot26>018^F)n{SoycRyh_mww8586<2PH#d}Uesm\sbYk}}6:<3?<;[A,mv\bzfU|kRbzt=3=56=]K&cxVh|`_ve\hpr;:7;87WM irXfvjYpoVf~x1=1129YG*otRlxdSziPltv?0;743SI$e~Tjrn]tcZjr|5?5=>5UC.kp^`thW~mT`xz36?30?_E(azPn~bQxg^nvp9199:1QO"g|Zdpl[raXd|~743?<;[A,mv\bzfU|kRbzt=;==>\bzfIcine<;efn1>otFhDj7d}AaO]LFP@13`yQiam;hqYawiXGK_M==5wa7qo|1+4%jyl>?;r@Ar01c=GHq?36K4=:0yP5f3>n6<=;174;>4>d:;oc6>3=#i:0{R3`>d0=:7>51;39e<}T9j0j:7:j:017530?282h>85+5e81b>"3n3;;96l:8;2907<113k2wE;m;%7:>0>1o55f7683>!362><0b8>50:9j30<72-?:6:84n4295>=n?:0;6);>:648j06=:21b;?4?:%72>20!362><0b8>54:9j35<72-?:6:84n4291>=n>o0;6);>:648j06=>21b:h4?:%72>20!362><0b8>58:9j2f<72-?:6:84n429=>=n>k0;6);>:648j06=i21b:l4?:%72>20!362><0b8>5c:9j22<72-?:6:84n429`>=n>?0;6);>:648j06=m21b:84?:%72>20!362><0b8>51198m35=83.>=799;o73>47<3`<96=4+50842>h283;976g91;29 07=??1e9=4>3:9j25<72-?:6:84n42951=2d><7?9;:k4`?6=,<;1;;5a51823>=n?j0;6);>:648j06=9110e:l50;&65?113g?;6<74;h5b>5<#=80<:6`:0;3b?>o013:1(8?5779m15<6j21b;54?:%72>20290/9<486:l64?7b32c>i7>5$43933=i=90:j65fc183>!362kl0b8>50:9jf`<72-?:6oh4n4295>=njj0;6);>:cd8j06=:21bno4?:%72>g`!362kl0b8>54:9jf<<72-?:6oh4n4291>=nj10;6);>:cd8j06=>21bn:4?:%72>g`!362kl0b8>58:9jf0<72-?:6oh4n429=>=nj=0;6);>:cd8j06=i21bn>4?:%72>g`!362kl0b8>5c:9jf5<72-?:6oh4n429`>=nio0;6);>:cd8j06=m21bmh4?:%72>g`!362kl0b8>51198mde=83.>=7li;o73>47<3`ki6=4+508ab>h283;976gna;29 07=jo1e9=4>3:9je<<72-?:6oh4n42951=<7?9;:k`2?6=,<;1nk5a51823>=nk<0;6);>:cd8j06=9110en:50;&65?da3g?;6<74;ha0>5<#=80ij6`:0;3b?>od:3:1(8?5bg9m15<6j21bo<4?:%72>g`5$439fc=i=90:j65`11394?=h9991<75m8083>4<729q/944=4:J;4>N2j2e9?7>5;|`;6?6=93:173A?i7b:k:188yg`3290>6=4?{%7:>67<@1:0D8l4$3f92>o5>3:17d<8:188m7>=831b>44?::m7f?6=3thn57>54;294~"2139?7E6?;I7a?l?=831b=i4?::k67?6=3f>i6=44}cd5>5<0290;w);6:218L=6<@1<7>t$4;971=O091C9o5f9;29?l7c2900e8=50;9l0g<722wij:4?:683>5}#=008?6F70:J6f>"5l3=0e?850;9j62<722c947>5;h0:>5<>i3j3:17pljc;290?6=8r.>57=;;I:3?M3e3`31<75f1e83>>o2;3:17b:m:188yg`?290<6=4?{%7:>65<@1:0D8l4$3f93>o5>3:17d<8:188m7>=831b>44?::k1e?6=3`8i6=44o5`94?=zjln1<7:50;2x 0?=;=1C4=5G5c9j=?6=3`;o6=44i4194?=h2<729q/944<3:J;4>N2j2.9h794i3494?=n:>0;66g=8;29?l4>2900e?o50;9j6g<722e?n7>5;|`fa?6=<3:173A?i7d750;9j5a<722c>?7>5;n6a>5<2:90D5>4H4`8 7b=?2c9:7>5;h04>5<>o5i3:17d0;6=u+58807>N?82B>n6*=d;58m70=831b>:4?::k150z&6=?533A2;7E;m;h;94?=n9m0;66g:3;29?j2e2900qohl:184>5<7s-?26>=4H928L0d<,;n1;6g=6;29?l402900e?650;9j6<<722c9m7>5;h0a>5<5;h3g>5<>{enm0;6:4?:1y'1<<4;2B3<6F:b:&1`?1>o503:17d<6:188m7g=831b>o4?::m7f?6=3thm>7>54;294~"2139?7E6?;I7a?l?=831b=i4?::k67?6=3f>i6=44}cdf>5<0290;w);6:218L=6<@1<7>t$4;971=O091C9o5f9;29?l7c2900e8=50;9l0g<722wiil4?:583>5}#=00886F70:J6f>o>2900e5;|`773A?i7)5;h0;>5<i4:;h05>5<>o513:17d0;6=u+58807>N?82B>n6*=d;78m70=831b>:4?::k150z&6=?573A2;7E;m;%0g>1=n:?0;66g=7;29?l4?2900c9l50;9~f6`=83=1<7>t$4;976=O091C9o5+2e816>o5>3:17d<8:188m7>=831b>44?::k1e?6=3`8i6=44o5`94?=zj=:1<7850;2x 0?=;;1C4=5G5c9'6a<592c9:7>5;h04>5<>o5i3:17b:m:188yg26290>6=4?{%7:>67<@1:0D8l4$3f965=n:?0;66g=7;29?l4?2900e?750;9l0g<722wi8?4?:683>5}#=008?6F70:J6f>"5l3897d<9:188m71=831b>54?::k1=?6=3`8j6=44i3`94?=h2<729q/944<3:J;4>N2j2.9h7<=;h05>5<>o513:17d0;6=u+58807>N?82B>n6*=d;01?l412900e?950;9j6=<722c957>5;h0b>5<>{e<<0;6;4?:1y'1<<4:2B3<6F:b:&1`?463`8=6=44i3594?=n:10;66g=9;29?l4f2900c9l50;9~f6g=83?1<7>t$4;974=O091C9o5+2e814>o5>3:17d<8:188m7>=831b>44?::m7f?6=3th8n7>57;294~"213987E6?;I7a?!4c2;80e?850;9j62<722c947>5;h0:>5<>i3j3:17pl57=<;I:3?M3e3-8o6?<4i3494?=n:>0;66g=8;29?l4>2900e?o50;9j6g<722e?n7>5;|`:f?6=:3:173A?i7d<::188k1d=831vn4o50;094?6|,<31>n5G819K1g=n:<0;66a;b;29?xd>03:1>7>50z&6=?4d3A2;7E;m;h06>5<84?::m7f?6=3th2:7>52;294~"2138h7E6?;I7a?l422900c9l50;9~f<3=8381<7>t$4;96f=O091C9o5f2483>>i3j3:17pl64;296?6=8r.>576=44o5`94?=zj091<7<50;2x 0?=:j1C4=5G5c9j60<722e?n7>5;|`:6?6=:3:173A?i7d<::188k1d=831vn4?50;094?6|,<31>n5G819K1g=n:<0;66a;b;29?xd>83:1>7>50z&6=?4d3A2;7E;m;h06>5<84?::m7f?6=3th3h7>52;294~"2138h7E6?;I7a?l422900c9l50;9~f=e=8381<7>t$4;96f=O091C9o5f2483>>i3j3:17pl7b;296?6=8r.>576=44o5`94?=zj1k1<7<50;2x 0?=:j1C4=5G5c9j60<722e?n7>5;|`;=?6=:3:173A?i7d<::188k1d=831vn5650;094?6|,<31>n5G819K1g=n:<0;66a;b;29?xd??3:1>7>50z&6=?4d3A2;7E;m;h06>5<84?::m7f?6=3th397>52;294~"2138h7E6?;I7a?l422900c9l50;9~f=2=8381<7>t$4;96f=O091C9o5f2483>>i3j3:17pln2;296?6=8r.>576=44o5`94?=zjh;1<7<50;2x 0?=:j1C4=5G5c9j60<722e?n7>5;|`b4?6=:3:173A?i7d<::188k1d=831vn4h50;094?6|,<31>n5G819K1g=n:<0;66a;b;29?xd>m3:1>7>50z&6=?4d3A2;7E;m;h06>5<84?::m7f?6=3th2o7>52;294~"2138h7E6?;I7a?l422900c9l50;9~ft$4;96f=O091C9o5f2483>>i3j3:17pl7e;296?6=8r.>576=44o5`94?=zj191<7<50;2x 0?=:j1C4=5G5c9j60<722e?n7>5;|`f5?6=:3:173A?i7d<::188k1d=831vnh>50;094?6|,<31>n5G819K1g=n:<0;66a;b;29?xdcm3:1>7>50z&6=?4d3A2;7E;m;h06>5<84?::m7f?6=3thoo7>52;294~"2138h7E6?;I7a?l422900c9l50;9~fad=8381<7>t$4;96f=O091C9o5f2483>>i3j3:17plka;296?6=8r.>576=44o5`94?=zjm31<7<50;2x 0?=:j1C4=5G5c9j60<722e?n7>5;|`g73A?i7d<::188k1d=831vni950;094?6|,<31>n5G819K1g=n:<0;66a;b;29?xdc>3:1>7>50z&6=?4d3A2;7E;m;h06>5<84?::m7f?6=3tho?7>52;294~"2138h7E6?;I7a?l422900c9l50;9~fa4=8381<7>t$4;96f=O091C9o5f2483>>i3j3:17plk1;296?6=8r.>576=44o5`94?=zjm:1<7<50;2x 0?=:j1C4=5G5c9j60<722e?n7>5;|``b?6=:3:173A?i7d<::188k1d=831vnnk50;094?6|,<31>n5G819K1g=n:<0;66a;b;29?xddl3:1>7>50z&6=?4d3A2;7E;m;h06>5<84?::m7f?6=3thhn7>52;294~"2138h7E6?;I7a?l422900c9l50;9~ffg=8381<7>t$4;96f=O091C9o5f2483>>i3j3:17plj8;296?6=8r.>576=44o5`94?=zjl=1<7<50;2x 0?=:j1C4=5G5c9j60<722e?n7>5;|`f2?6=:3:173A?i7d<::188k1d=831vnh;50;094?6|,<31>n5G819K1g=n:<0;66a;b;29?xdb<3:1>7>50z&6=?4d3A2;7E;m;h06>5<84?::m7f?6=3thn>7>52;294~"2138h7E6?;I7a?l422900c9l50;9~fa`=8381<7>t$4;96f=O091C9o5f2483>>i3j3:17plk4;296?6=8r.>576=44o5`94?=zjj31<7<50;2x 0?=:j1C4=5G5c9j60<722e?n7>5;|`247<72;0;6=u+5887g>N?82B>n6g=5;29?j2e2900qo??4;296?6=8r.>57:l;I:3?M3e3`8>6=44o5`94?=zjo?1<7950;2x 0?=;:1C4=5G5c9'6a<73`8=6=44i3594?=n:10;66g=9;29?l4f2900e?l50;9l0g<722wi?i4?:683>5}#=008?6F70:J6f>"5l3;n7d<9:188m71=831b>54?::k1=?6=3`8j6=44i3`94?=h6}:1k0?n63i5;0;?85c2;20q~7n:1808`d2;201>k5269>=d<3j2wx554?:2y>b1<5>278i7<9;<;;>1d7g<5:31>:529687f>{t1?0;6>u2fb812>;4138=7079:5`8yv?22908w0h9:3:896?=:016584;b:p=1<72:q6j:4=a:?0=?4?343?69l4}r;0>5<4s4lj6?64=2;96g=:1:0?n6s|9383>6}:nk09:63<9;0b?8?52=h0q~7>:1808`?2;2019<52c9>=4<3j2wx5=4?:2y>b<<5i27?>71d70<5:l1>:528g87f>{t0m0;6>u2f`81e>;4n382706k:5`8yv>d2908w0h7:3c896`=:1164n4;b:p5<4s4li6?64=2d96d=:0h0?n6s|8883>6}:n>09463;3;0b?8>>2=h0q~67:1808`?2;<019=5289><=<3j2wx4:4?:2y>ba<5027?<7<8;<:4>1d7d<5=:1>;528787f>{t0<0;6>u24181e>;?=3>i70h::3c8yv>32908w0h8:348916=:016494;b:pe7<72:q6jh4=a:?75?4034k969l4}rc2>5<4s4>:6?84=`390g=:n<09:6s|a183>6}:n?09m63;1;0:?8g72=h0q~7i:1808`c2;k019?5299>=c<3j2wx5h4?:2y>b`<5>27?>7<8;<;f>1d70<5=81>;529e87f>{t1j0;6>u2f581<>;3:382707l:5`8yv?>2908w0hk:348914=:116544;b:p<`<72:q6j44=8:?0b?41342n69l4}r:0>5<4s4ln6?64=5296==:0:0?n6s|e083>6}:m80?n63i5;0:?85c2;30q~k?:1808`d2;301995279>a5<3j2wxhh4?:2y>b1<5?27?;7<8;1d7d<5==1>552de87f>{tlj0;6>u2fb813>;3?38270jl:5`8yvbe2908w0h9:3;8911=:h16ho4;b:p`d<72:q6j:4=b:?75<4s4lj6?74=5:962=:l00?n6s|d983>6}:nk09;63;8;0;?8b?2=h0q~j8:1808`?2;301>l52c9>`2<3j2wxh;4?:2y>b<<5j278n71d6=4<{71<5=>1>:52d487f>{tl:0;6>u2f`81f>;3<38270j<:5`8yvb52908w0h7:3`8912=:116h?4;b:p`4<72:q6j44=7:?70?4e34n:69l4}rf3>5<4s4li6?74=5696d=:l90?n6s|cg83>6}:n>09563m5289>g`<3j2wxoi4?:2y>ba<5127?97<8;1d7g<5=?1>;52cb87f>{tkk0;6>u24481e>;dj3>i70h::3`8yvef2908w0h8:358913=:016ol4;b:pa=<72:q6jh4=b:?0e?4034o369l4}rg4>5<4s49j6?84=d590g=:n<09;6s|e783>6}:n?09n63o5299>a0<3j2wxi94?:2y>b`<5?278n7<8;1d71<5:h1>;52e287f>{tm;0;6>u2f581=>;4j38270k=:5`8yvba2908w0hk:35896d=:116hk4;b:p`1<72:q6j44=9:?70?4134n?69l4}ra:>5<4s4ln6?74=5796==:k00?n6s|11094?4|58:96?;4=2f90g=z{8:?6=4={1d<58:?6?;4}r16>5ac<6l27m<7?k;4b<5o81=i52f282`>;bi3;o7p}<6;296~;?:3>o70k6:89~w10=838p19954c9>7a<5>2wxj94?:3y>b1<3j27n57;<;|qf=?6=:r7n57:m;<=z{o<1<7?6s|ec83>7}:mk0?n63jc;;8yv`02909w0h8:5`89`e==:1vhm50;0x9`e=051d<5lo156s|f883>7}:n00?n63je;70?xubm3:1>v3je;6a?8ca201vko50;0x9cg=1d<5o:19>5rsg294?4|5o:18o52f08:?xuak3:1>v3ic;6a?8`62<90q~h>:1818`62=h01k<59:pba<72;q6ji4;b:?e6?343tym>7>52z?e6?2e34l8645rsgg94?4|5oo18o52f2867>{tn:0;6?u2f287f>;bi330q~h::1818cf2<901k;54c9~w61=838p19654c9>02<5j2wx?54?:3y>7<<3j278i7<7;|q0=?6=:r78i7:m;<1g>711d<5=91>55rs2d94?4|5=:18o524281f>{t<90;6?u24087f>;3;38=7p};1;296~;3:3>i70:<:358yv252909w0:<:5`896b=:k1v9=50;0x912=52z?0e?2e349h6?84}r1b>5<5s49i69l4=2a962=z{:h1<77}Y?>165o4=5:p30<72;qU;8529`811>{t?:0;6?uQ729>==<5=2wx;?4?:3y]37=:1>0996s|7083>7}Y?8165;4=5:p35<72;qU;=5294811>{t>o0;6?uQ6g9>=1<5=2wx:h4?:3y]2`=:1:0996s|6e83>7}Y>m165?4=5:p2f<72;qU:n5290811>{t>k0;6?uQ6c9>=5<5=2wx:l4?:3y]2d=:0o0996s|6983>7}Y>1164i4=5:p22<72;qU::528b811>{t>?0;6?uQ679>7}Y>=16444=5:p26<72;qU:>5289811>{t>;0;6?uQ639><2<5=2wx:<4?:3y]24=:0?0996s|6183>7}Y>916484=5:p1c<72;qU9k5285811>{t?l0;6?uQ7d9>e7<5=2wx;i4?:3y]3a=:i80996s|7b83>7}Y?j16m=4=5:p3g<72;qU;o529g811>{t?h0;6?uQ7`9>=`<5=2wx;44?:3y]3<=:1m0996s|7983>7}Y?1165n4=5:p31<72;qU;95298811>{t>00;6?uQ689><`<5=2wx9h4?:3y]1`=:0:0996s|c183>7}Yk916i<4=5:pf`<72;qUnh52e1811>{tjj0;6?uQbb9>``<5=2wxno4?:3y]fg=:lm0996s|b`83>7}Yjh16hn4=5:pf<<72;qUn452dc811>{tj10;6?uQb99>`d<5=2wxn:4?:3y]f2=:l00996s|b783>7}Yj?16h54=5:pf0<72;qUn852d6811>{tj=0;6?uQb59>`3<5=2wxn>4?:3y]f6=:l<0996s|b083>7}Yj816h>4=5:pf5<72;qUn=52d3811>{tio0;6?uQag9>`4<5=2wxmh4?:3y]e`=:l90996s|ae83>7}Yim16ok4=5:pef<72;qUmn52cd811>{tik0;6?uQac9>ga<5=2wxml4?:3y]ed=:kj0996s|a883>7}Yi016oo4=5:pe=<72;qUm552c`811>{tk>0;6?uQc69>a=<5=2wxo;4?:3y]g3=:m>0996s|c483>7}Yk<16i;4=5:pg1<72;qUo952e4811>{tk:0;6?uQc29>a1<5=2wxo?4?:3y]g7=:m:0996s|c083>7}Yk816i?4=5:pfa<72;qUni52dg811>{tj;0;6?uQb39>`1<5=2wxm:4?:3y]e2=:k00996s|11394?4|V8::70??2;6a?xu68:0;6?uQ111894632=h0qp`=0e83>4}O=k1vb?>j:182M3e3td9{I7a?xh5980;65<6sA?i7p`=1483>4}O=k1vb??9:182M3e3td9=:4?:0yK1g=zf;;36=4>{I7a?xh5900;65<6sA?i7p`=1e83>4}O=k1vb??j:182M3e3td9=k4?:0yK1g=zf;8;6=4>{I7a?xh5:80;65<6sA?i7p`=2483>4}O=k1vb?<9:182M3e3td9>:4?:0yK1g=zf;836=4>{I7a?xh5:00;65<6sA?i7p`=2e83>4}O=k1vb?k4?:0yK1g=zf;9;6=4>{I7a?xh5;80;65<6sA?i7p`=3483>4}O=k1vb?=9:182M3e3td9?:4?:0yK1g=zf;936=4>{I7a?xh5;00;65<6sA?i7p`=3e83>4}O=k1vb?=j:182M3e3td9?k4?:0yK1g=zf;>;6=4>{I7a?xh5<80;65<6sA?i7p`=4483>4}O=k1vb?:9:182M3e3td98:4?:0yK1g=zf;>36=4>{I7a?xh5<00;65<6sA?i7p`=4e83>4}O=k1vb?:j:182M3e3td98k4?:0yK1g=zf;?;6=4>{I7a?xh5=80;65<6sA?i7p`=5483>4}O=k1vb?;9:182M3e3td99:4?:0yK1g=zf;?36=4>{I7a?xh5=00;65<6sA?i7p`=5e83>4}O=k1vb?;j:182M3e3td99k4?:0yK1g=zf;<;6=4>{I7a?xh5>80;65<6sA?i7p`=6483>4}O=k1vb?89:182M3e3td9::4?:0yK1g=zf;<36=4>{I7a?xh5>00;65<6sA?i7p`=6e83>4}O=k1vb?8j:182M3e3td9:k4?:0yK1g=zf;=;6=4>{I7a?xh5?80;65<6sA?i7p`=7483>4}O=k1vb?99:182M3e3td9;:4?:0yK1g=zf;=36=4>{I7a?xh5?00;65<6sA?i7p`=7e83>4}O=k1vb?9j:182M3e3td9;k4?:0yK1g=zf;2;6=4>{I7a?xh5080;65290:wE;m;|l1<6<728qC9o5rn3:7>5<6sA?i7p`=8483>4}O=k1vb?69:182M3e3td94:4?:0yK1g=zf;236=4>{I7a?xh5000;6f290:wE;m;|l15<6sA?i7p`=8e83>4}O=k1vb?6j:182M3e3td94k4?:0yK1g=zf;3;6=4>{I7a?xh5180;65<6sA?i7p`=9483>4}O=k1vb?79:182M3e3td95:4?:0yK1g=zf;336=4>{I7a?xh5100;65<6sA?i7p`=9e83>4}O=k1vb?7j:182M3e3td95k4?:0yK1g=zf;k;6=4>{I7a?xh5i80;65<6sA?i7p`=a483>4}O=k1vb?o9:182M3e3td9m:4?:0yK1g=zf;k36=4>{I7a?xh5i00;65<6sA?i7p`=ae83>4}O=k1vb?oj:182M3e3td9mk4?:0yK1g=zf;h;6=4>{I7a?xh5j80;65<6sA?i7p`=b483>4}O=k1vqpsO@By01c<>0?k9<<>r@A@x4xFGXrwKL \ No newline at end of file diff --git a/SpecialCasesCheck.ngd b/SpecialCasesCheck.ngd new file mode 100644 index 0000000..df8905e --- /dev/null +++ b/SpecialCasesCheck.ngd @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.6e +$00;5=6:2.Yi{g|inl9$4(5=0*/==5?9823456789:;54>>;333?64=AGZ^X7V33083:46<;;0BB][[:X>05?69:22;==570123456789:;<=>;;823=46<19:2<=>?0123=56>;2KO^>5MUG33?GSNDMU_M_IJT@P@L==E]ZUBBKA=;BK7?FJL8?1H@F?7079@HN408<1H@FEKCOR:4=74CNONMQRBL>1H^HO[EE08@Lc?811NT]OADDF25>C_XHDOIIQMCE]EMIC6<2OS\L@KEE]@KKUSZHCEX^?>;DZSEKBBLVCXIRHFLDc8AtsfdJbnof:4FGDF<>@ANOLMJH??;GDEBC@ANOLMJKHIE09D7>AIL81B>6G?2:K26>O5:2C8>6G;2:K60>OE]O80EC=4IOC0?LHE02CEJH\]EE;8MKOS[]K_Ih5FN^LD@ZGILVHHH;5FOBMNT3=NG]S[I:5CICPBV\0?7A[[559OQQ043D_S96CZXB[`?Hgmg{\n~~g`nb9Nmkiu^lxxeb`=;O21?K753G837CM irLbj<=IK&cxBl`>a:L@+luIig;;m6@L/hqMek76i2DH#d}Aao31e>HD'`yEmc?<9:L@+luIig827CM irLbj6?56@L/hqMek0>3GI$e~@nn6;8JF)n{Gke445AC.kpJdh>901EO"wLhdah+BYdgdz~xh H_uos5f=IK&sHdhmd/F]`khvr|l$LSyc<1<14>HD'pIcine G^aliussm'MTx`~30?]PS515_AE68TDTSi2ZBBRLZSHF[f>VNFVH^_COBE79SWAIIM:1YC@?4S29PAI763ZBYIJQJXUPBGQYIOJo0_E\JG^OJJZUNRL<0_YO[UR32?Vvbk`kgOl}jsBjfgn2<\PZN56ZvpdAkafmd3\YN^RXFSH@OA6=QKJ30ZDKX_U[SA1=_494>7U2>0?78\9766<1S0<<15:Z?56823Q6:83;4X=36:0=_48<596V316<6?]:607?0T1?6>59[84823Q69<3;4X=02:0=_4;8596V322<6?]:5<7?0T1<:>49[8709=2R7>:0:;Y>1<;3:1<6?]:497>0T1=14:Z?0;2^T\ECI;6V\T^EM@2=_[]U]ON64X^2\MGSA12RT==QFBTD:?]Y69VCIYK74X^31[LDRN01SS<=PICWE=>^X9=UBNXH6;Y]21ZOE]O30TR?9_H@VB<=_W8=TEO[I9:Z\5=YNJ\L27UQ>9^KAQC>3QU99RGMUG;8\Z41W@H^J45W_35\MGSA12RT>5QFBTD:?]Y51VCIYK64X^0\MGSA12RT?=QFBTD:?]Y49VCIYK64X^1\MGSA02RT8RGMUG:8\Z3XAK_M46VP6^KAQC>^cjVCon6Vkh^RqmhOcpj1SheQ_rhoW}uca3QncS]|fmWgqwlii991Sh`QBakmqR`ttafd:<6Vkm^OjjjtQm{ybcc=4Xrv7?\:76<1R0<>15:[?54823P6:>3;4Y=30:0=^48>596W314<6?\:6>7?0U1?8>49Z84>9=2S7=40;;X>2:0=^4;:596W320<6?\:5:7?0U1<<>49Z8729=2S7>80:;X>12;3_;:04?7T2=>49Z8669?2S7?<4?>49Z8679<2S7?3:4Y=6=0>_;=7>0U1814:[?3;23PU:>RGMUG;8]Z74W@H^J45V_06\MGSA12ST=8QFBTD:?\Y6>VCIYK74Y^34[LDRN01RS<6PICWE=>_X90UBNXH7;X]2[LDRN01RS?>PICWE=>_X:8UBNXH6;X]16ZOE]O30UR<<_H@VB<=^W;>TEO[I9:[\60YNJ\L27TQ=6^KAQC?XAK_M56WP28]JFP@?3PU9SDLZF89Z[66XAK_M56WP30]JFP@?3PU8SDLZF99Z[1YNJ\L37TQ:_H@VB==^W?UBNXH7;X]4[LDRN11RS5QFBTD;?\Y>W@H^J<<4ZB-jw_cugV}lSnw30?30?_E(azPn~bQxg^az84699;1QO"g|Zdpl[raXkp6:2<<4ZB-jw_cugV}lSnw32?31?_E(azPn~bQxg^az8686:2PH#d}Uesm\sbYdq5>5=?5UC.kp^`thW~mTot2:>008^F)n{SoycRyh_b{?2;753SI$e~Tjrn]tcZe~4>4:>6TL/hqYawiXnUhu161139YG*otRlxdSziPcx>::450?30?_E(azPn~bQxg^nvp9799:1QO"g|Zdpl[raXd|~7>3?<;[A,mv\bzfU|kRbzt=1=56=]K&cxVh|`_ve\hpr;<7;87WM irXfvjYpoVf~x1;1129YG*otRlxdSziPltv?2;743SI$e~Tjrn]tcZjr|5=5=>5UC.kp^`thW~mT`xz38?30?_E(azPn~bQxg^nvp9?9<2PN^B74ZdplGmcdc01j}o}t`l57>bce<1bCoAa:kpJdHXGK_M:6g|Zdplf>otRlxdSBLZF99mcadraenm7uo9smz7gva5:<'846vflhl{qk7?3qfetRoztn]3[}be'jy"ulld|BCt6c13IJs;?4I:582V462j91:;4>35352=<60j8>wcm>:09mg7<13-ho6474}R03>f5=>?0:?9?96982;6<<;:0827171>10:4n<7;R03>443280:?9?969823m=96=4>:0yP644>d:<1/o7?>e:J17>pS:<0;6<4>:`;xW77=k:0=:7?<404526<5z4`83?x"103;996*=8;28 70=9;=0(?953b9a37<72=81mo4n9zJ41>"0;3=97Wj52z691?{#?9087)8i:d78m<7=83.=m77?;o4:>5=2810e5j50;&5e??73g<26?54i9a94?"1i33;7c86:298m=d=83.=m77?;o4:>1=2<10e5750;&5e??73g<26;54i9:94?"1i33;7c86:698m=1=83.=m77?;o4:>==2010e5;50;&5e??73g<26l54i9694?"1i33;7c86:c98m=4=83.=m77?;o4:>f=2m10e5>50;&5e??73g<26h54i6d94?"1i33;7c86:g98m2c=83.=m77?;o4:>46<3`=o6=4+6`8:4>h113;:76g8c;29 3g=191e:44>2:9j3g<72-4n7;956=k1<7*9a;;3?k0>28>07d96:18'2d<>82d=57?:;:k:=n1>0;6)8n:828j3?=9>10e4850;&5e??73g<26<64;h;6>5<#>h02<6`99;3:?>o><3:1(;o5919m2<<6i21b5>4?:%4b><6b290/:l460:l5=?7c32c3?7>5$7c9=5=i>00:i65f7983>!0f20:0b;751g98mab=83.=m7jl;o4:>5=2810ei750;&5e?bd3g<26?54ie:94?"1i3nh7c86:298ma1=83.=m7jl;o4:>1=2<10ei;50;&5e?bd3g<26;54ie694?"1i3nh7c86:698ma5=83.=m7jl;o4:>==2010ei?50;&5e?bd3g<26l54ie294?"1i3nh7c86:c98mfc=83.=m7jl;o4:>f=2m10enm50;&5e?bd3g<26h54ib`94?"1i3nh7c86:g98mfg=83.=m7jl;o4:>46<3`i26=4+6`8gg>h113;:76gl8;29 3g=lj1e:44>2:9jg2<72-28>07dm::18'2d=nm:0;6)8n:ea8j3?=9>10eh<50;&5e?bd3g<26<64;hg2>5<#>h0oo6`99;3:?>ob83:1(;o5db9m2<<6i21bhk4?:%4b>ae5$7c9`f=i>00:i65fc583>!0f2mi0b;751g98k4472900c<<=:188ft$6196`=O1h1C;85+bg825f=#;o0:>;5`2e83>!da2?>07pl6c;295?6=8r.{e98;1<7;50;2x 25=<=1C5l5G749'fc<1k2.8j7?=6:&0f?>d=ijl0:76g<2;29 g`=i2dii7<4;h10>5<#jo0j7clj:298k37=83.ij78;;:a550=83>1<7>t$6190==O1h1C;85+bg873>"4n3;9:6gj:18'fc<4121b>?4?:%`e>6><3`=h>80;6)li:768?xd69:0;6:4?:1y'36<3>2B2m6F85:&ab?0d3-9m6<<9;%1a><=n;90;6)li:`9mf`<732c8=7>5$cd9e>hem3;07d==:18'fco4=3:1(oh5a:laa?3<3f<:6=4+bg850>=zj8:36=4;:183!142=20D4o4H678 g`=<>1/?k4>279ja?6=,kl1?454i3094?"en39376g9d;29 g`=>l10c;?50;&ab?0332wi=<:50;594?6|,>918;5G9`9K30=#jo0=o6*"4j330e>>50;&ab?g!da2h1enh4>;:k06?6=,kl1m6`me;08?l54290/nk4n;o`f>6=1<7*mf;c8jgc=<21b?84?:%`e>d=ijl0>76a91;29 g`=>=10qo??9;290?6=8r.5<#jo0=865rb036>5<0290;w)9<:548L?0(oh56b9'7c<6:?1/?o46;h13>5<#jo0j7clj:198m67=83.ij7o4ncg95>=n;;0;6)li:`9mf`<532c8?7>5$cd9e>hem3907d=;:18'fcN>i2B<96*mf;64?!5a288=7dk50;&ab?5>32c9>7>5$cd97==i193:1(oh56598yg76>3:1;7>50z&47?213A3j7E9:;%`e>3e<,:l1=?84$2`9=>o483:1(oh5a:laa?6<3`9:6=4+bg8b?kdb2810e><50;&ab?g65f3283>!da2h1enh4<;:k00?6=,kl1m6`me;68?l52290/nk4n;o`f>0={e99h1<7:50;2x 25=<11C5l5G749'fc<3?2.8j7?=6:kf>5<#jo08565f2383>!da2:207d8k:18'fc<1m21d:<4?:%`e>32<3th:=:4?:683>5}#?:0?:6F6a:J41>"en3d=ijl0;76g<1;29 g`=i2dii7?4;h11>5<#jo0j7clj:398m65=83.ij7o4ncg97>=n;=0;6)li:`9mf`<332c897>5$cd9e>hem3?07b8>:18'fc<1<21vn<>l:187>5<7s-=86964H8c8L23<,kl18:5+3g8263=nm3:1(oh53898m74=83.ij7=7;:k5`?6=,kl1:h54o7394?"en32.8n774i2294?"en3k0bok50:9j74<72-hm6l5abd82?>o4:3:1(oh5a:laa?4<3`986=4+bg8b?kdb2:10e>:50;&ab?g!da2h1enh4:;:m55?6=,kl1:954}c33`?6=<3:17)li:558 6`=9;<0eh4?:%`e>6?<3`896=4+bg80<>=n>m0;6)li:7g8?j06290/nk494:9~f47>290<6=4?{%50>10<@0k0D:;4$cd92f=#;o0:>;5+3c8:?l57290/nk4n;o`f>5=d=ijl0976g<3;29 g`=i2dii7=4;h17>5<#jo0j7clj:598m63=83.ij7o4ncg91>=h>80;6)li:768?xd68l0;694?:1y'36<302B2m6F85:&ab?203-9m6<<9;hg94?"en39276g=2;29 g`=;110e;j50;&ab?0b32e==7>5$cd921=57;294~"0;3>=7E7n;I56?!da2?i0(>h51348 6d=12c8<7>5$cd9e>hem3:07d=>:18'fco4<3:1(oh5a:laa?2<3`9>6=4+bg8b?kdb2<10c;?50;&ab?0332wi==h50;694?6|,>91855G9`9K30=#jo0?;6*ob290/nk4<9:9j67<72-hm6>64;h4g>5<#jo0=i65`6083>!da2?>07pl>1c83>2<729q/;>4;6:J:e>N0=2.ij78l;%1e>4413-9i645f3183>!da2h1enh4?;:k05?6=,kl1m6`me;38?l55290/nk4n;o`f>7=d=ijl0?76g<5;29 g`=i2dii7;4;n42>5<#jo0=865rb033>5<3290;w)9<:5:8L?0(oh5469'7c<6:?1bi7>5$cd97<=o1l3:1(oh56d98k37=83.ij78;;:a551=83>1<7>t$6190==O1h1C;85+bg873>"4n3;9:6gj:18'fc<4121b>?4?:%`e>6><3`=h>80;6)li:768?xd2m3:187>50z&47?243A3j7E9:;%`e>3e<,:l1=?84$2`92>o483:1(oh5a:laa?6<3`9:6=4+bg8b?kdb2810e><50;&ab?g65`6083>!da2?>07pl:d;293?6=8r.4;h12>5<#jo0j7clj:098m64=83.ij7o4ncg96>=n;:0;6)li:`9mf`<432c887>5$cd9e>hem3>07d=::18'fc2<729q/;>4;6:J:e>N0=2.ij78l;%1e>4413-9i6:5f3183>!da2h1enh4?;:k05?6=,kl1m6`me;38?l55290/nk4n;o`f>7=d=ijl0?76g<5;29 g`=i2dii7;4;n42>5<#jo0=865rb4694?2=83:p(:=5429K=d=O?<1/nk49c:&0b?75>2.8n784i2294?"en3k0bok50:9j74<72-hm6l5abd82?>o4:3:1(oh5a:laa?4<3f<:6=4+bg850>=zj?50;&ab?g!da2h1enh4=;:k07?6=,kl1m6`me;18?l53290/nk4n;o`f>1=32<3th>:7>56;294~"0;3>>7E7n;I56?!da2?i0(>h51348 6d=:k1b?=4?:%`e>d=ijl0;76g<1;29 g`=i2dii7?4;h11>5<#jo0j7clj:398m65=83.ij7o4ncg97>=n;=0;6)li:`9mf`<332e==7>5$cd921=0D4o4H678 g`=>j1/?k4>279'7g<5i2c8<7>5$cd9e>hem3:07d=>:18'fci193:1(oh56598yg3?290<6=4?{%50>10<@0k0D:;4$cd92f=#;o0:>;5+3c81g>o483:1(oh5a:laa?6<3`9:6=4+bg8b?kdb2810e><50;&ab?g65f3283>!da2h1enh4<;:k00?6=,kl1m6`me;68?l52290/nk4n;o`f>0={e=00;6:4?:1y'36<3>2B2m6F85:&ab?0d3-9m6<<9;%1a>7ed=ijl0:76g<2;29 g`=i2dii7<4;h10>5<#jo0j7clj:298m62=83.ij7o4ncg90>=n;<0;6)li:`9mf`<232e==7>5$cd921=j1/?k4>279'7g<5k2c8<7>5$cd9e>hem3:07d=>:18'fco4<3:1(oh5a:laa?2<3`9>6=4+bg8b?kdb2<10c;?50;&ab?0332wi9o4?:783>5}#?:0?96F6a:J41>"en3>50;&ab?g!da2h1enh4>;:k06?6=,kl1m6`me;08?l54290/nk4n;o`f>6=1<7*mf;c8jgc=<21d:<4?:%`e>32<3th><7>55;294~"0;3>?7E7n;I56?!da2?i0(>h51348 6d=:h1b?=4?:%`e>d=ijl0;76g<1;29 g`=i2dii7?4;h11>5<#jo0j7clj:398m65=83.ij7o4ncg97>=h>80;6)li:768?xd293:1;7>50z&47?213A3j7E9:;%`e>3e<,:l1=?84$2`96f=n;90;6)li:`9mf`<732c8=7>5$cd9e>hem3;07d==:18'fco4=3:1(oh5a:laa?3<3f<:6=4+bg850>=zj<81<7950;2x 25=?50;&ab?g!da2h1enh4=;:k07?6=,kl1m6`me;18?l53290/nk4n;o`f>1=32<3thi97>52;294~"0;39=7E7n;I56?!da2k1C?i5+3d803>"4n3;9:6g=f;29 g`=;>10c;?50;&ab?0332win94?:383>5}#?:08:6F6a:J41>"en3h0D>j4$2g972=#;o0:>;5f2g83>!da2:=07b8>:18'fc<1<21vno<50;094?6|,>91?;5G9`9K30=#jo0i7E=k;%1f>61<,:l1=?84i3d94?"en39<76a91;29 g`=>=10qol>:181>5<7s-=86>84H8c8L23<,kl1n6F5<#jo08;65`6083>!da2?>07plm0;296?6=8r.7<729q/;>4<6:J:e>N0=2.ij7l4H2f8 6c=;>1/?k4>279j6c<72-hm6>94;n42>5<#jo0=865rb`g94?4=83:p(:=5379K=d=O?<1/nk4m;I1g?!5b2:=0(>h51348m7`=83.ij7=8;:m55?6=,kl1:954}ccg>5<5290;w)9<:248L?0(oh5b:J0`>"4m39<7)=i:005?l4a290/nk4<7:9l24<72-hm6;:4;|`bg?6=:3:17)li:c9K7a=#;l08;6*o5n3:1(oh53698k37=83.ij78;;:aeg<72;0;6=u+72802>N>i2B<96*mf;`8L6b<,:o1?:5+3g8263=n:o0;6)li:258?j06290/nk494:9~fdg=8381<7>t$61973=O1h1C;85+bg8a?M5c3-9n6>94$2d9570i193:1(oh56598ygg>29096=4?{%50>60<@0k0D:;4$cd9f>N4l2.8i7=8;%1e>4413`8m6=4+bg803>=h>80;6)li:768?xdf?3:1>7>50z&47?513A3j7E9:;%`e>g=O;m1/?h4<7:&0b?75>2c9j7>5$cd972={ei?0;6?4?:1y'36<4>2B2m6F85:&ab?d<@:n0(>k5369'7c<6:?1b>k4?:%`e>61<3f<:6=4+bg850>=zjh?1<7<50;2x 25=;?1C5l5G749'fc5$cd921=32<3thj?7>52;294~"0;39=7E7n;I56?!da2k1C?i5+3d803>"4n3;9:6g=f;29 g`=;>10c;?50;&ab?0332wim?4?:383>5}#?:08:6F6a:J41>"en3h0D>j4$2g972=#;o0:>;5f2g83>!da2:=07b8>:18'fc<1<21vnl?50;094?6|,>91?;5G9`9K30=#jo0i7E=k;%1f>61<,:l1=?84i3d94?"en39<76a91;29 g`=>=10qoo?:181>5<7s-=86>84H8c8L23<,kl1n6F5<#jo08;65`6083>!da2?>07pl6f;296?6=8r.7<729q/;>4<6:J:e>N0=2.ij7l4H2f8 6c=;>1/?k4>279j6c<72-hm6>94;n42>5<#jo0=865rbca94?4=83:p(:=5379K=d=O?<1/nk4m;I1g?!5b2:=0(>h51348m7`=83.ij7=8;:m55?6=,kl1:954}c`a>5<5290;w)9<:248L?0(oh5b:J0`>"4m39<7)=i:005?l4a290/nk4<7:9l24<72-hm6;:4;|`ae?6=:3:17)li:c9K7a=#;l08;6*o5n3:1(oh53698k37=83.ij78;;:af<<72;0;6=u+72802>N>i2B<96*mf;`8L6b<,:o1?:5+3g8263=n:o0;6)li:258?j06290/nk494:9~fg>=8381<7>t$61973=O1h1C;85+bg8a?M5c3-9n6>94$2d9570i193:1(oh56598ygd029096=4?{%50>60<@0k0D:;4$cd9f>N4l2.8i7=8;%1e>4413`8m6=4+bg803>=h>80;6)li:768?xde>3:1>7>50z&47?513A3j7E9:;%`e>g=O;m1/?h4<7:&0b?75>2c9j7>5$cd972={ej:0;6?4?:1y'36<4>2B2m6F85:&ab?d<@:n0(>k5369'7c<6:?1b>k4?:%`e>61<3f<:6=4+bg850>=zjh21<7<50;2x 25=;?1C5l5G749'fc5$cd921=32<3thmi7>52;294~"0;39=7E7n;I56?!da2k1C?i5+3d803>"4n3;9:6g=f;29 g`=;>10c;?50;&ab?0332wiji4?:383>5}#?:08:6F6a:J41>"en3h0D>j4$2g972=#;o0:>;5f2g83>!da2:=07b8>:18'fc<1<21vnkl50;094?6|,>91?;5G9`9K30=#jo0i7E=k;%1f>61<,:l1=?84i3d94?"en39<76a91;29 g`=>=10qohn:181>5<7s-=86>84H8c8L23<,kl1n6F5<#jo08;65`6083>!da2?>07pli9;296?6=8r.7<729q/;>4<6:J:e>N0=2.ij7l4H2f8 6c=;>1/?k4>279j6c<72-hm6>94;n42>5<#jo0=865rbg594?4=83:p(:=5379K=d=O?<1/nk4m;I1g?!5b2:=0(>h51348m7`=83.ij7=8;:m55?6=,kl1:954}cd5>5<5290;w)9<:248L?0(oh5b:J0`>"4m39<7)=i:005?l4a290/nk4<7:9l24<72-hm6;:4;|`e1?6=:3:17)li:c9K7a=#;l08;6*o5n3:1(oh53698k37=83.ij78;;:ab1<72;0;6=u+72802>N>i2B<96*mf;`8L6b<,:o1?:5+3g8263=n:o0;6)li:258?j06290/nk494:9~fc5=8381<7>t$61973=O1h1C;85+bg8a?M5c3-9n6>94$2d9570i193:1(oh56598yg`529096=4?{%50>60<@0k0D:;4$cd9f>N4l2.8i7=8;%1e>4413`8m6=4+bg803>=h>80;6)li:768?xda83:1>7>50z&47?513A3j7E9:;%`e>g=O;m1/?h4<7:&0b?75>2c9j7>5$cd972={emo0;6?4?:1y'36<4>2B2m6F85:&ab?d<@:n0(>k5369'7c<6:?1b>k4?:%`e>61<3f<:6=4+bg850>=zjlo1<7<50;2x 25=;?1C5l5G749'fc5$cd921=32<3thno7>52;294~"0;39=7E7n;I56?!da2k1C?i5+3d803>"4n3;9:6g=f;29 g`=;>10c;?50;&ab?0332wiio4?:383>5}#?:08:6F6a:J41>"en3h0D>j4$2g972=#;o0:>;5f2g83>!da2:=07b8>:18'fc<1<21vnho50;094?6|,>91?;5G9`9K30=#jo0i7E=k;%1f>61<,:l1=?84i3d94?"en39<76a91;29 g`=>=10qok6:181>5<7s-=86>84H8c8L23<,kl1n6F5<#jo08;65`6083>!da2?>07plj8;296?6=8r.7<729q/;>4<6:J:e>N0=2.ij7l4H2f8 6c=;>1/?k4>279j6c<72-hm6>94;n42>5<#jo0=865rb026>5<5290;w)9<:248L?0(oh5b:J0`>"4m39<7)=i:005?l4a290/nk4<7:9l24<72-hm6;:4;|`241<72;0;6=u+72802>N>i2B<96*mf;`8L6b<,:o1?:5+3g8263=n:o0;6)li:258?j06290/nk494:9~f46429096=4?{%50>60<@0k0D:;4$cd9f>N4l2.8i7=8;%1e>4413`8m6=4+bg803>=h>80;6)li:768?xd68;0;6?4?:1y'36<4>2B2m6F85:&ab?d<@:n0(>k5369'7c<6:?1b>k4?:%`e>61<3f<:6=4+bg850>=zj8::6=4=:183!142:<0D4o4H678 g`=j2B8h6*32<3th:<=4?:383>5}#?:08:6F6a:J41>"en3h0D>j4$2g972=#;o0:>;5f2g83>!da2:=07b8>:18'fc<1<21vnkh50;094?6|,>91?;5G9`9K30=#jo0i7E=k;%1f>61<,:l1=?84i3d94?"en39<76a91;29 g`=>=10qohl:181>5<7s-=86>84H8c8L23<,kl1n6F5<#jo08;65`6083>!da2?>07pli1;296?6=8r.7<729q/;>4<6:J:e>N0=2.ij7l4H2f8 6c=;>1/?k4>279j6c<72-hm6>94;n42>5<#jo0=865rb002>5<5290;w)9<:708L?0(oh5b:J0`>"4m3N>i2B<96*mf;`8L6b<,:o1:95+3g8263=n:o0;6)li:258?j06290/nk494:9~f475290<6=4?{%50>10<@0k0D:;4$cd92f=#;o0:>;5+3c81?l57290/nk4n;o`f>5=d=ijl0976g<3;29 g`=i2dii7=4;h17>5<#jo0j7clj:598m63=83.ij7o4ncg91>=h>80;6)li:768?xd2;3:1;7>50z&47?213A3j7E9:;%`e>3e<,:l1=?84$2`961=n;90;6)li:`9mf`<732c8=7>5$cd9e>hem3;07d==:18'fco4=3:1(oh5a:laa?3<3f<:6=4+bg850>=zj0;1<7?50;2x g`=>>1C;85G3`9'7`<4?2c=;7>5$cd922=:183!da2?=0D:;4H2c8 6c=;>1b::4?:%`e>31<3th3h7>51;294~"en3<<7E9:;I1b?!5b2:=0e;950;&ab?0032wi4n4?:083>5}#jo0=;6F85:J0e>"4m39<7d88:18'fc<1?21vn5l50;394?6|,kl1::5G749K7d=#;l08;6g97;29 g`=>>10qo6n:182>5<7s-hm6;94H678L6g<,:o1?:5f6683>!da2?=07pl79;295?6=8r.ij788;I56?M5f3-9n6>94i7594?"en3<<76sm8983>4<729q/nk497:J41>N4i2.8i7=8;h44>5<#jo0=;65rb9594?7=83:p(oh5669K30=O;h1/?h4<7:k53?6=,kl1::54}c:5>5<6290;w)li:758L23<@:k0(>k5369j22<72-hm6;94;|`;1?6=93:1N0=2B8m6*t$cd922=O?<1C?l5+3d803>o1?3:1(oh56698yg>6290:6=4?{%`e>31<@>?0D>o4$2g972=n>>0;6)li:758?xd?83:1=7>50z&ab?003A=>7E=n;%1f>61{e?o0;6<4?:1y'fc<1?2B<96F=zj>o1<7?50;2x g`=>>1C;85G3`9'7`<4?2c=;7>5$cd922=:183!da2?=0D:;4H2c8 6c=;>1b::4?:%`e>31<3th51;294~"en3<<7E9:;I1b?!5b2:=0e;950;&ab?0032wi;o4?:083>5}#jo0=;6F85:J0e>"4m39<7d88:18'fc<1?21vn:o50;394?6|,kl1::5G749K7d=#;l08;6g97;29 g`=>>10qo96:182>5<7s-hm6;94H678L6g<,:o1?:5f6683>!da2?=07pl68;295?6=8r.ij788;I56?M5f3-9n6>94i7594?"en3<<76sm9683>4<729q/nk497:J41>N4i2.8i7=8;h44>5<#jo0=;65rb8494?7=83:p(oh5669K30=O;h1/?h4<7:k53?6=,kl1::54}c;6>5<6290;w)li:758L23<@:k0(>k5369j22<72-hm6;94;|`:0?6=93:1N0=2B8m6*t$cd922=O?<1C?l5+3d803>o1?3:1(oh56698yg>b290:6=4?{%`e>31<@>?0D>o4$2g972=n>>0;6)li:758?xd?;3:1=7>50z&ab?003A=>7E=n;%1f>61{e?10;6<4?:1y'fc<1?2B<96F=zjmn1<7?50;2x g`=>>1C;85G3`9'7`<4?2c=;7>5$cd922=:183!da2?=0D:;4H2c8 6c=;>1b::4?:%`e>31<3tho57>51;294~"en3<<7E9:;I1b?!5b2:=0e;950;&ab?0032wih54?:083>5}#jo0=;6F85:J0e>"4m39<7d88:18'fc<1?21vni950;394?6|,kl1::5G749K7d=#;l08;6g97;29 g`=>>10qoj9:182>5<7s-hm6;94H678L6g<,:o1?:5f6683>!da2?=07plk5;295?6=8r.ij788;I56?M5f3-9n6>94i7594?"en3<<76smd583>4<729q/nk497:J41>N4i2.8i7=8;h44>5<#jo0=;65rbe194?7=83:p(oh5669K30=O;h1/?h4<7:k53?6=,kl1::54}cf1>5<6290;w)li:758L23<@:k0(>k5369j22<72-hm6;94;|`g5?6=93:1N0=2B8m6*t$cd922=O?<1C?l5+3d803>o1?3:1(oh56698ygec290:6=4?{%`e>31<@>?0D>o4$2g972=n>>0;6)li:758?xddk3:1=7>50z&ab?003A=>7E=n;%1f>61{ekk0;6<4?:1y'fc<1?2B<96F=zjjk1<7?50;2x g`=>>1C;85G3`9'7`<4?2c=;7>5$cd922=:183!da2?=0D:;4H2c8 6c=;>1b::4?:%`e>31<3thh47>51;294~"en3<<7E9:;I1b?!5b2:=0e;950;&ab?0032wio:4?:083>5}#jo0=;6F85:J0e>"4m39<7d88:18'fc<1?21vnn850;394?6|,kl1::5G749K7d=#;l08;6g97;29 g`=>>10qom::182>5<7s-hm6;94H678L6g<,:o1?:5f6683>!da2?=07plj4;295?6=8r.ij788;I56?M5f3-9n6>94i7594?"en3<<76sme283>4<729q/nk497:J41>N4i2.8i7=8;h44>5<#jo0=;65rbd094?7=83:p(oh5669K30=O;h1/?h4<7:k53?6=,kl1::54}cg2>5<6290;w)li:758L23<@:k0(>k5369j22<72-hm6;94;|`f4?6=93:1N0=2B8m6*t$cd922=O?<1C?l5+3d803>o1?3:1(oh56698ygbf290:6=4?{%`e>31<@>?0D>o4$2g972=n>>0;6)li:758?xddn3:1=7>50z&ab?003A=>7E=n;%1f>61{ek=0;6<4?:1y'fc<1?2B<96F=zj88;6=4>:183!da2?=0D:;4H2c8 6c=>=1d::4?:%`e>31<3th:>?4?:083>5}#jo0=;6F85:J0e>"4m3816=<<5339>16<4:2wxn94?:2y>54?=;;16994<1:?a0?063tyi>7>53z?254<4827>87=?;<`1>37m6>?4=c3924=z{k:1<7=t=03:>66<5=l1?=52b1855>{tio0;6>u2101977=:15800>;3n39970oj:738yvgc2908w0?>7;11?82a2:?01lj5609~wde=839p11=<4=27jn78>;|qbe?6=;r7:=;4<4:?65<4s4;:;7=?;<76>67<5h31:<5rs`594?5|58;<6>:4=47976=:i>0==6s|a783>6}:98?1?95254806>;f>3<:7p}n5;297~;69?08<63:5;16?8g22?;0q~o;:180876039970;::2689d2=>81vl=50;1x94732:801875359>e6<192wxm?4?:2y>543=;916944<3:?b6?063tyj=7>53z?25d<4:27>:7=>;37>4=`2924=z{0l1<7=t=44971=:1o0==63>13800>{t1l0;6>u2106975=:=?08?636e;42?xuek3:1?v3>1c800>;2?39:70ll:738yvde2908w0;8:2289gd=>816=<<5319~wgg=839p112<4:27i578>;|qa5<4s4;:?7=?;<7;>66<5k=1:<5rsc494?5|58;:6><4=4:976=:j?0==6s|b283>6}:98k1?=5259806>;e;3<:7p}n8;297~;69?08>63:5;13?8g?2?;0q~7k:180876j39970;9:208981vkk50;1x9cc=>816=<<5329>16<4;2wxji4?:2y>54?=;:169i4<0:?e`?063tymn7>53z?254<4927>h7=>;37<4=gc924=z{o31<7=t=03:>67<552f8855>{tn10;6>u2101976=:=m08863i8;42?xua?3:1?v3>15801>;2m39;70h8:738yv`12908w0?>7;10?83b2:;01k85609~wc3=839p114<4=27m878>;|qe7?6=;r7:=;4<5:?65?5334l86;?4}rd1>5<4s4;:;7=>;<7b>67<5o81:<5rsg294?5|58;<6>;4=4c976=:n90==6s|eg83>6}:98?1?8525`806>;bn3<:7p}je;297~;69?08=63:a;16?8cb2?;0q~kk:180876039870;n:2689`b=>81vhm50;1x94732:9018<5359>af<192wxio4?:2y>543=;8169?4<3:?ff?063tynm7>53z?25d<4;27>n7=>;37>4=d;924=z{l21<7=t=4`971=:m10==63>13801>{tm>0;6>u2106974=:=k08?63j7;42?xu68<0;6>u210`970=:=908=63>04855>{t99>1<7=t=42975=:99>1:<52100974=z{8:86=4<{<327?5234?;6>=4=020>377>53z?25d<4=27><7==;<336?063ty:<<4?:2y>54d=;8169<4<1:?244<192wx==>50;1x94742:;018?5319>556=>81vkh50;1x94762:9018?5329>bc<192wxjn4?:2y>54g=;8169<4<2:?eg?063tym=7>53z?253<4;27>m7=?;37<4=d4924=z{88:6=4={<315?4a34?86;?4}r317?6=:r7:<:491:?266<5n2wx8o4?:by>=g<5l27:<;4=2:?24=<5:27:<44=2:?24d<5:27:o7>52z?6`?0634?86>>4}r325?6=:r7:=<491:?243<1l2wx==850;0x94612?;01<>7:d9~w4742909w0?>3;42?877030983>7}:9921:<5211;9a>{t98>1<737<58:26;j4}r33=?6=:r7:<4491:?24d543=>816==o56e9~w46f2909w0??a;42?877j3o0q~?>6;296~;69?0==63>0c85`>{t99h1<737<58:h6h5rs034>5<5s4;:;78>;<33g?0c3ty:55e=>816==j5e:p54>=838p10d8f?xu6900;6?u210;924=:99o1:i5rs02f>5<5s4;;i78>;<33b?c52z?25d<1927:i:73894772l1v0;4g?xu6990;6?u2102924=:99=1i6s|10094?4|58:<6;j4=031>37o6=4={<7f>37<5{t;2;39:7p}:4;296~;2=3<:70;6:208yv322909w0;9:73890?=;<1v8850;0x901=>816944<0:p12<72;q695491:?6=?563ty>47>52z?6=?0634?86>;4}r7:>5<5s4?j6;?4=40977=z{7}:=90==63:2;13?xu283:1>v3:1;42?8352:;0q~;>:1818352?;018=5359~w<7=839pR4?4=c796c=:180=;6s|8g83>6}Y0o16n94=f:?;b?003ty3h7>53z\;`>;e:38m706k:758yv>d2908wS6l;<`2>7`<51i1::5rs9`94?5|V1h01o>52g9>5<4sW2370ok:3d89=>=>>1v5950;1xZ=1<5hi1>k5286853>{t0?0;6>uQ879>eg<5n273:788;|q;1?6=;rT3963na;0e?8>22?=0q~6;:180[>334k26?h4=96922=z{181<7=t^9089d1=:o164?497:p<4<72:qU4<52a781b>;?93<<7p}70;297~X?827j97316}Y?m16m?4=f:?4`?003ty53z\4g>;f938m709l:758yv1e2908wS9m;7`<5>h1::5rs6c94?5|V>k014h52g9>3d<1?2wx;44?:2y]3<=:1l09j6389;44?xu>03:1?vP68:?ag?4a34336;94}r;4>5<4sW3<70lm:3d89<1=>>1v4850;1xZ<0<5kk1>k5297853>{t1<0;6>uQ949>f<<5n2729788;|q:0?6=;rT2863m8;0e?8?32?=0q~7<:180[?434h<6?h4=81922=z{081<7=t^8089g0=:o165?497:p<`<72:qU4h52b281b>;?m3<<7p}73;297~X?;27j47316}Ylk16ji4=f:?gf?003tyo57>53z\g=>;aj38m70j6:758yvb?2908wSj7;7`<5m21::5rse594?5|Vm=01k752g9>`2<1?2wxh;4?:2y]`3=:n109j63k6;44?xuc=3:1?vPk5:?e3?4a34n>6;94}rf7>5<4sWn?70h9:3d89a2=>>1vi=50;1xZa5<5o?1>k52d2853>{tl;0;6>uQd39>b1<5n27o>788;|qg5?6=;rTo=63i3;0e?8b62?=0q~j?:180[b734l96?h4=e2922=z{jo1<7=t^bg89c6=:o16oh497:pga<72:qUoi52eg81b>;dl3<<7p}lc;297~Xdk27ni7316}Yk016io4=f:?`=?003tyh47>53z\`<>;bi38m70m7:758yve02908wSm8;7`<5j=1::5rsb494?5|Vj<01h652g9>g3<1?2wxo84?:2y]g0=:m>09j63l5;44?xub<3:1?vPj4:?240<5n27n8788;|qf7?6=;rTn?63>0581b>;b;3<<7p}j2;297~Xb:27:<>4=f:?f6?003tyn=7>53z\f5>;68;09j63j1;44?xub83:1?vPj0:?244<5n27n<788;|qgb?6=;rToj63>0181b>;cn3<<7p}ke;297~Xcm27mj7316}Yk=16i;4=f:?`0?003ty:>=4?:2y]576<588:6;?4=003>317>53z\267=:9;91:<52130922=zug8287>51zJ41>{i:0?1<7?tH678yk4>>3:1=vF85:m6<1=83;pD:;4}o0:?0qc<6a;295~N0=2we>4l50;3xL2351zJ41>{i:0n1<7?tH678yk4>m3:1=vF85:m6<`=83;pD:;4}o0b4?6=9rB<96sa2`394?7|@>?0qcl=50;3xL2351zJ41>{i:h?1<7?tH678yk4f>3:1=vF85:m6d1=83;pD:;4}o0b?0qcll50;3xL2351zJ41>{i:hn1<7?tH678yk4fm3:1=vF85:m6d`=83;pD:;4}o0a4?6=9rB<96sa2c394?7|@>?0qco=50;3xL2351zJ41>{i:k?1<7?tH678yk4e>3:1=vF85:m6g1=83;pD:;4}o0a?0qcol50;3xL2351zJ41>{i:kn1<7?tH678yk4em3:1=vF85:m6g`=83;pD:;4}o0`4?6=9rB<96sa2b394?7|@>?0qcn=50;3xL2351zJ41>{i:j?1<7?tH678yk4d>3:1=vF85:m6f1=83;pD:;4}o0`?0qcnl50;3xL2351zJ41>{i:jn1<7?tH678yk4dm3:1=vF85:m6f`=83;pD:;4}o0g4?6=9rB<96sa2e394?7|@>?0qci=50;3xL2351zJ41>{i:m?1<7?tH678yk4c>3:1=vF85:m6a1=83;pD:;4}o0g?0qcil50;3xL2351zJ41>{i:mn1<7?tH678yk4cm3:1=vF85:m6a`=83;pD:;4}o0f4?6=9rB<96sa2d394?7|@>?0qch=50;3xL2351zJ41>{i:l?1<7?tH678yk4b>3:1=vF85:m6`1=83;pD:;4}o0f?0qchl50;3xL2351zJ41>{i:ln1<7?tH678yk4bm3:1=vF85:m6``=83;pD:;4}o0e4?6=9rB<96sa2g394?7|@>?0qck=50;3xL2351zJ41>{i:o?1<7?tH678yk4a>3:1=vF85:m6c1=83;pD:;4}o0e?0qckl50;3xL2351zJ41>O1?3;p=7srn3df>5<6sA=>7D88:0y2>x{i:ol1<7?tH678M31=9r;1qp`<0183>4}O?<1B::4>{08~yk5793:1=vF85:K53?7|93wvb>>=:182M123@<<6:|m755=83;pD:;4I7595~7=utd8<94?:0yK30=N>>0:w<4r}o131?6=9rB<96G97;3x5?{zf::=6=4>{I56?L0028q:6psa31594?7|@>?0E;951z39yxh4810;64}62twe?=l50;3xL2351zJ41>O1?3;p=7srn22f>5<6sA=>7D88:0y2>x{i;9l1<7?tH678M31=9r;1qp`<1183>4}O?<1B::4>{08~yk5693:1=vF85:K53?7|93wvb>?=:182M123@<<6:|m745=83;pD:;4I7595~7=utd8=94?:0yK30=N>>0:w<4r}o121?6=9rB<96G97;3x5?{zf:;=6=4>{I56?L0028q:6psa30594?7|@>?0E;951z39yxh4910;69;295~N0=2C=;7?t1;~j67f290:wE9:;H44>4}62twe?51zJ41>O1?3;p=7srn23f>5<6sA=>7D88:0y2>x{i;8l1<7?tH678M31=9r;1qp`<2183>4}O?<1B::4>{08~yk5593:1=vF85:K53?7|93wvb><=:182M123@<<6:|m775=83;pD:;4I7595~7=utd8>94?:0yK30=N>>0:w<4r}o111?6=9rB<96G97;3x5?{zf:8=6=4>{I56?L0028q:6psa33594?7|@>?0E;951z39yxh4:10;64}62twe??l50;3xL2351zJ41>O1?3;p=7srn20f>5<6sA=>7D88:0y2>x{i;;l1<7?tH678M31=9r;1qp`<3183>4}O?<1B::4>{08~yk5493:1=vF85:K53?7|93wvb>==:182M123@<<6:|m765=83;pD:;4I7595~7=utd8?94?:0yK30=N>>0:w<4r}o101?6=9rB<96G97;3x5?{zf:9=6=4>{I56?L0028q:6psa32594?7|@>?0E;951z39yxh4;10;64}62twe?>l50;3xL23??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 +$04a7g<'aefi"Bzc`-JW@)NMLO<99Okddp,AtsfdJbnof yhe0;?*nhel%Gyno IRG,M@CB?<>Jhik}/OcMGmcdc'|ch>?4/imna*Jrkh%B_H!FEDG411Gcllx$_}kli`n@evctKaohg#xgd3;8+mijm&F~ol!FSD-JA@C0==Kohh| ZdplGmcdc'|ch<5?1:325>4=AGZ^X7Jnt`>2>586829:6D@_UU8[866=87;;7>?5IORVP?_;;90;2<84308LQQVR\3Xnxb{<2294;g<;80S0>>50?c874<^4::1<3??;239gjkw^li7?=4?>0287758682996D@_UU8Z867=87k0??4A<2394;g<;;0S0>?50?c877<^4:;1<3?<;709MKVR\3Njxl291;2=0>GIL;<0MCJ=B048EKB3J8>0MCJ78:CawFnbkb20NX]PIODL=>EHEDC_XHJ8;BPFEQCC<2Njxl94D`vb858?3Mkm1??>99Geqg;98437Io{a=31:==Ci}k7=>07;Ecwe973611Omyo314<;?Agsi5;=255Kauc?528?3Mkm1?7>99Geqg;90427Io{a=394;199Geqg;:<437Io{a=05:==Ci}k7>:07;Ecwe94?611Omyo328<4?Agsi58546Jnt`>04;>?18:Fbpd:4:720Hlzn<21=<>Bf|h688364D`vb863902Njxl2<6?:8@drf4:=546Jnt`>0<;>717:Fbpd:4611Omyo341<;?Agsi5>:255Kauc?078?3Mkm1:<>99Geqg;<=437Io{a=66:==Ci}k78;07;Ecwe920611Omyo349<;?Agsi5>22:5Kauc?0;>18:Fbpd:29720Hlzn<40=<>Bf|h6>?364D`vb802902Njxl2:5?:8@drf4<<546Jnt`>63;>4:2=Ci}k74394D`vb8<8f3L{~maMgebie?BYdgdz~xh H_uos56=@Wjef|xzj.F]wiu:768;0E?5F039J56=N9990EO6;:1B=9=4I071?L453@997D:=;H71?L053@=97D6=;H;0?LHA<2CEJ<:4IOKW7>OI^l1@IH^PHHGQEWEOQ>1GCJGLAMf8I}iuWjef|[kl10:8I}iuW`yXm`k\ifl\MKPX=Ve:86@30?78J9776<1E049M84?9<2D7=3;4N=03:0=I4;;596@323<6?K:5;7?0B1<;>49M8739=2D7>;0:;O>13;3H;:7?0B1=?>69M867=87?0B1=>>59M86833G6?295A<4<7?K:16=1E0:0;;O>;:1=I40497CM<;OcM0>HfF820Bl@Lhdah5>I33FX::>5@R318KW243FXTb{|f0Tb{|f0<;1a:Pfwpjs48<5m6\jstnw8419i2Xnxb{<0:=e>Tb{|f0<719:Pfwpjs484j7_k|umv?658f3[oxyaz320?0n;Sgpqir;::4j7_k|umv?618f3[oxyaz324;0n;Sgpqir;:>4j7_k|umv?6=8f3[oxyaz328<:?Wct}e~7>3m4Rdqvhq:483:5m6\jstnw866912Xnxb{<2<:?Wct}e~78374Rdqvhq:2601Yi~{ct=4==>Tb{|f0:06;Sgpqir;0730^h}zlu>::g=TANH^_RGAFNc8WLAXJ\YBHUl4SHE\FPUIIDO?7^GUEg9PKPTDMVLB@H@NMDf8WJSUKLUGECKAB038WucdahfHm~k|Cig`o1=SQYOm7YQlolrvp`(SW}g{=?5[_bmntprb&]Ua}2?>018PZeheyi#ZPtlr?4;76;2^Tobcuug-PZrjx5:5><=4T^aliussm'^Tx`~30?122>RXkfg{yyk!T^vnt969W`g{56ZvpdAkafm>3_CN[RZVPD78SLBS@=1S0=0:;Y>24;3^;9:4>7U2>4?78\9726<1S0<815:Z?52823Q6:43;4X=3::1=_484>7U2=0?78\9466<1S0?<15:Z?66823Q6983;4X=06:0=_4;<596V326<6?]:507?0T1<6>59[87803Q68<7>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[WQJNJ8o0T^ZPILROAHCI\H^BCCQLOOQWVDOI\Z;;7U][_SVO[UTHXLX_U;5Wdc]J`4649Z8469=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>>50?78]9576>1R0>?50?78]9566=1R0>0;;X>7:1=^4<4?7T29>59Z82833P63295V<8<1?_E>3SoycNfjcjc8gjkw^li7<3l4cnosR`e;994i7nabpWg`8479j2ida}Xjc=31:g=dgdz]in2>3?`8gjkw^li7=90m;bmntScd48?5n6m`mqTfg9716k1hc`~Yeb>23;d15;dehey\no1<7>c9`khvQmj6953o4cnosR`e;:7n0obcVda?75<76k1hc`~Yeb>04;gotFhd=7d}Aao3f?luTidoJn~Xnltg26>ot[hgn_dia_HLU[0Yh>2cxVh|`7:kp^`th9890~h}Pcnosqqc)zlyTx`~>6:pfwZeheyi#|js^vnt9699>1yi~Qlolrvp`(umzUa}2?>034?wctWjef|xzj.sgp[qkw4949=:5}er]`khvr|l$yi~Q{mq>3:6703{oxSnabptvf*wctW}g{0=0;169qavYdgdz~xh }er]wiu:76<;j7k|_bmntprb&{oxSyc<1<\mhv13qIcine;;yKmb45Sb?;;yLbj467:G81>4}T9k0:<:4n4;30040103;3o?;tn026>4=i99<1:6*>058245=z[8k1==95a5827171>10:4n<:;ef0>5<628qX=o4>068b0?74<8<=47?7c378rCgf290:6<4?{R3a>4602h>1=>:>67:95=e5=2.oo799;%c6>4013kn86=4;2;0907}K9981=v*n5;351>{K9991>v*k1;08ja4=<2w/h94k3:X2=?4|m3l1qWmk:3y25?752tcm47>5$`59b2=ii?0;76gi6;29 d1=n>1em;4>;:ke7?6=,h=1j:5aa781?>oa:3:1(l95f69me3<432cm=7>5$`59b2=ii?0?76gi0;29 d1=n>1em;4:;:kfb?6=,h=1j:5aa785?>obm3:1(l95f69me3<032cnh7>5$`59b2=ii?0376gjc;29 d1=n>1em;46;:kff?6=,h=1j:5aa78b?>obi3:1(l95f69me35$`59b2=ii?0h76gj7;29 d1=n>1em;4k;:kf2?6=,h=1j:5aa78f?>ob=3:1(l95f69me35$`59b2=ii?0:<65fe283>!g02o=0bl851098m`4=83.j;7h8;oc5>44<3`o:6=4+a68e3>hf>3;876gj0;29 d1=n>1em;4>4:9j`c<72-k<6k94n`4950==nnj0;6)o8:g58jd0=9010ekl50;&b3?`03gk=65<#i>0m;6`n6;3a?>oa13:1(l95f69me3<6k21bj94?:%c4>c1>4?:%c4>4453gk=6=54i002>5<#i>0:>?5aa782?>o69l0;6)o8:001?kg12;10e1=76g>1`83>!g028897co9:798m47>290/m:4>239me3<032c:=54?:%c4>4453gk=6554i034>5<#i>0:>?5aa78:?>o69?0;6)o8:001?kg12h10ef=1083>!g028897co9:d98m477290/m:4>239me34453gk=6<>4;h33a?6=,h=1=?<4n`4954=65f11a94?"f?3;9>6`n6;30?>o68k0;6)o8:001?kg128>07d??a;29 d1=9;80bl851498m44f290/m:4>239me3<6>21b=?750;&b3?75:2dj:7?8;:k26=<72-k<6<<=;oc5>4><3`;9;7>5$`595745<#i>0:>?5aa782e>=n9;?1<7*n7;316>hf>3;i76g>2583>!g028897co9:0a8?l76n3:1(l951308jd0=9m10ee:9j55?=83.j;7?=2:lb2?7a32e:8k4?::m211<722h2m7>54086>11|D8:964d6=50;&b3?`03gk=6854idd94?"f?3l<7co9:798m`c=83.j;7h8;oc5>2=g=c=1<7*n7;d4?kg128:07dk<:18'e2;:kf6?6=,h=1j:5aa7826>=nm80;6)o8:g58jd0=9:10eh>50;&b3?`03gk=6<:4;hfe>5<#i>0m;6`n6;36?>oan3:1(l95f69me3<6>21bjh4?:%c4>c132cmn7>5$`59b2=ii?0:m65ff`83>!g02o=0bl851c98mc?=83.j;7h8;oc5>4e<3`l?6=4+a68e3>hf>3;o76gj9;29 d1=n>1em;4>e:9j``<72-k<6k94n`495c=2083>!g028897co9:098m47b290/m:4>239me3<532c:=i4?:%c4>4453gk=6>54i03`>5<#i>0:>?5aa787?>o69k0;6)o8:001?kg12<10e2=1683>!g028897co9:898m471290/m:4>239me34453gk=6o54i030>5<#i>0:>?5aa78`?>o69;0;6)o8:001?kg12m10e:18'e2<6:;1em;4j;:k255<72-k<6<<=;oc5>c=6`n6;32?>o68m0;6)o8:001?kg128807d??c;29 d1=9;80bl851298m46e290/m:4>239me3<6<21b==o50;&b3?75:2dj:7?:;:k26d<72-k<6<<=;oc5>40<3`;957>5$`595745<#i>0:>?5aa782<>=n9;=1<7*n7;316>hf>3;276g>2783>!g028897co9:0c8?l75=3:1(l951308jd0=9k10e<<;:18'e2<6:;1em;4>c:9j54`=83.j;7?=2:lb2?7c32c:=94?:%c4>4453gk=65<5:3>1>>uC11095~N0=2wG===52z&g5?77>5$`59=4=ii?0;76g60;29 d1=181em;4>;:k;a?6=,h=15<5aa781?>o?l3:1(l95909me3<432c3o7>5$`59=4=ii?0?76g7b;29 d1=181em;4:;:k;e?6=,h=15<5aa785?>o?13:1(l95909me3<032c347>5$`59=4=ii?0376g77;29 d1=181em;46;:k;2?6=,h=15<5aa78b?>o?=3:1(l95909me35$`59=4=ii?0h76g72;29 d1=181em;4k;:k;5?6=,h=15<5aa78f?>o?83:1(l95909me35$`59=4=ii?0:<65f7d83>!g020;0bl851098m2b=83.j;77>;oc5>44<3`=h6=4+a68:5>hf>3;876g8b;29 d1=181em;4>4:9j3d<72-k<64?4n`4950=92dj:7?8;:k:3?6=,h=15<5aa782<>=n1?0;6)o8:838jd0=9010e4;50;&b3??63gk=65<#i>02=6`n6;3a?>o>;3:1(l95909me3<6k21b4k4?:%c4><7290/m:461:lb2?7a32e2n7>5;n52>5<;0;66a6e;29?xd0:3:1?7>50z&g0?723A;;=6g91;29?l052900c4k50;9~f0`=8331<7>t$e6952=O99;0e;?50;9j27<722c=57>5;h4b>5<>o1l3:17d8j:188k6<6ir.o87jn;h5b>5<31<75f7c83>>o0l3:17d9l:188m2c=831b4=4?::k4b?6=3`2:6=44i9194?=n0;0;66g74;29?l>12900e5;50;9j<2<722c2?7>5;h:e>5<1<75f9783>>o>=3:17d77:188m<1=831b544?::mg1?6=3kn<6=4>1;294~"c<33m7E??1:k55?6=3`<96=44i7;94?=n>h0;66g9b;29?l0d2900e;j50;9j2`<722c=j7>5;h53>5<>o1=3:17d89:188m31=831b:54?::m:a?6=3tho47>58;294~"c<3k97E??1:k55?6=3`<96=44i7;94?=n>h0;66g9b;29?l0d2900e;j50;9l=`<722wih44?:283>5}#l=0j<6F>009j24<722c=>7>5;n;f>5<34n<6;<4}r5a>5<5sW=i70j8:7;8yv1c2909wS9k;3g5<5sW2;70j8:7f8yv1a2909wS9i;3c434n<6:>4}r:1>5<5sW2970j8:718yv>32909wS6;;32234n<6;84}r:4>5<5sW2<70j8:758yv?42909wS7<;3>37<5m=15h5rs9d94?4|V1l01i65609~w<2=838pR4:4=e:927=z{0<1<7=>01v4;50;0xZ<3<5m21:l5rs8:94?4|V0201i656c9~w<1=838pR494=e:92f=z{031<7=>m1vi950;0x9a?=>;16h546e:p`0<72;qUh852d88:a>{z{0:1<7l1/ok461:l`a?752z\;`>;2n3hdm3?0q~6n:181[>f34?m6;74$bd9=4=ikl0=7p}79;296~X?127>j78=;%ae><77}Y01169k491:&`b??63gin655rs9594?4|V1=01io5869'gc<>92dhi774}r:5>5<5sW2=70jn:948 f`=181eoh4n;|q;1?6=:rT3963ka;:6?!ea20;0bnk5b:p<6<72;qU4>52d`8;7>"dn33:7cmj:b9~w=4=838pR5<4=ec9<7=#ko02=6`le;f8yv>62909wS6>;=7<,jl15<5acd8f?xu?83:1>vP70:?ge?>73-im64?4nbg9b>{t?o0;6?uQ7g9>`d<0n2.hj77>;oaf>46o0(nh5909mg`<692wx;i4?:3y]3a=:lh07}Y?k16hl48b:&`b??63gin6<:4}r5b>5<5sW=j70jn:6c8 f`=181eoh4>5:p=<<72;qU5452d`8:=>"dn33:7cmj:048yv??2909wS77;<><,jl15<5acd823>{t1>0;6?uQ969>`d<>?2.hj77>;oaf>4>7}Y1:16hl463:&`b??63gin65<5sW2m70jn:9d8 f`=181eoh4>d:p<1<72;qU4952d`8;0>"dn33:7cmj:0g8yv1>2909wS96;2?<,jl15<5acd82b>{t=l0;6>u29b855>;0:3<970;i:8g8H46528q/;>4:;|p`0<72:q65n492:?46?0634nj6i;4L021>4}#?:0?7ps|9c83>7}Y1k165n46e:p34<72;qU;<52738:a>{zj8<36=4=2;6966}K9981=vF85:O555=:r.o=7?4ne095a=z,m>1ho5U1882ao>83:1(l95909me3<632c3i7>5$`59=4=ii?0976g7d;29 d1=181em;4<;:k;g?6=,h=15<5aa787?>o?j3:1(l95909me3<232c3m7>5$`59=4=ii?0=76g79;29 d1=181em;48;:k;o??3:1(l95909me3<>32c3:7>5$`59=4=ii?0j76g75;29 d1=181em;4m;:k;7?6=,h=15<5aa78`?>o?:3:1(l95909me35$`59=4=ii?0n76g70;29 d1=181em;4i;:k4b?6=,h=15<5aa7824>=n?l0;6)o8:838jd0=9810e:j50;&b3??63gk=6<<4;h5`>5<#i>02=6`n6;30?>o0j3:1(l95909me3<6<21b;l4?:%c4><75$`59=4=ii?0:465f9783>!g020;0bl851898m<3=83.j;77>;oc5>4g<3`3?6=4+a68:5>hf>3;i76g63;29 d1=181em;4>c:9j1<7*n7;;2?kg128o07d96:18'e2<>92dj:7?i;:m:f?6=3f=:6=44b8a94?5=83:p(i:5159K557>i>m3:17pl82;297?6=8r.o87?:;I335>o193:17d8=:188k1=:5G1138m37=831b:?4?::k5=?6=3`j0;66g9d;29?l0b2900c4k50;9~fag=83;36>4>az&g0?bf3`=j6=44i6;94?=n?k0;66g8d;29?l1d2900e:k50;9j<5<722c5;h:2>5<>o?<3:17d69:188m=3=831b4:4?::k:7?6=3`2m6=44i8694?=n1?0;66g65;29?l??2900e4950;9j=<<722eo97>5;cf4>5<693:15;h41>5<>o1j3:17d8l:188m3b=831b:h4?::k5b?6=3`=;6=44i7194?=n>=0;66g95;29?l012900e;950;9j2=<722e2i7>5;|`g5;h41>5<>o1j3:17d8l:188m3b=831d5h4?::a`<<72:0;6=u+d58b4>N6881b:<4?::k56?6=3f3n6=44}r5b>5<5sW=j70j8:738yv1>2909wS96;345<5sW=h70j8:7`8yv1b2909wS9j;3e5<5sW2:70j8:7d8yv>42909wS6<;26334n<6;:4}r:5>5<5sW2=70j8:778yv>22909wS6:;305<5s4n26;?4=e59=`=z{1l1<7=>81v4:50;0xZ<2<5m21:?5rs8494?4|V0<01i65689~w<3=838pR4;4=e:92d=z{021<7=>k1v4950;0xZ<1<5m21:n5rs8;94?4|V0301i656e9~wa1=838p1i75639>`=<>m2wxh84?:3y]`0=:l002i6srs8294?4|V0:018h56d9'gc<>92dhi7?4}r:f>5<5sW2n70;i:7f8 f`=181eoh4=;|q;`?6=:rT3h63:f;4`?!ea20;0bnk53:p"dn33:7cmj:59~w=d=838pR5l4=4d92d=#ko02=6`le;78yv>f2909wS6n;<7e>3?<,jl15<5acd85?xu?13:1>vP79:?6b?053-im64?4nbg93>{t010;6?uQ899>1c<192.hj77>;oaf>==z{1=1<71/ok461:l`a??52z\;1>;ci32>7)mi:838jfc=j2wx4>4?:3y]<6=:lh03?6*lf;;2?keb2j1v5<50;0xZ=4<5mk14?5+cg8:5>hdm3n0q~6>:181[>634nj65?4$bd9=4=ikl0n7p}70;296~X?827om76?;%ae><77}Y?o16hl48f:&`b??63gin6<>4}r5f>5<5sW=n70jn:6g8 f`=181eoh4>1:p3a<72;qU;i52d`84`>"dn33:7cmj:008yv1d2909wS9l;2e<,jl15<5acd827>{t?k0;6?uQ7c9>`d<0j2.hj77>;oaf>42k0(nh5909mg`<6=2wx544?:3y]=<=:lh0256*lf;;2?keb28<0q~77:181[??34nj6464$bd9=4=ikl0:;6s|9683>7}Y1>16hl467:&`b??63gin6<64}r;5>5<5sW3=70jn:848 f`=181eoh4>9:p=0<72;qU5852d`8:1>"dn33:7cmj:0c8yv?32909wS7;;<2<,jl15<5acd82f>{t1:0;6?uQ929>`d<>;2.hj77>;oaf>4e34nj6:74$bd9=4=ikl0:j6s|5d83>6}:1j0==6382;41?83a20o0@<>=:0y'36<23twxh84?:2y>=f<1:27<>78>;a3=f<>m2wx;<4?:3y]34=:?;02i6srb072>5<2290;w)j;:`38L4663`<:6=44i7094?=n>00;66g9a;29?j?b2900qo?91;291?6=8r.o87?9;I335>o193:17d8=:188m3?=831b:l4?::m:a?6=3th::>4?:483>5}#l=0::6F>009j24<722c=>7>5;h4:>5<>{tn10;69uQf99>50c=1;16=;?5689>535=>81/ok4i7:l`a?64?:3y]b6=:9hdm380q~h=:181[`534;>i76k;%ae>c17}Yn816=8k58b9'gc5<5sWl;70?:e;:a?!ea2o=0bnk55:pac<72;qUik5214g9>3-im6k94nbg93>{tmm0;6?uQee9>50c=011/ok4i7:l`a?>hdm3k0q~kn:181[cf34;>i76:;%ae>c17}Ym116=8k5829'gc5<5sWo<70?:e;:1?!ea2o=0bnk5d:pa3<72;qUi;5214g9<4=#ko0m;6`le;g8yvc22909wSk:;<36a?>73-im6k94nbg9b>{tm=0;6?uQe59>50c=?o1/ok4i7:l`a?773tyn?7>52z\f7>;6=l0i79k;%ae>c11eoh4>3:pa5<72;qUi=5214g93g=#ko0m;6`le;37?xucn3:1>vPkf:?21`<0i2.hj7h8;oaf>437}Ynm16=8k5969'gc5d8:2>"dn3l<7cmj:0;8yv`e2909wShm;<36a??23-im6k94nbg95d=z{ok1<70(nh5f69mg`<6j2wxj44?:3y]b<=:95+cg8e3>hdm3;h7p}i4;296~Xa<27:9h47f:&`b?`03gin65<5sWo270?:e;:7?!ea2o=0bnk51d9~wac=838pRik4=07f>2?<,jl1j:5acd82b>{t9;91<7:t^000?871033970?91;42?871;3:181[75927::5460:&`b?75:2dhi7?4}r32a?6=:rT:=h5217:9<`=#ko0:>?5acd81?xu69m0;6?uQ10f8940?21n0(nh51308jfc=;2wx=4453gin695rs03a>5<5sW;:n63>698;f>"dn3;9>6`le;78yv76i3:1>vP>1`9>53>=0h1/ok4>239mg`<13ty:=44?:3y]54?<58<36574$bd95747:?22=52z\253=:9?214;5+cg8267=ikl0j7p}>1483>7}Y98?01<87:978 f`=9;80bnk5b:p545=838pR43-im6<<=;oaf>f=z{8;96=4={_326>;6>103>6*lf;316>hdm3n0q~?>1;296~X69816=;65809'gc<6:;1eoh4j;|q255<72;qU=<>4=04;>=6<,jl1=?<4nbg9b>{t99l1<71:p55b=838pR<>k;<354452z\24f=:9?21;n5+cg8267=ikl0:?6s|11`94?4|V8:i70?98;5a?!ea28897cmj:068yv77i3:1>vP>0`9>53>=?h1/ok4>239mg`<6=2wx=?o50;0xZ44f34;=4776;%ae>4453gin6<84}r31=?6=:rT:>45217:9===#ko0:>?5acd823>{t9;21<716=;65979'gc<6:;1eoh4>9:p570=838pR<<9;<354g52z\260=:9?21595+cg8267=ikl0:n6s|13694?4|V88?70?98;;0?!ea28897cmj:0a8yv76n3:1>vP>1g9>53>=0o1/ok4>239mg`<6l2wx=<:50;0xZ47334;=476;;%ae>4453gin6?5acd82b>{t9?>1<7492:p53g=838p1<87:8`894362?k0q~?99;297~;6>10<=63>6085e>;6>:0=56s|14294?4|V8?;70?:1;;f?xu6>90;6?u2143924=:9?;15h5rs041>5<5s4;>=78=;<357??b3twi=?l50;62>6<3;rF:{I56?xJ68:09w)j>:39m`7<6l2w/h94>2b9Y5<<5sl0m6pTld;0x54<6:3wbj54?:%c4>c1!g02o=0bl851:9jb6<72-k<6k94n`496>=nn;0;6)o8:g58jd0=;21bj<4?:%c4>c1!g02o=0bl855:9jac<72-k<6k94n`492>=nml0;6)o8:g58jd0=?21bii4?:%c4>c1!g02o=0bl859:9jag<72-k<6k94n`49e>=nmh0;6)o8:g58jd0=j21bi54?:%c4>c1!g02o=0bl85d:9ja3<72-k<6k94n`49a>=nm<0;6)o8:g58jd0=n21bi94?:%c4>c15$`59b2=ii?0:?65fe183>!g02o=0bl851598ma`=83.j;7h8;oc5>43<3`lm6=4+a68e3>hf>3;=76gie;29 d1=n>1em;4>7:9jba<72-k<6k94n`495===nn00;6)o8:g58jd0=9j10ek:50;&b3?`03gk=65<#i>0m;6`n6;3f?>ocm3:1(l95f69me3<6n21b=?=50;&b3?75:2dj:7>4;h315?6=,h=1=?<4n`495>=n98o1<7*n7;316>hf>3807d?>d;29 d1=9;80bl853:9j54e=83.j;7?=2:lb2?2<3`;:n7>5$`595746`n6;48?l7613:1(l951308jd0=?21b=<650;&b3?75:2dj:764;h323?6=,h=1=?<4n`49=>=n98<1<7*n7;316>hf>3k07d?>5;29 d1=9;80bl85b:9j545=83.j;7?=2:lb2?e<3`;:>7>5$`595746`n6;g8?l7683:1(l951308jd0=n21b==h50;&b3?75:2dj:7??;:k24`<72-k<6<<=;oc5>47<3`;;h7>5$`595745<#i>0:>?5aa7827>=n99h1<7*n7;316>hf>3;?76g>0`83>!g028897co9:078?l75i3:1(l951308jd0=9?10e<<6:18'e2<6:;1em;4>7:9j57>=83.j;7?=2:lb2?7?32c:>:4?:%c4>4453gk=6<74;h312?6=,h=1=?<4n`495d=6=4+a68267=ii?0:n65f13694?"f?3;9>6`n6;3`?>o69o0;6)o8:001?kg128n07d?>4;29 d1=9;80bl851d98m46>290/m:4>239me3<6n21d=8:50;9a5=<72:l1978>{M336?7|@>?0qA??3;0x a7=;2do>7<=;|&g0?3c3S;26?u8:98~^fb=;rk1n7m5}hd5>5<#i>0m96`n6;28?l`4290/m:4i5:lb2?7<3`l96=4+a68e1>hf>3807dh>:18'e25<#i>0m96`n6;68?lca290/m:4i5:lb2?3<3`on6=4+a68e1>hf>3<07dkk:18'e25<#i>0m96`n6;:8?lce290/m:4i5:lb2??<3`oj6=4+a68e1>hf>3k07dk7:18'e25<#i>0m96`n6;a8?lc1290/m:4i5:lb2?b<3`o>6=4+a68e1>hf>3o07dk;:18'e25<#i>0m96`n6;33?>ob:3:1(l95f49me3<6921bi<4?:%c4>c37co9:018?lba290/m:4i5:lb2?7332cmj7>5$`59b0=ii?0:965ffd83>!g02o?0bl851798mcb=83.j;7h:;oc5>41<3`lh6=4+a68e1>hf>3;376gib;29 d1=n<1em;4>9:9jbd<72-k<6k;4n`495d==nll0;6)o8:g78jd0=9l10e<<>:18'e2<6:91em;4?;:k25`<72-k<6<4=1b83>!g0288;7co9:298m47e290/m:4>219me3<332c:=l4?:%c4>4473gk=6854i03:>5<#i>0:>=5aa785?>o6910;6)o8:003?kg12>10e<=6=4+a68265=ii?0j76g>1283>!g0288;7co9:c98m475290/m:4>219me34473gk=6i54i033>5<#i>0:>=5aa78f?>o68o0;6)o8:003?kg12o10e<>j:18'e2<6:91em;4>0:9j55b=83.j;7?=0:lb2?7632c:4473gk=6<<4;h33f?6=,h=1=?>4n`4956=o6:00;6)o8:003?kg128<07d?=8;29 d1=9;:0bl851698m440290/m:4>219me3<6021b=?850;&b3?7582dj:7?6;:k260<72-k<6<4g<3`;987>5$`595765<#i>0:>=5aa782g>=n98>1<7*n7;314>hf>3;o76g>0883>!g0288;7co9:0g8?j73l3:17o98:186`?6=8rF:<>48{%ca>4003-k367h4}%f7>21v?<:88~m4b=83.j;7;8;oc5>6b<3`826=4+a6863>hf>39h76g<4;29 d1==>1em;4=n=h0;6)o8:458jd0=;?10e8l50;&b3?303gk=6>;4;h7`>5<#i>0>;6`n6;17?>o6m3:1(l95569me3<4;21b=k4?:%c4>017>5$`5912=ii?09j65f2283>!g02<=0bl852d98m72=83.j;7;8;oc5>7b<3`8>6=4+a6863>hf>38h76g=6;29 d1==>1em;4=b:9j62<72-k<6894n`496d==n:m0;6)o8:458jd0=:?10e?k50;&b3?303gk=6?;4;h0e>5<#i>0>;6`n6;07?>o483:1(l95569me3<5;21b?<4?:%c4>01?54i2094?"f?3?<7co9:338?l54290/m:4:7:lb2?4732c897>5$`5912=ii?0:j65f3783>!g02<=0bl851d98m61=83.j;7;8;oc5>4b<3`936=4+a6863>hf>3;h76g<9;29 d1==>1em;4>b:9j7d<72-k<6894n`495d==n;l0;6)o8:458jd0=9?10e9>50;&b3?303gk=6<;4;h62>5<#i>0>;6`n6;37?>o3:3:1(l95569me3<6;21b8>4?:%c4>015$`5912=ii?0m76g;7;29 d1==>1em;4j;:k7o313:1(l95569me35$`5912=ii?0i76g;c;29 d1==>1em;4n;:k7`?6=,h=19:5aa78:?>o3m3:1(l95569me35$`5912=ii?0<76g:0;29 d1==>1em;49;:k65?6=,h=19:5aa786?>o2:3:1(l95569me3<332c>?7>5$`5912=ii?0876g:4;29 d1==>1em;4=;:k62?6=,h=19:5aa782?>o203:1(l95569me3<732ejh7>5$`59g1=ii?0:i65`b983>!g02j>0bl851e98kf5=83.j;7m;;oc5>4e<3fi=6=4+a68`0>hf>3;i76al7;29 d1=k=1em;4>a:9lg=<72-k<6n:4n`495<==hkj0;6)o8:b68jd0=9<10clk50;&b3?e33gk=6<:4;nce>5<#i>0h86`n6;30?>ie83:1(l95c59me3<6:21dn<4?:%c4>f2hf>3o07bl::18'e25<#i>0h86`n6;a8?jd0290/m:4l4:lb2?d<3fh26=4+a68`0>hf>3k07bln:18'e25<#i>0h86`n6;:8?jdd290/m:4l4:lb2?1<3fho6=4+a68`0>hf>3<07blj:18'e25<#i>0h86`n6;68?je7290/m:4l4:lb2?5<3fi:6=4+a68`0>hf>3807bm=:18'e25<#i>0h86`n6;28?xd6>i>m3:17pl>5983><<729q/h94n3:J244=n>80;66g92;29?l0>2900e;o50;9j2g<722c=o7>5;h4g>5<>{e9<31<7650;2x a2=i;1C==?4i7394?=n>;0;66g99;29?l0f2900e;l50;9j2f<722c=h7>5;n;f>5<h7>51280>43|,m>1=8j4i00g>5<5<5<5<5<5<5<5<5<5<1;294~"c<33m7E??1:k55?6=3`<96=44i7;94?=n>h0;66g9b;29?l0d2900e;j50;9j2`<722c=j7>5;h53>5<>o1=3:17d89:188m31=831b:54?::m:a?6=3th:9o4?:283>5}#l=0j<6F>009j24<722c=>7>5;n;f>5<o7>53;294~"c<3k;7E??1:k55?6=3`<96=44o8g94?=z{88o6=4={_31`>;6=h0==6s|13g94?4|V88n70?:a;41?xu6:o0;6?uQ13d8943f2?30q~?<0;296~X6;916=8o56`9~w4562909wS?<1:?21d<1j2wx=><50;0xZ45534;>m78l;|q276<72;qU=>=4=07b>3b52z\271=:95<5sW;8963>5`85b>{t9:<1<73683>7}Y9:=01<;n:718yv7403:1>vP>399>50g=>=1v<=6:181[74127:9l495:p56g=838pR<=n;<36e?013ty:?o4?:3y]56d<58?j6;94}r30g?6=:rT:?n5214c92==z{8?26=4={<36g?0634;>m77j;|q212<72;qU=894=07a>3747>52z\21==:95<5s4;>o78=;<36f??b3ty:9;4?:3y]500<58?h64k4}|qe2?6=:rTm:6387;7;?!ea2o?0bnk50:pb6<72;qUj>5276862>"dn3l>7cmj:09~wc4=838pRk<4=65911=#ko0m96`le;08yv`62909wSh>;<54>05<,jl1j85acd80?xua83:1>vPi0:?43?353-im6k;4nbg90>{tmo0;6?uQeg9>32<292.hj7h:;oaf>0=z{lo1<752z\fg>;0?3>n7)mi:g78jfc=02wxio4?:3y]ag=:?>0?h6*lf;d6?keb201vho50;0xZ`g<5>=18n5+cg8e1>hdm3k0q~k7:181[c?34=<69l4$bd9b0=ikl0i7p}j7;296~Xb?27<;7:6;%ae>c37}Ym?16;:4;8:&`b?`23gin6i5rsd794?4|Vl?01:95469'gc5<5sWo?7098:548 f`=n<1eoh4i;|qf7?6=:rTn?6387;66?!ea2o?0bnk5119~w`4=838pRh<4=65901=#ko0m96`le;32?xub93:1>vPj1:?43?243-im6k;4nbg957=z{l:1<752z\gb>;0?3>:7)mi:g78jfc=9=1vkh50;0xZc`<5>=18=5+cg8e1>hdm3;>7p}ie;296~Xam27<;7=j;%ae>c3vPia:?43?5f3-im6k;4nbg95d=z{o31<752z\e0>;0?3937)mi:g78jfc=9j1vh750;0xZ`?<5>=1?:5+cg8e1>hdm3;o7p}ke;296~Xcm27<;7=9;%ae>c35<5sW;9=6387;16?!ea288;7cmj:19~w47b2909wS?>e:?43?543-im6<4=z{8;o6=4={_32`>;0?3997)mi:003?keb2;1v;%ae>4473gin6>5rs03a>5<5sW;:n6387;13?!ea288;7cmj:59~w47f2909wS?>a:?43?4a3-im6<0=z{8;26=4={_32=>;0?38n7)mi:003?keb2?1v4473gin6:5rs034>5<5sW;:;6387;0`?!ea288;7cmj:99~w4712909wS?>6:?43?4e3-im6<<=z{8;>6=4={_321>;0?38j7)mi:003?keb2h1v4473gin6o5rs031>5<5sW;:>6387;05?!ea288;7cmj:b9~w4762909wS?>1:?43?423-im6<a=z{8;;6=4={_324>;0?38?7)mi:003?keb2l1v<>i:181[77n27<;7<<;%ae>4473gin6k5rs02f>5<5sW;;i6387;01?!ea288;7cmj:028yv77l3:1>vP>0e9>32<592.hj7?=0:l`a?763ty:=1>=5+cg8265=ikl0:>6s|11`94?4|V8:i7098:0d8 f`=9;:0bnk5129~w46f2909wS??a:?43?7b3-im6<4252z\26d=:?>0>o6*lf;314>hdm3;>7p}>2883>7}Y9;301:955c9'gc<6:91eoh4>6:p57>=838pR<<7;<54>0g<,jl1=?>4nbg952=z{88<6=4={_313>;0?3?27)mi:003?keb2820q~?=6;296~X6:?16;:4:5:&`b?7582dhi7?6;|q260<72;qU=?;4=6590d=#ko0:>=5acd82e>{t9;>1<74473gin6"dn3;9<6`le;3g?xu6800;6?uQ11;8921=9m1/ok4>219mg`<6m2wx=9;50;0x921=k<16=8656d9'gc<6<=1eoh4?;|q207<72;q6;:4l2:?21=<1k2.hj7?;4:l`a?752z?43?e634;>478m;%ae>4233gin6?5rs063>5<5s4=<6n>4=07;>3g<,jl1=9:4nbg97>{t9:l1<73d83>7}:?>0ii63>59856>"dn3;?86`le;78yv74l3:1>v387;`g?87203<:7)mi:067?keb2?1v<=l:1818102ki01<;k:01`?!ea28>?7cmj:69~w45e2909w098:c`8943c289i7)mi:067?keb211v<=n:1818102kk01<;k:01b?!ea28>?7cmj:89~w45>2909w098:c;8943c28927)mi:067?keb2h1v<=8:1818102k=01<;k:014?!ea28>?7cmj:c9~w4512909w098:c48943c289=7)mi:067?keb2j1v<=::1818102k?01<;k:016?!ea28>?7cmj:e9~w4532909w098:c68943c289?7)mi:067?keb2l1v<=<:1818102k901<;k:010?!ea28>?7cmj:g9~w4552909w098:c08943c28997)mi:067?keb28:0q~?<1;296~;0?3h:70?:d;305>"dn3;?86`le;32?xu6;90;6?u2768a4>;6=m0:?=5+cg8201=ikl0:>6s|13d94?4|5>=1mk5214f957`<,jl1=9:4nbg956=z{88n6=4={<54>dc<58?o6<4233gin6<:4}r37g?6=:r7<;7ml;<36=?0c3-im6<:;;oaf>4352z?43?ee34;>578l;%ae>4233gin6<84}r37e?6=:r7<;7mn;<36=?0e3-im6<:;;oaf>4152z?43?e>34;>578n;%ae>4233gin6<64}r373-im6<:;;oaf>4?52z?43?e034;>578=;%ae>4233gin64d52z?43?e434;>478k;%ae>4233gin6i4?:3y>322e9'gc<6<=1eoh4>e:p500=838p1<:j:728943c28?=7p}>4e83>7}Y9=n01<:j:8g8yv72?3:1>v3>598:a>;6=m0:9:5rs07;>5<5s4;>577j;<36`?7202wvn:650;194?6|D8:86:u+ac8222=#i10:o6*n9;c`?kb72;1ehi4>;%f2>6=il;09=6s+d584<>\613;p:7sf1e83>!g02;20bl851:9j6<<72-k<6?64n`494>=hij0;66sm14794?5=83:p(i:5159K557>i>m3:17p}i8;296~Xa027<47<6;%ae>c17}Yn?16=54i6:&`b?`03gin6<5rsg194?4|Vo901<65f29'gc5<5sWl970?7:g08 f`=n>1eoh4<;|qe5?6=:rTm=63>8;d2?!ea2o=0bnk54:pb5<72;qUj=52198e4>"dn3l<7cmj:49~w``=838pRhh4=0:9ac=#ko0m;6`le;48yvcb2909wSkj;<3;>`c<,jl1j:5acd84?xubl3:1>vPjd:?2{tmj0;6?uQeb9>5=<=z{lh1<7=mk1/ok4i7:l`a?g52z\f<>;603o37)mi:g58jfc=k2wxi:4?:3y]a2=:910n;6*lf;d4?keb2m1vh850;0xZ`0<5821i;5+cg8e3>hdm3o0q~k::181[c234;36h;4$bd9b2=ikl0m7p}j4;296~Xb<27:47k;;%ae>c1;|qf6?6=:rTn>63>8;g1?!ea2o=0bnk5139~w`7=838pRh?4=0:9a4=#ko0m;6`le;30?xub83:1>vPj0:?2=lo1/ok4i7:l`a?723tymj7>52z\eb>;603lm7)mi:g58jfc=9?1vkk50;0xZcc<5821jh5+cg8e3>hdm3;<7p}id;296~Xal27:47hk;%ae>c18;da?!ea2o=0bnk51`9~wcg=838pRko4=0:9bd=#ko0m;6`le;3a?xua13:1>vPi9:?23-im6k94nbg95f=z{o>1<7=n=1/ok4i7:l`a?7c3tyn57>52z\f=>;603o27)mi:g58jfc=9l1vik50;0xZac<5821hh5+cg8e3>hdm3;m7p}>2283>7}Y9;901:651e9'gc<6:;1eoh4?;|q264<72;qU=??4=0:9577<,jl1=?<4nbg95>{t98o1<7d:&`b?75:2dhi7=4}r32g?6=:rT:=n5219825f=#ko0:>?5acd87?xu69k0;6?uQ10`894>=98h0(nh51308jfc==2wx=4453gin6;5rs03:>5<5sW;:563>8;32=>"dn3;9>6`le;58yv7603:1>vP>199>5=<6911/ok4>239mg`5:?252z\256=:910:=>5+cg8267=ikl0h7p}>1383>7}Y98801<651008 f`=9;80bnk5d:p547=838pR;<3;>4763-im6<<=;oaf>`=z{8;;6=4={_324>;603;:<6*lf;316>hdm3l0q~??f;296~X68o16=54>0g9'gc<6:;1eoh4>0:p55c=838pR<>j;<3;>46b3-im6<<=;oaf>4752z\24a=:910:6s|11a94?4|V8:h70?7:02`?!ea28897cmj:018yv77j3:1>vP>0c9>5=<68k1/ok4>239mg`<6<2wx==o50;0xZ46f34;36<>n;%ae>4453gin6<;4}r31e?6=:rT:>l5219826d=#ko0:>?5acd822>{t9;31<7299'gc<6:;1eoh4>8:p571=838pR<<8;<3;>4403-im6<<=;oaf>4?52z\263=:910:>;5+cg8267=ikl0:m6s|13794?4|V88>70?7:006?!ea28897cmj:0`8yv75<3:1>vP>259>5=<6:=1/ok4>239mg`<6k2wx=4453gin6?5acd82a>{t9931<754856>{t9<91<75<5sW;>863>548:a>{z{o21<7=t^g:894}rd5>5<4sWl=707n:g48944e2o<0(nh5f69mg`<63tym?7>53z\e7>;>i3l870?=b;d0?!ea2o=0bnk52:pb7<72:qUj?529`8e6>;6:k0m>6*lf;d4?keb2:1vk?50;1xZc7<50k1j<5213`9b4=#ko0m;6`le;68yv`72908wSh?;<;b>c6<588i6k>4$bd9b2=ikl0>7p}jf;297~Xbn272m7ki;<31f?ca3-im6k94nbg92>{tml0;6>uQed9>=do4je:&`b?`03gin6:5rsdf94?5|Vln014o5ee9>57d=mm1/ok4i7:l`a?>1eoh46;|qff?6=;rTnn636a;ga?875j3oi7)mi:g58jfc=i2wxil4?:2y]ad=:1h0nm63>2c8fe>"dn3l<7cmj:c9~w`>=839pRh64=8c9a==:9;h1i55+cg8e3>hdm3i0q~k8:180[c0343j6h94=00a>`1<,jl1j:5acd8g?xub>3:1?vPj6:?:e?c134;9n7k9;%ae>c16}Ym<165l4j5:?26gc=z{l>1<7=t^d689;%ae>c15rsd294?5|Vl:014o5e19>57d=m91/ok4i7:l`a?733tyoj7>53z\gb>;>i3nm70?=b;fe?!ea2o=0bnk5149~wc`=839pRkh4=8c9bc=:9;h1jk5+cg8e3>hdm3;=7p}ie;297~Xam272m7hj;<31f?`b3-im6k94nbg952=z{on1<7=t^gf89c157d=n01/ok4i7:l`a?7d3tym87>53z\e0>;>i3l?70?=b;d7?!ea2o=0bnk51e9~w`?=839pRh74=8c9a<=:9;h1i45+cg8e3>hdm3;n7p}ke;297~Xcm272m7jj;<31f?bb3-im6k94nbg95c=z{8886=4<{_317>;>i3;9?63>2c8266=#ko0:>?5acd83?xu6:80;6>uQ13389e:?:e?76m27:>o4>1d9'gc<6:;1eoh4=;|q25a<72:qU=4453gin6>5rs03`>5<4sW;:o636a;32g>;6:k0:=n5+cg8267=ikl0?7p}>1c83>6}Y98h014o510`8944e28;i7)mi:001?keb2<1va:?26g<69h1/ok4>239mg`<13ty:=44?:2y]54?<50k1=<74=00a>47>3-im6<<=;oaf>2=z{8;36=4<{_32<>;>i3;:463>2c825==#ko0:>?5acd8;?xu69>0;6>uQ105896:?:e?76>27:>o4>179'gc<6:;1eoh4n;|q250<72:qU=<;4=8c9543<588i64453gin6o5rs030>5<4sW;:?636a;327>;6:k0:=>5+cg8267=ikl0h7p}>1383>6}Y988014o51008944e28;97)mi:001?keb2m1v:180[769272m7?>1:?26g<6981/ok4>239mg`4=00a>4773-im6<<=;oaf>c=z{8:m6=4<{_33b>;>i3;;j63>2c824c=#ko0:>?5acd824>{t99o1<7=t^02f?8?f28:n70?=b;33a>"dn3;9>6`le;32?xu68m0;6>uQ11f890b9>=d<68j16=?l511a8 f`=9;80bnk5129~w46e2908wS??b:?:e?77j27:>o4>0c9'gc<6:;1eoh4>4:p55g=839pR<>n;<;b>46f34;9n7??a:&`b?75:2dhi7?:;|q26d<72:qU=?o4=8c957g<588i6<4453gin6<84}r31=?6=;rT:>4529`826<=:9;h1=?74$bd95745<4sW;94636a;31<>;6:k0:>55+cg8267=ikl0:46s|13594?5|V88<707n:004?875j3;9;6*lf;316>hdm3;27p}>2783>6}Y9;<014o51348944e288=7)mi:001?keb28k0q~?=5;297~X6:<165l4>249>57d=9;?0(nh51308jfc=9k1v<<;:180[75<272m7?=4:?26g<6:=1/ok4>239mg`<6k2wx=4733-im6<<=;oaf>4c53z\24<=:1h0:<45213`955?<,jl1=?<4nbg95c=z{8>m6=4={_37b>;>i3;><6s|14694?4|V8??70?=b;360>{zutwKLNu;738655c5?88vLMLt0|BCT~{GH \ No newline at end of file diff --git a/SpecialCasesCheck.pad b/SpecialCasesCheck.pad new file mode 100644 index 0000000..b112fcf --- /dev/null +++ b/SpecialCasesCheck.pad @@ -0,0 +1,255 @@ +Release 14.7 - par P.20131013 (lin64) +Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. + +Sat Aug 24 12:14:30 2019 + + +# NOTE: This file is designed to be imported into a spreadsheet program +# such as Microsoft Excel for viewing, printing and sorting. The | +# character is used as the data field separator. This file is also designed +# to support parsing. +# +INPUT FILE: SpecialCasesCheck_map.ncd +OUTPUT FILE: SpecialCasesCheck.pad +PART TYPE: xa6slx4 +SPEED GRADE: -3 +PACKAGE: csg225 + +Pinout by Pin Number: + +-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----| +Pin Number|Signal Name|Pin Usage|Pin Name|Direction|IO Standard|IO Bank Number|Drive (mA)|Slew Rate|Termination|IOB Delay|Voltage|Constraint|IO Register|Signal Integrity| +A1|||GND|||||||||||| +A2|Y<0>|IOB|IO_L1N_VREF_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +A3|Y<2>|IOB|IO_L2N_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +A4|Y<6>|IOB|IO_L4N_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +A5|Y<8>|IOB|IO_L6N_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +A6|Y<10>|IOB|IO_L33N_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +A7|Y<14>|IOB|IO_L35N_GCLK16_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +A8|Y<16>|IOB|IO_L36N_GCLK14_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +A9|Y<18>|IOB|IO_L37N_GCLK12_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +A10|Y<24>|IOB|IO_L62N_VREF_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +A11|Y<26>|IOB|IO_L63N_SCP6_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +A12|isZero|IOB|IO_L66N_SCP0_0|OUTPUT|LVCMOS25*|0|12|SLOW||||UNLOCATED|NO|NONE| +A13|Y<30>|IOB|IO_L65N_SCP2_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +A14|||TCK|||||||||||| +A15|||GND|||||||||||| +B1|||VCCAUX||||||||2.5|||| +B2|isNaN|IOB|IO_L1P_HSWAPEN_0|OUTPUT|LVCMOS25*|0|12|SLOW||||UNLOCATED|NO|NONE| +B3|Y<1>|IOB|IO_L2P_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +B4|||VCCO_0|||0|||||2.50|||| +B5|Y<9>|IOB|IO_L6P_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +B6|||GND|||||||||||| +B7|Y<13>|IOB|IO_L35P_GCLK17_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +B8|||VCCO_0|||0|||||2.50|||| +B9|Y<17>|IOB|IO_L37P_GCLK13_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +B10|||GND|||||||||||| +B11|Y<25>|IOB|IO_L63P_SCP7_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +B12|||VCCO_0|||0|||||2.50|||| +B13|Y<29>|IOB|IO_L65P_SCP3_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +B14||IOBM|IO_L1P_1|UNUSED||1||||||||| +B15||IOBS|IO_L1N_VREF_1|UNUSED||1||||||||| +C1|X<31>|IOB|IO_L83N_VREF_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +C2|X<30>|IOB|IO_L83P_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +C3|||GND|||||||||||| +C4|Y<5>|IOB|IO_L4P_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +C5|Y<4>|IOB|IO_L3N_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +C6|Y<7>|IOB|IO_L33P_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +C7|||NC|||||||||||| +C8|Y<15>|IOB|IO_L36P_GCLK15_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +C9|Y<20>|IOB|IO_L39N_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +C10|Y<23>|IOB|IO_L62P_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +C11|Y<28>|IOB|IO_L64N_SCP4_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +C12|Y<31>|IOB|IO_L66P_SCP1_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +C13|||GND|||||||||||| +C14||IOBM|IO_L33P_1|UNUSED||1||||||||| +C15||IOBS|IO_L33N_1|UNUSED||1||||||||| +D1|X<29>|IOB|IO_L54N_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +D2|||VCCO_3|||3|||||any******|||| +D3|X<28>|IOB|IO_L54P_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +D4|X<26>|IOB|IO_L53P_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +D5|Y<3>|IOB|IO_L3P_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +D6|||NC|||||||||||| +D7|||NC|||||||||||| +D8|Y<12>|IOB|IO_L34N_GCLK18_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +D9|||VCCO_0|||0|||||2.50|||| +D10|Y<19>|IOB|IO_L39P_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +D11|Y<27>|IOB|IO_L64P_SCP5_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +D12|||TDO|||||||||||| +D13||IOBM|IO_L35P_1|UNUSED||1||||||||| +D14|||VCCO_1|||1|||||any******|||| +D15||IOBS|IO_L35N_1|UNUSED||1||||||||| +E1|X<25>|IOB|IO_L52N_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +E2|X<24>|IOB|IO_L52P_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +E3|X<27>|IOB|IO_L53N_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +E4|||NC|||||||||||| +E5|||NC|||||||||||| +E6|||NC|||||||||||| +E7|Y<11>|IOB|IO_L34P_GCLK19_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +E8|||NC|||||||||||| +E9|Y<22>|IOB|IO_L40N_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +E10|||TDI|||||||||||| +E11|||GND|||||||||||| +E12|||VCCAUX||||||||2.5|||| +E13|||TMS|||||||||||| +E14||IOBM|IO_L37P_1|UNUSED||1||||||||| +E15||IOBS|IO_L37N_1|UNUSED||1||||||||| +F1|X<23>|IOB|IO_L46N_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +F2|||GND|||||||||||| +F3|X<22>|IOB|IO_L46P_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +F4|||NC|||||||||||| +F5|||NC|||||||||||| +F6|||GND|||||||||||| +F7|||VCCAUX||||||||2.5|||| +F8|||NC|||||||||||| +F9|||VCCINT||||||||1.2|||| +F10|Y<21>|IOB|IO_L40P_0|INPUT|LVCMOS25*|0||||NONE||UNLOCATED|NO|NONE| +F11|||NC|||||||||||| +F12|||NC|||||||||||| +F13||IOBM|IO_L39P_1|UNUSED||1||||||||| +F14|||GND|||||||||||| +F15||IOBS|IO_L39N_1|UNUSED||1||||||||| +G1|X<12>|IOB|IO_L44N_GCLK20_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +G2|X<15>|IOB|IO_L44P_GCLK21_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +G3|||NC|||||||||||| +G4|||VCCO_3|||3|||||any******|||| +G5|||NC|||||||||||| +G6|||VCCINT||||||||1.2|||| +G7|||GND|||||||||||| +G8|||VCCINT||||||||1.2|||| +G9|||GND|||||||||||| +G10|||VCCAUX||||||||2.5|||| +G11|||NC|||||||||||| +G12|||NC|||||||||||| +G13|||NC|||||||||||| +G14||IOBM|IO_L41P_GCLK9_IRDY1_1|UNUSED||1||||||||| +G15||IOBS|IO_L41N_GCLK8_1|UNUSED||1||||||||| +H1|X<18>|IOB|IO_L42N_GCLK24_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +H2|||VCCO_3|||3|||||any******|||| +H3|X<14>|IOB|IO_L42P_GCLK25_TRDY2_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +H4|||NC|||||||||||| +H5|||NC|||||||||||| +H6|||NC|||||||||||| +H7|||VCCINT||||||||1.2|||| +H8|||GND|||||||||||| +H9|||VCCINT||||||||1.2|||| +H10|||NC|||||||||||| +H11|||NC|||||||||||| +H12|||NC|||||||||||| +H13||IOBM|IO_L42P_GCLK7_1|UNUSED||1||||||||| +H14|||VCCO_1|||1|||||any******|||| +H15||IOBS|IO_L42N_GCLK6_TRDY1_1|UNUSED||1||||||||| +J1|X<16>|IOB|IO_L41N_GCLK26_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +J2|X<19>|IOB|IO_L41P_GCLK27_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +J3|X<17>|IOB|IO_L43N_GCLK22_IRDY2_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +J4|X<21>|IOB|IO_L45N_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +J5|||NC|||||||||||| +J6|||VCCAUX||||||||2.5|||| +J7|||GND|||||||||||| +J8|||VCCINT||||||||1.2|||| +J9|||GND|||||||||||| +J10|||VCCINT||||||||1.2|||| +J11||IOBM|IO_L36P_1|UNUSED||1||||||||| +J12|||VCCO_1|||1|||||any******|||| +J13||IOBS|IO_L36N_1|UNUSED||1||||||||| +J14||IOBM|IO_L43P_GCLK5_1|UNUSED||1||||||||| +J15||IOBS|IO_L43N_GCLK4_1|UNUSED||1||||||||| +K1|X<11>|IOB|IO_L40N_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +K2|||GND|||||||||||| +K3|X<10>|IOB|IO_L40P_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +K4|X<20>|IOB|IO_L43P_GCLK23_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +K5|X<13>|IOB|IO_L45P_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +K6|||GND|||||||||||| +K7|||VCCINT||||||||1.2|||| +K8||IOBM|IO_L31P_GCLK31_D14_2|UNUSED||2||||||||| +K9|||VCCAUX||||||||2.5|||| +K10||IOBM|IO_L38P_1|UNUSED||1||||||||| +K11||IOBS|IO_L38N_1|UNUSED||1||||||||| +K12||IOBM|IO_L40P_GCLK11_1|UNUSED||1||||||||| +K13||IOBM|IO_L44P_1|UNUSED||1||||||||| +K14|||GND|||||||||||| +K15||IOBS|IO_L44N_1|UNUSED||1||||||||| +L1|X<9>|IOB|IO_L39N_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +L2|X<8>|IOB|IO_L39P_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +L3|X<5>|IOB|IO_L1N_VREF_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +L4|||VCCAUX||||||||2.5|||| +L5||IOBS|IO_L62N_D6_2|UNUSED||2||||||||| +L6||IOBM|IO_L62P_D5_2|UNUSED||2||||||||| +L7|||NC|||||||||||| +L8||IOBS|IO_L31N_GCLK30_D15_2|UNUSED||2||||||||| +L9||IOBM|IO_L14P_D11_2|UNUSED||2||||||||| +L10|||CMPCS_B_2|||||||||||| +L11|||GND|||||||||||| +L12||IOBS|IO_L40N_GCLK10_1|UNUSED||1||||||||| +L13|||SUSPEND|||||||||||| +L14||IOBM|IO_L45P_1|UNUSED||1||||||||| +L15||IOBS|IO_L45N_1|UNUSED||1||||||||| +M1|X<1>|IOB|IO_L38N_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +M2|||VCCO_3|||3|||||any******|||| +M3|X<0>|IOB|IO_L38P_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +M4|X<4>|IOB|IO_L1P_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +M5||IOBM|IO_L64P_D8_2|UNUSED||2||||||||| +M6|||NC|||||||||||| +M7|||VCCO_2|||2|||||any******|||| +M8||IOBM|IO_L30P_GCLK1_D13_2|UNUSED||2||||||||| +M9|||NC|||||||||||| +M10||IOBS|IO_L14N_D12_2|UNUSED||2||||||||| +M11||IOBM|IO_L12P_D1_MISO2_2|UNUSED||2||||||||| +M12|||VCCAUX||||||||2.5|||| +M13||IOBM|IO_L46P_1|UNUSED||1||||||||| +M14|||VCCO_1|||1|||||any******|||| +M15||IOBS|IO_L46N_1|UNUSED||1||||||||| +N1|X<7>|IOB|IO_L37N_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +N2|X<6>|IOB|IO_L37P_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +N3|||GND|||||||||||| +N4||IOBM|IO_L63P_2|UNUSED||2||||||||| +N5||IOBS|IO_L64N_D9_2|UNUSED||2||||||||| +N6||IOBM|IO_L48P_D7_2|UNUSED||2||||||||| +N7||IOBS|IO_L30N_GCLK0_USERCCLK_2|UNUSED||2||||||||| +N8||IOBM|IO_L29P_GCLK3_2|UNUSED||2||||||||| +N9|||NC|||||||||||| +N10||IOBM|IO_L13P_M1_2|UNUSED||2||||||||| +N11||IOBS|IO_L12N_D2_MISO3_2|UNUSED||2||||||||| +N12||IOBM|IO_L1P_CCLK_2|UNUSED||2||||||||| +N13|||GND|||||||||||| +N14||IOBM|IO_L47P_1|UNUSED||1||||||||| +N15||IOBS|IO_L47N_1|UNUSED||1||||||||| +P1|X<3>|IOB|IO_L2N_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +P2|X<2>|IOB|IO_L2P_3|INPUT|LVCMOS25*|3||||NONE||UNLOCATED|NO|NONE| +P3||IOBM|IO_L65P_INIT_B_2|UNUSED||2||||||||| +P4|||VCCO_2|||2|||||any******|||| +P5||IOBM|IO_L49P_D3_2|UNUSED||2||||||||| +P6|||GND|||||||||||| +P7||IOBM|IO_L32P_GCLK29_2|UNUSED||2||||||||| +P8|||VCCO_2|||2|||||any******|||| +P9||IOBM|IO_L16P_2|UNUSED||2||||||||| +P10|||GND|||||||||||| +P11||IOBM|IO_L3P_D0_DIN_MISO_MISO1_2|UNUSED||2||||||||| +P12|||VCCO_2|||2|||||any******|||| +P13||IOBM|IO_L2P_CMPCLK_2|UNUSED||2||||||||| +P14||IOBM|IO_L74P_AWAKE_1|UNUSED||1||||||||| +P15||IOBS|IO_L74N_DOUT_BUSY_1|UNUSED||1||||||||| +R1|||GND|||||||||||| +R2|||PROGRAM_B_2|||||||||||| +R3||IOBS|IO_L65N_CSO_B_2|UNUSED||2||||||||| +R4||IOBS|IO_L63N_2|UNUSED||2||||||||| +R5||IOBS|IO_L49N_D4_2|UNUSED||2||||||||| +R6||IOBS|IO_L48N_RDWR_B_VREF_2|UNUSED||2||||||||| +R7||IOBS|IO_L32N_GCLK28_2|UNUSED||2||||||||| +R8||IOBS|IO_L29N_GCLK2_2|UNUSED||2||||||||| +R9||IOBS|IO_L16N_VREF_2|UNUSED||2||||||||| +R10||IOBS|IO_L13N_D10_2|UNUSED||2||||||||| +R11||IOBS|IO_L3N_MOSI_CSI_B_MISO0_2|UNUSED||2||||||||| +R12||IOBS|IO_L1N_M0_CMPMISO_2|UNUSED||2||||||||| +R13||IOBS|IO_L2N_CMPMOSI_2|UNUSED||2||||||||| +R14|||DONE_2|||||||||||| +R15|||GND|||||||||||| + +-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----| + +* Default value. +** This default Pullup/Pulldown value can be overridden in Bitgen. +****** Special VCCO requirements may apply. Please consult the device + family datasheet for specific guideline on VCCO requirements. + + diff --git a/SpecialCasesCheck.par b/SpecialCasesCheck.par new file mode 100644 index 0000000..6f641f3 --- /dev/null +++ b/SpecialCasesCheck.par @@ -0,0 +1,147 @@ +Release 14.7 par P.20131013 (lin64) +Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. + +Xilinx:: Sat Aug 24 12:14:27 2019 + +par -w -intstyle ise -ol high -mt off SpecialCasesCheck_map.ncd +SpecialCasesCheck.ncd SpecialCasesCheck.pcf + + +Constraints file: SpecialCasesCheck.pcf. +Loading device for application Rf_Device from file '6slx4.nph' in environment /opt/Xilinx/14.7/ISE_DS/ISE/. + "SpecialCasesCheck" is an NCD, version 3.2, device xa6slx4, package csg225, speed -3 + +Initializing temperature to 100.000 Celsius. (default - Range: -40.000 to 100.000 Celsius) +Initializing voltage to 1.140 Volts. (default - Range: 1.140 to 1.260 Volts) + +INFO:Par:282 - No user timing constraints were detected or you have set the option to ignore timing constraints ("par + -x"). Place and Route will run in "Performance Evaluation Mode" to automatically improve the performance of all + internal clocks in this design. Because there are not defined timing requirements, a timing score will not be + reported in the PAR report in this mode. The PAR timing summary will list the performance achieved for each clock. + Note: For the fastest runtime, set the effort level to "std". For best performance, set the effort level to "high". + +Device speed data version: "PRODUCTION 1.23 2013-10-13". + + + +Device Utilization Summary: + +Slice Logic Utilization: + Number of Slice Registers: 0 out of 4,800 0% + Number of Slice LUTs: 26 out of 2,400 1% + Number used as logic: 26 out of 2,400 1% + Number using O6 output only: 25 + Number using O5 output only: 0 + Number using O5 and O6: 1 + Number used as ROM: 0 + Number used as Memory: 0 out of 1,200 0% + +Slice Logic Distribution: + Number of occupied Slices: 10 out of 600 1% + Number of MUXCYs used: 12 out of 1,200 1% + Number of LUT Flip Flop pairs used: 26 + Number with an unused Flip Flop: 26 out of 26 100% + Number with an unused LUT: 0 out of 26 0% + Number of fully used LUT-FF pairs: 0 out of 26 0% + Number of slice register sites lost + to control set restrictions: 0 out of 4,800 0% + + A LUT Flip Flop pair for this architecture represents one LUT paired with + one Flip Flop within a slice. A control set is a unique combination of + clock, reset, set, and enable signals for a registered element. + The Slice Logic Distribution report is not meaningful if the design is + over-mapped for a non-slice resource or if Placement fails. + +IO Utilization: + Number of bonded IOBs: 66 out of 132 50% + +Specific Feature Utilization: + Number of RAMB16BWERs: 0 out of 12 0% + Number of RAMB8BWERs: 0 out of 24 0% + Number of BUFIO2/BUFIO2_2CLKs: 0 out of 32 0% + Number of BUFIO2FB/BUFIO2FB_2CLKs: 0 out of 32 0% + Number of BUFG/BUFGMUXs: 0 out of 16 0% + Number of DCM/DCM_CLKGENs: 0 out of 4 0% + Number of ILOGIC2/ISERDES2s: 0 out of 200 0% + Number of IODELAY2/IODRP2/IODRP2_MCBs: 0 out of 200 0% + Number of OLOGIC2/OSERDES2s: 0 out of 200 0% + Number of BSCANs: 0 out of 4 0% + Number of BUFHs: 0 out of 128 0% + Number of BUFPLLs: 0 out of 8 0% + Number of BUFPLL_MCBs: 0 out of 4 0% + Number of DSP48A1s: 0 out of 8 0% + Number of ICAPs: 0 out of 1 0% + Number of PCILOGICSEs: 0 out of 2 0% + Number of PLL_ADVs: 0 out of 2 0% + Number of PMVs: 0 out of 1 0% + Number of STARTUPs: 0 out of 1 0% + Number of SUSPEND_SYNCs: 0 out of 1 0% + + +Overall effort level (-ol): High +Router effort level (-rl): High + +Starting initial Timing Analysis. REAL time: 2 secs +Finished initial Timing Analysis. REAL time: 2 secs + +Starting Router + + +Phase 1 : 155 unrouted; REAL time: 2 secs + +Phase 2 : 145 unrouted; REAL time: 2 secs + +Phase 3 : 214 unrouted; REAL time: 2 secs + +Phase 4 : 214 unrouted; (Par is working to improve performance) REAL time: 2 secs + +Updating file: SpecialCasesCheck.ncd with current fully routed design. + +Phase 5 : 0 unrouted; (Par is working to improve performance) REAL time: 3 secs + +Phase 6 : 0 unrouted; (Par is working to improve performance) REAL time: 3 secs + +Phase 7 : 0 unrouted; (Par is working to improve performance) REAL time: 3 secs + +Phase 8 : 0 unrouted; (Par is working to improve performance) REAL time: 3 secs + +Phase 9 : 0 unrouted; (Par is working to improve performance) REAL time: 3 secs + +Phase 10 : 0 unrouted; (Par is working to improve performance) REAL time: 3 secs +Total REAL time to Router completion: 3 secs +Total CPU time to Router completion: 3 secs + +Partition Implementation Status +------------------------------- + + No Partitions were found in this design. + +------------------------------- + +Generating "PAR" statistics. +INFO:Par:459 - The Clock Report is not displayed in the non timing-driven mode. +Timing Score: 0 (Setup: 0, Hold: 0) + + + +Generating Pad Report. + +All signals are completely routed. + +Total REAL time to PAR completion: 3 secs +Total CPU time to PAR completion: 3 secs + +Peak Memory Usage: 596 MB + +Placer: Placement generated during map. +Routing: Completed - No errors found. + +Number of error messages: 0 +Number of warning messages: 0 +Number of info messages: 2 + +Writing design to file SpecialCasesCheck.ncd + + + +PAR done! diff --git a/SpecialCasesCheck.pcf b/SpecialCasesCheck.pcf new file mode 100644 index 0000000..7edf13a --- /dev/null +++ b/SpecialCasesCheck.pcf @@ -0,0 +1,4 @@ +//! ************************************************************************** +// Written by: Map P.20131013 on Sat Aug 24 12:14:25 2019 +//! ************************************************************************** + diff --git a/SpecialCasesCheck.prj b/SpecialCasesCheck.prj index 81b04dc..27181fa 100644 --- a/SpecialCasesCheck.prj +++ b/SpecialCasesCheck.prj @@ -1,3 +1,5 @@ vhdl work "TypeCheck.vhd" +vhdl work "EqualCheck.vhd" +vhdl work "ZeroCheck.vhd" vhdl work "NaNCheck.vhd" vhdl work "SpecialCasesCheck.vhd" diff --git a/SpecialCasesCheck.ptwx b/SpecialCasesCheck.ptwx new file mode 100644 index 0000000..925a3b4 --- /dev/null +++ b/SpecialCasesCheck.ptwx @@ -0,0 +1,332 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + diff --git a/SpecialCasesCheck.syr b/SpecialCasesCheck.syr index 749be4d..ac967a1 100644 --- a/SpecialCasesCheck.syr +++ b/SpecialCasesCheck.syr @@ -1,18 +1,18 @@ -Release 14.7 - xst P.20160913 (lin64) +Release 14.7 - xst P.20131013 (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.09 secs +Total CPU time to Xst completion: 0.05 secs --> Parameter xsthdpdir set to xst Total REAL time to Xst completion: 0.00 secs -Total CPU time to Xst completion: 0.09 secs +Total CPU time to Xst completion: 0.05 secs --> Reading design: SpecialCasesCheck.prj @@ -108,13 +108,19 @@ Slice Utilization Ratio Delta : 5 ========================================================================= * HDL Parsing * ========================================================================= -Parsing VHDL file "/home/ise/gianni/IEEE754Adder/TypeCheck.vhd" into library work +Parsing VHDL file "/home/Luca/ISE/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 VHDL file "/home/Luca/ISE/IEEE754Adder/EqualCheck.vhd" into library work +Parsing entity . +Parsing architecture of entity . +Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/ZeroCheck.vhd" into library work +Parsing entity . +Parsing architecture of entity . +Parsing VHDL file "/home/Luca/ISE/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 VHDL file "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.vhd" into library work Parsing entity . Parsing architecture of entity . @@ -128,33 +134,52 @@ Elaborating entity (architecture ) from library . Elaborating entity (architecture ) from library . +Elaborating entity (architecture ) from library . + +Elaborating entity (architecture ) with generics from library . + ========================================================================= * HDL Synthesis * ========================================================================= Synthesizing Unit . - Related source file is "/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.vhd". + Related source file is "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.vhd". Summary: no macro. Unit synthesized. Synthesizing Unit . - Related source file is "/home/ise/gianni/IEEE754Adder/NaNCheck.vhd". + Related source file is "/home/Luca/ISE/IEEE754Adder/NaNCheck.vhd". Summary: no macro. Unit synthesized. Synthesizing Unit . - Related source file is "/home/ise/gianni/IEEE754Adder/TypeCheck.vhd". + 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. Summary: no macro. Unit synthesized. +Synthesizing Unit . + Related source file is "/home/Luca/ISE/IEEE754Adder/ZeroCheck.vhd". + Summary: +Unit synthesized. + +Synthesizing Unit . + Related source file is "/home/Luca/ISE/IEEE754Adder/EqualCheck.vhd". + BITCOUNT = 31 + Summary: +Unit synthesized. + ========================================================================= HDL Synthesis Report -Found no macro +Macro Statistics +# Xors : 2 + 1-bit xor2 : 1 + 31-bit xor2 : 1 + ========================================================================= ========================================================================= @@ -165,7 +190,11 @@ Found no macro ========================================================================= Advanced HDL Synthesis Report -Found no macro +Macro Statistics +# Xors : 2 + 1-bit xor2 : 1 + 31-bit xor2 : 1 + ========================================================================= ========================================================================= @@ -176,7 +205,7 @@ Optimizing unit ... Mapping all equations... Building and optimizing final netlist ... -Found area constraint ratio of 100 (+ 5) on block SpecialCasesCheck, actual ratio is 0. +Found area constraint ratio of 100 (+ 5) on block SpecialCasesCheck, actual ratio is 1. Final Macro Processing ... @@ -205,12 +234,14 @@ Top Level Output File Name : SpecialCasesCheck.ngc Primitive and Black Box Usage: ------------------------------ -# BELS : 16 +# BELS : 39 # GND : 1 # LUT3 : 2 -# LUT4 : 2 +# LUT4 : 3 # LUT5 : 2 -# LUT6 : 9 +# LUT6 : 19 +# MUXCY : 11 +# VCC : 1 # IO Buffers : 66 # IBUF : 64 # OBUF : 2 @@ -222,14 +253,14 @@ Selected Device : xa6slx4csg225-3 Slice Logic Utilization: - Number of Slice LUTs: 15 out of 2400 0% - Number used as Logic: 15 out of 2400 0% + Number of Slice LUTs: 26 out of 2400 1% + Number used as Logic: 26 out of 2400 1% 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 LUT Flip Flop pairs used: 26 + Number with an unused Flip Flop: 26 out of 26 100% + Number with an unused LUT: 0 out of 26 0% + Number of fully used LUT-FF pairs: 0 out of 26 0% Number of unique control sets: 0 IO Utilization: @@ -269,7 +300,7 @@ 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: 7.532ns + Maximum combinational path delay: 7.570ns Timing Details: --------------- @@ -277,24 +308,24 @@ All values displayed in nanoseconds (ns) ========================================================================= Timing constraint: Default path analysis - Total number of paths / destination ports: 64 / 1 + Total number of paths / destination ports: 128 / 2 ------------------------------------------------------------------------- -Delay: 7.532ns (Levels of Logic = 5) +Delay: 7.570ns (Levels of Logic = 5) Source: Y<4> (PAD) - Destination: isNan (PAD) + Destination: isNaN (PAD) - Data Path: Y<4> to isNan + Data Path: Y<4> to isNaN Gate Net Cell:in->out fanout Delay Delay Logical Name (Net Name) ---------------------------------------- ------------ - IBUF:I->O 1 1.222 0.944 Y_4_IBUF (Y_4_IBUF) + IBUF:I->O 2 1.222 0.981 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) + LUT6:I4->O 1 0.203 0.579 NC/isNan13 (isNaN_OBUF) + OBUF:I->O 2.571 isNaN_OBUF (isNaN) ---------------------------------------- - Total 7.532ns (4.402ns logic, 3.130ns route) - (58.4% logic, 41.6% route) + Total 7.570ns (4.402ns logic, 3.168ns route) + (58.2% logic, 41.8% route) ========================================================================= @@ -304,13 +335,13 @@ Cross Clock Domains Report: ========================================================================= -Total REAL time to Xst completion: 22.00 secs -Total CPU time to Xst completion: 19.75 secs +Total REAL time to Xst completion: 4.00 secs +Total CPU time to Xst completion: 3.87 secs --> -Total memory usage is 473740 kilobytes +Total memory usage is 474696 kilobytes Number of errors : 0 ( 0 filtered) Number of warnings : 1 ( 0 filtered) diff --git a/SpecialCasesCheck.twr b/SpecialCasesCheck.twr new file mode 100644 index 0000000..3b19cb9 --- /dev/null +++ b/SpecialCasesCheck.twr @@ -0,0 +1,180 @@ +-------------------------------------------------------------------------------- +Release 14.7 Trace (lin64) +Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. + +/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/unwrapped/trce -intstyle ise -v 3 -s 3 -n +3 -fastpaths -xml SpecialCasesCheck.twx SpecialCasesCheck.ncd -o +SpecialCasesCheck.twr SpecialCasesCheck.pcf + +Design file: SpecialCasesCheck.ncd +Physical constraint file: SpecialCasesCheck.pcf +Device,package,speed: xa6slx4,csg225,I,-3 (PRODUCTION 1.23 2013-10-13) +Report level: verbose report + +Environment Variable Effect +-------------------- ------ +NONE No environment variables were set +-------------------------------------------------------------------------------- + +INFO:Timing:2698 - No timing constraints found, doing default enumeration. +INFO:Timing:3412 - To improve timing, see the Timing Closure User Guide (UG612). +INFO:Timing:2752 - To get complete path coverage, use the unconstrained paths + option. All paths that are not constrained will be reported in the + unconstrained paths section(s) of the report. +INFO:Timing:3339 - The clock-to-out numbers in this timing report are based on + a 50 Ohm transmission line loading model. For the details of this model, + and for more information on accounting for different loading conditions, + please see the device datasheet. + + + +Data Sheet report: +----------------- +All values displayed in nanoseconds (ns) + +Pad to Pad +---------------+---------------+---------+ +Source Pad |Destination Pad| Delay | +---------------+---------------+---------+ +X<0> |isNaN | 11.058| +X<0> |isZero | 10.439| +X<1> |isNaN | 10.377| +X<1> |isZero | 10.430| +X<2> |isNaN | 11.612| +X<2> |isZero | 11.959| +X<3> |isNaN | 11.649| +X<3> |isZero | 12.050| +X<4> |isNaN | 11.411| +X<4> |isZero | 12.228| +X<5> |isNaN | 11.466| +X<5> |isZero | 12.267| +X<6> |isNaN | 11.193| +X<6> |isZero | 10.961| +X<7> |isNaN | 10.751| +X<7> |isZero | 10.961| +X<8> |isNaN | 10.537| +X<8> |isZero | 10.199| +X<9> |isNaN | 10.777| +X<9> |isZero | 10.575| +X<10> |isNaN | 10.437| +X<10> |isZero | 10.602| +X<11> |isNaN | 10.209| +X<11> |isZero | 10.255| +X<12> |isNaN | 10.593| +X<12> |isZero | 10.323| +X<13> |isNaN | 11.004| +X<13> |isZero | 10.164| +X<14> |isNaN | 9.715| +X<14> |isZero | 10.438| +X<15> |isNaN | 9.739| +X<15> |isZero | 10.549| +X<16> |isNaN | 10.397| +X<16> |isZero | 10.155| +X<17> |isNaN | 10.558| +X<17> |isZero | 10.611| +X<18> |isNaN | 10.474| +X<18> |isZero | 10.178| +X<19> |isNaN | 10.628| +X<19> |isZero | 10.520| +X<20> |isNaN | 10.053| +X<20> |isZero | 9.886| +X<21> |isNaN | 10.305| +X<21> |isZero | 10.507| +X<22> |isNaN | 10.517| +X<22> |isZero | 10.336| +X<23> |isNaN | 10.601| +X<23> |isZero | 10.255| +X<24> |isNaN | 11.962| +X<24> |isZero | 11.311| +X<25> |isNaN | 12.771| +X<25> |isZero | 11.767| +X<26> |isNaN | 12.691| +X<26> |isZero | 11.904| +X<27> |isNaN | 11.589| +X<27> |isZero | 11.480| +X<28> |isNaN | 12.509| +X<28> |isZero | 11.705| +X<29> |isNaN | 12.376| +X<29> |isZero | 11.985| +X<30> |isNaN | 11.605| +X<30> |isZero | 12.031| +X<31> |isNaN | 11.600| +X<31> |isZero | 12.093| +Y<0> |isNaN | 12.007| +Y<0> |isZero | 11.318| +Y<1> |isNaN | 12.520| +Y<1> |isZero | 11.716| +Y<2> |isNaN | 12.380| +Y<2> |isZero | 11.204| +Y<3> |isNaN | 13.232| +Y<3> |isZero | 12.157| +Y<4> |isNaN | 12.840| +Y<4> |isZero | 12.195| +Y<5> |isNaN | 12.972| +Y<5> |isZero | 11.995| +Y<6> |isNaN | 12.862| +Y<6> |isZero | 11.584| +Y<7> |isNaN | 12.444| +Y<7> |isZero | 11.999| +Y<8> |isNaN | 11.471| +Y<8> |isZero | 10.830| +Y<9> |isNaN | 12.280| +Y<9> |isZero | 11.614| +Y<10> |isNaN | 12.134| +Y<10> |isZero | 11.822| +Y<11> |isNaN | 12.422| +Y<11> |isZero | 11.258| +Y<12> |isNaN | 12.756| +Y<12> |isZero | 12.304| +Y<13> |isNaN | 12.566| +Y<13> |isZero | 11.665| +Y<14> |isNaN | 12.155| +Y<14> |isZero | 12.355| +Y<15> |isNaN | 12.706| +Y<15> |isZero | 12.350| +Y<16> |isNaN | 11.995| +Y<16> |isZero | 12.040| +Y<17> |isNaN | 12.800| +Y<17> |isZero | 11.894| +Y<18> |isNaN | 12.487| +Y<18> |isZero | 11.659| +Y<19> |isNaN | 13.125| +Y<19> |isZero | 12.410| +Y<20> |isNaN | 12.779| +Y<20> |isZero | 12.344| +Y<21> |isNaN | 12.140| +Y<21> |isZero | 12.176| +Y<22> |isNaN | 13.510| +Y<22> |isZero | 12.862| +Y<23> |isNaN | 12.305| +Y<23> |isZero | 11.548| +Y<24> |isNaN | 12.209| +Y<24> |isZero | 12.461| +Y<25> |isNaN | 12.196| +Y<25> |isZero | 12.322| +Y<26> |isNaN | 12.417| +Y<26> |isZero | 12.754| +Y<27> |isNaN | 12.064| +Y<27> |isZero | 12.007| +Y<28> |isNaN | 11.833| +Y<28> |isZero | 11.870| +Y<29> |isNaN | 12.434| +Y<29> |isZero | 12.705| +Y<30> |isNaN | 11.894| +Y<30> |isZero | 12.131| +Y<31> |isNaN | 11.196| +Y<31> |isZero | 11.621| +---------------+---------------+---------+ + + +Analysis completed Sat Aug 24 12:14:33 2019 +-------------------------------------------------------------------------------- + +Trace Settings: +------------------------- +Trace Settings + +Peak Memory Usage: 374 MB + + + diff --git a/SpecialCasesCheck.twx b/SpecialCasesCheck.twx new file mode 100644 index 0000000..759b6c9 --- /dev/null +++ b/SpecialCasesCheck.twx @@ -0,0 +1,339 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> +Release 14.7 Trace (lin64)Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved./opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/unwrapped/trce -intstyle ise -v 3 -s 3 -n +3 -fastpaths -xml SpecialCasesCheck.twx SpecialCasesCheck.ncd -o +SpecialCasesCheck.twr SpecialCasesCheck.pcf + +SpecialCasesCheck.ncdSpecialCasesCheck.ncdSpecialCasesCheck.pcfSpecialCasesCheck.pcfxa6slx4I-3PRODUCTION 1.23 2013-10-1313INFO:Timing:2698 - No timing constraints found, doing default enumeration.INFO:Timing:3412 - To improve timing, see the Timing Closure User Guide (UG612).INFO:Timing:2752 - To get complete path coverage, use the unconstrained paths option. All paths that are not constrained will be reported in the unconstrained paths section(s) of the report.INFO:Timing:3339 - The clock-to-out numbers in this timing report are based on a 50 Ohm transmission line loading model. For the details of this model, and for more information on accounting for different loading conditions, please see the device datasheet.X<0>isNaN11.058X<0>isZero10.439X<1>isNaN10.377X<1>isZero10.430X<2>isNaN11.612X<2>isZero11.959X<3>isNaN11.649X<3>isZero12.050X<4>isNaN11.411X<4>isZero12.228X<5>isNaN11.466X<5>isZero12.267X<6>isNaN11.193X<6>isZero10.961X<7>isNaN10.751X<7>isZero10.961X<8>isNaN10.537X<8>isZero10.199X<9>isNaN10.777X<9>isZero10.575X<10>isNaN10.437X<10>isZero10.602X<11>isNaN10.209X<11>isZero10.255X<12>isNaN10.593X<12>isZero10.323X<13>isNaN11.004X<13>isZero10.164X<14>isNaN9.715X<14>isZero10.438X<15>isNaN9.739X<15>isZero10.549X<16>isNaN10.397X<16>isZero10.155X<17>isNaN10.558X<17>isZero10.611X<18>isNaN10.474X<18>isZero10.178X<19>isNaN10.628X<19>isZero10.520X<20>isNaN10.053X<20>isZero9.886X<21>isNaN10.305X<21>isZero10.507X<22>isNaN10.517X<22>isZero10.336X<23>isNaN10.601X<23>isZero10.255X<24>isNaN11.962X<24>isZero11.311X<25>isNaN12.771X<25>isZero11.767X<26>isNaN12.691X<26>isZero11.904X<27>isNaN11.589X<27>isZero11.480X<28>isNaN12.509X<28>isZero11.705X<29>isNaN12.376X<29>isZero11.985X<30>isNaN11.605X<30>isZero12.031X<31>isNaN11.600X<31>isZero12.093Y<0>isNaN12.007Y<0>isZero11.318Y<1>isNaN12.520Y<1>isZero11.716Y<2>isNaN12.380Y<2>isZero11.204Y<3>isNaN13.232Y<3>isZero12.157Y<4>isNaN12.840Y<4>isZero12.195Y<5>isNaN12.972Y<5>isZero11.995Y<6>isNaN12.862Y<6>isZero11.584Y<7>isNaN12.444Y<7>isZero11.999Y<8>isNaN11.471Y<8>isZero10.830Y<9>isNaN12.280Y<9>isZero11.614Y<10>isNaN12.134Y<10>isZero11.822Y<11>isNaN12.422Y<11>isZero11.258Y<12>isNaN12.756Y<12>isZero12.304Y<13>isNaN12.566Y<13>isZero11.665Y<14>isNaN12.155Y<14>isZero12.355Y<15>isNaN12.706Y<15>isZero12.350Y<16>isNaN11.995Y<16>isZero12.040Y<17>isNaN12.800Y<17>isZero11.894Y<18>isNaN12.487Y<18>isZero11.659Y<19>isNaN13.125Y<19>isZero12.410Y<20>isNaN12.779Y<20>isZero12.344Y<21>isNaN12.140Y<21>isZero12.176Y<22>isNaN13.510Y<22>isZero12.862Y<23>isNaN12.305Y<23>isZero11.548Y<24>isNaN12.209Y<24>isZero12.461Y<25>isNaN12.196Y<25>isZero12.322Y<26>isNaN12.417Y<26>isZero12.754Y<27>isNaN12.064Y<27>isZero12.007Y<28>isNaN11.833Y<28>isZero11.870Y<29>isNaN12.434Y<29>isZero12.705Y<30>isNaN11.894Y<30>isZero12.131Y<31>isNaN11.196Y<31>isZero11.621Sat Aug 24 12:14:33 2019 TraceTrace Settings + +Peak Memory Usage: 374 MB + diff --git a/SpecialCasesCheck.unroutes b/SpecialCasesCheck.unroutes new file mode 100644 index 0000000..30ef7dc --- /dev/null +++ b/SpecialCasesCheck.unroutes @@ -0,0 +1,9 @@ +Release 14.7 - par P.20131013 (lin64) +Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. + +Sat Aug 24 12:14:30 2019 + +All signals are completely routed. + + + diff --git a/SpecialCasesCheck.ut b/SpecialCasesCheck.ut new file mode 100644 index 0000000..c72c540 --- /dev/null +++ b/SpecialCasesCheck.ut @@ -0,0 +1,31 @@ +-w +-g DebugBitstream:No +-g Binary:no +-g CRC:Enable +-g Reset_on_err:No +-g ConfigRate:2 +-g ProgPin:PullUp +-g TckPin:PullUp +-g TdiPin:PullUp +-g TdoPin:PullUp +-g TmsPin:PullUp +-g UnusedPin:PullDown +-g UserID:0xFFFFFFFF +-g ExtMasterCclk_en:No +-g SPI_buswidth:1 +-g TIMER_CFG:0xFFFF +-g multipin_wakeup:No +-g StartUpClk:CClk +-g DONE_cycle:4 +-g GTS_cycle:5 +-g GWE_cycle:6 +-g LCK_cycle:NoWait +-g Security:None +-g DonePipe:Yes +-g DriveDone:No +-g Encrypt:No +-g en_sw_gsr:No +-g drive_awake:No +-g sw_clk:Startupclk +-g sw_gwe_cycle:5 +-g sw_gts_cycle:4 diff --git a/SpecialCasesCheck.vhd b/SpecialCasesCheck.vhd index 4a81344..dfaf432 100644 --- a/SpecialCasesCheck.vhd +++ b/SpecialCasesCheck.vhd @@ -4,7 +4,7 @@ use IEEE.STD_LOGIC_1164.ALL; entity SpecialCasesCheck is port( X, Y: in std_logic_vector(31 downto 0); - isNan, isZero: out std_logic + isNaN, isZero: out std_logic ); end SpecialCasesCheck; @@ -13,24 +13,21 @@ architecture SpecialCasesCheckArch of SpecialCasesCheck is component NaNCheck is port( X, Y: in std_logic_vector(31 downto 0); - isNan: out std_logic + isNaN: out std_logic ); end component; - - signal xSign: std_logic; - signal ySign: std_logic; - signal isSameAbsValue: std_logic; + component ZeroCheck is + port( + X, Y: in std_logic_vector(31 downto 0); + isZero: out std_logic + ); + end component; begin NC: NaNCheck - port map (X => X, Y => Y, isNan => isNan); - - xSign <= X(31); - ySign <= Y(31); - - isSameAbsValue <= '0'; -- TODO - - isZero <= (xSign and (not ySign) and isSameAbsValue) or ((not xSign) and ySign and isSameAbsValue); + port map (X => X, Y => Y, isNaN => isNaN); + ZC: ZeroCheck + port map (X => X, Y => Y, isZero => isZero); end SpecialCasesCheckArch; diff --git a/SpecialCasesCheck.xpi b/SpecialCasesCheck.xpi new file mode 100644 index 0000000..d043f7f --- /dev/null +++ b/SpecialCasesCheck.xpi @@ -0,0 +1,3 @@ +PROGRAM=PAR +STATE=ROUTED +TIMESPECS_MET=OFF diff --git a/SpecialCasesCheck_bitgen.xwbt b/SpecialCasesCheck_bitgen.xwbt new file mode 100644 index 0000000..793dd38 --- /dev/null +++ b/SpecialCasesCheck_bitgen.xwbt @@ -0,0 +1,8 @@ +INTSTYLE=ise +INFILE=/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.ncd +OUTFILE=/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.bit +FAMILY=Automotive Spartan6 +PART=xa6slx4-3csg225 +WORKINGDIR=/home/Luca/ISE/IEEE754Adder +LICENSE=WebPack +USER_INFO=211697841_0_0_919 diff --git a/SpecialCasesCheck_envsettings.html b/SpecialCasesCheck_envsettings.html index 1d78746..58e6898 100644 --- a/SpecialCasesCheck_envsettings.html +++ b/SpecialCasesCheck_envsettings.html @@ -15,52 +15,45 @@ 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 -< 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 > +/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 +/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 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 -< data not available > -< data not available > -< data not available > +/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 +/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/ -< data not available > -< data not available > -< data not available > +/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 -< data not available > -< data not available > -< data not available > +/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 -< data not available > -< data not available > -< data not available > +/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 -< data not available > -< data not available > -< data not available > +/opt/Xilinx/14.7/ISE_DS/PlanAhead +/opt/Xilinx/14.7/ISE_DS/PlanAhead +/opt/Xilinx/14.7/ISE_DS/PlanAhead
@@ -351,6 +344,150 @@ 0 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Translation Property Settings
Switch NameProperty NameValueDefault Value
-intstyle iseNone
-dd _ngoNone
-p xa6slx4-csg225-3None
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Map Property Settings
Switch NameProperty NameValueDefault Value
-olPlace & Route Effort Level (Overall)highhigh
-xtExtra Cost Tables00
-irUse RLOC ConstraintsOFFOFF
-tStarting Placer Cost Table (1-100) Map10
-rRegister Ordering44
-intstyle iseNone
-lcLUT Combiningoffoff
-o SpecialCasesCheck_map.ncdNone
-w truefalse
-prPack I/O Registers/Latches into IOBsoffoff
-p xa6slx4-csg225-3None
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Place and Route Property Settings
Switch NameProperty NameValueDefault Value
-intstyle ise 
-mtEnable Multi-Threadingoffoff
-olPlace & Route Effort Level (Overall)highstd
-w truefalse
 
@@ -365,31 +502,31 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
CPU Architecture/SpeedIntel(R) Core(TM) i7-5500U CPU @ 2.40GHz/2394.454 MHz<  data not available  ><  data not available  ><  data not available  >Intel Core Processor (Haswell, no TSX)/2494.222 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.localdomain<  data not available  ><  data not available  ><  data not available  >XilinxXilinxXilinxXilinx
OS NameOracleServer<  data not available  ><  data not available  ><  data not available  >CentOSCentOSCentOSCentOS
OS ReleaseOracle Linux Server release 6.4<  data not available  ><  data not available  ><  data not available  >CentOS release 6.10 (Final)CentOS release 6.10 (Final)CentOS release 6.10 (Final)CentOS release 6.10 (Final)
\ No newline at end of file diff --git a/SpecialCasesCheck_guide.ncd b/SpecialCasesCheck_guide.ncd new file mode 100644 index 0000000..aeef356 --- /dev/null +++ b/SpecialCasesCheck_guide.ncd @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.6 +###6532:XlxV32DM 3fff 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###3800:XlxV32DM 3fff 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###5172:XlxV32DM 3fff 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###2456:XlxV32DM 3fff 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###2576:XlxV32DM 3fff 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###2484:XlxV32DM 3fff 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###2500:XlxV32DM 3fff 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###2436:XlxV32DM 3fff 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###2764:XlxV32DM 2fda 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 \ No newline at end of file diff --git a/SpecialCasesCheck_map.map b/SpecialCasesCheck_map.map new file mode 100644 index 0000000..a0a4e90 --- /dev/null +++ b/SpecialCasesCheck_map.map @@ -0,0 +1,140 @@ +Release 14.7 Map P.20131013 (lin64) +Xilinx Map Application Log File for Design 'SpecialCasesCheck' + +Design Information +------------------ +Command Line : map -intstyle ise -p xa6slx4-csg225-3 -w -logic_opt off -ol +high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off +-pr off -lc off -power off -o SpecialCasesCheck_map.ncd SpecialCasesCheck.ngd +SpecialCasesCheck.pcf +Target Device : xa6slx4 +Target Package : csg225 +Target Speed : -3 +Mapper Version : aspartan6 -- $Revision: 1.55 $ +Mapped Date : Sat Aug 24 12:14:20 2019 + +Mapping design into LUTs... +Running directed packing... +Running delay-based LUT packing... +Updating timing models... +INFO:Map:215 - The Interim Design Summary has been generated in the MAP Report + (.mrp). +Running timing-driven placement... +Total REAL time at the beginning of Placer: 3 secs +Total CPU time at the beginning of Placer: 3 secs + +Phase 1.1 Initial Placement Analysis +Phase 1.1 Initial Placement Analysis (Checksum:1afc) REAL time: 3 secs + +Phase 2.7 Design Feasibility Check +Phase 2.7 Design Feasibility Check (Checksum:1afc) REAL time: 3 secs + +Phase 3.31 Local Placement Optimization +Phase 3.31 Local Placement Optimization (Checksum:1afc) REAL time: 3 secs + +Phase 4.2 Initial Placement for Architecture Specific Features +... +.... +Phase 4.2 Initial Placement for Architecture Specific Features (Checksum:1afc) REAL time: 4 secs + +Phase 5.36 Local Placement Optimization +Phase 5.36 Local Placement Optimization (Checksum:1afc) REAL time: 4 secs + +Phase 6.30 Global Clock Region Assignment +Phase 6.30 Global Clock Region Assignment (Checksum:1afc) REAL time: 4 secs + +Phase 7.3 Local Placement Optimization +... +.... +Phase 7.3 Local Placement Optimization (Checksum:789e990e) REAL time: 4 secs + +Phase 8.5 Local Placement Optimization +Phase 8.5 Local Placement Optimization (Checksum:789e990e) REAL time: 4 secs + +Phase 9.8 Global Placement +................... +......................... +Phase 9.8 Global Placement (Checksum:97cecb7e) REAL time: 4 secs + +Phase 10.5 Local Placement Optimization +Phase 10.5 Local Placement Optimization (Checksum:97cecb7e) REAL time: 4 secs + +Phase 11.18 Placement Optimization +Phase 11.18 Placement Optimization (Checksum:bebeaa60) REAL time: 4 secs + +Phase 12.5 Local Placement Optimization +Phase 12.5 Local Placement Optimization (Checksum:bebeaa60) REAL time: 4 secs + +Phase 13.34 Placement Validation +Phase 13.34 Placement Validation (Checksum:bebeaa60) REAL time: 4 secs + +Total REAL time to Placer completion: 4 secs +Total CPU time to Placer completion: 4 secs +Running post-placement packing... +Writing output files... + +Design Summary +-------------- + +Design Summary: +Number of errors: 0 +Number of warnings: 0 +Slice Logic Utilization: + Number of Slice Registers: 0 out of 4,800 0% + Number of Slice LUTs: 26 out of 2,400 1% + Number used as logic: 26 out of 2,400 1% + Number using O6 output only: 25 + Number using O5 output only: 0 + Number using O5 and O6: 1 + Number used as ROM: 0 + Number used as Memory: 0 out of 1,200 0% + +Slice Logic Distribution: + Number of occupied Slices: 10 out of 600 1% + Number of MUXCYs used: 12 out of 1,200 1% + Number of LUT Flip Flop pairs used: 26 + Number with an unused Flip Flop: 26 out of 26 100% + Number with an unused LUT: 0 out of 26 0% + Number of fully used LUT-FF pairs: 0 out of 26 0% + Number of slice register sites lost + to control set restrictions: 0 out of 4,800 0% + + A LUT Flip Flop pair for this architecture represents one LUT paired with + one Flip Flop within a slice. A control set is a unique combination of + clock, reset, set, and enable signals for a registered element. + The Slice Logic Distribution report is not meaningful if the design is + over-mapped for a non-slice resource or if Placement fails. + +IO Utilization: + Number of bonded IOBs: 66 out of 132 50% + +Specific Feature Utilization: + Number of RAMB16BWERs: 0 out of 12 0% + Number of RAMB8BWERs: 0 out of 24 0% + Number of BUFIO2/BUFIO2_2CLKs: 0 out of 32 0% + Number of BUFIO2FB/BUFIO2FB_2CLKs: 0 out of 32 0% + Number of BUFG/BUFGMUXs: 0 out of 16 0% + Number of DCM/DCM_CLKGENs: 0 out of 4 0% + Number of ILOGIC2/ISERDES2s: 0 out of 200 0% + Number of IODELAY2/IODRP2/IODRP2_MCBs: 0 out of 200 0% + Number of OLOGIC2/OSERDES2s: 0 out of 200 0% + Number of BSCANs: 0 out of 4 0% + Number of BUFHs: 0 out of 128 0% + Number of BUFPLLs: 0 out of 8 0% + Number of BUFPLL_MCBs: 0 out of 4 0% + Number of DSP48A1s: 0 out of 8 0% + Number of ICAPs: 0 out of 1 0% + Number of PCILOGICSEs: 0 out of 2 0% + Number of PLL_ADVs: 0 out of 2 0% + Number of PMVs: 0 out of 1 0% + Number of STARTUPs: 0 out of 1 0% + Number of SUSPEND_SYNCs: 0 out of 1 0% + +Average Fanout of Non-Clock Nets: 1.78 + +Peak Memory Usage: 734 MB +Total REAL time to MAP completion: 5 secs +Total CPU time to MAP completion: 5 secs + +Mapping completed. +See MAP report file "SpecialCasesCheck_map.mrp" for details. diff --git a/SpecialCasesCheck_map.mrp b/SpecialCasesCheck_map.mrp new file mode 100644 index 0000000..65c552f --- /dev/null +++ b/SpecialCasesCheck_map.mrp @@ -0,0 +1,245 @@ +Release 14.7 Map P.20131013 (lin64) +Xilinx Mapping Report File for Design 'SpecialCasesCheck' + +Design Information +------------------ +Command Line : map -intstyle ise -p xa6slx4-csg225-3 -w -logic_opt off -ol +high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off +-pr off -lc off -power off -o SpecialCasesCheck_map.ncd SpecialCasesCheck.ngd +SpecialCasesCheck.pcf +Target Device : xa6slx4 +Target Package : csg225 +Target Speed : -3 +Mapper Version : aspartan6 -- $Revision: 1.55 $ +Mapped Date : Sat Aug 24 12:14:20 2019 + +Design Summary +-------------- +Number of errors: 0 +Number of warnings: 0 +Slice Logic Utilization: + Number of Slice Registers: 0 out of 4,800 0% + Number of Slice LUTs: 26 out of 2,400 1% + Number used as logic: 26 out of 2,400 1% + Number using O6 output only: 25 + Number using O5 output only: 0 + Number using O5 and O6: 1 + Number used as ROM: 0 + Number used as Memory: 0 out of 1,200 0% + +Slice Logic Distribution: + Number of occupied Slices: 10 out of 600 1% + Number of MUXCYs used: 12 out of 1,200 1% + Number of LUT Flip Flop pairs used: 26 + Number with an unused Flip Flop: 26 out of 26 100% + Number with an unused LUT: 0 out of 26 0% + Number of fully used LUT-FF pairs: 0 out of 26 0% + Number of slice register sites lost + to control set restrictions: 0 out of 4,800 0% + + A LUT Flip Flop pair for this architecture represents one LUT paired with + one Flip Flop within a slice. A control set is a unique combination of + clock, reset, set, and enable signals for a registered element. + The Slice Logic Distribution report is not meaningful if the design is + over-mapped for a non-slice resource or if Placement fails. + +IO Utilization: + Number of bonded IOBs: 66 out of 132 50% + +Specific Feature Utilization: + Number of RAMB16BWERs: 0 out of 12 0% + Number of RAMB8BWERs: 0 out of 24 0% + Number of BUFIO2/BUFIO2_2CLKs: 0 out of 32 0% + Number of BUFIO2FB/BUFIO2FB_2CLKs: 0 out of 32 0% + Number of BUFG/BUFGMUXs: 0 out of 16 0% + Number of DCM/DCM_CLKGENs: 0 out of 4 0% + Number of ILOGIC2/ISERDES2s: 0 out of 200 0% + Number of IODELAY2/IODRP2/IODRP2_MCBs: 0 out of 200 0% + Number of OLOGIC2/OSERDES2s: 0 out of 200 0% + Number of BSCANs: 0 out of 4 0% + Number of BUFHs: 0 out of 128 0% + Number of BUFPLLs: 0 out of 8 0% + Number of BUFPLL_MCBs: 0 out of 4 0% + Number of DSP48A1s: 0 out of 8 0% + Number of ICAPs: 0 out of 1 0% + Number of PCILOGICSEs: 0 out of 2 0% + Number of PLL_ADVs: 0 out of 2 0% + Number of PMVs: 0 out of 1 0% + Number of STARTUPs: 0 out of 1 0% + Number of SUSPEND_SYNCs: 0 out of 1 0% + +Average Fanout of Non-Clock Nets: 1.78 + +Peak Memory Usage: 734 MB +Total REAL time to MAP completion: 5 secs +Total CPU time to MAP completion: 5 secs + +Table of Contents +----------------- +Section 1 - Errors +Section 2 - Warnings +Section 3 - Informational +Section 4 - Removed Logic Summary +Section 5 - Removed Logic +Section 6 - IOB Properties +Section 7 - RPMs +Section 8 - Guide Report +Section 9 - Area Group and Partition Summary +Section 10 - Timing Report +Section 11 - Configuration String Information +Section 12 - Control Set Information +Section 13 - Utilization by Hierarchy + +Section 1 - Errors +------------------ + +Section 2 - Warnings +-------------------- + +Section 3 - Informational +------------------------- +INFO:LIT:244 - All of the single ended outputs in this design are using slew + rate limited output drivers. The delay on speed critical single ended outputs + can be dramatically reduced by designating them as fast outputs. +INFO:Pack:1716 - Initializing temperature to 100.000 Celsius. (default - Range: + -40.000 to 100.000 Celsius) +INFO:Pack:1720 - Initializing voltage to 1.140 Volts. (default - Range: 1.140 to + 1.260 Volts) +INFO:Map:215 - The Interim Design Summary has been generated in the MAP Report + (.mrp). +INFO:Pack:1650 - Map created a placed design. + +Section 4 - Removed Logic Summary +--------------------------------- + 2 block(s) optimized away + +Section 5 - Removed Logic +------------------------- + +Optimized Block(s): +TYPE BLOCK +GND XST_GND +VCC XST_VCC + +Section 6 - IOB Properties +-------------------------- + ++---------------------------------------------------------------------------------------------------------------------------------------------------------+ +| IOB Name | Type | Direction | IO Standard | Diff | Drive | Slew | Reg (s) | Resistor | IOB | +| | | | | Term | Strength | Rate | | | Delay | ++---------------------------------------------------------------------------------------------------------------------------------------------------------+ +| X<0> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<1> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<2> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<3> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<4> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<5> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<6> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<7> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<8> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<9> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<10> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<11> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<12> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<13> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<14> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<15> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<16> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<17> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<18> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<19> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<20> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<21> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<22> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<23> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<24> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<25> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<26> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<27> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<28> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<29> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<30> | IOB | INPUT | LVCMOS25 | | | | | | | +| X<31> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<0> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<1> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<2> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<3> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<4> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<5> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<6> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<7> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<8> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<9> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<10> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<11> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<12> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<13> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<14> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<15> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<16> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<17> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<18> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<19> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<20> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<21> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<22> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<23> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<24> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<25> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<26> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<27> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<28> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<29> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<30> | IOB | INPUT | LVCMOS25 | | | | | | | +| Y<31> | IOB | INPUT | LVCMOS25 | | | | | | | +| isNaN | IOB | OUTPUT | LVCMOS25 | | 12 | SLOW | | | | +| isZero | IOB | OUTPUT | LVCMOS25 | | 12 | SLOW | | | | ++---------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Section 7 - RPMs +---------------- + +Section 8 - Guide Report +------------------------ +Guide not run on this design. + +Section 9 - Area Group and Partition Summary +-------------------------------------------- + +Partition Implementation Status +------------------------------- + + No Partitions were found in this design. + +------------------------------- + +Area Group Information +---------------------- + + No area groups were found in this design. + +---------------------- + +Section 10 - Timing Report +-------------------------- +A logic-level (pre-route) timing report can be generated by using Xilinx static +timing analysis tools, Timing Analyzer (GUI) or TRCE (command line), with the +mapped NCD and PCF files. Please note that this timing report will be generated +using estimated delay information. For accurate numbers, please generate a +timing report with the post Place and Route NCD file. + +For more information about the Timing Analyzer, consult the Xilinx Timing +Analyzer Reference Manual; for more information about TRCE, consult the Xilinx +Command Line Tools User Guide "TRACE" chapter. + +Section 11 - Configuration String Details +----------------------------------------- +Use the "-detail" map option to print out Configuration Strings + +Section 12 - Control Set Information +------------------------------------ +Use the "-detail" map option to print out Control Set Information. + +Section 13 - Utilization by Hierarchy +------------------------------------- +Use the "-detail" map option to print out the Utilization by Hierarchy section. diff --git a/SpecialCasesCheck_map.ncd b/SpecialCasesCheck_map.ncd new file mode 100644 index 0000000..be8c9c8 --- /dev/null +++ b/SpecialCasesCheck_map.ncd @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.6 +###6164:XlxV32DM 3fff 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###4008:XlxV32DM 3fff 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###4692:XlxV32DM 33db 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 \ No newline at end of file diff --git a/SpecialCasesCheck_map.ngm b/SpecialCasesCheck_map.ngm new file mode 100644 index 0000000..13b5f03 --- /dev/null +++ b/SpecialCasesCheck_map.ngm @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.6e +$0755=6:2.Yi{g|inl9$4(5=0*/=<5+Rdtjwlii2);%98.+1193=<6789:;<=>?9822?7773:81EC^ZT;Z?74<768:0??4FNQWW>\:493:5>66?119;456789:;<=>?0127?<6718:05=>60123456719:2?6OKR29AQC773K_B@IQ[ASEFPDTD@11IY^QFNGM1?FO33JF@<;5LLJ3;43=DDB8<<85LLJ0[<>EKC;R:4=;4CMI:40=DDBK:;6MCK@3G62=DDBK:H994CMIB5A>23JF@N<;4CMI@50=DDBN:96MCKET`?FJLL_UOE[GKE49@HN@_02IGGKV>81;8GJKJA]^NH55LOOQWEKR692IDB^ZNNU]WVDUOKHD<7N\JAUGG6>BNm2NYOR]ZCBGPWCSK991NIHKLCBABEDG701::=6KWP@LGAAYEKMUMEAK>4:G[TDHCMMUHCC][R@KMPV763LR[MCJJD^KPAZ@NDLk0I|{nlBjfgn26IJNDPBP@B'XFY_!J=?3:EM@4=N:2C;>6G>2:K16>O4:2C?>6G:4:KAQC4OINLXYII74IOKWWQGSMl1BBR@HD^CM@ZDDL?1BCNABP79JKQ_WM=1B\LJ8;MKAVDT^>2FDMIKK6:NLGNCC?2FDKDMNL29OQQ20`9MG*otFhd:=l5AC.kpJdh6:h1EO"g|N`l27<=IK&cxBl`=9:L@+luIig927CM irLbj1?3GI$e~@nn9;8JF)n{Gke5l5AC.{@l`el'830BN!vCig`o*AXkfg{yyk!G^vnt4eI6n2E6$%G?@K2-/./A;JB?$$'I5B}M0/.!;:0C0&'I1B}M4/- !C9LsG<)+*J0ExN= #"=85@=)*J4ExN9 #E?NqI2+*7==H5!"uE=$'I0(J1,/, @:!$%pF1+K7-..N9#"#E?NF3()+M1-N= #"%$'>d:M>,L6- @;!$D<%(H1),L2-A<#"%$'j;N?+M5,/A8 B>$'>d:M>,L6, @; $D<$(H1(,L2,A<#"%$'>8:M>,L6, @; $D<$(H1(M1/.! ;87B3'I1)+M4-/A;!B?$'&4:MAQC5>30227f=W&;::?<>>3^N0?UGC<2ZJ^Y64PI[PMFGKi2ZBBRLZSHF[f>VNFVH^_COBE49SKRCU>2ZXHB@J3:PLI4=T;2YN@7U2>0?78\9766<1S0<<15:Z?56823Q6:83;4X=36:0=_48<596V316<6?]:607?0T1?6>59[84823Q69<3;4X=02:0=_4;8596V322<6?]:5<7?0T1<:>49[8709=2R7>:0:;Y>1<;3:1<6?]:497>0T1=14:Z?0;2^T\ECI;6V\T^EM@2=_[]U]ON64X^2\MGSA12RT==QFBTD:?]Y69VCIYK74X^31[LDRN01SS<=PICWE=>^X9=UBNXH6;Y]21ZOE]O30TR?9_H@VB<=_W8=TEO[I9:Z\5=YNJ\L27UQ>9^KAQC>3QU99RGMUG;8\Z41W@H^J45W_35\MGSA12RT>5QFBTD:?]Y51VCIYK64X^0\MGSA12RT?=QFBTD:?]Y49VCIYK64X^1\MGSA02RT8RGMUG:8\Z3XAK_M46VP6^KAQC>^cjVCoi6Vkh^AlvwDkgjax=55Wdi]NeuEhz{Idb~znnuVqevne3QncS]|fmHf{g>^c`VZye`Zvpdd8\anXX{cfZh||inl4?]boW]kln6Vkm^@jjaoio8:0TicPM`hlvScu{`ee==5Wdl]Nmkiu^lxxeb`<;Yqw0>_;87?0U1??>49Z8479=2S7=?0:;X>27;3_;9?4>7T2>7?78]97?6<1R0<714:[?5;3_;:;4>7T2=3?78]9436<1R0?;15:[?63823P69;3;4Y=0;:0=^4;3586W32?78]9576>1R0>?50?78]9566=1R0>0;;X>7:1=^4<4?7T29>59Z82833P63295V<8<0?\CT02ST_X9?UBNXH6;X]23ZOE]O30UR?7_H@VB<=^W83TEO[I8:[\5ZOE]O30UR3PU9;RGMUG;8]Z4?W@H^J45V_3;\MGSA02ST>RGMUG;8]Z57W@H^J45V_23\MGSA02ST?RGMUG:8]Z2XAK_M46WP5^KAQC>_X1VCIYK=4ZB-26>\D'`yQiaPwf]`}9699:1QO"g|Zdpl[raXkp6:<3?=;[A,mv\bzfU|kRmv<0<26>\D'`yQiaPwf]`}9499;1QO"g|Zdpl[raXkp682<<4ZB-jw_cugV}lSnw34?31?_E(azPn~bQxg^az8086:2PH#d}Uesm\sbYdq5<5=?5UC.kp^`thW~mTot28>008^F)n{SoycRyh_b{?<;753SI$e~Tjrn]tcZe~404:?6TL/hqYawiXnUgyy2?>068^F)n{SoycRyh_mww84699:1QO"g|Zdpl[raXd|~7=3?<;[A,mv\bzfU|kRbzt=0=56=]K&cxVh|`_ve\hpr;;7;87WM irXfvjYpoVf~x1:1129YG*otRlxdSziPltv?1;743SI$e~Tjrn]tcZjr|5<5=>5UC.kp^`thW~mT`xz37?30?_E(azPn~bQxg^nvp9>99:1QO"g|Zdpl[raXd|~753:4ZDPL=>\bzfIcine6;`qsewrff?90hic:;hqMeKgPxe`,gvr)pkioqMN7b68DE~>03L1;7?tS369ac7?<40458b0f?V4628?:6?4>35352=<60j8n7i77:182>7}T:=0nj76::017530?282h>85+d;37f>N5>2d>97;k602gbf=#==0:8o5+578;0>pS=;0;6<4>:`;xW72=mo0397?<4045?6*=a;28 7>=9">j3337Wk52z792?{#180?7)7?:032?kce291bn44?:%:b>g>!>f2k20b5751:9jf0<72-2j6o64n9;96>=nj=0;6)6n:c:8j=?=;21bn>4?:%:b>g>!>f2k20b5755:9jf4<72-2j6o64n9;92>=nj90;6)6n:c:8j=?=?21bmk4?:%:b>g>!>f2k20b5759:9jea<72-2j6o64n9;9e>=nij0;6)6n:c:8j=?=j21bml4?:%:b>g>!>f2k20b575d:9je=<72-2j6o64n9;9a>=ni>0;6)6n:c:8j=?=n21bm;4?:%:b>g>5$9c9f==i000:?65fa383>!>f2k20b5751598md7=83.3m7l7;o::>43<3`i;6=4+8`8a<>h?13;=76gmf;29 =g=j11e444>7:9jf`<72-2j6o64n9;95==>28307dll:18'=njh0;6)6n:c:8j=?=9j10eo850;&;e?d?3g2265<#0h0i46`79;3f?>of83:1(5o5b99m<<<6n21b==750;&;e?7702d357>4;h333?6=,1k1==64n9;95>=n99?1<7*7a;33<>h?13807d??4;29 =g=9920b5753:9j555=83.3m7??8:l;=?2<3`;;>7>5$9c955>46?3g226554igg94?"?i3;;46`79;;8?l`c290/4l4>099m<<5$9c955>!>f28:37c66:b98mc?=83.3m7??8:l;=?b<3`l36=4+8`824==i000n76gi7;29 =g=9920b575f:9jb3<72-2j6<>7;o::>46<3`l>6=4+8`824==i000:=65ff583>!>f28:37c66:008?l`4290/4l4>099m<<<6;21bj?4?:%:b>46?3g226<:4;hd2>5<#0h0:<55a88821>=n98:1<7*7a;33<>h?13;=76g>0g83>!>f28:37c66:058?l77m3:1(5o511:8j=?=9110e<>k:18'9:9j55e=83.3m7??8:l;=?7f32c:46?3g226!>f28:37c66:0g8?l`7290/4l4>099m<<<6n21d=9j50;9l51`=831io>4>:083>5}#1k08;6Fl2:J:`>"b13;?56*;9;360>hbj3;0(4;5999l71<72-o265<4;|``0?7=93:10bhl52:&:1???3f286=4+e88;6>=zj89n6<4::183!?e2=l0Dn<4H8f8 `?=0m1/844>559'01<>3goi6>5+948277=n;00;6)k6:c9ma=<732c8m7>5$d;9f>hb03;07d=m:18'a<Nd:2B2h6*j9;7;?!2>28??7ckm:59'=0<6;;1bj7>5$d;907=o?m3:1(h758g98k23=83.n576=;:a516=93=1<7>t$8`914=Ok;1C5i5+e88;`>"313;>86*;4;c8j`d==2.297?<2:k0=?6=,l31n6`j8;28?l5f290/i44m;og;>4==:21b?n4?:%g:>g=im10876g5<#m00i7ck7:498k23=83.n576=;:a563=93>1<7>t$8`91<=Ok;1C5i5+e886<>"313;>86`jb;48 <3=9:80ek4?:%g:>14<3`8>6=4+e8875>=n0l0;6)k6:9d8?j12290/i4472:9~f426280<6=4?{%;a>07<@j80D4j4$d;91/584>339j7<<72-o26o5ae983?>o4i3:1(h75b:lfm50;&f=?d!c>2k1ei54;;:k0a?6=,l31n6`j8;78?j12290/i4472:9~f451280?6=4?{%;a>0?<@j80D4j4$d;91==#<00:995aec8;?!?228997dh50;&f=?2532c997>5$d;904=i0=3:1(h758398yg73:3;1;7>50z&:f?363Ai97E7k;%g:>=b<,=31=8:4$569e>hbj330(4;51208m6?=83.n57l4nd:94>=n;h0;6)k6:c9ma=<632c8n7>5$d;9f>hb03807d=l:18'a<54i2f94?"b13h0bh654:9j7`<72-o26o5ae986?>i0=3:1(h758398yg74?3;187>50z&:f?3>3Ai97E7k;%g:>0><,=31=8:4nd`9e>">=3;8>6gi:18'a<<3:21b>84?:%g:>17<3`2n6=4+e88;b>=h?<0;6)k6:908?xd6<:0:6:4?:1y'=g<292Bh>6F6d:&f=?>c3->26<;;;%67>d=imk0i7)7::011?l5>290/i44m;og;>5==921b?o4?:%g:>g=im10976g5<#m00i7ck7:598m6c=83.n57l4nd:91>=h?<0;6)k6:908?xd6;10:694?:1y'=g<212Bh>6F6d:&f=?3?3->26<;;;oga>f=#1<0:??5ff;29 `?=<;10e?;50;&f=?2632c3i7>5$d;9?1<7*j9;:1?>{e9=>1=7950;2x o413:1(h75b:lfl50;&f=?d65f3b83>!c>2k1ei54<;:k0`?6=,l31n6`j8;68?l5b290/i44m;og;>0=?1<7*j9;:1?>{e9:31=7:50;2x <4ig83>!c>2=807d<::18'a<<3921b4h4?:%g:>=`<3f=>6=4+e88;6>=zj8>>6<48:183!?e2<;0Dn<4H8f8 `?=0m1/844>559'015$d;9f>hb03;07d=m:18'a<o4m3:1(h75b:lf6=4+e88;6>=zj89j6<4;:183!?e2<30Dn<4H8f8 `?==11/844>559mag<682.297?<2:ke>5<#m00?>65f2483>!c>2=;07d6j:18'a<=4<3th:8;4>:683>5}#1k0>=6Fl2:J:`>"b132o7):6:077?!232h1eio4>1:&:1?74:2c857>5$d;9f>hb03:07d=n:18'a<o4l3:1(h75b:lf532wi=>l51;694?6|,0h1945Gc39K=a=#m00>46*;9;360>hbj3;97)7::011?l`=83.n57:=;:k11?6=,l318<54i9g94?"b132m76a85;29 `?=0;10qo?;7;393?6=8r.2n7;>;Ia1?M?c3-o265j4$5;9502<,=>1m6`jb;30?!?228997d=6:18'a<o4k3:1(h75b:lfk50;&f=?d!c>21807pl>3b82>1<729q/5o4:9:J`6>N>l2.n57;7;%6:>4333goi6<:4$8795645<#m003>65rb06;>4<0290;w)7m:438Lf4<@0n0(h758e9'0<<6==1/894n;oga>43<,0?1=><4i2;94?"b13h0bh650:9j7d<72-o26o5ae982?>o4j3:1(h75b:lfj50;&f=?d!c>2k1ei54:;:m41?6=,l314?54}c30`?7=<3:10bhl5179'=0<6;;1bj7>5$d;907=o?m3:1(h758g98k23=83.n576=;:a562=93>1<7>t$8`91<=Ok;1C5i5+e886<>"313;>86`jb;34?!?228997dh50;&f=?2532c997>5$d;904=i0=3:1(h758398yg16280?6=4?{%;a>1c<@j80D4j4$d;9o4i3:1(h75b:lf532wi;=4>:683>5}#1k0>=6Fl2:J:`>"b132o7):6:077?!23211eio4>9:&:1?0b3`926=4+e88a?kc?2910e>o50;&f=?d!c>2k1ei54=;:k0g?6=,l31n6`j8;18?l5c290/i44m;og;>1===21d;84?:%g:>=4<3th==7?57;294~">j3?:7Em=;I;g?!c>21n0(9751468 12=02dnn7?n;%;6>0`=821b?l4?:%g:>g=im10:76g5<#m00i7ck7:298m6b=83.n57l4nd:90>=n;l0;6)k6:c9ma=<232e<97>5$d;9<7=559'01<03goi65$d;9f>hb03;07d=m:18'a<2<729q/5o4:1:J`6>N>l2.n576k;%6:>4333->?6?k4nd`95f=#1<0>j6g<9;29 `?=j2dn47>4;h1b>5<#m00i7ck7:098m6d=83.n57l4nd:96>=n;j0;6)k6:c9ma=<432c8h7>5$d;9f>hb03>07d=j:18'a<3<729q/5o4:0:J`6>N>l2.n576k;%6:>4333->?6?j4nd`95a=#1<0>j6g<9;29 `?=j2dn47>4;h1b>5<#m00i7ck7:098m6d=83.n57l4nd:96>=n;j0;6)k6:c9ma=<432c8h7>5$d;9f>hb03>07b9::18'a<"3<38h7ckm:0g8 <3==o1b?44?:%g:>g=im10;76g5<#m00i7ck7:398m6e=83.n57l4nd:97>=h?<0;6)k6:908?xd1i3;1;7>50z&:f?363Ai97E7k;%g:>=b<,=31=8:4$5696`=imk0:j6*65;7e?l5>290/i44m;og;>5==921b?o4?:%g:>g=im10976g5<#m00i7ck7:598m6c=83.n57l4nd:91>=h?<0;6)k6:908?xd1j3;1;7>50z&:f?363Ai97E7k;%g:>=b<,=31=8:4$5696`=imk09<6*65;7e?l5>290/i44m;og;>5==921b?o4?:%g:>g=im10976g5<#m00i7ck7:598m6c=83.n57l4nd:91>=h?<0;6)k6:908?xd1k3;1;7>50z&:f?363Ai97E7k;%g:>=b<,=31=8:4$5696`=imk09=6*65;7e?l5>290/i44m;og;>5==921b?o4?:%g:>g=im10976g5<#m00i7ck7:598m6c=83.n57l4nd:91>=h?<0;6)k6:908?xd1l3;1:7>50z&:f?373Ai97E7k;%g:>=b<,=31=8:4$5696a=imk09>6*65;7e?l5>290/i44m;og;>5==921b?o4?:%g:>g=im10976g5<#m00i7ck7:598k23=83.n576=;:a27<62<0;6=u+9c87b>Nd:2B2h6*j9;:g?!2>28??7):;:3a8j`d=::1/584:f:k0=?6=,l31n6`j8;28?l5f290/i44m;og;>4==:21b?n4?:%g:>g=im10876a85;29 `?=0;10qo8<:084>5<7s-3i68?4Hb08L750;&f=?d!c>2k1ei54>;:k0f?6=,l31n6`j8;08?l5d290/i44m;og;>6==<21b?h4?:%g:>g=im10>76a85;29 `?=0;10qo8;:084>5<7s-3i68?4Hb08L750;&f=?d!c>2k1ei54>;:k0f?6=,l31n6`j8;08?l5d290/i44m;og;>6==<21b?h4?:%g:>g=im10>76a85;29 `?=0;10qojk:081>5<7s-3i6>h4Hb08L26<;;;oga>70<,0?1555f3983>!c>2=:07b9::18'a<16<,=31=8:4nd`962=#1<0246g<8;29 `?=<910c:;50;&f=?>532wihl4>:383>5}#1k08j6Fl2:J:`>"b13i0D984$55905=#<00:995aec81<>">=3337d=7:18'a<<3821d;84?:%g:>=4<3tho57?52;294~">j39m7Em=;I;g?!c>2j1C8;5+46874>"313;>86`jb;0:?!?22020e>650;&f=?2732e<97>5$d;9<7=28??7ckm:3c8 <3=111b?54?:%g:>16<3f=>6=4+e88;6>=zjm=1=7<50;2x =7):8:528 1?=9<>0bhl52c9'=0<>02c847>5$d;905=?1<7*j9;:1?>{el?0:6?4?:1y'=g<4n2Bh>6F6d:&f=?e<@=<0(995419'0<<6==1eio4=c:&:1???3`936=4+e8874>=h?<0;6)k6:908?xdc=3;1>7>50z&:f?5a3Ai97E7k;%g:>f=O<>i0=3:1(h758398ygb328096=4?{%;a>6`<@j80D4j4$d;9g>N3>2.?;7:?;%6:>4333goi6?k4$879===n;10;6)k6:528?j12290/i4472:9~fa5=9381<7>t$8`97c=Ok;1C5i5+e88`?M213-><69>4$5;9502k5+948:<>o403:1(h754198k23=83.n576=;:a`7<62;0;6=u+9c80b>Nd:2B2h6*j9;a8L10<,==18=5+488211=imk08<6*65;;;?l5?290/i44;0:9l30<72-o265<4;|`g5?7=:3:10?<6*;9;360>hbj39:7)7::8:8m6>=83.n57:?;:m41?6=,l314?54}cae>4<5290;w)7m:2d8Lf4<@0n0(h75c:J72>"3?3>;7):6:077?kce2:80(4;5999j7=<72-o269>4;n56>5<#m003>65rbbg95?4=83:p(4l53g9Kg7=O1m1/i44l;I65?!202=:0(9751468j`d=;:1/58468:k07<729q/5o4N>l2.n57m4H548 11=<91/844>559mag<4<2.29777;h1;>5<#m00?<65`7483>!c>21807pllc;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?523-3>6464i2:94?"b13>;76a85;29 `?=0;10qomm:081>5<7s-3i6>h4Hb08L26<;;;oga>60<,0?1555f3983>!c>2=:07b9::18'a<16<,=31=8:4nd`972=#1<0246g<8;29 `?=<910c:;50;&f=?>532wio44>:383>5}#1k08j6Fl2:J:`>"b13i0D984$55905=#<00:995aec80<>">=3337d=7:18'a<<3821d;84?:%g:>=4<3thh47?52;294~">j39m7Em=;I;g?!c>2j1C8;5+46874>"313;>86`jb;1:?!?22020e>650;&f=?2732e<97>5$d;9<7=28??7ckm:2c8 <3=111b?54?:%g:>16<3f=>6=4+e88;6>=zjj<1=7<50;2x =7):8:528 1?=9<>0bhl53c9'=0<>02c847>5$d;905=?1<7*j9;:1?>{em=0:6?4?:1y'=g<4n2Bh>6F6d:&f=?e<@=<0(995419'0<<6==1eio4=h?<0;6)k6:908?xdb;3;1>7>50z&:f?5a3Ai97E7k;%g:>f=O<>i0=3:1(h758398ygc528096=4?{%;a>6`<@j80D4j4$d;9g>N3>2.?;7:?;%6:>4333goi6>k4$879===n;10;6)k6:528?j12290/i4472:9~f`7=9381<7>t$8`97c=Ok;1C5i5+e88`?M213-><69>4$5;9502o403:1(h754198k23=83.n576=;:aa5<62;0;6=u+9c80b>Nd:2B2h6*j9;a8L10<,==18=5+488211=imk0?<6*65;;;?l5?290/i44;0:9l30<72-o265<4;|`gb?7=:3:10?<6*;9;360>hbj3>:7)7::8:8m6>=83.n57:?;:m41?6=,l314?54}cff>4<5290;w)7m:2d8Lf4<@0n0(h75c:J72>"3?3>;7):6:077?kce2=80(4;5999j7=<72-o269>4;n56>5<#m003>65rbe`95?4=83:p(4l53g9Kg7=O1m1/i44l;I65?!202=:0(9751468j`d=<:1/58468:k07<729q/5o4N>l2.n57m4H548 11=<91/844>559mag<3<2.29777;h1;>5<#m00?<65`7483>!c>21807pll5;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?223-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=a;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?213-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=9;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?203-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=7;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?2?3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=6;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?2>3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=5;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?2f3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=4;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?2e3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=3;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?2d3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=2;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?2c3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=1;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?2b3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=0;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?2a3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?>f;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?373-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?>e;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?363-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?>c;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?353-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?>b;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?343-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?>a;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?333-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?>9;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?323-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?>8;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?313-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?>7;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?303-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?>6;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?3?3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?>5;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?3>3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?>4;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?3f3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?>3;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?3e3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?<1;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?3d3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?<0;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?3c3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=f;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?3b3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=e;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?3a3-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=d;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?073-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=c;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?063-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=b;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?053-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?=8;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?043-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?>d;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?033-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?>2;396?6=8r.2n7=i;Ia1?M?c3-o26n5G479'02<382.?57?:4:lff?023-3>6464i2:94?"b13>;76a85;29 `?=0;10qo?;e;396?6=8r.2n79i;Ia1?M?c3-o26n5G479'026464i2:94?"b13>;76a85;29 `?=0;10qo?:0;396?6=8r.2n79i;Ia1?M?c3-o26n5G479'026464i2:94?"b13>;76a85;29 `?=0;10qo?;Ia1?M?c3-o265j4$5;9502<,=>1?6`jb;4;?!?228997d=6:18'a<o4k3:1(h75b:lfk50;&f=?d!c>21807pl95;393?6=8r.2n7;>;Ia1?M?c3-o265j4$5;9502<,=>1>:5aec85=>">=3?m7d=6:18'a<o4k3:1(h75b:lfk50;&f=?d!c>21807plm9;395?6=8r.n5769;I;g?M243-><69>4nd`92d=n0?0;6)k6:948?xde?3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07plm5;395?6=8r.n5769;I;g?M243-><69>4nd`92f=n0?0;6)k6:948?xde<3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07plm3;395?6=8r.n5769;I;g?M243-><69>4nd`92`=n0?0;6)k6:948?xde:3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07plm1;395?6=8r.n5769;I;g?M243-><69>4nd`935=n0?0;6)k6:948?xde83;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07plnf;395?6=8r.n5769;I;g?M243-><69>4nd`937=n0?0;6)k6:948?xdfm3;1=7>50z&f=?>13A3o7E:<;%64>165f8783>!c>21<07plnd;395?6=8r.n5769;I;g?M243-><69>4nd`931=n0?0;6)k6:948?xdfk3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07plna;395?6=8r.n5769;I;g?M243-><69>4nd`933=n0?0;6)k6:948?xdf13;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07pln8;395?6=8r.n5769;I;g?M243-><69>4nd`93==n0?0;6)k6:948?xdf?3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07pln6;395?6=8r.n5769;I;g?M243-><69>4nd`93d=n0?0;6)k6:948?xdf=3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07pln4;395?6=8r.n5769;I;g?M243-><69>4nd`93f=n0?0;6)k6:948?xdf;3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07pln2;395?6=8r.n5769;I;g?M243-><69>4nd`93`=n0?0;6)k6:948?xdf93;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07pll0;395?6=8r.n5769;I;g?M243-><69>4nd`9<5=n0?0;6)k6:948?xden3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07plme;395?6=8r.n5769;I;g?M243-><69>4nd`9<7=n0?0;6)k6:948?xdel3;1=7>50z&f=?>13A3o7E:<;%64>165f8783>!c>21<07plmc;395?6=8r.n5769;I;g?M243-><69>4nd`9<1=n0?0;6)k6:948?xdej3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07plma;395?6=8r.n5769;I;g?M243-><69>4nd`9<3=n0?0;6)k6:948?xde>3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07plnb;395?6=8r.n5769;I;g?M243-><69>4nd`9<==n0?0;6)k6:948?xdf83;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07pl>0882>4<729q/i4476:J:`>N3;2.?;7:?;oga>=g{e99=1=7?50;2x `?=0?1C5i5G429'02<382dnn76m;h:5>5<#m003:65rb026>4<6290;w)k6:948L5$d;9<3=N>l2B??6*;7;63?kce21o0e5850;&f=?>132wi==<51;394?6|,l314;5G9e9K06=#<>0?<6`jb;:e?l>1290/i4476:9~f466280:6=4?{%g:>=0<@0n0D9=4$55905=imk02<6g76;29 `?=0?10qo??0;395?6=8r.n5769;I;g?M243-><69>4nd`9=4=n0?0;6)k6:948?xdan3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07plie;395?6=8r.n5769;I;g?M243-><69>4nd`9=6=n0?0;6)k6:948?xdal3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07plic;395?6=8r.n5769;I;g?M243-><69>4nd`9=0=n0?0;6)k6:948?xdai3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07pli9;395?6=8r.n5769;I;g?M243-><69>4nd`9=2=n0?0;6)k6:948?xda03;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07pli7;395?6=8r.n5769;I;g?M243-><69>4nd`9=<=n0?0;6)k6:948?xda>3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07pli5;395?6=8r.n5769;I;g?M243-><69>4nd`9=g=n0?0;6)k6:948?xda<3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07pli3;395?6=8r.n5769;I;g?M243-><69>4nd`9=a=n0?0;6)k6:948?xda:3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07pli1;395?6=8r.n5769;I;g?M243-><69>4nd`9=c=n0?0;6)k6:948?xd6990:6<4?:1y'a<2B2h6F;3:&73?273goi6l>4i9494?"b132=76sm11d95?7=83:p(h75879K=a=O<:1/8:4;0:lff?g63`2=6=4+e88;2>=zj8:n6<4>:183!c>21<0D4j4H518 11=<91eio4n2:k;2?6=,l314;54}c33`?7=93:187):8:528j`d=i:1b4;4?:%g:>=0<3th::083>5}#m003:6F6d:J77>"3?3>;7ckm:`68m=0=83.n5769;:a55d=93;1<7>t$d;9<3=O1m1C8>5+46874>hbj3k>7d69:18'a<21vn<>n:082>5<7s-o26584H8f8L15<,==18=5aec8b2>o?>3:1(h758798yg77>3;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07plib;395?6=8r.n5769;I;g?M243-><69>4nd`9e==n0?0;6)k6:948?xda83;1=7>50z&f=?>13A3o7E:<;%64>16!c>21<07pl>4e82>4<729q/i4476:J:`>N3;2.?;76=;oga>dg{e9=l1=7?50;2x `?=0?1C5i5G429'025<#m003:65rsef94?5|5mn1;85212d97g=:><08n6s|db83>6}:9=<1?o526780e>;ck3=>7p}ka;297~;6;l0856396;1:?8bf2>?0q~j6:180873=39o708>:2c89a?=?<1vi650;1x94212:301;?5389>`=<0=2wxh:4?:2y>516=;k16:<453z?204<4l27==7=m;236=4<{<370?5e34<:6>k4=e7930=z{m>1<7=t=066>6?<5?;1?i52d5841>{tl:0;6>u215097g=:>h08i63k3;56?xuc:3:1?v3>4280`>;1i39o70j=:678yvb62908w0?;4;1:?8002:k01i?5749~wf`=839p1<:;:2f8931=;j16ok485:pg`<72:q6=9<53e9>22<4j27hi79:;|q``?6=;r7:8>4<9:?53?5b34io6:;4}ra`>5<4s4;?97=m;<44>6b<5ji1;85rsb`94?5|58>:6>l4=7`97a=:kk0<96s|c`83>6}:9=81?4526c80g>;di3=>7p}l9;297~;6<>08n6398;1b?8e>2>?0q~m7:180873>39n7087:2;89f>=?<1vn950;1x93>=;m16o:485:?27c<4l2wxo;4?:2y>517=;016:5453z?20=<4l27=57=n;236?<5l91;85212d97<=z{l81<7=t=063>6b<5?31?n52e3841>{tm80;6>u215597a=:>008n63j1;56?xub83:1?v3>4980=>;1i39j70k?:678yvba2908w0?;0;1:?80f2:301ih5749~wac=839p1<=j:2`893g=;j16hh485:p`g<72:q6=995389>2d<4j27on79:;|qg4?6=;r7:8>434n;6:;4}ra6>5<4s4;?47=m;<4;>6d<5j?1;85rs00b>5<4s4;9m79:;<30b?5d34<>6>m4}r31=?6=;r7:8;434;9579:;|q262<72:q6=>k53`9>35<4i27:>:485:p570=839p1<:::2g8926=;k16=?85749~w4422908w0?;6;1b?8172:i01<<::678yv75<3:1?v3>4180g>;0839o70?=4;56?xu6::0;6>u215397`=:?808563>22841>{t9;81<7=t=067>6e<5>;1?l52130930=z{88:6=4<{<371?5f34=:6>l4=002>2353z?207<4k27=?7=j;<314?123ty:=k4?:2y>515=;l16:>454c=?<1v?0q~?>b;297~;6<;08i639c;1a?876j3=>7p}>1`83>6}:9=91?l526b80a>;69h0<96s|10;94?5|58>>6>m4=7a97a=:9831;85rs03;>5<4s4;?=7=l;<47>6b<58;36:;4}r323?6=;r7:8?42a<4i27:=;485:p543=839p1<:9:2f893b=;016=<;5749~w4732908w08k:2f894732>?01<=i:2g8yv76;3:1?v3>4080e>;1l39h70?>3;56?xu6;80;6>u215:97`=:>;08m63>30841>{t9::1<7=t=7097<=:9::1;85212d97d=z{88m6=4<{<374?5b34<96>m4=00e>2353z?202<4m27=>7=m;<31a?123ty:>i4?:2y>51>=;h16:>457e=?<1v<?0q~?=8;297~;6<>08m6393;1a?87503=>7p}>1e83>6}:9=91?n526b80=>;69m0<96s|10094?5|58>36>m4=7f97g=:9881;85rs06f>5<5s4;?i7=7;<46>23<7>52z?271<0=27:9=4<8:p1f<72jq6o>4<4:?276<5=27:?84=5:?273<5=27:?:4=5:?27=<5=27:?44=5:?27d<5=27:?o4=5:?27f<5=27:?i4=5:?271<5=2wx9i4?:3y>g14i;|q5b?6=:r7<<79:;<46>6?52z?27`<0=27:?>47e:p565=838p1<=<:67894522o1v<:?:18187383=>70?<5;:f?xu6;<0;6?u2127930=:9:<1j6s|15394?4|58>:6:;4=015>=c52z?273<0=27:?:4i;|q207<72;q6=9<5749>561=0l1v<=8:181874?3=>70?<8;d8yv73;3:1>v3>42841>;6;103i6s|12:94?4|58936:;4=01:>c=z{8>?6=4={<370?1234;8576j;|q27<<72;q6=>75749>56g=n2wx=9;50;0x94222>?01<=n:9g8yv74i3:1>v3>3`841>;6;k0m7p}>4783>7}:9=<1;85212`9<`=z{89i6=4={<30f?1234;8o7h4}r373?6=:r7:8:485:?27fm50;0x945d2>?01<=k:g9~w42?2909w0?;8;56?874l32n7p}>3e83>7}:9:n1;8521269b>{t9:l1<7=c<589m6:;4}r7f>5<5s4=:6:;4=6297`=z{?:1<7?08n6s|6083>7}:>?0<96395;1b?xu1>3:1>v397;56?80e2:h0q~88:18180?2>?01;l53d9~w3>=838p1;75749>2g<412wx:44?:3y>2d<0=27=n7=n;|q5e?6=:r7=n79:;<46>6c23<5?>1?o5rs7a94?4|5?n1;8526580a>{t>m0;6?u263841>;1<3927p}92;296~;1;3=>708;:2c8yv042909w08;:678933=;m1vo750;1xZg?<5mn1?552b88;2>{tj>0;6>uQb69>`f<4027i;769;|qa1?6=;rTi963ka;1;?8d221<0q~l;:180[d334n26>64=c69<3=z{k91<7=t^c189a>=;116n>476:pf7<72:qUn?52d680<>;e:32=7p}m1;297~Xe927o:7=7;<`2>=05879~wd`=839pRlh4=e697==:io03:6s|ad83>6}Yil16h>4<8:?ba?>13tyjh7>53z\b`>;c:39370ok:948yvgd2908wSol;6><5hi14;5rs`c94?5|Vhk01nh5399>ed2wxm44?:2y]e<=:kl08463n9;:5?xuf03:1?vPn8:?``?5?34k36584}rc4>5<4sWk<70ml:2:89d1=0?1vl850;1xZd0<5jh1?552a78;2>{ti<0;6>uQa49>gd<4027j9769;|qb0?6=;rTj863l9;1;?8g321<0q~o<:180[g434i36>64=`19<3=z{h81<7=t^`089f1=;116m?476:pe4<72:qUm<52c780<>;f932=7p}l0;297~Xd827n87=7;=06}Yjm16i<4<8:?a`?>13tyio7>53z\ag>;b839370ll:948yvde2908wSlm;6><5kh14;5rscc94?5|Vkk01ik5399>fd2wxn;4?:2y]f3=:lk08463m6;:5?xufj3:1?vPnb:?g4?5?34ki6584}rc3>5<4sWk;70m::2:89d6=0?1v<>6:180[77127:>l4<8:?24<2wx==950;1xZ46034;957=7;<333?>13ty:<84?:2y]553<588<6>64=026>=053z\241=:9;<1?5521169<3=z{8:86=4<{_337>;6:<08463>028;2>{t9981<7=t^021?875<39370??2;:5?xu6880;6>uQ113894442:201<>>:948yv7783:1?vP>019>574=;116==>5879~wc`=839pRkh4=002>6><5ol14;5rsgg94?5|Voo01<64=gf9<3=z{oi1<7=t^ga8947b2:201km5879~wcg=839pRko4=03`>6><5ok14;5rsg;94?5|Vo301<58;j6>64=g:9<3=z{o=1<7=t^g58947>2:201k95879~wc0=839pRk84=03;>6><5o<14;5rsg794?5|Vo?0164=g69<3=z{o91<7=t^g1894722:201k=5879~wc4=839pRk<4=037>6><5o814;5rsg394?5|Vo;012wx==h50;1xZ46a34;8<7=7;<33b?>13ty:64=02f>=053z\24a=:9;o1?55211f9<3=z{8:h6=4<{_33g>;6:m08463>0b8;2>{t99h1<7=t^02a?875k39370??b;:5?xu68h0;6>uQ11c8944e2:201<>n:948yv77>3:1?vP>079>57>=;116==85879~wcd=839pRkl4=03g>6><5oh14;5rsg294?5|Vo:012wx=9h50;1xZ42a34;><79:;<37b?>13twe>4950;3xL{i:0k1<7?tH8f8j`d=;2we>4l50;3xL{i:0o1<7?tH8f8j`d=?2we>4h50;3xL{i:h81<7?tH8f8j`d=j2we>l=50;3xL{i:h<1<7?tH8f8j`d=n2we>l950;3xL5<6sA3o7ckm:038yk4f13:1=vF6d:lff?753td9ml4?:0yK=a=imk0:?6sa2``94?7|@0n0bhl5159~j7gd290:wE7k;oga>4351zJ:`>hbj3;=7p`=ad83>4}O1m1eio4>7:m6d`=83;pD4j4nd`95==zf;h;6=4>{I;g?kce2830qcl2dnn7?n;|l1f7<728qC5i5aec82f>{i:k91<7?tH8f8j`d=9j1vb?l;:182M?c3goi6o950;3xL=5rn3`;>5<6sA3o7ckm:338yk4e13:1=vF6d:lff?453td9nl4?:0yK=a=imk09?6sa2c`94?7|@0n0bhl5259~j7dd290:wE7k;oga>7351zJ:`>hbj38=7p`=bd83>4}O1m1eio4=7:m6g`=83;pD4j4nd`96==zf;i;6=4>{I;g?kce2;30qcl2dnn7{i:j91<7?tH8f8j`d=:j1vb?m;:182M?c3goi6?j4}o0`1?6=9rB2h6`jb;0f?xh5k?0;6n950;3xL5<6sA3o7ckm:238yk4d13:1=vF6d:lff?553td9ol4?:0yK=a=imk08?6sa2b`94?7|@0n0bhl5359~j7ed290:wE7k;oga>6351zJ:`>hbj39=7p`=cd83>4}O1m1eio4<7:m6f`=83;pD4j4nd`97==zf;n;6=4>{I;g?kce2:30qcl2dnn7=n;|l1`7<728qC5i5aec80f>{i:m91<7?tH8f8j`d=;j1vb?j;:182M?c3goi6>j4}o0g1?6=9rB2h6`jb;1f?xh5l?0;6i950;3xL5<6sA3o7ckm:538yk4c13:1=vF6d:lff?253g3<6=5rn3fb>5<6sA3o7ckm:518j<1=92we>il50;3xL5<6sA3o7ckm:578yk4cl3:1=vF6d:lff?213td9hh4?:0yK=a=imk0?;6sa2ed94?7|@0n0bhl5499~j7c7290:wE7k;oga>1?51zJ:`>hbj3>j7p`=e383>4}O1m1eio4;b:m6`5=83;pD4j4nd`90f=zf;o?6=4>{I;g?kce2=n0qcl2dnn7:j;|l1a3<728qC5i5aec87b>{i:l=1<7?tH8f8j`d==91vb?k7:182M?c3goi68?4}o0f=?6=9rB2h6`jb;71?xh5mh0;6hl50;3xL5<6sA3o7ckm:478yk4bl3:1=vF6d:lff?313td9ih4?:0yK=a=imk0>;6sa2dd94?7|@0n0bhl5599~j7`7290:wE7k;oga>0?51zJ:`>hbj3?j7p`=f383>4}O1m1eio4:b:m6c5=83;pD4j4nd`91f=zf;l?6=4>{I;g?kce2l2dnn7;j;|l1b3<728qC5i5aec86b>{i:o=1<7?tH8f8j`d=>91vb?h7:182M?c3goi6;?4}o0e=?6=9rB2h6`jb;41?xh5nh0;6kl50;3xL5<6sA3o7ckm:778yk4al3:1=vF6d:lff?013td9jh4?:0yK=a=N0?0:w<4rnd`922=zf;lm6=4>{I;g?L>128q:6p`jb;4;?xh4890;64}62tdnn78n;|l047<728qC5i5F878245<6sA3o7D69:0y2>xhbj34}O1m1B4;4>{08~j`d=>m1vb>>::182M?c3@2=6:|lff?0b3td8<;4?:0yK=a=N0?0:w<4rnd`92c=zf::<6=4>{I;g?L>128q:6p`jb;53?xh4810;6290:wE7k;H:5>4}62tdnn79=;|l04d<728qC5i5F878245rn22a>5<6sA3o7D69:0y2>xhbj3=?7p`<0b83>4}O1m1B4;4>{08~j`d=?<1vb>>k:182M?c3@2=6:|lff?113td8{I;g?L>128q:6p`jb;5;?xh4990;64}62tdnn79n;|l057<728qC5i5F878245<6sA3o7D69:0y2>xhbj3=h7p`<1583>4}O1m1B4;4>{08~j`d=?m1vb>?::182M?c3@2=6:|lff?1b3td8=;4?:0yK=a=N0?0:w<4rnd`93c=zf:;<6=4>{I;g?L>128q:6p`jb;:3?xh4910;6290:wE7k;H:5>4}62tdnn76=;|l05d<728qC5i5F878245rn23a>5<6sA3o7D69:0y2>xhbj32?7p`<1b83>4}O1m1B4;4>{08~j`d=0<1vb>?k:182M?c3@2=6:|lff?>13td8=h4?:0yK=a=N0?0:w<4rnd`9<2=zf:;m6=4>{I;g?L>128q:6p`jb;:;?xh4:90;64}62tdnn76n;|l067<728qC5i5F878245<6sA3o7D69:0y2>xhbj32h7p`<2583>4}O1m1B4;4>{08~j`d=0m1vb><::182M?c3@2=6:|lff?>b3td8>;4?:0yK=a=N0?0:w<4rnd`9{I;g?L>128q:6p`jb;;3?xh4:10;6290:wE7k;H:5>4}62tdnn77=;|l06d<728qC5i5F878245rn20a>5<6sA3o7D69:0y2>xhbj33?7p`<2b83>4}O1m1B4;4>{08~j`d=1<1vb>:|lff??13td8>h4?:0yK=a=N0?0:w<4rnd`9=2=zf:8m6=4>{I;g?L>128q:6p`jb;;;?xh4;90;64}62tdnn77n;|l077<728qC5i5F878245<6sA3o7D69:0y2>xhbj33h7p`<3583>4}O1m1B4;4>{08~j`d=1m1vb>=::182M?c3@2=6:|lff??b3td8?;4?:0yK=a=N0?0:w<4rnd`9=c=zf:9<6=4>{I;g?L>128q:6p`jb;c3?xh4;10;6290:wE7k;H:5>4}62tdnn7o=;|l07d<728qC5i5F878245rn21a>5<6sA3o7D69:0y2>xhbj3k?7p`<3b83>4}O1m1B4;4>{08~j`d=i<1vb>=k:182M?c3@2=6:|lff?g13td8?h4?:0yK=a=N0?0:w?4rnd`9e2=zf:9m6=4>{I;g?L>128q96p`jb;c;?x{q\::1<7?51;c:V4328?:6?4>35352=<60j8n7)7i:9:8 =1=9<90D>;4H458L6028?87c=<:`;8j<4=i01eio4?;h`:>5<#0h0i46`79;28?ld0290/4l4m8:l;=?7<3`h>6=4+8`8a<>h?13807dl;:18'5<#0h0i46`79;68?ld5290/4l4m8:l;=?3<3`h:6=4+8`8a<>h?13<07dl?:18'5<#0h0i46`79;:8?lgb290/4l4m8:l;=??<3`ko6=4+8`8a<>h?13k07dol:18'5<#0h0i46`79;a8?lg>290/4l4m8:l;=?b<3`k36=4+8`8a<>h?13o07do8:18'5<#0h0i46`79;33?>of=3:1(5o5b99m<<<6921bm94?:%:b>g>5$9c9f==i000:965fc183>!>f2k20b5751798mg`=83.3m7l7;o::>41<3`hn6=4+8`8a<>h?13;376gmd;29 =g=j11e444>9:9jff<72-2j6o64n9;95d=>28h07dln:18'=nik0;6)6n:c:8j=?=9l10el>50;&;e?d?3g226=n99=1<7*7a;33<>h?13;07d??5;29 =g=9920b5752:9j552=83.3m7??8:l;=?5<3`;;?7>5$9c955>21b==>50;&;e?7702d35794;hde>5<#0h0:<55a888;?>oam3:1(5o511:8j=?=121bji4?:%:b>46?3g226l54iga94?"?i3;;46`79;`8?l`f290/4l4>099m<<5$9c955>!>f28:37c66:d98mc1=83.3m7??8:l;=?`<3`l=6=4+8`824==i000:<65ff483>!>f28:37c66:038?l`3290/4l4>099m<<<6:21bj>4?:%:b>46?3g226<=4;hd1>5<#0h0:<55a88820>=nn80;6)6n:02;?k>>28?07d?>0;29 =g=9920b5751798m46a290/4l4>099m<<<6?21b==k50;&;e?7702d357?7;:k24a<72-2j6<>7;o::>4?<3`;;o7>5$9c955>5<#0h0:<55a8882f>=n99k1<7*7a;33<>h?13;h76g>0783>!>f28:37c66:0f8?l`e290/4l4>099m<<<6m21bj=4?:%:b>46?3g2265;c30a?7==3:120(4;51208L7`l50;9j7f<722e3>7>5;|`276<62=0;6=u+9c86=>">=3;8>6F=f:lff?4b2900c:;50;9~f427280<6=4?{%;a>1b<,:81;:5+948277=O:o1eio4<;h1:>5<>o4k3:17d=k:188m6c=831d4?4?::a563=93>1<7>t$8`91<=#1<0:??5G2g9mag<33`8>6=44ig83>>o?m3:17b9::188yg7393;1;7>50z&:f?2c3-996:94$879564<@;l0bhl55:k0=?6=3`9j6=44i2`94?=n;j0;66g0?<,0?1=><4H3d8j`d=>2c997>5;hd94?=n0l0;66a85;29?xd6<;0:6:4?:1y'=g<3l2.8>798;%;6>4553A8m7ckm:69j7<<722c8m7>5;h1a>5<>o4m3:17b6=:188yg74?3;187>50z&:f?3>3-3>6<==;I0e?kce211b>84?::ke>5<>{e9=91=7950;2x hbj3k0e?;50;9jb?6=3`2n6=44o6794?=zj8>?6<48:183!?e2=n0(><5769'=0<6;;1C>k5aec8a?l5>2900e>o50;9j7g<722c8o7>5;h1g>5<>{e9:31=7:50;2x 339K6c=imk0h7d<::188mc<722c3i7>5;n56>5<j3>o7)==:658 <3=9:80D?h4nd`9`>o413:17d=n:188m6d=831b?n4?::k0`?6=3`9n6=44o9094?=zj89j6<4;:183!?e2<30(4;51208L7`:683>5}#1k0?h6*<2;54?!?228997Ec=n;00;66gm50;9j7a<722c8i7>5;n:1>5<j3?27)7::011?M4a3goi6<>4i3794?=nn3:17d6j:188k23=831vn<:8:084>5<7s-3i69j4$20932=#1<0:??5G2g9mag<692c857>5;h1b>5<>o4l3:17d=j:188k=4=831vn<=l:087>5<7s-3i6874$879564<@;l0bhl5139j60<722cm6=44i9g94?=h?<0;66sm15:95?1=83:p(4l54e9'77<0?2.297?<2:J1b>hbj3;87d=6:188m6g=831b?o4?::k0g?6=3`9o6=44i2g94?=h0;0;66sm12f95?2=83:p(4l5589'=0<6;;1C>k5aec820>o5=3:17dh50;9j<`<722e<97>5;|`271<62=0;6=u+9c86=>">=3;8>6F=f:lff?723`8>6=44ig83>>o?m3:17b9::188yg16280?6=4?{%;a>1b<,:81;o5+9485a>N5n2dnn7?9;h1:>5<>i?:3:17pl80;393?6=8r.2n7:k;%11>2g<,0?1:h5G2g9mag<6?2c857>5;h1b>5<>o4l3:17d=j:188k=4=831vn;?51;594?6|,0h18i5+3384e>">=3?m7E4>>o4j3:17d=l:188m6b=831b?h4?::m;6?6=3th=:7?54;294~">j3>o7)==:6`8 <3==o1C>k5aec82=>o413:17d=n:188m6d=831d4?4?::a22<62>0;6=u+9c87`>"4:3=h7)7::4d8L7`>o4i3:17d=m:188m6e=831b?i4?::k0a?6=3f296=44}c4;>4<1290;w)7m:5f8 64=?m1/584:f:J1b>hbj3;i7d=6:188m6g=831b?o4?::k0g?6=3`9o6=44o9094?=zj?31=7;50;2x 50z&:f?2c3-996:m4$8791c=O:o1eio4>e:k0=?6=3`9j6=44i2`94?=n;j0;66gt$8`90a=#;;0j50;9j7`<722e3>7>5;|`5`?7=>3:1n0(4;55g9K6c=imk09<6g<9;29?l5f2900e>l50;9j7f<722c8h7>5;n:1>5<<57d9'=0<2n2B9j6`jb;02?l5>2900e>o50;9j7g<722c8o7>5;n:1>5<<57b9'=0<2n2B9j6`jb;01?l5>2900e>o50;9j7g<722c8o7>5;h1g>5<>{e>=0:6:4?:1y'=g<3l2.8>79l;%;6>0`<@;l0bhl5229j7<<722c8m7>5;h1a>5<>o4m3:17b6=:188ygbc28096=4?{%;a>6`<,0?1555+46874>N5n2dnn7<;;h1;>5<?1<75rbea95?4=83:p(4l53g9'=0<>02.?;7:?;I0e?kce2;?0e>650;9l30<722wihl4>:383>5}#1k08j6*65;;;?!202=:0D?h4nd`963=n;10;66a85;29?xdc13;1>7>50z&:f?5a3-3>6464$55905=O:o1eio4=7:k06=44}cf;>4<5290;w)7m:2d8 <3=111/8:4;0:J1b>hbj3837d=7:188k23=831vni951;094?6|,0h1?k5+948:<>"3?3>;7E7?>{el?0:6?4?:1y'=g<4n2.29777;%64>16<@;l0bhl52`9j7=<722e<97>5;|`g1?7=:3:15<7s-3i6>h4$879===#<>0?<6F=f:lff?4d3`936=44o6794?=zjm91=7<50;2x =831d;84?::a`7<62;0;6=u+9c80b>">=3337):8:528L7`h5f3983>>i0=3:17plk1;396?6=8r.2n7=i;%;6><><,==18=5G2g9mag<5n2c847>5;n56>5<t$8`97c=#1<0246*;7;63?M4a3goi6>?4i2:94?=h?<0;66smce82>7<729q/5o4<69>4H3d8j`d=;;1b?54?::m41?6=3thho7?52;294~">j39m7)7::8:8 11=<91C>k5aec807>o403:17b9::188ygee28096=4?{%;a>6`<,0?1555+46874>N5n2dnn7=;;h1;>5<?1<75rbbc95?4=83:p(4l53g9'=0<>02.?;7:?;I0e?kce2:?0e>650;9l30<722wio44>:383>5}#1k08j6*65;;;?!202=:0D?h4nd`973=n;10;66a85;29?xdd03;1>7>50z&:f?5a3-3>6464$55905=O:o1eio4<7:k06=44}ca4>4<5290;w)7m:2d8 <3=111/8:4;0:J1b>hbj3937d=7:188k23=831vnn851;094?6|,0h1?k5+948:<>"3?3>;7E6?>{em=0:6?4?:1y'=g<4n2.29777;%64>16<@;l0bhl53`9j7=<722e<97>5;|`f7?7=:3:15<7s-3i6>h4$879===#<>0?<6F=f:lff?5d3`936=44o6794?=zjl;1=7<50;2x =831d;84?::aa5<62;0;6=u+9c80b>">=3337):8:528L7`>i0=3:17plkf;396?6=8r.2n7=i;%;6><><,==18=5G2g9mag<4n2c847>5;n56>5<t$8`97c=#1<0246*;7;63?M4a3goi69?4i2:94?=h?<0;66smd182>7<729q/5o4<69>4H3d8j`d=<;1b?54?::m41?6=3thh97?52;294~">j39m7)7::8:8 11=<91C>k5aec877>o403:17b9::188yg75i3;1>7>50z&:f?5a3-3>6464$55905=O:o1eio4;4:k06=44}c31=?7=:3:1<><,==18=5G2g9mag<3>2c847>5;n56>5<j39m7)7::8:8 11=<91C>k5aec873>o403:17b9::188yg75=3;1>7>50z&:f?5a3-3>6464$55905=O:o1eio4;8:k06=44}c310?7=:3:1<><,==18=5G2g9mag<3i2c847>5;n56>5<7?52;294~">j39m7)7::8:8 11=<91C>k5aec87f>o403:17b9::188yg7593;1>7>50z&:f?5a3-3>6464$55905=O:o1eio4;c:k06=44}c314?7=:3:1f;396?6=8r.2n7=i;%;6><><,==18=5G2g9mag<3m2c847>5;n56>5<j39m7)7::8:8 11=<91C>k5aec87b>o403:17b9::188yg76k3;1>7>50z&:f?5a3-3>6464$55905=O:o1eio4:0:k06=44}c32f?7=:3:1=6g<8;29?j122900qo?>a;396?6=8r.2n7=i;%;6><><,==18=5G2g9mag<2:2c847>5;n56>5<j39m7)7::8:8 11=<91C>k5aec867>o403:17b9::188yg7603;1>7>50z&:f?5a3-3>6464$55905=O:o1eio4:4:k06=44}c323?7=:3:196g<8;29?j122900qo?>6;396?6=8r.2n7=i;%;6><><,==18=5G2g9mag<2>2c847>5;n56>5<j39m7)7::8:8 11=<91C>k5aec863>o403:17b9::188yg76<3;1>7>50z&:f?5a3-3>6464$55905=O:o1eio4:8:k06=44}c327?7=:3:156g<8;29?j122900qo?<1;396?6=8r.2n7=i;%;6><><,==18=5G2g9mag<2i2c847>5;n56>5<j39m7)7::8:8 11=<91C>k5aec86f>o403:17b9::188yg75n3;1>7>50z&:f?5a3-3>6464$55905=O:o1eio4:c:k06=44}c31a?7=:3:1h6g<8;29?j122900qo?=d;396?6=8r.2n7=i;%;6><><,==18=5G2g9mag<2m2c847>5;n56>5<j39m7)7::8:8 11=<91C>k5aec86b>o403:17b9::188yg75j3;1>7>50z&:f?5a3-3>6464$55905=O:o1eio490:k06=44}c31d;396?6=8r.2n7=i;%;6><><,==18=5G2g9mag<1:2c847>5;n56>5<7?52;294~">j39m7)7::8:8 11=<91C>k5aec857>o403:17b9::188yg73m3;1>7>50z&:f?1a3-3>6464$559<7=O:o1eio494:k06=44}c364?7=:3:120<,0?1=><4H3d8j`d=>?1b?44?::k0e?6=3`9i6=44i2a94?=n;m0;66g52900qo8::084>5<7s-3i69j4$2093<=#1<0>j6F=f:lff?003`926=44i2c94?=n;k0;66gk50;9l<7<722win44>:083>5}#1k0?46*;7;63?M4a3goi6;64o8694?=zjk=1=7?50;2x hbj3<27b7;:188ygd2280:6=4?{%;a>1><,==18=5G2g9mag<1i2e287>5;|`a0?7=93:14<729q/5o4;8:&73?273A8m7ckm:7a8k<2=831vno<51;394?6|,0h1855+46874>N5n2dnn78k;n;7>5<:183!?e2=20(995419K6c=imk0=i6a64;29?xde83;1=7>50z&:f?2?3-><69>4H3d8j`d=>o1d594?::aec<6280;6=u+9c87<>"3?3>;7E261<75rb`g95?7=83:p(4l5499'02<382B9j6`jb;52?j?32900qook:082>5<7s-3i6964$55905=O:o1eio482:m:0?6=3thjo7?51;294~">j3>37):8:528L7`5`9583>>{eih0:6<4?:1y'=g<302.?;7:?;I0e?kce2>>0c4:50;9~fd?=93;1<7>t$8`90==#<>0?<6F=f:lff?123f3?6=44}cc;>4<6290;w)7m:5:8 11=<91C>k5aec842>i><3:17pln7;395?6=8r.2n7:7;%64>16<@;l0bhl5769l=1<722wim;4>:083>5}#1k0?46*;7;63?M4a3goi6:64o8694?=zjh?1=7?50;2x hbj3=27b7;:188ygg3280:6=4?{%;a>1><,==18=5G2g9mag<0i2e287>5;|`b7?7=93:14<729q/5o4;8:&73?273A8m7ckm:6a8k<2=831vnl?51;394?6|,0h1855+46874>N5n2dnn79k;n;7>5<:183!?e2=20(995419K6c=imk050z&:f?2?3-><69>4H3d8j`d=?o1d594?::af`<6280;6=u+9c87<>"3?3>;7E=61<75rbcf95?7=83:p(4l5499'02<382B9j6`jb;:2?j?32900qoll:082>5<7s-3i6964$55905=O:o1eio472:m:0?6=3thin7?51;294~">j3>37):8:528L7`5`9583>>{ejh0:6<4?:1y'=g<302.?;7:?;I0e?kce21>0c4:50;9~fg0=93;1<7>t$8`90==#<>0?<6F=f:lff?>23f3?6=44}cca>4<6290;w)7m:5:8 11=<91C>k5aec8;2>i><3:17pln0;395?6=8r.2n7:7;%64>16<@;l0bhl5869l=1<722wi==751;394?6|,0h1855+46874>N5n2dnn767;n;7>5<j3>37):8:528L7`>{e99?1=7?50;2x hbj32j7b7;:188yg77<3;1=7>50z&:f?2?3-><69>4H3d8j`d=0k1d594?::a555=93;1<7>t$8`90==#<>0?<6F=f:lff?>d3f3?6=44}c336?7=93:116<@;l0bhl58g9l=1<722wijk4>:083>5}#1k0?46*;7;63?M4a3goi64>4o8694?=zjoo1=7?50;2x hbj33:7b7;:188yg`c280:6=4?{%;a>1><,==18=5G2g9mag<>:2e287>5;|`eg?7=93:14<729q/5o4;8:&73?273A8m7ckm:868k<2=831vnk751;394?6|,0h1855+46874>N5n2dnn77:;n;7>5<:183!?e2=20(995419K6c=imk02:6a64;29?xda?3;1=7>50z&:f?2?3-><69>4H3d8j`d=1>1d594?::ab3<6280;6=u+9c87<>"3?3>;7E<>1<75rbg795?7=83:p(4l5499'02<382B9j6`jb;;:?j?32900qoh;:082>5<7s-3i6964$55905=O:o1eio46a:m:0?6=3thm?7?51;294~">j3>37):8:528L7`>{en;0:6<4?:1y'=g<302.?;7:?;I0e?kce20i0c4:50;9~fc7=93;1<7>t$8`90==#<>0?<6F=f:lff??c3f3?6=44}c324?7=93:116<@;l0bhl5a19l=1<722wi==j51;394?6|,0h1855+46874>N5n2dnn7o>;n;7>5<j3>37):8:528L7`>{e99h1=7?50;2x hbj3k87b7;:188yg77i3;1=7>50z&:f?2?3-><69>4H3d8j`d=i=1d594?::a550=93;1<7>t$8`90==#<>0?<6F=f:lff?g23f3?6=44}cda>4<6290;w)7m:5:8 11=<91C>k5aec8b2>i><3:17pli0;395?6=8r.2n7:7;%64>16<@;l0bhl5a69l=1<722wi=9j51;394?6|,0h14<5+468;6>N5n2dnn7o7;h;0>5<j32:7):8:908L7`>{e::0:6=4?:1yKa2=#1k09>6F6a:J47>hbj3kj7p}ka;297~;6;l0856396;1:?8bf2>?0q~?=7;297~;6;l08m6380;1b?875?3=>7p}ke;297~;6;l08n639a;1`?8bb2>?0q~?=b;297~;6;l08o6393;1`?875j3=>7p}>3d83>7}:9:o14?521219<`=z{73<589>6?;4=015>73<589<6?;4=01;>73<58926?;4=01b>73<589i6?;4=01`>73<589o6?;4=017>73{<307?`52z?276<0=27:?84i;|qgb?6=;r7:8=4<9:?5e?5>34nm6:;4}r31g?6=;r7:8=434;9o79:;|qg3?6=;r7:8=45839>563=0l1v<=::181874=3=>70?<6;d8yve12908w0?;1;1:?80?2:i01n85749~w4742908w0?;1;1b?80c2:i01v3>408;6>;6;?03i6s|12494?4|589=6:;4=014>c=z{jk1<7=t=061>6?<5?h1?n52c`841>{t98=1<7=t=061>6g<5?>1?n52105930=z{m91<7=t=061>6d<5?k1?h52d2841>{t9;:1<7=t=061>6e<5?91?h52132930=z{jo1<7=t=061>6b<5?=1?o52cd841>{t98h1<7=t=061>6c<5?i1?o5210`930=z{8>96=4={<376?>534;8;76j;|q272<72;q6=>95749>56>=n2wxoi4?:2y>515=;016::4515=;h16:n4515=;k16::4<9:?g4?123ty:=i4?:2y>515=;j16:n4<9:?25a<0=2wxh?4?:2y>515=;m16:l4515=;l16:>4v3>39841>;6;00m7p}k1;297~;6<=0856397;1b?8b62>?0q~?>e;297~;6<=08m639c;1b?876m3=>7p}k5;297~;6<=08n6391;1f?8b22>?0q~?=2;297~;6<=08o6381;1b?875:3=>7p}lf;297~;6<=08h6397;1`?8ea2>?0q~?>c;297~;6<=08i639c;1`?876k3=>7p}>4583>7}:9=>14?5212;9<`=z{8926=4={<30=?1234;8m7h4}rf7>5<4s4;?97=6;<42>6b<5m>1;85rs002>5<4s4;?97=n;<52>6d<588:6:;4}ra`>5<4s4;?97=m;<44>6b<5ji1;85rs03:>5<4s4;?97=l;<4`>6b<58;26:;4}rf:>5<4s4;?97=k;<42>6g<5m31;85rs005>5<4s4;?97=j;<53>6d<588=6:;4}r371?6=:r7:88472:?27do50;0x945f2>?01<=m:g9~wa>=839p1<:9:2;8937=;016h5485:p573=839p1<:9:2c8926=;j16=?;5749~wae=839p1<:9:2`8930=;h16hn485:p57?=839p1<:9:2a8926=;016=?75749~w4722908w0?;6;1g?80c2:3013c83>7}:9:h1;85212a9b>{tlk0;6>u215597<=:>h08n63kb;56?xu6:10;6>u215597d=:>:08n63>29841>{tk00;6>u215597g=:>108m63l9;56?xu69?0;6>u215597f=:>m08m63>17841>{tm80;6>u215597a=:>008n63j1;56?xu6:l0;6>u215597`=:>;08n63>2d841>{t9==1<7=4<589h65k4}r30g?6=:r7:?n485:?27a53z?20=<4127=m7=n;2353z?20=<4i27=?7=n;<31`?123tyh97>53z?20=<4j27=47=m;237>53z?20=<4k27=h7=m;<326?123tyn87>53z?20=<4l27=57=n;2353z?20=<4m27=>7=n;<305?123ty:854?:3y>51>=0;16=>j58d9~w45c2909w0?3g8;6>{t9<:1<723<58?;6>64}r7f>5<5s4=:65<4=6297`=z{?l1<7<0856s|6183>7}:>803>6396;1a?xu193:1>v396;:1?8022:k0q~89:18180021801;l53c9~wf1=839p1;653e9>g2<0=27:?k453z?5=?5>34o86:;4=01e>6?=4<5?h1?45rs7;94?4|5?k14?526c80e>{t>h0;6?u26c8;6>;1=39n7p}9b;296~;1k329708;:2`8yv76<3:1?v39d;1g?876<3=>70?v39d;:1?8032:o0q~?<0;297~;1:39270?<0;56?874n39j7p}9d;296~;1:329708;:2;8yv052909w08<:908932=;h1v;=50;0x932=0;16:8470?6><5k81595Qb39~wg7=839p1i85399>f4<><2Ti=6s|b183>6}:l<08463m0;;7?[d73tyjj7>53z?g0?5?34km64:4^`d8yvgb2908w0j<:2:89dc=1=1Umh5rs`f94?5|5m81?552ae8:0>Xfl2wxmn4?:2y>`4<4027jo77;;_c`?xufi3:1?v3lf;1;?8gf20>0Rlo4}rc:>5<4s4in6>64=`;9=1=Yi01vl650;1x9fb=;116m5464:\b<>{ti>0;6>u2cb80<>;f?33?7So8;|qb2?6=;r7hn7=7;<21<7=t=b;97==:i=0286Pn4:pe6<72:q6o54<8:?b7??33Wk87p}n2;297~;d?39370o=:868Zd46><5h;1595Qa09~wf6=839p1h:5399>g5<><2Th<6s|bg83>6}:m:08463mf;;7?[da3tyii7>53z?f6?5?34hn64:4^cg8yvdc2908w0k>:2:89gb=1=1Uni5rsca94?5|5l:1?552bb8:0>Xek2wxno4?:2y>`c<4027in77;;_`a?xuei3:1?v3ke;1;?8df20>0Roo4}r`5>5<4s4ni6>64=c49=1=Yj?1vll50;1x9a6=;116mo464:\bf>{ti90;6>u2c480<>;f833?7So?;|q24<<72:q6=?o5399>55?=1=1U==74}r31e?6=;r7:>l485:?27c<4k27=97=l;|q242<72:q6=?75399>551=1=1U==94}r331?6=;r7:>:4<8:?240<><2T:<85rs027>5<4s4;9:7=7;<330??33W;;86s|11194?5|588>6>64=020><20383>6}:9;>1?5521109=1=Y9980q~??1;297~;6::08463>008:0>X6881v<>?:180875:39370??0;;7?[7782wxjk4?:2y>577=;116jk464:\eb>{tnl0;6>u213297==:nl0286Pie:pba<72:q6=ba<><2Tmh6s|fb83>6}:98o1?552fb8:0>Xak2wxjl4?:2y>54e=;116jl464:\ee>{tn00;6>u210`97==:n00286Pi9:pb=<72:q6=b=<><2Tm46s|f683>6}:9831?552f68:0>Xa?2wxj;4?:2y>54>=;116j;464:\e2>{tn<0;6>u210597==:n<0286Pi5:pb1<72:q6=<85399>b1<><2Tm86s|f283>6}:98?1?552f28:0>Xa;2wxj?4?:2y>542=;116j?464:\e6>{tn80;6>u210197==:n80286Pi1:p546=839p1<=>:2:8947720>0R>5399>55`=1=1U==h4}r33a?6=;r7:>k4<8:?24`<><2T:5<4s4;9i7=7;<33`??33W;;h6s|11a94?5|588o6>64=02`><20c83>6}:9;i1?55211`9=1=Y99h0q~??a;297~;6:k08463>0`8:0>X68h1v<>9:180875039370??6;;7?[77>2wxjo4?:2y>54b=;116jo464:\ef>{tn90;6>u210097==:n90286Pi0:p51c=838p1<:j:2:8933=0;1v<:k:180873m3=>70?;d;;0?[73l2wx=9h50;1x94372>?01<:i:818Z42a3twe::<50;3xj`d=82we::=50;3xj`d=92we:::50;3xj`d=:2we::;50;3xj`d=;2we::850;3xj`d=<2we::950;3xj=d=82dnn7;4}o44{i>>31<7?tnd`93>{i>>k1<7?tnd`9<>{i>>h1<7?tnd`9=>{i>>i1<7?tnd`9e>{i>>n1<7?tnd`9f>{i>>o1<7?tnd`9g>{i>>l1<7?tnd`9`>{i>1:1<7?tnd`9a>{i>1;1<7?tnd`9b>{i>181<7?tnd`955=zf?286=4>{oga>4751zlff?753td=484?:0ymag<6;2we:5850;3xj`d=9=1vb;68:182kce28?0qc878;295~hbj3;=7p`98883>4}imk0:;6sa69c94?7|flh1=55rn7:a>5<6sgoi6<74}o4;g?6=9rdnn7?n;|l5b:m2=c=83;pbhl51b9~j3>a290:wckm:0f8yk0>83:1=v`jb;3f?xh1180;6{i>081<7?tnd`965=zf?386=4>{oga>7751zlff?453td=584?:0ymag<5;2we:4850;3xj`d=:=1vb;78:182kce2;?0qc868;295~hbj38=7p`99883>4}imk09;6sa68c94?7|flh1>55rn7;a>5<6sgoi6?74}o4:g?6=9rdnn7{i>h81<7?tnd`975=zf?k86=4>{oga>6751zlff?553td=m84?:0ymag<4;2we:l850;3xj`d=;=1vb;o8:182kce2:?0qc8n8;295~hbj39=7p`9a883>4}imk08;6sa6`c94?7|flh1?55rn7ca>5<6sgoi6>74}o4bg?6=9rdnn7=n;|l5ea<728qeio4{i>k81<7?tnd`905=zf?h86=4>{oga>1751zlff?253td=n84?:0ymag<3;2we:o850;3xj`d=<=1vb;l8:182kce2=?0qc8m8;295~hbj3>=7p`9b883>4}imk0?;6sa6cc94?7|flh1855rn7`a>5<6sgoi6974}o4ag?6=9rdnn7:n;|l5fa<728qeio4;b:m2gc=83;pbhl54b9~j3da290:wckm:5f8yk0d83:1=v`jb;6f?xh1k80;6{i>j81<7?tnd`915=zf?i86=4>{oga>0751zlff?353td=o84?:0ymag<2;2we:n850;3xj`d===1vb;m8:182kce24}imk0>;6sa6bc94?7|flh1955rn7aa>5<6sgoi6874}o4`g?6=9rdnn7;n;|l5ga<728qeio4:b:m2fc=83;pbhl55b9~j3ea290:wckm:4f8yk0c83:1=v`jb;7f?xh1l80;6{i>m81<7?tnd`925=zf?n86=4>{oga>3751zlff?053td=h84?:0ymag<1;2we:i850;3xj`d=>=1vb;j8:182kce2??0qc8k8;295~hbj3<=7p`9d883>4}imk0=;6sa6ec94?7|flh1:55rn7fa>5<6sgoi6;74}o4gg?6=9rdnn78n;|l5`a<728qeio49b:m2ac=83;pbhl56b9~j3ba290:wckm:7f8yk0b83:1=v`jb;4f?xh1m80;6{i>l81<7?tnd`935=zf?o86=4>{oga>2751zlff?153td=i84?:0ymag<0;2we:h850;3xj`d=?=1vb;k8:182kce2>?0qc8j8;295~hbj3==7p`9e883>4}imk0<;6sa6dc94?7|flh1;55rn7ga>5<6sgoi6:74}o4fg?6=9rdnn79n;|l5aa<728qeio48b:m2`c=83;pbhl57b9~j3ca290:wckm:6f8yk0a83:1=v`jb;5f?xh1n80;6{i>o81<7?tnd`9<5=zf?l86=4>{oga>=751zlff?>53td=j84?:0ymag4}imk03;6sa6gc94?7|flh1455rn7da>5<6sgoi6574}o4eg?6=9rdnn76n;|l5ba<728qeio47b:m2cc=83;pbhl58b9~j3`a290:wckm:9f8yk1783:1=v`jb;:f?xh0880;6{i?981<7?tnd`9=5=zf>:86=4>{oga><751zlff??53td<<84?:0ymag<>;2we;=850;3xj`d=1=1vb:>8:182kce20?0qc9?8;295~hbj33=7p`80883>4}imk02;6sa71c94?7|flh1555rn62a>5<6sgoi6474}o53g?6=9rdnn77n;|l44a<728qeio46b:m35c=83;pbhl59b9~j26a290:wckm:8f8yk1683:1=v`jb;;f?xh0980;6{i?881<7?tnd`9e5=zf>;86=4>{oga>d751zlff?g53td<=84?:0ymag8;295~hbj3k=7p`81883>4}imk0j;6sa70c94?7|flh1m55r}|CDF}0k=08j5<783CDG}firo=6=4?:3876`<2<2wpi;4?:181>15327<3;00>j6ste783>5<52=>:6;94}zg5>5<72;0?8;49c:xa3<7290969:j:668y~c1290;6?4;5284=>{|m?0;6=4=:57a>=72wpi;4?:181>10?21o0qvk9:183>7<3>m02?6ste783>5<52==>64l4}zg5>5<72;0?;l4n0:xa3<72909696=:`:8y~c1290;6?4;868b`>{|m?0;6=4=:5:e>g31?d2j80qvk9:183>7<3i80h;6ste783>5<52=k26nh4}zg5>5<72;0?mh4k4:xa3<7290969l<:e;8y~c1290;6?4;b98ga>{|m?0;6=4=:5a3>`01ec2o90qvk9:183>7<3l<0mn6ste783>5<52=nh6<>=;|yf2?6=83818h<511:8y~c1290;6?4;e`8255=zsl<1<7>52;6e6?7602wpi;4?:181>1`f288;7puj6;294?4==9;1=?94}zg5>5<72;0><:4>2e9~`0=83:1>7;?f;301>{|m?0;6=4=:434>45c3tqn:7>50;0914g=9=:0qvk9:183>7<29m0:8>5r{d494?6=:3?9<7?;6:xa3<7290968<<:06:?x}b>3:1<7<5534951e>6ste783>5<52<8m6<;:;|yf2?6=83819><514:8y~c1290;6?4:34821g=zsl<1<7>52;7005e28<:7puj6;294?4==:o1=;:4}zg5>5<72;0>8<4>669~`0=83:1>7;;4;35e>{|m?0;6=4=:464>40c3tqn:7>50;0911g=9>:0qvk9:183>7<25r{d494?6=:3?><7?86:xa3<7290968;<:05:?x}b>3:1<7<5544952e6ste783>5<5252;7500e283:7puj6;294?4==?o1=4:4}zg5>5<72;0>;<4>969~`0=83:1>7;84;3:e>{|m?0;6=4=:454>4?c3tqn:7>50;0912g=9h:0qvk9:183>7<2?m0:m>5r{d494?6=:3?3<7?n6:xa3<72909686<:0c:?x}b>3:1<7<559495de6ste783>5<52<2m652;7:0?e28i:7puj6;294?4==0o1=n:4}zg5>5<72;0>m<4>c69~`0=83:1>7;n4;3`e>{|m?0;6=4=:4c4>4ec3tqn:7>50;091dg=9m:0qvk9:183>7<2im0:h>5r{d494?6=:3?i<7?k6:xa3<7290968l<:0f:?x}b>3:1<7<55c495ae6ste783>5<5252;7`0ee28l:7puj6;294?4==jo1=k:4}zg5>5<72;0>h<4>f69~`0=83:1>7;k4;3ee>{|m?0;6=4=:4f4>4`c3tqn:7>50;091ag=:9:0qvk9:183>7<2lm09<>5r{d494?6=:3?n973:1<7<55dd96431vwh850;296?3a;38:56ste783>5<526??m;|yf2?6=83819k9520f8y~c1290;6?4:f8815c=zsl<1<7>52;7ef?4592wpi;4?:181>0`c2;887puj6;294?4==ol1>?;4}zg5>5<72;0=<<4=269~`0=83:1>78?3;01=>{|m?0;6=4=:726>74e3tqn:7>50;09251=:;n0qvk9:183>7<18009>k5r{d494?6=:3<;n7<<1:xa3<729096;>k:310?x}b>3:1<7<561d96631vwh850;296?06;38856ste783>5<52?;>6?=m;|yf2?6=8381:<9522f8y~c1290;6?4918817c=zsl<1<7>52;42f?4392wpi;4?:181>37c2;>87puj6;294?4=>8l1>9;4}zg5>5<72;0=><4=469~`0=83:1>78=3;07=>{|m?0;6=4=:706>72e3tqn:7>50;09271=:=n0qvk9:183>7<1:0098k5r{d494?6=:3<9n7<:1:xa3<729096;3:1<7<563d96031vwh850;296?04;38>56ste783>5<52?9>6?;m;|yf2?6=8381:>9524f8y~c1290;6?4938811c=zsl<1<7>52;40f?4192wpi;4?:181>35c2;<87puj6;294?4=>:l1>;;4}zg5>5<72;0=8<4=669~`0=83:1>78;3;05=>{|m?0;6=4=:766>70e3tqn:7>50;09211=:?n0qvk9:183>7<1<009:k5r{d494?6=:33:1<7<565d96231vwh850;296?02;38<56ste783>5<52??>6?9m;|yf2?6=8381:89526f8y~c1290;6?4958813c=zsl<1<7>52;46f?4?92wpi;4?:181>33c2;287puj6;294?4=>5;4}zg5>5<72;0=:<4=869~`0=83:1>7893;0;=>{|m?0;6=4=:746>7>e3tqn:7>50;09231=:1n0qvk9:183>7<1>0094k5r{d494?6=:3<=n7<61:xa3<729096;8k:3;0?x}b>3:1<7<567d96<3 + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
+
+
+ + +
+
+ + + + + + + + + + + + + + +
+
+ + + +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+
+
+
+
+
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ + + + + + + + + + + + + + +
+
+ + + + + +
+ + + diff --git a/SpecialCasesCheck_ngdbuild.xrpt b/SpecialCasesCheck_ngdbuild.xrpt new file mode 100644 index 0000000..63a4a8f --- /dev/null +++ b/SpecialCasesCheck_ngdbuild.xrpt @@ -0,0 +1,107 @@ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+
+ +
+ + + + + +
+
+ + + + + + + + + +
+
+ + + + + + + + + +
+
+
+
+ + + + diff --git a/SpecialCasesCheck_pad.csv b/SpecialCasesCheck_pad.csv new file mode 100644 index 0000000..5e08018 --- /dev/null +++ b/SpecialCasesCheck_pad.csv @@ -0,0 +1,256 @@ +#Release 14.7 - par P.20131013 (lin64) +#Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. + +#Sat Aug 24 12:14:30 2019 + +# +## NOTE: This file is designed to be imported into a spreadsheet program +# such as Microsoft Excel for viewing, printing and sorting. The | +# character is used as the data field separator. This file is also designed +# to support parsing. +# +#INPUT FILE: SpecialCasesCheck_map.ncd +#OUTPUT FILE: SpecialCasesCheck_pad.csv +#PART TYPE: xa6slx4 +#SPEED GRADE: -3 +#PACKAGE: csg225 +# +# Pinout by Pin Number: +# +# -----,-----,-----,-----,-----,-----,-----,-----,-----,-----,-----,-----,-----,-----,-----, +Pin Number,Signal Name,Pin Usage,Pin Name,Direction,IO Standard,IO Bank Number,Drive (mA),Slew Rate,Termination,IOB Delay,Voltage,Constraint,IO Register,Signal Integrity, +A1,,,GND,,,,,,,,,,,, +A2,Y<0>,IOB,IO_L1N_VREF_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +A3,Y<2>,IOB,IO_L2N_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +A4,Y<6>,IOB,IO_L4N_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +A5,Y<8>,IOB,IO_L6N_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +A6,Y<10>,IOB,IO_L33N_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +A7,Y<14>,IOB,IO_L35N_GCLK16_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +A8,Y<16>,IOB,IO_L36N_GCLK14_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +A9,Y<18>,IOB,IO_L37N_GCLK12_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +A10,Y<24>,IOB,IO_L62N_VREF_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +A11,Y<26>,IOB,IO_L63N_SCP6_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +A12,isZero,IOB,IO_L66N_SCP0_0,OUTPUT,LVCMOS25*,0,12,SLOW,,,,UNLOCATED,NO,NONE, +A13,Y<30>,IOB,IO_L65N_SCP2_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +A14,,,TCK,,,,,,,,,,,, +A15,,,GND,,,,,,,,,,,, +B1,,,VCCAUX,,,,,,,,2.5,,,, +B2,isNaN,IOB,IO_L1P_HSWAPEN_0,OUTPUT,LVCMOS25*,0,12,SLOW,,,,UNLOCATED,NO,NONE, +B3,Y<1>,IOB,IO_L2P_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +B4,,,VCCO_0,,,0,,,,,2.50,,,, +B5,Y<9>,IOB,IO_L6P_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +B6,,,GND,,,,,,,,,,,, +B7,Y<13>,IOB,IO_L35P_GCLK17_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +B8,,,VCCO_0,,,0,,,,,2.50,,,, +B9,Y<17>,IOB,IO_L37P_GCLK13_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +B10,,,GND,,,,,,,,,,,, +B11,Y<25>,IOB,IO_L63P_SCP7_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +B12,,,VCCO_0,,,0,,,,,2.50,,,, +B13,Y<29>,IOB,IO_L65P_SCP3_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +B14,,IOBM,IO_L1P_1,UNUSED,,1,,,,,,,,, +B15,,IOBS,IO_L1N_VREF_1,UNUSED,,1,,,,,,,,, +C1,X<31>,IOB,IO_L83N_VREF_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +C2,X<30>,IOB,IO_L83P_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +C3,,,GND,,,,,,,,,,,, +C4,Y<5>,IOB,IO_L4P_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +C5,Y<4>,IOB,IO_L3N_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +C6,Y<7>,IOB,IO_L33P_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +C7,,,NC,,,,,,,,,,,, +C8,Y<15>,IOB,IO_L36P_GCLK15_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +C9,Y<20>,IOB,IO_L39N_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +C10,Y<23>,IOB,IO_L62P_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +C11,Y<28>,IOB,IO_L64N_SCP4_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +C12,Y<31>,IOB,IO_L66P_SCP1_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +C13,,,GND,,,,,,,,,,,, +C14,,IOBM,IO_L33P_1,UNUSED,,1,,,,,,,,, +C15,,IOBS,IO_L33N_1,UNUSED,,1,,,,,,,,, +D1,X<29>,IOB,IO_L54N_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +D2,,,VCCO_3,,,3,,,,,any******,,,, +D3,X<28>,IOB,IO_L54P_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +D4,X<26>,IOB,IO_L53P_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +D5,Y<3>,IOB,IO_L3P_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +D6,,,NC,,,,,,,,,,,, +D7,,,NC,,,,,,,,,,,, +D8,Y<12>,IOB,IO_L34N_GCLK18_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +D9,,,VCCO_0,,,0,,,,,2.50,,,, +D10,Y<19>,IOB,IO_L39P_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +D11,Y<27>,IOB,IO_L64P_SCP5_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +D12,,,TDO,,,,,,,,,,,, +D13,,IOBM,IO_L35P_1,UNUSED,,1,,,,,,,,, +D14,,,VCCO_1,,,1,,,,,any******,,,, +D15,,IOBS,IO_L35N_1,UNUSED,,1,,,,,,,,, +E1,X<25>,IOB,IO_L52N_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +E2,X<24>,IOB,IO_L52P_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +E3,X<27>,IOB,IO_L53N_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +E4,,,NC,,,,,,,,,,,, +E5,,,NC,,,,,,,,,,,, +E6,,,NC,,,,,,,,,,,, +E7,Y<11>,IOB,IO_L34P_GCLK19_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +E8,,,NC,,,,,,,,,,,, +E9,Y<22>,IOB,IO_L40N_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +E10,,,TDI,,,,,,,,,,,, +E11,,,GND,,,,,,,,,,,, +E12,,,VCCAUX,,,,,,,,2.5,,,, +E13,,,TMS,,,,,,,,,,,, +E14,,IOBM,IO_L37P_1,UNUSED,,1,,,,,,,,, +E15,,IOBS,IO_L37N_1,UNUSED,,1,,,,,,,,, +F1,X<23>,IOB,IO_L46N_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +F2,,,GND,,,,,,,,,,,, +F3,X<22>,IOB,IO_L46P_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +F4,,,NC,,,,,,,,,,,, +F5,,,NC,,,,,,,,,,,, +F6,,,GND,,,,,,,,,,,, +F7,,,VCCAUX,,,,,,,,2.5,,,, +F8,,,NC,,,,,,,,,,,, +F9,,,VCCINT,,,,,,,,1.2,,,, +F10,Y<21>,IOB,IO_L40P_0,INPUT,LVCMOS25*,0,,,,NONE,,UNLOCATED,NO,NONE, +F11,,,NC,,,,,,,,,,,, +F12,,,NC,,,,,,,,,,,, +F13,,IOBM,IO_L39P_1,UNUSED,,1,,,,,,,,, +F14,,,GND,,,,,,,,,,,, +F15,,IOBS,IO_L39N_1,UNUSED,,1,,,,,,,,, +G1,X<12>,IOB,IO_L44N_GCLK20_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +G2,X<15>,IOB,IO_L44P_GCLK21_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +G3,,,NC,,,,,,,,,,,, +G4,,,VCCO_3,,,3,,,,,any******,,,, +G5,,,NC,,,,,,,,,,,, +G6,,,VCCINT,,,,,,,,1.2,,,, +G7,,,GND,,,,,,,,,,,, +G8,,,VCCINT,,,,,,,,1.2,,,, +G9,,,GND,,,,,,,,,,,, +G10,,,VCCAUX,,,,,,,,2.5,,,, +G11,,,NC,,,,,,,,,,,, +G12,,,NC,,,,,,,,,,,, +G13,,,NC,,,,,,,,,,,, +G14,,IOBM,IO_L41P_GCLK9_IRDY1_1,UNUSED,,1,,,,,,,,, +G15,,IOBS,IO_L41N_GCLK8_1,UNUSED,,1,,,,,,,,, +H1,X<18>,IOB,IO_L42N_GCLK24_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +H2,,,VCCO_3,,,3,,,,,any******,,,, +H3,X<14>,IOB,IO_L42P_GCLK25_TRDY2_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +H4,,,NC,,,,,,,,,,,, +H5,,,NC,,,,,,,,,,,, +H6,,,NC,,,,,,,,,,,, +H7,,,VCCINT,,,,,,,,1.2,,,, +H8,,,GND,,,,,,,,,,,, +H9,,,VCCINT,,,,,,,,1.2,,,, +H10,,,NC,,,,,,,,,,,, +H11,,,NC,,,,,,,,,,,, +H12,,,NC,,,,,,,,,,,, +H13,,IOBM,IO_L42P_GCLK7_1,UNUSED,,1,,,,,,,,, +H14,,,VCCO_1,,,1,,,,,any******,,,, +H15,,IOBS,IO_L42N_GCLK6_TRDY1_1,UNUSED,,1,,,,,,,,, +J1,X<16>,IOB,IO_L41N_GCLK26_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +J2,X<19>,IOB,IO_L41P_GCLK27_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +J3,X<17>,IOB,IO_L43N_GCLK22_IRDY2_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +J4,X<21>,IOB,IO_L45N_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +J5,,,NC,,,,,,,,,,,, +J6,,,VCCAUX,,,,,,,,2.5,,,, +J7,,,GND,,,,,,,,,,,, +J8,,,VCCINT,,,,,,,,1.2,,,, +J9,,,GND,,,,,,,,,,,, +J10,,,VCCINT,,,,,,,,1.2,,,, +J11,,IOBM,IO_L36P_1,UNUSED,,1,,,,,,,,, +J12,,,VCCO_1,,,1,,,,,any******,,,, +J13,,IOBS,IO_L36N_1,UNUSED,,1,,,,,,,,, +J14,,IOBM,IO_L43P_GCLK5_1,UNUSED,,1,,,,,,,,, +J15,,IOBS,IO_L43N_GCLK4_1,UNUSED,,1,,,,,,,,, +K1,X<11>,IOB,IO_L40N_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +K2,,,GND,,,,,,,,,,,, +K3,X<10>,IOB,IO_L40P_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +K4,X<20>,IOB,IO_L43P_GCLK23_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +K5,X<13>,IOB,IO_L45P_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +K6,,,GND,,,,,,,,,,,, +K7,,,VCCINT,,,,,,,,1.2,,,, +K8,,IOBM,IO_L31P_GCLK31_D14_2,UNUSED,,2,,,,,,,,, +K9,,,VCCAUX,,,,,,,,2.5,,,, +K10,,IOBM,IO_L38P_1,UNUSED,,1,,,,,,,,, +K11,,IOBS,IO_L38N_1,UNUSED,,1,,,,,,,,, +K12,,IOBM,IO_L40P_GCLK11_1,UNUSED,,1,,,,,,,,, +K13,,IOBM,IO_L44P_1,UNUSED,,1,,,,,,,,, +K14,,,GND,,,,,,,,,,,, +K15,,IOBS,IO_L44N_1,UNUSED,,1,,,,,,,,, +L1,X<9>,IOB,IO_L39N_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +L2,X<8>,IOB,IO_L39P_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +L3,X<5>,IOB,IO_L1N_VREF_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +L4,,,VCCAUX,,,,,,,,2.5,,,, +L5,,IOBS,IO_L62N_D6_2,UNUSED,,2,,,,,,,,, +L6,,IOBM,IO_L62P_D5_2,UNUSED,,2,,,,,,,,, +L7,,,NC,,,,,,,,,,,, +L8,,IOBS,IO_L31N_GCLK30_D15_2,UNUSED,,2,,,,,,,,, +L9,,IOBM,IO_L14P_D11_2,UNUSED,,2,,,,,,,,, +L10,,,CMPCS_B_2,,,,,,,,,,,, +L11,,,GND,,,,,,,,,,,, +L12,,IOBS,IO_L40N_GCLK10_1,UNUSED,,1,,,,,,,,, +L13,,,SUSPEND,,,,,,,,,,,, +L14,,IOBM,IO_L45P_1,UNUSED,,1,,,,,,,,, +L15,,IOBS,IO_L45N_1,UNUSED,,1,,,,,,,,, +M1,X<1>,IOB,IO_L38N_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +M2,,,VCCO_3,,,3,,,,,any******,,,, +M3,X<0>,IOB,IO_L38P_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +M4,X<4>,IOB,IO_L1P_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +M5,,IOBM,IO_L64P_D8_2,UNUSED,,2,,,,,,,,, +M6,,,NC,,,,,,,,,,,, +M7,,,VCCO_2,,,2,,,,,any******,,,, +M8,,IOBM,IO_L30P_GCLK1_D13_2,UNUSED,,2,,,,,,,,, +M9,,,NC,,,,,,,,,,,, +M10,,IOBS,IO_L14N_D12_2,UNUSED,,2,,,,,,,,, +M11,,IOBM,IO_L12P_D1_MISO2_2,UNUSED,,2,,,,,,,,, +M12,,,VCCAUX,,,,,,,,2.5,,,, +M13,,IOBM,IO_L46P_1,UNUSED,,1,,,,,,,,, +M14,,,VCCO_1,,,1,,,,,any******,,,, +M15,,IOBS,IO_L46N_1,UNUSED,,1,,,,,,,,, +N1,X<7>,IOB,IO_L37N_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +N2,X<6>,IOB,IO_L37P_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +N3,,,GND,,,,,,,,,,,, +N4,,IOBM,IO_L63P_2,UNUSED,,2,,,,,,,,, +N5,,IOBS,IO_L64N_D9_2,UNUSED,,2,,,,,,,,, +N6,,IOBM,IO_L48P_D7_2,UNUSED,,2,,,,,,,,, +N7,,IOBS,IO_L30N_GCLK0_USERCCLK_2,UNUSED,,2,,,,,,,,, +N8,,IOBM,IO_L29P_GCLK3_2,UNUSED,,2,,,,,,,,, +N9,,,NC,,,,,,,,,,,, +N10,,IOBM,IO_L13P_M1_2,UNUSED,,2,,,,,,,,, +N11,,IOBS,IO_L12N_D2_MISO3_2,UNUSED,,2,,,,,,,,, +N12,,IOBM,IO_L1P_CCLK_2,UNUSED,,2,,,,,,,,, +N13,,,GND,,,,,,,,,,,, +N14,,IOBM,IO_L47P_1,UNUSED,,1,,,,,,,,, +N15,,IOBS,IO_L47N_1,UNUSED,,1,,,,,,,,, +P1,X<3>,IOB,IO_L2N_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +P2,X<2>,IOB,IO_L2P_3,INPUT,LVCMOS25*,3,,,,NONE,,UNLOCATED,NO,NONE, +P3,,IOBM,IO_L65P_INIT_B_2,UNUSED,,2,,,,,,,,, +P4,,,VCCO_2,,,2,,,,,any******,,,, +P5,,IOBM,IO_L49P_D3_2,UNUSED,,2,,,,,,,,, +P6,,,GND,,,,,,,,,,,, +P7,,IOBM,IO_L32P_GCLK29_2,UNUSED,,2,,,,,,,,, +P8,,,VCCO_2,,,2,,,,,any******,,,, +P9,,IOBM,IO_L16P_2,UNUSED,,2,,,,,,,,, +P10,,,GND,,,,,,,,,,,, +P11,,IOBM,IO_L3P_D0_DIN_MISO_MISO1_2,UNUSED,,2,,,,,,,,, +P12,,,VCCO_2,,,2,,,,,any******,,,, +P13,,IOBM,IO_L2P_CMPCLK_2,UNUSED,,2,,,,,,,,, +P14,,IOBM,IO_L74P_AWAKE_1,UNUSED,,1,,,,,,,,, +P15,,IOBS,IO_L74N_DOUT_BUSY_1,UNUSED,,1,,,,,,,,, +R1,,,GND,,,,,,,,,,,, +R2,,,PROGRAM_B_2,,,,,,,,,,,, +R3,,IOBS,IO_L65N_CSO_B_2,UNUSED,,2,,,,,,,,, +R4,,IOBS,IO_L63N_2,UNUSED,,2,,,,,,,,, +R5,,IOBS,IO_L49N_D4_2,UNUSED,,2,,,,,,,,, +R6,,IOBS,IO_L48N_RDWR_B_VREF_2,UNUSED,,2,,,,,,,,, +R7,,IOBS,IO_L32N_GCLK28_2,UNUSED,,2,,,,,,,,, +R8,,IOBS,IO_L29N_GCLK2_2,UNUSED,,2,,,,,,,,, +R9,,IOBS,IO_L16N_VREF_2,UNUSED,,2,,,,,,,,, +R10,,IOBS,IO_L13N_D10_2,UNUSED,,2,,,,,,,,, +R11,,IOBS,IO_L3N_MOSI_CSI_B_MISO0_2,UNUSED,,2,,,,,,,,, +R12,,IOBS,IO_L1N_M0_CMPMISO_2,UNUSED,,2,,,,,,,,, +R13,,IOBS,IO_L2N_CMPMOSI_2,UNUSED,,2,,,,,,,,, +R14,,,DONE_2,,,,,,,,,,,, +R15,,,GND,,,,,,,,,,,, + +# -----,-----,-----,-----,-----,-----,-----,-----,-----,-----,-----,-----,-----,-----,-----, +# +#* Default value. +#** This default Pullup/Pulldown value can be overridden in Bitgen. +#****** Special VCCO requirements may apply. Please consult the device +# family datasheet for specific guideline on VCCO requirements. +# +# +# \ No newline at end of file diff --git a/SpecialCasesCheck_pad.txt b/SpecialCasesCheck_pad.txt new file mode 100644 index 0000000..391309e --- /dev/null +++ b/SpecialCasesCheck_pad.txt @@ -0,0 +1,255 @@ +Release 14.7 - par P.20131013 (lin64) +Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. + +Sat Aug 24 12:14:30 2019 + + +INFO: The IO information is provided in three file formats as part of the Place and Route (PAR) process. These formats are: +1. The _pad.txt file (this file) designed to provide information on IO usage in a human readable ASCII text format viewable through common text editors. +2. The _pad.csv file for use with spreadsheet programs such as MS Excel. This file can also be read by PACE to communicate post PAR IO information. +3. The .pad file designed for parsing by customers. It uses the "|" as a data field separator. + +INPUT FILE: SpecialCasesCheck_map.ncd +OUTPUT FILE: SpecialCasesCheck_pad.txt +PART TYPE: xa6slx4 +SPEED GRADE: -3 +PACKAGE: csg225 + +Pinout by Pin Number: + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +|Pin Number|Signal Name|Pin Usage|Pin Name |Direction|IO Standard|IO Bank Number|Drive (mA)|Slew Rate|Termination|IOB Delay|Voltage |Constraint|IO Register|Signal Integrity| ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +|A1 | | |GND | | | | | | | | | | | | +|A2 |Y<0> |IOB |IO_L1N_VREF_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|A3 |Y<2> |IOB |IO_L2N_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|A4 |Y<6> |IOB |IO_L4N_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|A5 |Y<8> |IOB |IO_L6N_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|A6 |Y<10> |IOB |IO_L33N_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|A7 |Y<14> |IOB |IO_L35N_GCLK16_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|A8 |Y<16> |IOB |IO_L36N_GCLK14_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|A9 |Y<18> |IOB |IO_L37N_GCLK12_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|A10 |Y<24> |IOB |IO_L62N_VREF_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|A11 |Y<26> |IOB |IO_L63N_SCP6_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|A12 |isZero |IOB |IO_L66N_SCP0_0 |OUTPUT |LVCMOS25* |0 |12 |SLOW | | | |UNLOCATED |NO |NONE | +|A13 |Y<30> |IOB |IO_L65N_SCP2_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|A14 | | |TCK | | | | | | | | | | | | +|A15 | | |GND | | | | | | | | | | | | +|B1 | | |VCCAUX | | | | | | | |2.5 | | | | +|B2 |isNaN |IOB |IO_L1P_HSWAPEN_0 |OUTPUT |LVCMOS25* |0 |12 |SLOW | | | |UNLOCATED |NO |NONE | +|B3 |Y<1> |IOB |IO_L2P_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|B4 | | |VCCO_0 | | |0 | | | | |2.50 | | | | +|B5 |Y<9> |IOB |IO_L6P_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|B6 | | |GND | | | | | | | | | | | | +|B7 |Y<13> |IOB |IO_L35P_GCLK17_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|B8 | | |VCCO_0 | | |0 | | | | |2.50 | | | | +|B9 |Y<17> |IOB |IO_L37P_GCLK13_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|B10 | | |GND | | | | | | | | | | | | +|B11 |Y<25> |IOB |IO_L63P_SCP7_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|B12 | | |VCCO_0 | | |0 | | | | |2.50 | | | | +|B13 |Y<29> |IOB |IO_L65P_SCP3_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|B14 | |IOBM |IO_L1P_1 |UNUSED | |1 | | | | | | | | | +|B15 | |IOBS |IO_L1N_VREF_1 |UNUSED | |1 | | | | | | | | | +|C1 |X<31> |IOB |IO_L83N_VREF_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|C2 |X<30> |IOB |IO_L83P_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|C3 | | |GND | | | | | | | | | | | | +|C4 |Y<5> |IOB |IO_L4P_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|C5 |Y<4> |IOB |IO_L3N_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|C6 |Y<7> |IOB |IO_L33P_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|C7 | | |NC | | | | | | | | | | | | +|C8 |Y<15> |IOB |IO_L36P_GCLK15_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|C9 |Y<20> |IOB |IO_L39N_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|C10 |Y<23> |IOB |IO_L62P_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|C11 |Y<28> |IOB |IO_L64N_SCP4_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|C12 |Y<31> |IOB |IO_L66P_SCP1_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|C13 | | |GND | | | | | | | | | | | | +|C14 | |IOBM |IO_L33P_1 |UNUSED | |1 | | | | | | | | | +|C15 | |IOBS |IO_L33N_1 |UNUSED | |1 | | | | | | | | | +|D1 |X<29> |IOB |IO_L54N_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|D2 | | |VCCO_3 | | |3 | | | | |any******| | | | +|D3 |X<28> |IOB |IO_L54P_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|D4 |X<26> |IOB |IO_L53P_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|D5 |Y<3> |IOB |IO_L3P_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|D6 | | |NC | | | | | | | | | | | | +|D7 | | |NC | | | | | | | | | | | | +|D8 |Y<12> |IOB |IO_L34N_GCLK18_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|D9 | | |VCCO_0 | | |0 | | | | |2.50 | | | | +|D10 |Y<19> |IOB |IO_L39P_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|D11 |Y<27> |IOB |IO_L64P_SCP5_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|D12 | | |TDO | | | | | | | | | | | | +|D13 | |IOBM |IO_L35P_1 |UNUSED | |1 | | | | | | | | | +|D14 | | |VCCO_1 | | |1 | | | | |any******| | | | +|D15 | |IOBS |IO_L35N_1 |UNUSED | |1 | | | | | | | | | +|E1 |X<25> |IOB |IO_L52N_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|E2 |X<24> |IOB |IO_L52P_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|E3 |X<27> |IOB |IO_L53N_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|E4 | | |NC | | | | | | | | | | | | +|E5 | | |NC | | | | | | | | | | | | +|E6 | | |NC | | | | | | | | | | | | +|E7 |Y<11> |IOB |IO_L34P_GCLK19_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|E8 | | |NC | | | | | | | | | | | | +|E9 |Y<22> |IOB |IO_L40N_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|E10 | | |TDI | | | | | | | | | | | | +|E11 | | |GND | | | | | | | | | | | | +|E12 | | |VCCAUX | | | | | | | |2.5 | | | | +|E13 | | |TMS | | | | | | | | | | | | +|E14 | |IOBM |IO_L37P_1 |UNUSED | |1 | | | | | | | | | +|E15 | |IOBS |IO_L37N_1 |UNUSED | |1 | | | | | | | | | +|F1 |X<23> |IOB |IO_L46N_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|F2 | | |GND | | | | | | | | | | | | +|F3 |X<22> |IOB |IO_L46P_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|F4 | | |NC | | | | | | | | | | | | +|F5 | | |NC | | | | | | | | | | | | +|F6 | | |GND | | | | | | | | | | | | +|F7 | | |VCCAUX | | | | | | | |2.5 | | | | +|F8 | | |NC | | | | | | | | | | | | +|F9 | | |VCCINT | | | | | | | |1.2 | | | | +|F10 |Y<21> |IOB |IO_L40P_0 |INPUT |LVCMOS25* |0 | | | |NONE | |UNLOCATED |NO |NONE | +|F11 | | |NC | | | | | | | | | | | | +|F12 | | |NC | | | | | | | | | | | | +|F13 | |IOBM |IO_L39P_1 |UNUSED | |1 | | | | | | | | | +|F14 | | |GND | | | | | | | | | | | | +|F15 | |IOBS |IO_L39N_1 |UNUSED | |1 | | | | | | | | | +|G1 |X<12> |IOB |IO_L44N_GCLK20_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|G2 |X<15> |IOB |IO_L44P_GCLK21_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|G3 | | |NC | | | | | | | | | | | | +|G4 | | |VCCO_3 | | |3 | | | | |any******| | | | +|G5 | | |NC | | | | | | | | | | | | +|G6 | | |VCCINT | | | | | | | |1.2 | | | | +|G7 | | |GND | | | | | | | | | | | | +|G8 | | |VCCINT | | | | | | | |1.2 | | | | +|G9 | | |GND | | | | | | | | | | | | +|G10 | | |VCCAUX | | | | | | | |2.5 | | | | +|G11 | | |NC | | | | | | | | | | | | +|G12 | | |NC | | | | | | | | | | | | +|G13 | | |NC | | | | | | | | | | | | +|G14 | |IOBM |IO_L41P_GCLK9_IRDY1_1 |UNUSED | |1 | | | | | | | | | +|G15 | |IOBS |IO_L41N_GCLK8_1 |UNUSED | |1 | | | | | | | | | +|H1 |X<18> |IOB |IO_L42N_GCLK24_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|H2 | | |VCCO_3 | | |3 | | | | |any******| | | | +|H3 |X<14> |IOB |IO_L42P_GCLK25_TRDY2_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|H4 | | |NC | | | | | | | | | | | | +|H5 | | |NC | | | | | | | | | | | | +|H6 | | |NC | | | | | | | | | | | | +|H7 | | |VCCINT | | | | | | | |1.2 | | | | +|H8 | | |GND | | | | | | | | | | | | +|H9 | | |VCCINT | | | | | | | |1.2 | | | | +|H10 | | |NC | | | | | | | | | | | | +|H11 | | |NC | | | | | | | | | | | | +|H12 | | |NC | | | | | | | | | | | | +|H13 | |IOBM |IO_L42P_GCLK7_1 |UNUSED | |1 | | | | | | | | | +|H14 | | |VCCO_1 | | |1 | | | | |any******| | | | +|H15 | |IOBS |IO_L42N_GCLK6_TRDY1_1 |UNUSED | |1 | | | | | | | | | +|J1 |X<16> |IOB |IO_L41N_GCLK26_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|J2 |X<19> |IOB |IO_L41P_GCLK27_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|J3 |X<17> |IOB |IO_L43N_GCLK22_IRDY2_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|J4 |X<21> |IOB |IO_L45N_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|J5 | | |NC | | | | | | | | | | | | +|J6 | | |VCCAUX | | | | | | | |2.5 | | | | +|J7 | | |GND | | | | | | | | | | | | +|J8 | | |VCCINT | | | | | | | |1.2 | | | | +|J9 | | |GND | | | | | | | | | | | | +|J10 | | |VCCINT | | | | | | | |1.2 | | | | +|J11 | |IOBM |IO_L36P_1 |UNUSED | |1 | | | | | | | | | +|J12 | | |VCCO_1 | | |1 | | | | |any******| | | | +|J13 | |IOBS |IO_L36N_1 |UNUSED | |1 | | | | | | | | | +|J14 | |IOBM |IO_L43P_GCLK5_1 |UNUSED | |1 | | | | | | | | | +|J15 | |IOBS |IO_L43N_GCLK4_1 |UNUSED | |1 | | | | | | | | | +|K1 |X<11> |IOB |IO_L40N_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|K2 | | |GND | | | | | | | | | | | | +|K3 |X<10> |IOB |IO_L40P_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|K4 |X<20> |IOB |IO_L43P_GCLK23_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|K5 |X<13> |IOB |IO_L45P_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|K6 | | |GND | | | | | | | | | | | | +|K7 | | |VCCINT | | | | | | | |1.2 | | | | +|K8 | |IOBM |IO_L31P_GCLK31_D14_2 |UNUSED | |2 | | | | | | | | | +|K9 | | |VCCAUX | | | | | | | |2.5 | | | | +|K10 | |IOBM |IO_L38P_1 |UNUSED | |1 | | | | | | | | | +|K11 | |IOBS |IO_L38N_1 |UNUSED | |1 | | | | | | | | | +|K12 | |IOBM |IO_L40P_GCLK11_1 |UNUSED | |1 | | | | | | | | | +|K13 | |IOBM |IO_L44P_1 |UNUSED | |1 | | | | | | | | | +|K14 | | |GND | | | | | | | | | | | | +|K15 | |IOBS |IO_L44N_1 |UNUSED | |1 | | | | | | | | | +|L1 |X<9> |IOB |IO_L39N_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|L2 |X<8> |IOB |IO_L39P_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|L3 |X<5> |IOB |IO_L1N_VREF_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|L4 | | |VCCAUX | | | | | | | |2.5 | | | | +|L5 | |IOBS |IO_L62N_D6_2 |UNUSED | |2 | | | | | | | | | +|L6 | |IOBM |IO_L62P_D5_2 |UNUSED | |2 | | | | | | | | | +|L7 | | |NC | | | | | | | | | | | | +|L8 | |IOBS |IO_L31N_GCLK30_D15_2 |UNUSED | |2 | | | | | | | | | +|L9 | |IOBM |IO_L14P_D11_2 |UNUSED | |2 | | | | | | | | | +|L10 | | |CMPCS_B_2 | | | | | | | | | | | | +|L11 | | |GND | | | | | | | | | | | | +|L12 | |IOBS |IO_L40N_GCLK10_1 |UNUSED | |1 | | | | | | | | | +|L13 | | |SUSPEND | | | | | | | | | | | | +|L14 | |IOBM |IO_L45P_1 |UNUSED | |1 | | | | | | | | | +|L15 | |IOBS |IO_L45N_1 |UNUSED | |1 | | | | | | | | | +|M1 |X<1> |IOB |IO_L38N_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|M2 | | |VCCO_3 | | |3 | | | | |any******| | | | +|M3 |X<0> |IOB |IO_L38P_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|M4 |X<4> |IOB |IO_L1P_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|M5 | |IOBM |IO_L64P_D8_2 |UNUSED | |2 | | | | | | | | | +|M6 | | |NC | | | | | | | | | | | | +|M7 | | |VCCO_2 | | |2 | | | | |any******| | | | +|M8 | |IOBM |IO_L30P_GCLK1_D13_2 |UNUSED | |2 | | | | | | | | | +|M9 | | |NC | | | | | | | | | | | | +|M10 | |IOBS |IO_L14N_D12_2 |UNUSED | |2 | | | | | | | | | +|M11 | |IOBM |IO_L12P_D1_MISO2_2 |UNUSED | |2 | | | | | | | | | +|M12 | | |VCCAUX | | | | | | | |2.5 | | | | +|M13 | |IOBM |IO_L46P_1 |UNUSED | |1 | | | | | | | | | +|M14 | | |VCCO_1 | | |1 | | | | |any******| | | | +|M15 | |IOBS |IO_L46N_1 |UNUSED | |1 | | | | | | | | | +|N1 |X<7> |IOB |IO_L37N_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|N2 |X<6> |IOB |IO_L37P_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|N3 | | |GND | | | | | | | | | | | | +|N4 | |IOBM |IO_L63P_2 |UNUSED | |2 | | | | | | | | | +|N5 | |IOBS |IO_L64N_D9_2 |UNUSED | |2 | | | | | | | | | +|N6 | |IOBM |IO_L48P_D7_2 |UNUSED | |2 | | | | | | | | | +|N7 | |IOBS |IO_L30N_GCLK0_USERCCLK_2 |UNUSED | |2 | | | | | | | | | +|N8 | |IOBM |IO_L29P_GCLK3_2 |UNUSED | |2 | | | | | | | | | +|N9 | | |NC | | | | | | | | | | | | +|N10 | |IOBM |IO_L13P_M1_2 |UNUSED | |2 | | | | | | | | | +|N11 | |IOBS |IO_L12N_D2_MISO3_2 |UNUSED | |2 | | | | | | | | | +|N12 | |IOBM |IO_L1P_CCLK_2 |UNUSED | |2 | | | | | | | | | +|N13 | | |GND | | | | | | | | | | | | +|N14 | |IOBM |IO_L47P_1 |UNUSED | |1 | | | | | | | | | +|N15 | |IOBS |IO_L47N_1 |UNUSED | |1 | | | | | | | | | +|P1 |X<3> |IOB |IO_L2N_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|P2 |X<2> |IOB |IO_L2P_3 |INPUT |LVCMOS25* |3 | | | |NONE | |UNLOCATED |NO |NONE | +|P3 | |IOBM |IO_L65P_INIT_B_2 |UNUSED | |2 | | | | | | | | | +|P4 | | |VCCO_2 | | |2 | | | | |any******| | | | +|P5 | |IOBM |IO_L49P_D3_2 |UNUSED | |2 | | | | | | | | | +|P6 | | |GND | | | | | | | | | | | | +|P7 | |IOBM |IO_L32P_GCLK29_2 |UNUSED | |2 | | | | | | | | | +|P8 | | |VCCO_2 | | |2 | | | | |any******| | | | +|P9 | |IOBM |IO_L16P_2 |UNUSED | |2 | | | | | | | | | +|P10 | | |GND | | | | | | | | | | | | +|P11 | |IOBM |IO_L3P_D0_DIN_MISO_MISO1_2|UNUSED | |2 | | | | | | | | | +|P12 | | |VCCO_2 | | |2 | | | | |any******| | | | +|P13 | |IOBM |IO_L2P_CMPCLK_2 |UNUSED | |2 | | | | | | | | | +|P14 | |IOBM |IO_L74P_AWAKE_1 |UNUSED | |1 | | | | | | | | | +|P15 | |IOBS |IO_L74N_DOUT_BUSY_1 |UNUSED | |1 | | | | | | | | | +|R1 | | |GND | | | | | | | | | | | | +|R2 | | |PROGRAM_B_2 | | | | | | | | | | | | +|R3 | |IOBS |IO_L65N_CSO_B_2 |UNUSED | |2 | | | | | | | | | +|R4 | |IOBS |IO_L63N_2 |UNUSED | |2 | | | | | | | | | +|R5 | |IOBS |IO_L49N_D4_2 |UNUSED | |2 | | | | | | | | | +|R6 | |IOBS |IO_L48N_RDWR_B_VREF_2 |UNUSED | |2 | | | | | | | | | +|R7 | |IOBS |IO_L32N_GCLK28_2 |UNUSED | |2 | | | | | | | | | +|R8 | |IOBS |IO_L29N_GCLK2_2 |UNUSED | |2 | | | | | | | | | +|R9 | |IOBS |IO_L16N_VREF_2 |UNUSED | |2 | | | | | | | | | +|R10 | |IOBS |IO_L13N_D10_2 |UNUSED | |2 | | | | | | | | | +|R11 | |IOBS |IO_L3N_MOSI_CSI_B_MISO0_2 |UNUSED | |2 | | | | | | | | | +|R12 | |IOBS |IO_L1N_M0_CMPMISO_2 |UNUSED | |2 | | | | | | | | | +|R13 | |IOBS |IO_L2N_CMPMOSI_2 |UNUSED | |2 | | | | | | | | | +|R14 | | |DONE_2 | | | | | | | | | | | | +|R15 | | |GND | | | | | | | | | | | | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +* Default value. +** This default Pullup/Pulldown value can be overridden in Bitgen. +****** Special VCCO requirements may apply. Please consult the device + family datasheet for specific guideline on VCCO requirements. + + diff --git a/SpecialCasesCheck_par.xrpt b/SpecialCasesCheck_par.xrpt new file mode 100644 index 0000000..17546a1 --- /dev/null +++ b/SpecialCasesCheck_par.xrpt @@ -0,0 +1,1998 @@ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + + +
+
+ +
+ + + + + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+
+
+ + + +
+
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
+
+
+ + +
+
+ + + + + + + + + + + + + + +
+
+ + + +
+ + + + diff --git a/SpecialCasesCheck_summary.html b/SpecialCasesCheck_summary.html index c575689..1013795 100644 --- a/SpecialCasesCheck_summary.html +++ b/SpecialCasesCheck_summary.html @@ -2,7 +2,7 @@ - + @@ -13,7 +13,7 @@ - + @@ -25,14 +25,14 @@ No Errors - + +All Signals Completely Routed @@ -43,40 +43,267 @@ No Errors - +
SpecialCasesCheck Project Status (08/17/2019 - 17:19:45)
SpecialCasesCheck Project Status (08/24/2019 - 12:14:34)
Project File: IEEE754Adder.xiseModule Name: SpecialCasesCheck Implementation State:SynthesizedPlaced and Routed
Target Device:
Product Version:ISE 14.7
  • Warnings:
1 Warning (1 new)1 Warning (0 new)
Design Goal: Balanced
  • Routing Results:
Design Strategy:
Environment: - + System Settings
  • Final Timing Score:
  0  (Timing Report)
 
- + - - - - - + - + - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Device Utilization Summary (estimated values) [-]
Device Utilization Summary [-]
Logic UtilizationUsedAvailableUtilization
Number of Slice LUTs1524000%Slice Logic UtilizationUsedAvailableUtilizationNote(s)
Number of fully used LUT-FF pairs
Number of Slice Registers 0150%4,8000% 
Number of bonded IOBs
Number of Slice LUTs262,4001% 
    Number used as logic262,4001% 
        Number using O6 output only25   
        Number using O5 output only0   
        Number using O5 and O61   
        Number used as ROM0   
    Number used as Memory01,2000% 
Number of occupied Slices106001% 
Number of MUXCYs used121,2001% 
Number of LUT Flip Flop pairs used26   
    Number with an unused Flip Flop2626100% 
    Number with an unused LUT0260% 
    Number of fully used LUT-FF pairs0260% 
    Number of slice register sites lost
        to control set restrictions
04,8000% 
Number of bonded IOBs 66 13250%50% 
Number of RAMB16BWERs0120% 
Number of RAMB8BWERs0240% 
Number of BUFIO2/BUFIO2_2CLKs0320% 
Number of BUFIO2FB/BUFIO2FB_2CLKs0320% 
Number of BUFG/BUFGMUXs0160% 
Number of DCM/DCM_CLKGENs040% 
Number of ILOGIC2/ISERDES2s02000% 
Number of IODELAY2/IODRP2/IODRP2_MCBs02000% 
Number of OLOGIC2/OSERDES2s02000% 
Number of BSCANs040% 
Number of BUFHs01280% 
Number of BUFPLLs080% 
Number of BUFPLL_MCBs040% 
Number of DSP48A1s080% 
Number of ICAPs010% 
Number of PCILOGICSEs020% 
Number of PLL_ADVs020% 
Number of PMVs010% 
Number of STARTUPs010% 
Number of SUSPEND_SYNCs010% 
Average Fanout of Non-Clock Nets1.78   
- + 
+ + + + + + + + + + + + + + + + + +
Performance Summary [-]
Final Timing Score:0 (Setup: 0, Hold: 0)Pinout Data:Pinout Report
Routing Results: +All Signals Completely RoutedClock Data:Clock Report
Timing Constraints:   
@@ -84,19 +311,23 @@ System Settings Detailed Reports [-] Report NameStatusGenerated ErrorsWarningsInfos -Synthesis ReportCurrentSat Aug 17 17:19:45 201901 Warning (1 new)0 -Translation Report      -Map Report      -Place and Route Report      +Synthesis ReportCurrentSat Aug 24 12:14:14 201901 Warning (0 new)0 +Translation ReportCurrentSat Aug 24 12:14:17 2019000 +Map ReportCurrentSat Aug 24 12:14:25 2019005 Infos (0 new) +Place and Route ReportCurrentSat Aug 24 12:14:30 2019002 Infos (0 new) Power Report      -Post-PAR Static Timing Report      -Bitgen Report      +Post-PAR Static Timing ReportCurrentSat Aug 24 12:14:33 2019004 Infos (0 new) +Bitgen ReportOut of DateSat Aug 24 10:52:30 2019000  
+ + + +
Secondary Reports [-]
Report NameStatusGenerated
ISIM Simulator LogOut of DateSat Aug 24 12:12:57 2019
Post-Synthesis Simulation Model ReportOut of DateSat Aug 24 10:53:07 2019
WebTalk ReportOut of DateSat Aug 24 10:52:31 2019
WebTalk Log FileOut of DateSat Aug 24 10:52:32 2019
-
Date Generated: 08/17/2019 - 17:19:45
+
Date Generated: 08/24/2019 - 12:14:34
\ No newline at end of file diff --git a/SpecialCasesCheck_summary.xml b/SpecialCasesCheck_summary.xml new file mode 100644 index 0000000..49531b0 --- /dev/null +++ b/SpecialCasesCheck_summary.xml @@ -0,0 +1,10 @@ + + + + + + diff --git a/SpecialCasesCheck_usage.xml b/SpecialCasesCheck_usage.xml new file mode 100644 index 0000000..0dce418 --- /dev/null +++ b/SpecialCasesCheck_usage.xml @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SpecialCasesCheck_xst.xrpt b/SpecialCasesCheck_xst.xrpt index 93a37c7..33fd4b2 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,32 +24,40 @@ - + - - - - - +
- - + + - + - - + + + + + + + + + + + + + +
@@ -105,7 +113,16 @@
-
+
+ + + +
+
+ + + +
@@ -117,12 +134,14 @@
- + - + - + + + @@ -132,12 +151,12 @@
- - - - - - + + + + + + diff --git a/SpecialCasesTest.vhd b/SpecialCasesTest.vhd new file mode 100644 index 0000000..95ee5a7 --- /dev/null +++ b/SpecialCasesTest.vhd @@ -0,0 +1,165 @@ +LIBRARY ieee; +USE ieee.std_logic_1164.ALL; + +ENTITY SpecialCasesTest IS +END SpecialCasesTest; + +ARCHITECTURE behavior OF SpecialCasesTest IS + + -- Component Declaration for the Unit Under Test (UUT) + + COMPONENT SpecialCasesCheck + PORT( + X : IN std_logic_vector(31 downto 0); + Y : IN std_logic_vector(31 downto 0); + isNaN : OUT std_logic; + isZero : OUT std_logic + ); + END COMPONENT; + + + --Inputs + signal X : std_logic_vector(31 downto 0) := (others => '0'); + signal Y : std_logic_vector(31 downto 0) := (others => '0'); + + --Outputs + signal isNaN : std_logic; + signal isZero : std_logic; + -- No clocks detected in port list. Replace clock below with + -- appropriate port name + signal clock : std_logic; + + + signal expectedNaN : std_logic; + signal expectedZero : std_logic; + signal error : std_logic; + + constant clock_period : time := 1 ns; + +BEGIN + + -- Instantiate the Unit Under Test (UUT) + uut: SpecialCasesCheck PORT MAP ( + X => X, + Y => Y, + isNaN => isNaN, + isZero => isZero + ); + + -- Clock process definitions + clock_process :process + begin + clock <= '0'; + wait for clock_period/2; + clock <= '1'; + wait for clock_period/2; + end process; + + + test_process :process + begin + X <= "01111111111111111111111111111111"; -- NaN + Y <= "01111111111111111111111111111111"; -- NaN + expectedNaN <= '1'; + expectedZero <= '0'; + wait for clock_period; + X <= "01111111111111111111111111111111"; -- NaN + Y <= "01000101100101100111100101001100"; -- 4815.162342 + expectedNaN <= '1'; + expectedZero <= '0'; + wait for clock_period; + X <= "01000101100101100111100101001100"; -- 4815.162342 + Y <= "01111111111111111111111111111111"; -- NaN + expectedNaN <= '1'; + expectedZero <= '0'; + wait for clock_period; + X <= "01111111111111111111111111111111"; -- NaN + Y <= "01111111100000000000000000000000"; -- +Inf + expectedNaN <= '1'; + expectedZero <= '0'; + wait for clock_period; + X <= "01111111100000000000000000000000"; -- +Inf + Y <= "01111111100000000000000000000000"; -- +Inf + expectedNaN <= '0'; + expectedZero <= '0'; + wait for clock_period; + X <= "01111111100000000000000000000000"; -- +Inf + Y <= "11111111100000000000000000000000"; -- -Inf + expectedNaN <= '1'; + expectedZero <= '1'; + wait for clock_period; + X <= "11111111100000000000000000000000"; -- -Inf + Y <= "01111111100000000000000000000000"; -- +Inf + expectedNaN <= '1'; + expectedZero <= '1'; + wait for clock_period; + X <= "01000101100101100111100101001100"; -- 4815.162342 + Y <= "01111111100000000000000000000000"; -- +Inf + expectedNaN <= '0'; + expectedZero <= '0'; + wait for clock_period; + X <= "11111111100000000000000000000000"; -- -Inf + Y <= "01000101100101100111100101001100"; -- 4815.162342 + expectedNaN <= '0'; + expectedZero <= '0'; + wait for clock_period; + X <= "01000101100101100111100101001100"; -- 4815.162342 + Y <= "01000101100101100111100101001100"; -- 4815.162342 + expectedNaN <= '0'; + expectedZero <= '0'; + wait for clock_period; + X <= "01000101100101100111100101001100"; -- 4815.162342 + Y <= "01111101001101101011100011111101"; -- 1.518e+37 + expectedNaN <= '0'; + expectedZero <= '0'; + wait for clock_period; + X <= "01000101100101100111100101001100"; -- 4815.162342 + Y <= "11000101100101100111100101001100"; -- -4815.162342 + expectedNaN <= '0'; + expectedZero <= '1'; + wait for clock_period; + X <= "11000101100101100111100101001100"; -- -4815.162342 + Y <= "01000101100101100111100101001100"; -- 4815.162342 + expectedNaN <= '0'; + expectedZero <= '1'; + wait for clock_period; + X <= "01111101001101101011100011111101"; -- 1.518e+37 + Y <= "11000101100101100111100101001100"; -- -4815.162342 + expectedNaN <= '0'; + expectedZero <= '0'; + wait for clock_period; + X <= "11000101100101100111100101001100"; -- -4815.162342 + Y <= "11000101100101100111100101001100"; -- -4815.162342 + expectedNaN <= '0'; + expectedZero <= '0'; + wait for clock_period; + X <= "11000101100101100111100101001100"; -- -4815.162342 + Y <= "11111101001101101011100011111101"; -- -1.518e+37 + expectedNaN <= '0'; + expectedZero <= '0'; + wait for clock_period; + X <= "01000101100101100111100101001100"; -- 4815.162342 + Y <= "01111101001101101011100011111101"; -- 1.518e+37 + expectedNaN <= '0'; + expectedZero <= '0'; + wait for clock_period; + X <= "00000000000000000000000000000000"; -- 0 + Y <= "00000000000000000000000000000000"; -- 0 + expectedNaN <= '0'; + expectedZero <= '0'; + wait for clock_period; + X <= "00000000000000000000000000000000"; -- +0 + Y <= "10000000000000000000000000000000"; -- -0 + expectedNaN <= '0'; + expectedZero <= '1'; + wait for clock_period; + X <= "00000000000000000000000000000000"; -- 0 + Y <= "01000101100101100111100101001100"; -- 4815.162342 + expectedNaN <= '0'; + expectedZero <= '0'; + wait for clock_period; + end process; + + error <= (expectedNaN xor isNaN) or (expectedZero xor isZero); + +END; diff --git a/SpecialCasesTest_beh.prj b/SpecialCasesTest_beh.prj new file mode 100644 index 0000000..3b20834 --- /dev/null +++ b/SpecialCasesTest_beh.prj @@ -0,0 +1,6 @@ +vhdl work "TypeCheck.vhd" +vhdl work "EqualCheck.vhd" +vhdl work "ZeroCheck.vhd" +vhdl work "NaNCheck.vhd" +vhdl work "SpecialCasesCheck.vhd" +vhdl work "SpecialCasesTest.vhd" diff --git a/SpecialCasesTest_isim_beh.exe b/SpecialCasesTest_isim_beh.exe new file mode 100755 index 0000000000000000000000000000000000000000..3209988d8d84424c4d5c423f8f5aaa98e3cf50c8 GIT binary patch literal 21792 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 31 ) + port map (X => xAbs, Y => yAbs, isEqual => isSameAbsValue); + + isZero <= (not isSameSign) and isSameAbsValue; +end ZeroCheckArch; + diff --git a/_ngo/netlist.lst b/_ngo/netlist.lst index 1f3721f..c6767c3 100644 --- a/_ngo/netlist.lst +++ b/_ngo/netlist.lst @@ -1,2 +1,2 @@ -/home/Luca/ISE/IEEE754Adder/TypeCheck.ngc 1566052852 +/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.ngc 1566641654 OK diff --git a/_xmsgs/bitgen.xmsgs b/_xmsgs/bitgen.xmsgs new file mode 100644 index 0000000..f84336a --- /dev/null +++ b/_xmsgs/bitgen.xmsgs @@ -0,0 +1,9 @@ + + + + + diff --git a/_xmsgs/map.xmsgs b/_xmsgs/map.xmsgs index 56dac93..9cbaa8f 100644 --- a/_xmsgs/map.xmsgs +++ b/_xmsgs/map.xmsgs @@ -5,23 +5,20 @@ behavior or data corruption. It is strongly advised that users do not edit the contents of this file. --> -Logical network N<31> has no load. - - -The above info message is repeated 29 more times for the following (max. 5 shown): -N<30>, -N<29>, -N<28>, -N<27>, -N<26> -To see the details of these info messages, please use the -detail switch. - - -No environment variables are currently set. - - All of the single ended outputs in this design are using slew rate limited output drivers. The delay on speed critical single ended outputs can be dramatically reduced by designating them as fast outputs. +Initializing temperature to 100.000 Celsius. (default - Range: -40.000 to 100.000 Celsius) + + +Initializing voltage to 1.140 Volts. (default - Range: 1.140 to 1.260 Volts) + + +The Interim Design Summary has been generated in the MAP Report (.mrp). + + +Map created a placed design. + + diff --git a/_xmsgs/netgen.xmsgs b/_xmsgs/netgen.xmsgs new file mode 100644 index 0000000..1e2aa7d --- /dev/null +++ b/_xmsgs/netgen.xmsgs @@ -0,0 +1,12 @@ + + + +The generated VHDL netlist contains Xilinx UNISIM simulation primitives and has to be used with UNISIM library for correct compilation and simulation. + + + + diff --git a/_xmsgs/par.xmsgs b/_xmsgs/par.xmsgs index 97326ca..0100ada 100644 --- a/_xmsgs/par.xmsgs +++ b/_xmsgs/par.xmsgs @@ -8,5 +8,8 @@ No user timing constraints were detected or you have set the option to ignore timing constraints ("par -x"). Place and Route will run in "Performance Evaluation Mode" to automatically improve the performance of all internal clocks in this design. Because there are not defined timing requirements, a timing score will not be reported in the PAR report in this mode. The PAR timing summary will list the performance achieved for each clock. Note: For the fastest runtime, set the effort level to "std". For best performance, set the effort level to "high". +The Clock Report is not displayed in the non timing-driven mode. + + diff --git a/_xmsgs/pn_parser.xmsgs b/_xmsgs/pn_parser.xmsgs index 2aee04b..fff55b1 100644 --- a/_xmsgs/pn_parser.xmsgs +++ b/_xmsgs/pn_parser.xmsgs @@ -8,7 +8,7 @@ -Parsing VHDL file "/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.vhd" into library work +Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/SpecialCasesTest.vhd" into library work diff --git a/_xmsgs/trce.xmsgs b/_xmsgs/trce.xmsgs index d69208e..816245e 100644 --- a/_xmsgs/trce.xmsgs +++ b/_xmsgs/trce.xmsgs @@ -13,9 +13,5 @@ The clock-to-out numbers in this timing report are based on a 50 Ohm transmission line loading model. For the details of this model, and for more information on accounting for different loading conditions, please see the device datasheet. -This architecture does not support a default System Jitter value, please add SYSTEM_JITTER constraint to the UCF to modify the Clock Uncertainty calculation. - -This architecture does not support 'Discrete Jitter' and 'Phase Error' calculations, these terms will be zero in the Clock Uncertainty calculation. Please make appropriate modification to SYSTEM_JITTER to account for the unsupported Discrete Jitter and Phase Error. - diff --git a/_xmsgs/xst.xmsgs b/_xmsgs/xst.xmsgs index 71eed22..cd2fe38 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: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/equalCheck.cmd_log b/equalCheck.cmd_log new file mode 100644 index 0000000..e2f32de --- /dev/null +++ b/equalCheck.cmd_log @@ -0,0 +1,2 @@ +xst -intstyle ise -ifn "/home/Luca/ISE/IEEE754Adder/equalCheck.xst" -ofn "/home/Luca/ISE/IEEE754Adder/equalCheck.syr" +xst -intstyle ise -ifn "/home/Luca/ISE/IEEE754Adder/equalCheck.xst" -ofn "/home/Luca/ISE/IEEE754Adder/equalCheck.syr" diff --git a/equalCheck.lso b/equalCheck.lso new file mode 100644 index 0000000..b8f99f5 --- /dev/null +++ b/equalCheck.lso @@ -0,0 +1 @@ +work diff --git a/equalCheck.ngc b/equalCheck.ngc new file mode 100644 index 0000000..402165e --- /dev/null +++ b/equalCheck.ngc @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.6e +$7cx5>4682<=J;89F7DEBC01N?;;7;HI67DE2C@AN?LM:h57:HLSQQ<_4>0;2h57:HLSQQ<^4>0;255MAGDEBGG?3K_XSD@IO59@HN613JF@=5>9;BNH62623JF@>U64CMI1\4>7=2IGG4>:;BNHE417NBDFY:8GIMAP82;56M@MLKWP@B03JXNMYKK119EBC0ANOLMJKHIFG42?L4OIA]Y_MYK9;MM@O@B03EELENOC4:NVP026@=7:LFPRIUC81D86AMUGa8T+479:;;=>QC4:RBVQg0T1>14:Z?5;2^;?3:586V37?3g?]OKAGR&TIL/0/3#WQSE(9$:,L]LIH48\VRKAK20TR>PICWE<>^X9VCIYK64X^0\MGSA02RT?RGMUG:8\Z2XAK_M46VP5^KAQC>0:1=^4=4?7T2:>59Z83813P6<6=0;;X>4:6=^MZ20UR>PICWE<>_X9VCIYK64Y^0\MGSA02ST?RGMUG:8]Z2XAK_M46WP5^KAQC>3:1dotMxj`RAMUG33?}g1{er?!>#lsf011xFGxk?0LMv91;D96?7|[8318h4=c;30040103;?=h3l3<0(9l5409~W4>=n6?m5126223>=9=;:m6x[3283>4<62;?p_<754d81g?74<8<=47?;10c8 61=:<1/>i499:`55?6=980:97<:{I15?!522?;0V;4={287>x"4:3:0(>?5599j05<72-8m6>h4n3g94>=n;l0;6)6`65f3b83>!4a2:l0b?k53:9j7g<72-8m6>h4n3g90>=n;h0;6)6`!4a2:l0b?k57:9j12<72-8m6884n3g94>=n=<0;6)0065f5283>!4a2<<0b?k53:9j17<72-8m6884n3g90>=n=80;6)00!4a2<<0b?k57:9l27<722h=87>57;294~"4=38<7E:=;I15?!442;1b=n4?::k2`?6=3`;n6=44i0d94?=n:90;66g=1;29?j4f2900qo8::184>5<7s-9>6?94H508L60<,;91=6g>c;29?l7c2900e5;h02>5<;5239K07=O;?1b=o4?::m1e?6=3th?57>52;294~"4=3897E:=;I15?l7e2900c?o50;9~f1>=8381<7>t$27967=O<;1C?;5f1c83>>i5i3:17pl;7;296?6=8r.897<=;I61?M513`;i6=44o3c94?=zj=<1<7<50;2x 63=:;1C8?5G379j5g<722e9m7>5;|`71?6=:3:1?5G439K73=n9k0;66a=a;29?xd3;3:1>7>50z&01?453A>97E=9;h3a>5<;5239K07=O;?1b=o4?::m1e?6=3th>j7>52;294~"4=3897E:=;I15?l7e2900c?o50;9~f0c=8381<7>t$27967=O<;1C?;5f1c83>>i5i3:17pl:d;296?6=8r.897<=;I61?M513`;i6=44o3c94?=zj5;|`6f?6=:3:1?5G439K73=n9k0;66a=a;29?xd213:1>7>50z&01?453A>97E=9;h3a>5<;52c9K07=O;?1b=o4?::m1e?6=3th=;7>56;294~"4=38=7E:=;I15?!442<1b=n4?::k2`?6=3`;n6=44i0d94?=n:90;66a=a;29?xd1>3:1;7>50z&01?403A>97E=9;%00>4g>o6m3:17d?i:188m76=831b><4?::m1e?6=3ty?m7>52z?51?7d34>j6?o4}r6:>5<4s4<>6?>4=5;96d=:>>0:h6s|4983>7}:<109m6397;03?xu3?3:1>v3;7;0b?80128n0q~:9:1818212;k01;85209~w13=838p1;:51e9>00<5i2wx894?:3y>21<6m27?874`<5=91>l5rs7294?4|5??1=i526181e>{t=o0;6>u264815>;2n38j7088:0g8yv3b2909w0;j:3c8931=9o1v8j50;0x90b=:h16:;4>c:p1f<72;q69n4=a:?52?473ty>n7>52z?50?7d34?i6?o4}r7b>5<5s4<0:i63:9;0b?xu103:1>v398;3a?8012;k0q~8<:1818032;k01;851d9~w32=838p1;;52`9>22<6k2wx8=4?:3y]05=:7}Y;l16844>b:p7a<72;qU?i524982f>{t;j0;6?uQ3b9>02<6j2wx?o4?:3y]7g=:7}Y;h16884>b:p7<<72;qU?4524582f>{t;10;6?uQ399>06<6j2wx9:4?:3y]12=:>90:n6s|5483>7}Y=<169k4>b:p11<72;qU99525d82f>{t=:0;6?uQ529>1a<6j2wx9?4?:3y]17=:=j0:n6s|5083>7}Y=8169o4>b:p15<72;qU9=525`82f>{t1<<6j2wx:?4?:3y]27=:>109m6s|2983>7}:>>09m6396;3e?x{i>k0;684}o4g>5<6sA9=7p`9e;295~N4>2we:k4?:0yK73=zf>:1<7?tH248yk16290:wE=9;|l46?6=9rB8:6sa7283>4}O;?1vb::50;3xL606=4>{I15?xh0>3:1=vF<6:m32<728qC?;5rn6:94?7|@:<0qc96:182M513td51zJ02>{i?k0;684}o5g>5<6sA9=7p`8e;295~N4>2we;k4?:0yK73=zf1:1<7?tH248yk>6290:wE=9;|l;6?6=9rB8:6sa8283>4}O;?1vb5:50;3xL606=4>{I15?xh?>3:1=vF<6:m<2<728qC?;5rn9:94?7|@:<0qc66:182M513td3m7>51zJ02>{i0k0;684}o:g>5<6sA9=7p`7e;295~N4>2we4k4?:0yK73=zutwKLNum5;:6ed350=wKLOu?}ABSxFG \ No newline at end of file diff --git a/equalCheck.ngr b/equalCheck.ngr new file mode 100644 index 0000000..364218b --- /dev/null +++ b/equalCheck.ngr @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.6e +$7gx6d=(`fgn#A{la.KPA*OBML=>8Ljkes-fupgkKaohg#xgd0185358b310BB][[:Y>4>58b310BB][[:X>4>586<221CXZ_UU8Qavsk|5=1<3648;Z?3?690221U1950?g8`9Geqg;9<0;255Kauc?50803Mkm1?17:Fbpd:56>1Omyo33?58@drf4=4<7Io{a=7=3>Bf|h6=2:5Kauc?3;16G>2:K16>O4:2C?>6G:2:K56>O0?2FDKDMNLe9N|jtXkfg{Zhm>1:M0?JT?k2Z%>=?<1130[I25]TM:8VQJX\PZN:6\jstnw=>Tb{|f0=06;Sgpqir;9730^h}zlu>1:<=Umzgx1=19:Pfwpjs4=427_k|umv?1;?c9Qavsk|5=1<374Rdqvhq:06k1XEJLZS^KMBJg<[@MTNX]FDY`8WLAXJ\YEM@K;;RKYAc=TG\XHIRHFLDLBI@b<[F_YOHQCIOGMF1=SQYO27[GJW^VZT@3<_@N_D95W<1<7?]:66=1S0?0;;Y>0:1=_4=4?7U2:>59[83813Q6<6=0;;Y>4:4b^t|NGdhhb;;X>3:1=^484?7T2=>59Z86833P6?295V<4<7?\:16?1R0:4?>59Z828f3jef|[kl<14:d=by|kgOeklk69jw@wrieh0e~K~u`n?4;7682rj:~bw4,1.gva5:6K4=:0yPe?332;31=>:>67:95176ird>>7?4n4192>"293>o7p]6:4696<<6;=;=:54>403b?a0?290:67?=9:>::;651532e>pA:o0;6<4>:1yPe?332;31=>:>67:95176i2.?>7<:;%0b>3e:382=~J3n3;p(?o56c9~H06=:r.8j7>4n5290>{#<80=46T7:3y1>6n4;b:l1f?6<3`>j6=4+2b87f>h5j3;07d:6:18'6f<3j2d9n7<4;h6;>5<#:j0?n6`=b;18?l20290/>n4;b:l1f?2<3`>=6=4+2b87f>h5j3?07d:::18'6f<3j2d9n784;h67>5<#:j0?n6`=b;58?l3b290/>n4:d:l1f?6<3`?h6=4+2b86`>h5j3;07d;m:18'6f<2l2d9n7<4;h7b>5<#:j0>h6`=b;18?l3>290/>n4:d:l1f?2<3`?36=4+2b86`>h5j3?07d;8:18'6f<2l2d9n784;h75>5<#:j0>h6`=b;58?j0>2900n?850;3;>5<7sE?;6:u+3185`>"5l3h0(?k5309m7`<53g>8655+3g83?k272o1v(9?5279Y1qdm50;&1g?753g8i6k54i0694?"5k3;97ca=<==nm3:1(?m5139m6g<332cm6=4+2b826>h5j3907d??:18'6f<6:2d9n7<4;h32>5<#:j0:>6`=b;38?l74290/>n4>2:l1f?6<3f996=4+2b80=>h5j3=07b=<:18'6f<412d9n784;n17>5<#:j0856`=b;78?j52290/>n4<9:l1f?2<3f9=6=4+2b80=>h5j3907b=8:18'6f<412d9n7<4;n1;>5<#:j0856`=b;38?j5f290/>n4<9:l1f?6<3th=m7>59;294~"393837E:j;h3g>5<>o583:17d<>:188m74=831b>>4?::k10?6=3f8<6=44}r6`>5<5sW>h70<9:018 6b=m51:p0<<72;qU845227824>"4l3>i7c=l:39~w1>=838pR964=349b>"4l3>i7c=l:29~w11=838pR994=349a>"4l3>i7c=l:59~w10=838pR984=349`>"4l3>i7c=l:49~w13=838pR9;4=3495f=#;m0?n6`4d<,:n18o5a3b84?xu2m3:1>vP:e:?12?7f3-9o68j4n2a94>{t=j0;6?uQ5b9>63<612.8h7;k;o1`>4=z{j55e9m7f<43ty>57>52z\6=>;5>3;=7)=k:4f8j6e=<2wx954?:3y]1==::?0:96*h4k3<0q~;9:181[31348=6n5+3e86`>h4k3=0q~88:1818412:k01;o5259'7a<1>2d8o7>4}r46>5<5s48=6>64=7c966=#;m0=:6`60<5?k1><5+3e852>h4k390q~8=:1818412:?01;o5219'7a<1>2d8o7:4}r42>5<5s48=6>:4=7c95c=#;m0=:6`64<5?k1=i5+3e852>h4k3=0q~86:181[0>34 +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 + +--> +Parameter xsthdpdir set to xst + + +Total REAL time to Xst completion: 0.00 secs +Total CPU time to Xst completion: 0.05 secs + +--> +Reading design: equalCheck.prj + +TABLE OF CONTENTS + 1) Synthesis Options Summary + 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 + + +========================================================================= +* Synthesis Options Summary * +========================================================================= +---- Source Parameters +Input File Name : "equalCheck.prj" +Ignore Synthesis Constraint File : NO + +---- Target Parameters +Output File Name : "equalCheck" +Output Format : NGC +Target Device : xa6slx4-3-csg225 + +---- Source Options +Top Module Name : equalCheck +Automatic FSM Extraction : YES +FSM Encoding Algorithm : Auto +Safe Implementation : No +FSM Style : LUT +RAM Extraction : Yes +RAM Style : Auto +ROM Extraction : Yes +Shift Register Extraction : YES +ROM Style : Auto +Resource Sharing : YES +Asynchronous To Synchronous : NO +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 : 100000 +Add Generic Clock Buffer(BUFG) : 32 +Register Duplication : YES +Optimize Instantiated Primitives : NO +Use Clock Enable : Yes +Use Synchronous Set : Yes +Use Synchronous Reset : Yes +Pack IO Registers into IOBs : Auto +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 +Global Optimization : AllClockNets +Read Cores : YES +Write Timing Constraints : NO +Cross Clock Analysis : NO +Hierarchy Separator : / +Bus Delimiter : <> +Case Specifier : Maintain +Slice Utilization Ratio : 100 +BRAM Utilization Ratio : 100 +DSP48 Utilization Ratio : 100 +Auto BRAM Packing : NO +Slice Utilization Ratio Delta : 5 + +========================================================================= + + +========================================================================= +* HDL Parsing * +========================================================================= +Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/equalCheck.vhd" into library work +Parsing entity . +Parsing architecture of entity . + +========================================================================= +* HDL Elaboration * +========================================================================= + +Elaborating entity (architecture ) with generics from library . + +========================================================================= +* HDL Synthesis * +========================================================================= + +Synthesizing Unit . + Related source file is "/home/Luca/ISE/IEEE754Adder/equalCheck.vhd". + BITCOUNT = 8 + Summary: +Unit synthesized. + +========================================================================= +HDL Synthesis Report + +Macro Statistics +# Xors : 1 + 8-bit xor2 : 1 + +========================================================================= + +========================================================================= +* Advanced HDL Synthesis * +========================================================================= + + +========================================================================= +Advanced HDL Synthesis Report + +Macro Statistics +# Xors : 1 + 8-bit xor2 : 1 + +========================================================================= + +========================================================================= +* Low Level Synthesis * +========================================================================= + +Optimizing unit ... + +Mapping all equations... +Building and optimizing final netlist ... +Found area constraint ratio of 100 (+ 5) on block equalCheck, actual ratio is 0. + +Final Macro Processing ... + +========================================================================= +Final Register Report + +Found no macro +========================================================================= + +========================================================================= +* Partition Report * +========================================================================= + +Partition Implementation Status +------------------------------- + + No Partitions were found in this design. + +------------------------------- + +========================================================================= +* Design Summary * +========================================================================= + +Top Level Output File Name : equalCheck.ngc + +Primitive and Black Box Usage: +------------------------------ +# BELS : 4 +# LUT5 : 1 +# LUT6 : 3 +# IO Buffers : 17 +# IBUF : 16 +# OBUF : 1 + +Device utilization summary: +--------------------------- + +Selected Device : xa6slx4csg225-3 + + +Slice Logic Utilization: + Number of Slice LUTs: 4 out of 2400 0% + Number used as Logic: 4 out of 2400 0% + +Slice Logic Distribution: + Number of LUT Flip Flop pairs used: 4 + Number with an unused Flip Flop: 4 out of 4 100% + Number with an unused LUT: 0 out of 4 0% + Number of fully used LUT-FF pairs: 0 out of 4 0% + Number of unique control sets: 0 + +IO Utilization: + Number of IOs: 17 + Number of bonded IOBs: 17 out of 132 12% + +Specific Feature Utilization: + +--------------------------- +Partition Resource Summary: +--------------------------- + + No Partitions were found in this design. + +--------------------------- + + +========================================================================= +Timing Report + +NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE. + FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT + GENERATED AFTER PLACE-and-ROUTE. + +Clock Information: +------------------ +No clock signals found in this design + +Asynchronous Control Signals Information: +---------------------------------------- +No asynchronous control signals found in this design + +Timing Summary: +--------------- +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: 7.658ns + +Timing Details: +--------------- +All values displayed in nanoseconds (ns) + +========================================================================= +Timing constraint: Default path analysis + Total number of paths / destination ports: 20 / 1 +------------------------------------------------------------------------- +Delay: 7.658ns (Levels of Logic = 5) + Source: X<7> (PAD) + Destination: isEqual (PAD) + + Data Path: X<7> to isEqual + Gate Net + Cell:in->out fanout Delay Delay Logical Name (Net Name) + ---------------------------------------- ------------ + IBUF:I->O 1 1.222 0.944 X_7_IBUF (X_7_IBUF) + LUT6:I0->O 1 0.203 0.924 isEqual<0>4 (isEqual<0>3) + LUT5:I0->O 1 0.203 0.808 isEqual<0>5_SW0 (N2) + LUT6:I3->O 1 0.205 0.579 isEqual<0>5 (isEqual_OBUF) + OBUF:I->O 2.571 isEqual_OBUF (isEqual) + ---------------------------------------- + Total 7.658ns (4.404ns logic, 3.254ns route) + (57.5% logic, 42.5% route) + +========================================================================= + +Cross Clock Domains Report: +-------------------------- + +========================================================================= + + +Total REAL time to Xst completion: 3.00 secs +Total CPU time to Xst completion: 3.71 secs + +--> + + +Total memory usage is 474280 kilobytes + +Number of errors : 0 ( 0 filtered) +Number of warnings : 0 ( 0 filtered) +Number of infos : 0 ( 0 filtered) + diff --git a/equalCheck.vhd b/equalCheck.vhd new file mode 100644 index 0000000..137255e --- /dev/null +++ b/equalCheck.vhd @@ -0,0 +1,28 @@ +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +entity EqualCheck is + generic( BITCOUNT: integer := 8 ); + port( + X, Y: in std_logic_vector( (BITCOUNT-1) downto 0 ); + isEqual: out std_logic + ); +end EqualCheck; + +architecture EqualCheckArch of EqualCheck is + signal compVec: std_logic_vector( (BITCOUNT-1) downto 0 ); +begin + compVec <= X xor Y; + + res_compute: process (compVec) + variable res_tmp: std_logic; + begin + res_tmp := '0'; + for i in compVec'range loop + res_tmp := res_tmp or compVec(i); + end loop; + isEqual <= res_tmp; + end process; + +end EqualCheckArch; + diff --git a/equalCheck.xst b/equalCheck.xst new file mode 100644 index 0000000..1e3b869 --- /dev/null +++ b/equalCheck.xst @@ -0,0 +1,52 @@ +set -tmpdir "xst/projnav.tmp" +set -xsthdpdir "xst" +run +-ifn equalCheck.prj +-ofn equalCheck +-ofmt NGC +-p xa6slx4-3-csg225 +-top equalCheck +-opt_mode Speed +-opt_level 1 +-power NO +-iuc NO +-keep_hierarchy No +-netlist_hierarchy As_Optimized +-rtlview Yes +-glob_opt AllClockNets +-read_cores YES +-write_timing_constraints NO +-cross_clock_analysis NO +-hierarchy_separator / +-bus_delimiter <> +-case Maintain +-slice_utilization_ratio 100 +-bram_utilization_ratio 100 +-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 +-shreg_extract YES +-rom_style Auto +-auto_bram_packing NO +-resource_sharing YES +-async_to_sync NO +-shreg_min_size 2 +-use_dsp48 Auto +-iobuf YES +-max_fanout 100000 +-bufg 32 +-register_duplication YES +-register_balancing No +-optimize_primitives NO +-use_clock_enable Yes +-use_sync_set Yes +-use_sync_reset Yes +-iob Auto +-equivalent_register_removal YES +-slice_utilization_ratio_maxmargin 5 diff --git a/equalCheck_envsettings.html b/equalCheck_envsettings.html new file mode 100644 index 0000000..1a27bb9 --- /dev/null +++ b/equalCheck_envsettings.html @@ -0,0 +1,388 @@ +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/EDK/lib/lin64:
/opt/Xilinx/14.7/ISE_DS/common/lib/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
< data not available >< data not available >< data not available >
XILINX/opt/Xilinx/14.7/ISE_DS/ISE/< data not available >< data not available >< data not available >
XILINX_DSP/opt/Xilinx/14.7/ISE_DS/ISE< data not available >< data not available >< data not available >
XILINX_EDK/opt/Xilinx/14.7/ISE_DS/EDK< data not available >< data not available >< data not available >
XILINX_PLANAHEAD/opt/Xilinx/14.7/ISE_DS/PlanAhead< data not available >< data not available >< data not available >
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Synthesis Property Settings
Switch NameProperty NameValueDefault Value
-ifn equalCheck.prj 
-ofn equalCheck 
-ofmt NGCNGC
-p xa6slx4-3-csg225 
-top equalCheck 
-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
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Operating System Information
Operating System Informationxstngdbuildmappar
CPU Architecture/SpeedIntel Core Processor (Haswell, no TSX)/2494.222 MHz<  data not available  ><  data not available  ><  data not available  >
HostXilinx<  data not available  ><  data not available  ><  data not available  >
OS NameCentOS<  data not available  ><  data not available  ><  data not available  >
OS ReleaseCentOS release 6.10 (Final)<  data not available  ><  data not available  ><  data not available  >
+ \ No newline at end of file diff --git a/equalCheck_summary.html b/equalCheck_summary.html new file mode 100644 index 0000000..68f54f1 --- /dev/null +++ b/equalCheck_summary.html @@ -0,0 +1,106 @@ +Xilinx Design Summary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpecialCasesCheck Project Status (08/24/2019 - 12:12:36)
Project File:IEEE754Adder.xiseParser Errors: No Errors
Module Name:equalCheckImplementation State:Placed and Routed
Target Device:xa6slx4-3csg225
  • Errors:
 
Product Version:ISE 14.7
  • Warnings:
 
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 LUTs424000%
Number of fully used LUT-FF pairs040%
Number of bonded IOBs1713212%
+ + + + + + + + 
+ + + + + + + + + + + +
Detailed Reports [-]
Report NameStatusGeneratedErrorsWarningsInfos
Synthesis ReportCurrentSat Aug 24 10:22:02 2019   
Translation Report     
Map Report     
Place and Route Report     
CPLD Fitter Report (Text)     
Power Report     
Post-PAR Static Timing Report     
Bitgen Report     

+ + + + + + +
Secondary Reports [-]
Report NameStatusGenerated
ISIM Simulator LogOut of DateSat Aug 24 12:11:57 2019
Post-Synthesis Simulation Model ReportOut of DateSat Aug 24 10:53:07 2019
WebTalk ReportOut of DateSat Aug 24 10:52:31 2019
WebTalk Log FileOut of DateSat Aug 24 10:52:32 2019
+ + +
Date Generated: 08/24/2019 - 12:12:36
+ \ No newline at end of file diff --git a/equalCheck_xst.xrpt b/equalCheck_xst.xrpt new file mode 100644 index 0000000..d574bc8 --- /dev/null +++ b/equalCheck_xst.xrpt @@ -0,0 +1,165 @@ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + + + + + + + +
+
+
+ + + + + + + + + + +
+
+
+
+
+ + + +
+ + + diff --git a/fuse.log b/fuse.log new file mode 100644 index 0000000..52a712a --- /dev/null +++ b/fuse.log @@ -0,0 +1,30 @@ +Running: /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/unwrapped/fuse -intstyle ise -incremental -lib secureip -o /home/Luca/ISE/IEEE754Adder/SpecialCasesTest_isim_beh.exe -prj /home/Luca/ISE/IEEE754Adder/SpecialCasesTest_beh.prj work.SpecialCasesTest +ISim P.20131013 (signature 0xfbc00daa) +Number of CPUs detected in this system: 4 +Turning on mult-threading, number of parallel sub-compilation jobs: 8 +Determining compilation order of HDL files +Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/TypeCheck.vhd" into library work +Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/EqualCheck.vhd" into library work +Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/ZeroCheck.vhd" into library work +Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/NaNCheck.vhd" into library work +Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.vhd" into library work +Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/SpecialCasesTest.vhd" into library work +Starting static elaboration +Completed static elaboration +Fuse Memory Usage: 94420 KB +Fuse CPU Usage: 980 ms +Compiling package standard +Compiling package std_logic_1164 +Compiling architecture typecheckarch of entity TypeCheck [typecheck_default] +Compiling architecture nancheckarch of entity NaNCheck [nancheck_default] +Compiling architecture equalcheckarch of entity EqualCheck [\EqualCheck(31)\] +Compiling architecture zerocheckarch of entity ZeroCheck [zerocheck_default] +Compiling architecture specialcasescheckarch of entity SpecialCasesCheck [specialcasescheck_default] +Compiling architecture behavior of entity specialcasestest +Time Resolution for simulation is 1ps. +Waiting for 1 sub-compilation(s) to finish... +Compiled 13 VHDL Units +Built simulation executable /home/Luca/ISE/IEEE754Adder/SpecialCasesTest_isim_beh.exe +Fuse Memory Usage: 658120 KB +Fuse CPU Usage: 1000 ms +GCC CPU Usage: 280 ms diff --git a/fuse.xmsgs b/fuse.xmsgs new file mode 100644 index 0000000..f84336a --- /dev/null +++ b/fuse.xmsgs @@ -0,0 +1,9 @@ + + + + + diff --git a/fuseRelaunch.cmd b/fuseRelaunch.cmd new file mode 100644 index 0000000..e6b4145 --- /dev/null +++ b/fuseRelaunch.cmd @@ -0,0 +1 @@ +-intstyle "ise" -incremental -lib "secureip" -o "/home/Luca/ISE/IEEE754Adder/SpecialCasesTest_isim_beh.exe" -prj "/home/Luca/ISE/IEEE754Adder/SpecialCasesTest_beh.prj" "work.SpecialCasesTest" diff --git a/iseconfig/IEEE754Adder.projectmgr b/iseconfig/IEEE754Adder.projectmgr index 0b2671e..800c155 100644 --- a/iseconfig/IEEE754Adder.projectmgr +++ b/iseconfig/IEEE754Adder.projectmgr @@ -9,41 +9,40 @@ 2 - SpecialCasesCheck - SpecialCasesCheckArch (/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.vhd) + SpecialCasesCheck - SpecialCasesCheckArch (/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.vhd) 0 0 000000ff00000000000000010000000100000000000000000000000000000000020200000001000000010000006400000222000000020000000000000000000000000200000064ffffffff000000810000000300000002000002220000000100000003000000000000000100000003 true - SpecialCasesCheck - SpecialCasesCheckArch (/home/ise/gianni/IEEE754Adder/SpecialCasesCheck.vhd) + SpecialCasesCheck - SpecialCasesCheckArch (/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.vhd) - + 1 - Configure Target Device - Design Utilities - Implement Design - User Constraints + Design Utilities/Compile HDL Simulation Libraries - View RTL Schematic + Regenerate All Cores 0 0 - 000000ff000000000000000100000001000000000000000000000000000000000000000000000000e5000000010000000100000000000000000000000064ffffffff000000810000000000000001000000e50000000100000000 + 000000ff00000000000000010000000100000000000000000000000000000000000000000000000160000000010000000100000000000000000000000064ffffffff000000810000000000000001000001600000000100000000 false - View RTL Schematic + Regenerate All Cores 1 - + + SpecialCasesTest.vhd + 0 0 - 000000ff0000000000000001000000000000000001000000000000000000000000000000000000028a000000040101000100000000000000000000000064ffffffff000000810000000000000004000000b600000001000000000000005d0000000100000000000000840000000100000000000000f30000000100000000 + 000000ff0000000000000001000000000000000001000000000000000000000000000000000000039f000000040101000100000000000000000000000064ffffffff000000810000000000000004000000510000000100000000000000290000000100000000000000840000000100000000000002a10000000100000000 false - SpecialCasesCheck.vhd + SpecialCasesTest.vhd @@ -57,20 +56,65 @@ false work - + 1 - Design Utilities + Configure Target Device + Implement Design/Map + Implement Design/Place & Route/Back-annotate Pin Locations + Implement Design/Place & Route/Generate IBIS Model + Implement Design/Place & Route/Generate Post-Place & Route Static Timing + Implement Design/Translate + User Constraints - + View RTL Schematic 0 0 - 000000ff000000000000000100000001000000000000000000000000000000000000000000000000f4000000010000000100000000000000000000000064ffffffff000000810000000000000001000000f40000000100000000 + 000000ff000000000000000100000001000000000000000000000000000000000000000000000000e3000000010000000100000000000000000000000064ffffffff000000810000000000000001000000e30000000100000000 false - + View RTL Schematic + + + + 2 + + + SpecialCasesTest - behavior (/home/Luca/ISE/IEEE754Adder/SpecialCasesTest.vhd) + + 0 + 0 + 000000ff00000000000000010000000100000000000000000000000000000000020200000001000000010000006400000248000000020000000000000000000000000200000064ffffffff000000810000000300000002000002480000000100000003000000000000000100000003 + true + SpecialCasesTest - behavior (/home/Luca/ISE/IEEE754Adder/SpecialCasesTest.vhd) + + + + 1 + + + Design Utilities + + 0 + 0 + 000000ff0000000000000001000000010000000000000000000000000000000000000000000000016c000000010000000100000000000000000000000064ffffffff0000008100000000000000010000016c0000000100000000 + false + Design Utilities 000000ff00000000000000020000014c0000011d01000000060100000002 - Implementation + Behavioral Simulation + + + 1 + + + Simulate Behavioral Model + + 0 + 0 + 000000ff00000000000000010000000100000000000000000000000000000000000000000000000140000000010000000100000000000000000000000064ffffffff000000810000000000000001000001400000000100000000 + false + Simulate Behavioral Model + diff --git a/iseconfig/SpecialCasesCheck.xreport b/iseconfig/SpecialCasesCheck.xreport index 3623fdb..7b7e300 100644 --- a/iseconfig/SpecialCasesCheck.xreport +++ b/iseconfig/SpecialCasesCheck.xreport @@ -1,12 +1,12 @@
- 2019-08-17T16:51:16 + 2019-08-24T12:13:27 SpecialCasesCheck - Unknown - /home/ise/gianni/IEEE754Adder/iseconfig/SpecialCasesCheck.xreport - /home/ise/gianni/IEEE754Adder/ - 2019-08-17T15:26:24 + 2019-08-24T10:53:09 + /home/Luca/ISE/IEEE754Adder/iseconfig/SpecialCasesCheck.xreport + /home/Luca/ISE/IEEE754Adder/ + 2019-08-24T10:27:23 false
diff --git a/isim.cmd b/isim.cmd new file mode 100644 index 0000000..fff18e8 --- /dev/null +++ b/isim.cmd @@ -0,0 +1,3 @@ +onerror {resume} +wave add / +run 1000 ns; diff --git a/isim.log b/isim.log new file mode 100644 index 0000000..373d74f --- /dev/null +++ b/isim.log @@ -0,0 +1,14 @@ +ISim log file +Running: /home/Luca/ISE/IEEE754Adder/SpecialCasesTest_isim_beh.exe -intstyle ise -gui -tclbatch isim.cmd -wdb /home/Luca/ISE/IEEE754Adder/SpecialCasesTest_isim_beh.wdb +ISim P.20131013 (signature 0xfbc00daa) +WARNING: A WEBPACK license was found. +WARNING: Please use Xilinx License Configuration Manager to check out a full ISim license. +WARNING: ISim will run in Lite mode. Please refer to the ISim documentation for more information on the differences between the Lite and the Full version. +This is a Lite version of ISim. +Time resolution is 1 ps +# onerror resume +# wave add / +# run 1000 ns +Simulator is doing circuit initialization process. +Finished circuit initialization process. +# exit 0 diff --git a/isim/NaNCheck_isim_beh.exe.sim/ISimEngine-DesignHierarchy.dbg b/isim/NaNCheck_isim_beh.exe.sim/ISimEngine-DesignHierarchy.dbg new file mode 100644 index 0000000000000000000000000000000000000000..83b039f283e2bc9a53c4d53ddafea2767b5a8d88 GIT binary patch literal 6047 zcmd6pS!`5Q7{^al5EK*CChpEicBE&}xYBOTPKG|M}nV zEceVkKYi%hth-W&u3o=>{hTpoV~sIaZ>g?lrWo_~UB+CPQPyeq8uQ+4V|r#9^Oux( zvUsLRtH~@C7D)pOcu4m2ZRJ1|#=7Q|d}>prXQgT}6uIUb>0BwbOH#i!Lvxs?+^y1C z^8H#&@qFcZMs1|lqBv%2iAZg$;svTrlJ1PuzEEzCROwKLcD07C|J>`UJS?Sv(m zGAb-oj=HwM@Jz(V6qRG`C^0`U78c@^GAEUIL>3O_ITp`pVQMXgIe`HW7tfP1A1YXE zbL{C@Jf8?tXEC>13>@_4c)n8NQH#;>8I$LdFiR|kJ$3Vkd<+ zNi4INJ1vHOn4`nA{}TUfrf{>Riz_`}j}=>f$&%jeM*5b``A>+^8N9ZyXDDUClP9el-@^@`zP@0>6%d}m{} z;9LB6#PNaU*`Rnlo&~}nzKtn9FOH8a&ql@L@hlPs@$IQ|Ll-|4$LE&kY1QRcofqrj z*4wx6e5rw7Tb|t$;NgCR&$sY=D~`*SXHOL#<~rYw=MIL)xA6QXjz2BWUe)D}nio7V zDdV|kqZXd2I!M!{?E5}p#^O;r+;_%vKSV7&v&AvT^6VF8JRa^4czg>_tvHrgo~-I} zN6kyA;ePymf{z%UCJk)0Je|so$K&r4JjC#<)4+Di(^Z9sbzUH4oWD;lhUYnPbXlJ6 z8}KZ&Jk|E=MRB}jd2&^FlpbE6YWww?INq>4&rg8I-zVlpj6AMjr7UZ}w*;2^hkFwr zare<`VOJ?8KiyjHxUsNngiTlscNoIm1D59_?%r)v;t9p@-c3Q`u$)6gpF5#!6?U~e zu=+F#C5mMaksZQ5DGQc!g+#IUmD6UguxsRl}1J@K*IEOw@_O%}^{D!lB8kIe}C&>;_@C%7>SGAE}1jBv8BRU}IAHWv}Uh9K7reyxWx6X7dYV!Lrvr zmiG|sZeh2}hhw1>aXmO*_7Ut}C3eUszetKivAl=xH$GN#T%c#<>#7OAb?JdK6kRj0 zC1IbnSiYMO$Lp^d*q4Ppq&mEd0ZOW2PYRn<9c-PH9ypu+Ia6w8{$wk2w=2)k20@8dEl0+t>fFMB?f zSP$PNOMlCyNEFMNS}WZrY+9DH&AX38vGCHvF<~?EdB^IdNEGYNDmC6og!SS*a^mvD z-zdMiYC1(g8 z_L6dc{dTx zGQzuu@Gc7xpXofU)fw9e1oU#8SKqg9>d^)aI~r0TW9JHNE@Va=|Sm!X}ff@ zbVZ%1z>~+b>0+TT%>1+QPE+d7b>+<<@gVVF7>_&=l`RSni0RAr7kUPYxkA3&mI*oray^-#)S1up z4aOUSo%M|k@us*m=qq*x!(G33Efr+NZ%5o=~n*5-}3*xPnUQ8ms%8xcB(}knG h1I4VD>`E4o_L{_=F-lqmO3e)(JkcEYqyO}2e*@T`!ASrB literal 0 HcmV?d00001 diff --git a/isim/NaNCheck_isim_beh.exe.sim/NaNCheck_isim_beh.exe b/isim/NaNCheck_isim_beh.exe.sim/NaNCheck_isim_beh.exe new file mode 100755 index 0000000000000000000000000000000000000000..02223326d172ba04a33ba862703563c2577769f0 GIT binary patch literal 49958 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 literal 0 HcmV?d00001 diff --git a/isim/NaNCheck_isim_beh.exe.sim/isimcrash.log b/isim/NaNCheck_isim_beh.exe.sim/isimcrash.log new file mode 100644 index 0000000..e69de29 diff --git a/isim/NaNCheck_isim_beh.exe.sim/isimkernel.log b/isim/NaNCheck_isim_beh.exe.sim/isimkernel.log new file mode 100644 index 0000000..2a6ce76 --- /dev/null +++ b/isim/NaNCheck_isim_beh.exe.sim/isimkernel.log @@ -0,0 +1,29 @@ +Command line: + NaNCheck_isim_beh.exe + -simmode gui + -simrunnum 0 + -socket 39524 + +Sat Aug 24 12:14:44 2019 + + + Elaboration Time: 0.02 sec + + Current Memory Usage: 195.346 Meg + + Total Signals : 23 + Total Nets : 137 + Total Signal Drivers : 15 + Total Blocks : 4 + Total Primitive Blocks : 3 + Total Processes : 15 + Total Traceable Variables : 8 + Total Scalar Nets and Variables : 497 +Total Line Count : 27 + + Total Simulation Time: 0.04 sec + + Current Memory Usage: 272.945 Meg + +Sat Aug 24 12:14:54 2019 + diff --git a/isim/NaNCheck_isim_beh.exe.sim/netId.dat b/isim/NaNCheck_isim_beh.exe.sim/netId.dat new file mode 100644 index 0000000000000000000000000000000000000000..eeeafb31bfb5b66d3b8c5f8de7cf8737004fb1c9 GIT binary patch literal 92 zcmWm1xeb6Y5CFmB3uwqf7N0XZfli=o=2n_u=ZGj|7dK0e9$qRRE7?ZJPS3%>$w*`3 E2j)ZsUH||9 literal 0 HcmV?d00001 diff --git a/isim/NaNCheck_isim_beh.exe.sim/tmp_save/_1 b/isim/NaNCheck_isim_beh.exe.sim/tmp_save/_1 new file mode 100644 index 0000000000000000000000000000000000000000..e72cd259b209d6ed2b90804cabcab0405089143e GIT binary patch literal 4439 zcmeHI$xg#C5Ve!0W#5;p??_NS1$yCD6^IZLG^hlG5I?}japk~;D}Mp+jh)mfkRWzM zMjFR{exAkSPIo$o$EMRek2kjC(=-{xrrlm|Z<7~iqS0L&X4X_9_C z+8_%;XQ6}zM9@Y7;t{2y7qDgllcTKyWRH%$fQSz8SuWEd*v3sWOv574dpG_TF*Kx@US^x23jTBIL4Pm`#DDE z5u&vuBUTH~kVPQxuJsZQ|H4`?yDa@$uQ<%FHK08AYs^{uL42AVou!9Kznk`UkK!$o za?wtd4s-y~O6!nGk)0PkfnFIM7sj5upPt z#gpB73x}rGP<@s-8TgJAdnptNz?@A$>`Oizysc^utzE$pQ@R-O1c;I+Kg=XVhEQ+I zk-Th2Ic)eh&Qm{0ZBBHnXo|}Ae+veC-QGDEN%x|?Ns1&$_xv}w2ZhaVNV&{74RZMR z@KEHOIXiiH`M(diwyDUaVx<)KC=7=JQzGBZW1Fjzs@UrD&zWc5GavggvtKk@ zE6GHHDNC@o*-=eV#{P)GYKW`sDRzckZ(IAnr$_%;qldo%TX)`q3*(>u9*@Uiba2Qf zMb94I zoBTR6N1&ETGsC|%2<%PrffxC{iafDx8-dshn9;QZn;DzF&kS#f3gmes&y3D+Fc2DdDzXY%MSOR0Dj9@o04%6hoQSlg*sjPN2Aoq=bcz?HEd zYm&t>tWL>#?D$u+>)@#&`J|8tdPq`T1q!KqZ{+n?~v0TofuS%BF zbQh%1(72v|Rpx6lwycC&gN{Fx`AJP@Nnusv>i#SI9tHY6MccudNTHq+o*!~mzT&gQ z^m~uY+j9IqDlyaNkGej0$a9ZHNw;O=S*oJws8u7;ge!EX*q`GG zO*G!*UQ!chg85Cl!{Bm}+8`+=Cx3#g)gLvy9EKF|8MRAB9m25)cF)*7|-Mzr2tm($(c-L?Z~=!VY* zdk73)WQNMW^h*PK8juY8$vG;Dt9=f7JZHsUp%?~^Jy3C+M=A#X3`WIq6D>?c{QT9J+S&sn# literal 0 HcmV?d00001 diff --git a/isim/NaNCheck_isim_beh.exe.sim/work/a_0557987184_1272247069.c b/isim/NaNCheck_isim_beh.exe.sim/work/a_0557987184_1272247069.c new file mode 100644 index 0000000..8273723 --- /dev/null +++ b/isim/NaNCheck_isim_beh.exe.sim/work/a_0557987184_1272247069.c @@ -0,0 +1,368 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2009 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/***********************************************************************/ + +/* This file is designed for use with ISim build 0xfbc00daa */ + +#define XSI_HIDE_SYMBOL_SPEC true +#include "xsi.h" +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +static const char *ng0 = "/home/Luca/ISE/IEEE754Adder/TypeCheck.vhd"; +extern char *IEEE_P_2592010699; + +unsigned char ieee_p_2592010699_sub_3488546069778340532_503743352(char *, unsigned char , unsigned char ); +unsigned char ieee_p_2592010699_sub_3488768496604610246_503743352(char *, unsigned char , unsigned char ); +unsigned char ieee_p_2592010699_sub_374109322130769762_503743352(char *, unsigned char ); + + +static void work_a_0557987184_1272247069_p_0(char *t0) +{ + char *t1; + char *t2; + unsigned int t3; + unsigned int t4; + unsigned int t5; + char *t6; + char *t7; + char *t8; + char *t9; + char *t10; + char *t11; + +LAB0: xsi_set_current_line(17, ng0); + +LAB3: t1 = (t0 + 1032U); + t2 = *((char **)t1); + t3 = (31 - 30); + t4 = (t3 * 1U); + t5 = (0 + t4); + t1 = (t2 + t5); + t6 = (t0 + 5104); + t7 = (t6 + 56U); + t8 = *((char **)t7); + t9 = (t8 + 56U); + t10 = *((char **)t9); + memcpy(t10, t1, 8U); + xsi_driver_first_trans_fast(t6); + +LAB2: t11 = (t0 + 4944); + *((int *)t11) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_0557987184_1272247069_p_1(char *t0) +{ + char *t1; + char *t2; + unsigned int t3; + unsigned int t4; + unsigned int t5; + char *t6; + char *t7; + char *t8; + char *t9; + char *t10; + char *t11; + +LAB0: xsi_set_current_line(18, ng0); + +LAB3: t1 = (t0 + 1032U); + t2 = *((char **)t1); + t3 = (31 - 22); + t4 = (t3 * 1U); + t5 = (0 + t4); + t1 = (t2 + t5); + t6 = (t0 + 5168); + t7 = (t6 + 56U); + t8 = *((char **)t7); + t9 = (t8 + 56U); + t10 = *((char **)t9); + memcpy(t10, t1, 23U); + xsi_driver_first_trans_fast(t6); + +LAB2: t11 = (t0 + 4960); + *((int *)t11) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_0557987184_1272247069_p_2(char *t0) +{ + char *t1; + char *t2; + int t3; + int t4; + char *t5; + char *t6; + unsigned char t7; + char *t8; + int t9; + int t10; + unsigned int t11; + unsigned int t12; + unsigned int t13; + char *t14; + unsigned char t15; + unsigned char t16; + char *t17; + char *t18; + +LAB0: xsi_set_current_line(23, ng0); + t1 = (t0 + 2288U); + t2 = *((char **)t1); + t1 = (t2 + 0); + *((unsigned char *)t1) = (unsigned char)3; + xsi_set_current_line(24, ng0); + t1 = (t0 + 7603); + *((int *)t1) = 7; + t2 = (t0 + 7607); + *((int *)t2) = 0; + t3 = 7; + t4 = 0; + +LAB2: if (t3 >= t4) + goto LAB3; + +LAB5: xsi_set_current_line(27, ng0); + t1 = (t0 + 2288U); + t2 = *((char **)t1); + t7 = *((unsigned char *)t2); + t1 = (t0 + 5232); + t5 = (t1 + 56U); + t6 = *((char **)t5); + t8 = (t6 + 56U); + t14 = *((char **)t8); + *((unsigned char *)t14) = t7; + xsi_driver_first_trans_fast(t1); + t1 = (t0 + 4976); + *((int *)t1) = 1; + +LAB1: return; +LAB3: xsi_set_current_line(25, ng0); + t5 = (t0 + 2288U); + t6 = *((char **)t5); + t7 = *((unsigned char *)t6); + t5 = (t0 + 1512U); + t8 = *((char **)t5); + t5 = (t0 + 7603); + t9 = *((int *)t5); + t10 = (t9 - 7); + t11 = (t10 * -1); + t12 = (1U * t11); + t13 = (0 + t12); + t14 = (t8 + t13); + t15 = *((unsigned char *)t14); + t16 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t7, t15); + t17 = (t0 + 2288U); + t18 = *((char **)t17); + t17 = (t18 + 0); + *((unsigned char *)t17) = t16; + +LAB4: t1 = (t0 + 7603); + t3 = *((int *)t1); + t2 = (t0 + 7607); + t4 = *((int *)t2); + if (t3 == t4) + goto LAB5; + +LAB6: t9 = (t3 + -1); + t3 = t9; + t5 = (t0 + 7603); + *((int *)t5) = t3; + goto LAB2; + +} + +static void work_a_0557987184_1272247069_p_3(char *t0) +{ + char *t1; + char *t2; + int t3; + int t4; + char *t5; + char *t6; + unsigned char t7; + char *t8; + int t9; + int t10; + unsigned int t11; + unsigned int t12; + unsigned int t13; + char *t14; + unsigned char t15; + unsigned char t16; + char *t17; + char *t18; + +LAB0: xsi_set_current_line(33, ng0); + t1 = (t0 + 2408U); + t2 = *((char **)t1); + t1 = (t2 + 0); + *((unsigned char *)t1) = (unsigned char)2; + xsi_set_current_line(34, ng0); + t1 = (t0 + 7611); + *((int *)t1) = 22; + t2 = (t0 + 7615); + *((int *)t2) = 0; + t3 = 22; + t4 = 0; + +LAB2: if (t3 >= t4) + goto LAB3; + +LAB5: xsi_set_current_line(37, ng0); + t1 = (t0 + 2408U); + t2 = *((char **)t1); + t7 = *((unsigned char *)t2); + t1 = (t0 + 5296); + t5 = (t1 + 56U); + t6 = *((char **)t5); + t8 = (t6 + 56U); + t14 = *((char **)t8); + *((unsigned char *)t14) = t7; + xsi_driver_first_trans_fast(t1); + t1 = (t0 + 4992); + *((int *)t1) = 1; + +LAB1: return; +LAB3: xsi_set_current_line(35, ng0); + t5 = (t0 + 2408U); + t6 = *((char **)t5); + t7 = *((unsigned char *)t6); + t5 = (t0 + 1672U); + t8 = *((char **)t5); + t5 = (t0 + 7611); + t9 = *((int *)t5); + t10 = (t9 - 22); + t11 = (t10 * -1); + t12 = (1U * t11); + t13 = (0 + t12); + t14 = (t8 + t13); + t15 = *((unsigned char *)t14); + t16 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t7, t15); + t17 = (t0 + 2408U); + t18 = *((char **)t17); + t17 = (t18 + 0); + *((unsigned char *)t17) = t16; + +LAB4: t1 = (t0 + 7611); + t3 = *((int *)t1); + t2 = (t0 + 7615); + t4 = *((int *)t2); + if (t3 == t4) + goto LAB5; + +LAB6: t9 = (t3 + -1); + t3 = t9; + t5 = (t0 + 7611); + *((int *)t5) = t3; + goto LAB2; + +} + +static void work_a_0557987184_1272247069_p_4(char *t0) +{ + char *t1; + char *t2; + unsigned char t3; + char *t4; + unsigned char t5; + unsigned char t6; + char *t7; + char *t8; + char *t9; + char *t10; + char *t11; + +LAB0: xsi_set_current_line(40, ng0); + +LAB3: t1 = (t0 + 1832U); + t2 = *((char **)t1); + t3 = *((unsigned char *)t2); + t1 = (t0 + 1992U); + t4 = *((char **)t1); + t5 = *((unsigned char *)t4); + t6 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t3, t5); + t1 = (t0 + 5360); + t7 = (t1 + 56U); + t8 = *((char **)t7); + t9 = (t8 + 56U); + t10 = *((char **)t9); + *((unsigned char *)t10) = t6; + xsi_driver_first_trans_fast_port(t1); + +LAB2: t11 = (t0 + 5008); + *((int *)t11) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_0557987184_1272247069_p_5(char *t0) +{ + char *t1; + char *t2; + unsigned char t3; + char *t4; + unsigned char t5; + unsigned char t6; + unsigned char t7; + char *t8; + char *t9; + char *t10; + char *t11; + char *t12; + +LAB0: xsi_set_current_line(41, ng0); + +LAB3: t1 = (t0 + 1832U); + t2 = *((char **)t1); + t3 = *((unsigned char *)t2); + t1 = (t0 + 1992U); + t4 = *((char **)t1); + t5 = *((unsigned char *)t4); + t6 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t5); + t7 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t3, t6); + t1 = (t0 + 5424); + t8 = (t1 + 56U); + t9 = *((char **)t8); + t10 = (t9 + 56U); + t11 = *((char **)t10); + *((unsigned char *)t11) = t7; + xsi_driver_first_trans_fast_port(t1); + +LAB2: t12 = (t0 + 5024); + *((int *)t12) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + + +extern void work_a_0557987184_1272247069_init() +{ + static char *pe[] = {(void *)work_a_0557987184_1272247069_p_0,(void *)work_a_0557987184_1272247069_p_1,(void *)work_a_0557987184_1272247069_p_2,(void *)work_a_0557987184_1272247069_p_3,(void *)work_a_0557987184_1272247069_p_4,(void *)work_a_0557987184_1272247069_p_5}; + xsi_register_didat("work_a_0557987184_1272247069", "isim/NaNCheck_isim_beh.exe.sim/work/a_0557987184_1272247069.didat"); + xsi_register_executes(pe); +} diff --git a/isim/NaNCheck_isim_beh.exe.sim/work/a_0557987184_1272247069.didat b/isim/NaNCheck_isim_beh.exe.sim/work/a_0557987184_1272247069.didat new file mode 100644 index 0000000000000000000000000000000000000000..74180b445c745348c352c17579b3521ca015eee7 GIT binary patch literal 4624 zcmeHKOKVd>6h2xX^;zFm1dUcvp)?N?lNQ9(Qna82v7j5dT$^hX+O(lbwFRLF?sO}- zP;}u+T>99!=vH(k{s4ulYZro|Qok>EPMY36;)sG4KltvM`R2?yXC`y!whz`#eBHF( zJukqkm3)ev0k16;xn0F?rX8;nc@4jN^&*pC{VI`Wu(Vuc0DALkkqmfcjmX-yBKyE| z-~c!Z-U27Ummtw-tlyjanS#%WfZzRfBFcwozcGw#6e)nCh8s4CkXh6}34TUhJ*f8) z>}xQKc?GZ$JOL8al)*lA%}cwaJY)L7K8dXnY*o3f8ZEb2E!*0!_6fG(HY*RcAaq_( zXP;wcd2$McEi)R&Zt`J3Kdl?vRQA)p#;3K#lz~5YYKrq&59@Hjeo&D_13%3l0rQW6 zI0}CSSkGh7-Odt9>pTc*)w^eb48Klg8LWaqeQU0Y1MI%twC016Q8BfK^TH&*bC2 z(7y={T$l32#8KVsTg^~!a5bSPP_Ep#S5YnOouWhdLH1@4}uiK$fSI|$}2jI9>JFpz% z+$Vt;$Dqv@;|6?pSH)NiO+48o?dlPH+#n7iF^;$S`d1$yl>^hM|BH5ZsMpJPo8cW7v@g!c(mP{_=mKg5`Z%)Dv literal 0 HcmV?d00001 diff --git a/isim/NaNCheck_isim_beh.exe.sim/work/a_0557987184_1272247069.lin64.o b/isim/NaNCheck_isim_beh.exe.sim/work/a_0557987184_1272247069.lin64.o new file mode 100644 index 0000000000000000000000000000000000000000..885e58d28e828c8a9dffc5dd16e3472541c2f7dc GIT binary patch literal 5512 zcmb_gS!`QH6dl`v8Ys3&O9^WYHOL71;(b9Zc}d;86w_8&pkjNt_G@i5n`{TlUde!B z9)XJO1A)W`5=iu;0+d!Nq7p@UOypiHqIJmV1OUcJ$okb{}u{v2NyPM&o<0F_%Qdn7ak5(=F}BC*BiA z^WM;Dqd6X0%r{G+-@&ZMX#Qc?-17MKOLlf6yoRwY{`sI`H%>y+KOZsd&D^K`xZ~VE ze@gey|6)+zm^&7^7~}nbz9MAU;~{U}E`*EDs$Dy?-TR3poa{*&TC-LPwyhLm%b4+fe&*XmKV(b03DLIh8@kx(~`a z|9tmsfDh^mPlcw5(tY~9`hEKSC(!&-GCztTZpg7A`{mGSNYOvP-VL1EWNfdSb=zZ1 zw{tA}vHz)u&YU^Z_}0}NW7$(r9QvjV-S#P8O`$O5@_8ao=@Yzy6&@SaoWPTJwh?HkxJO7uI<^9u50Sx;kZx`eV+fioO`1m}-KHq41 z4SSo{Xc}I7TcBwK{71H}-_tbK`{#!@%u6HPx%cYYEy;QQQy`v9LTin0)V7bK5rP;xy z+-d0ya(Z+L;MOc7RGvuFHrP(IhGLk3s{f%g3r01@ie;JkHRp+uXa?7-;K5I3pCvB zT{w0#bf?AG&sg{S0?)hqeLZuYe(=(z`@+whqx&L_bKTFL?+fd`AdG=dzt5{*0P1Le z80|p*jXiQ(kQ?T@RvhpH%VRo@anWiIPt*&$nO3V;ow`h|sx@BF>el`` z(_mv1n6|rCV_J0zJE$JjGAp}L=%Ni*fR;8sRV<9FV0DV{;?%^1H3{w~r|OmlYrDBt zFBJC)1FLNAsTL+ILG-^>K`_T@kghfEu#f*T_J&6^LMM2&SLVCYj-|EKm*u*LW>D6)`!RR*C={Lu!b4@x`xVL=p5 z@fAXLRO7dUZI%B4VINsx%~(+B?|{BKC#aIa4;tj4Q!$)>yy}QQ&3^^3cJU7jr=&03 zEZI}P1dVp_Pm1^y2jj!tw`5QFV}N0NHP55MsRm=Rpe_p4PfKk+Ab!4XN2-nPYXWo2 z#?U@3?86jDjH~nU3gGQReJS#PN7!Nh7eXO>${%kub?wn4AU?>qup@~=htGq`9n~{< zfP(Z0=NJd?eKkI=NxS$veJ}uWm*QNF?`XCDqFxvK@l5Lo#%u4z)0PS9x0_+a;lb8M zJT0dgV|Y%v_!r<9(0ME{(8liw@ry)i z{JsM0S%G(nc_jQ@f&V7(BJ@!{gMxnU7K<{#QRl}a@t0tj2VBKg@vyb6ARr#T6ITxX zz`L#U`4h+0+rhE*FtN!bSHD5K8~BsZyj}_regmrXcEI~P;JZ5D6CLm;JK*niz`yQ* zuYq-H$A41?oOO8lX+<_|X~|eBbJho%Rd^zqKbPJfbn=T*2yH1$)r=6L^hR*BvR2xERm9IkYlM@c@RkNsZ?uqvtBJs*33NxXiiU6 z>zr-}g|h@qCQ^_^I-Q9pBFVT+a_I!XV`CkZKjH6A6meX`+2Oq92}d0iJVEi!A^b7~ zK~Uchh476Cf}lSBkxaObAPDN?cR={<2!fzK`XqcWf*^P@;n_?0G=dQmH$S8tNd^3fR{VqPfNJW|7{7E`JWWH z%Kwz49|XQM4}S?9D|sJ!#eJ#r-zMQQpMtzondh8@%YJ|c7o2YNMfWzn7YL_& zp6(FB>AgVjLBi?15aiyS_b&RUcL&|8q)&aJ&TnA6%?$wrMU6hNkYq%IaPqTD!6|NC X!HNF|3QqigQShaCK;j@2m*(wn6P&Z3 literal 0 HcmV?d00001 diff --git a/isim/NaNCheck_isim_beh.exe.sim/work/a_4078426953_2628201599.c b/isim/NaNCheck_isim_beh.exe.sim/work/a_4078426953_2628201599.c new file mode 100644 index 0000000..4475b29 --- /dev/null +++ b/isim/NaNCheck_isim_beh.exe.sim/work/a_4078426953_2628201599.c @@ -0,0 +1,221 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2009 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/***********************************************************************/ + +/* This file is designed for use with ISim build 0xfbc00daa */ + +#define XSI_HIDE_SYMBOL_SPEC true +#include "xsi.h" +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +static const char *ng0 = "/home/Luca/ISE/IEEE754Adder/NaNCheck.vhd"; +extern char *IEEE_P_2592010699; + +unsigned char ieee_p_2592010699_sub_3488546069778340532_503743352(char *, unsigned char , unsigned char ); +unsigned char ieee_p_2592010699_sub_3488768496604610246_503743352(char *, unsigned char , unsigned char ); +unsigned char ieee_p_2592010699_sub_374109322130769762_503743352(char *, unsigned char ); + + +static void work_a_4078426953_2628201599_p_0(char *t0) +{ + char *t1; + char *t2; + int t3; + unsigned int t4; + unsigned int t5; + unsigned int t6; + unsigned char t7; + char *t8; + char *t9; + char *t10; + char *t11; + char *t12; + char *t13; + +LAB0: xsi_set_current_line(32, ng0); + +LAB3: t1 = (t0 + 1032U); + t2 = *((char **)t1); + t3 = (31 - 31); + t4 = (t3 * -1); + t5 = (1U * t4); + t6 = (0 + t5); + t1 = (t2 + t6); + t7 = *((unsigned char *)t1); + t8 = (t0 + 4392); + t9 = (t8 + 56U); + t10 = *((char **)t9); + t11 = (t10 + 56U); + t12 = *((char **)t11); + *((unsigned char *)t12) = t7; + xsi_driver_first_trans_fast(t8); + +LAB2: t13 = (t0 + 4280); + *((int *)t13) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_4078426953_2628201599_p_1(char *t0) +{ + char *t1; + char *t2; + int t3; + unsigned int t4; + unsigned int t5; + unsigned int t6; + unsigned char t7; + char *t8; + char *t9; + char *t10; + char *t11; + char *t12; + char *t13; + +LAB0: xsi_set_current_line(33, ng0); + +LAB3: t1 = (t0 + 1192U); + t2 = *((char **)t1); + t3 = (31 - 31); + t4 = (t3 * -1); + t5 = (1U * t4); + t6 = (0 + t5); + t1 = (t2 + t6); + t7 = *((unsigned char *)t1); + t8 = (t0 + 4456); + t9 = (t8 + 56U); + t10 = *((char **)t9); + t11 = (t10 + 56U); + t12 = *((char **)t11); + *((unsigned char *)t12) = t7; + xsi_driver_first_trans_fast(t8); + +LAB2: t13 = (t0 + 4296); + *((int *)t13) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_4078426953_2628201599_p_2(char *t0) +{ + char *t1; + char *t2; + unsigned char t3; + char *t4; + unsigned char t5; + unsigned char t6; + char *t7; + unsigned char t8; + char *t9; + unsigned char t10; + unsigned char t11; + char *t12; + unsigned char t13; + unsigned char t14; + char *t15; + unsigned char t16; + unsigned char t17; + unsigned char t18; + unsigned char t19; + char *t20; + unsigned char t21; + char *t22; + unsigned char t23; + unsigned char t24; + unsigned char t25; + char *t26; + unsigned char t27; + unsigned char t28; + char *t29; + unsigned char t30; + unsigned char t31; + unsigned char t32; + char *t33; + char *t34; + char *t35; + char *t36; + char *t37; + +LAB0: xsi_set_current_line(35, ng0); + +LAB3: t1 = (t0 + 1512U); + t2 = *((char **)t1); + t3 = *((unsigned char *)t2); + t1 = (t0 + 1992U); + t4 = *((char **)t1); + t5 = *((unsigned char *)t4); + t6 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t3, t5); + t1 = (t0 + 1672U); + t7 = *((char **)t1); + t8 = *((unsigned char *)t7); + t1 = (t0 + 1832U); + t9 = *((char **)t1); + t10 = *((unsigned char *)t9); + t11 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t8, t10); + t1 = (t0 + 2152U); + t12 = *((char **)t1); + t13 = *((unsigned char *)t12); + t14 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t11, t13); + t1 = (t0 + 2312U); + t15 = *((char **)t1); + t16 = *((unsigned char *)t15); + t17 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t16); + t18 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t14, t17); + t19 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t6, t18); + t1 = (t0 + 1672U); + t20 = *((char **)t1); + t21 = *((unsigned char *)t20); + t1 = (t0 + 1832U); + t22 = *((char **)t1); + t23 = *((unsigned char *)t22); + t24 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t23); + t25 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t21, t24); + t1 = (t0 + 2152U); + t26 = *((char **)t1); + t27 = *((unsigned char *)t26); + t28 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t25, t27); + t1 = (t0 + 2312U); + t29 = *((char **)t1); + t30 = *((unsigned char *)t29); + t31 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t28, t30); + t32 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t19, t31); + t1 = (t0 + 4520); + t33 = (t1 + 56U); + t34 = *((char **)t33); + t35 = (t34 + 56U); + t36 = *((char **)t35); + *((unsigned char *)t36) = t32; + xsi_driver_first_trans_fast_port(t1); + +LAB2: t37 = (t0 + 4312); + *((int *)t37) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + + +extern void work_a_4078426953_2628201599_init() +{ + static char *pe[] = {(void *)work_a_4078426953_2628201599_p_0,(void *)work_a_4078426953_2628201599_p_1,(void *)work_a_4078426953_2628201599_p_2}; + xsi_register_didat("work_a_4078426953_2628201599", "isim/NaNCheck_isim_beh.exe.sim/work/a_4078426953_2628201599.didat"); + xsi_register_executes(pe); +} diff --git a/isim/NaNCheck_isim_beh.exe.sim/work/a_4078426953_2628201599.didat b/isim/NaNCheck_isim_beh.exe.sim/work/a_4078426953_2628201599.didat new file mode 100644 index 0000000000000000000000000000000000000000..c265ff32b7709790748a7066f854e08514382f4f GIT binary patch literal 5004 zcmeHKJ7`m36h3NwKWVEKRE&?osY!2>Ch1hQ5yUErx+#}yay6ketxeSi1Q$_1c) zI*H%|1Oa~|Ig$5&;LyOVEy#Z_6^oq zfqYrXugD?b`cjd59{h6K@ns@YhriK@)k@{~36T@vfuZd(aPo zck4wy0sDaG0EIS%zfZf4OTEO&nE9|za9Y~->NeL-t?>GT+6et?9NPS%xqdtQ^l?1O zMeHG#qQ-g4u~t8fgWK_OIT)vX9uIA!8A>XykYA)y;g|fZ$prF%N*@}&?N-;EHOIdM za9#^RSkGgix-Oe)B~|+(k(#BxLH|tv*Uk~n=RFX_6M>xw62?CTl!yDf0>SC z-`DExvDPU)XH{jR&~GX*E!RK=LdMU zx;+0&fzsKN4jiNi+Fwza+ElkP7U#qG0r2dC?t*4t?e2VGnO%_Pm2Z;vqN zTIb94CI(zU)rroNW6Tz(W9uCoKs@oUqIG%mS%V*5|6)6M1-O=8(KAb}_9IwWuU+qz z`n^829rfkt*;jv1&Iw-*_tPsuIgflfdbc$%DCdbUNAK}$InR7K8XHER2FE#|0I2Al zV4t<_hHsnee1Z0B;EgX{*Prn>;M<{O^Q0HgNTu>GXN3RHP`JktU>C3lC{5(d(u7sa zS>rj0=0`{D=+LFC6+L`16Fr>CWRi*a{#?!;j~=s*9n9O=;qJ@%5P?Ojm}Qn|!y3=# zrC{5(Ic6G(v=Qrx^`+CTk389WXu0*!LJ9S?9zGc^x==hHg1c0>5TcZFs8Y(IN-2jc zrN~Vdj$oOwL?W3^C3{kFnRJegTp1l7HoXqB$4DARJc<2peRUd)QU0G}^!FOA7u4U| z8zwk`D;Fp`T`S+wNMOWVjD=ERq;`W%_RMp3zT2L(yXoQHL@hHOOQzyRUpmoi8hu6z PcQcVrcjpQ@YeN12W@q`0 literal 0 HcmV?d00001 diff --git a/isim/NaNCheck_isim_beh.exe.sim/work/a_4078426953_2628201599.lin64.o b/isim/NaNCheck_isim_beh.exe.sim/work/a_4078426953_2628201599.lin64.o new file mode 100644 index 0000000000000000000000000000000000000000..5e9834798b5e64b9617d2b34bdba17a0ccbc1f1b GIT binary patch literal 4336 zcmbtXUx*t;7@u6OUbHnytG3lvjC7F{?A~VcU$G>;OK%UB>v63Jda%tU+a~nxa^39J zD3v~(Cl}Y)g8HCOK3FJ%k48a?LJJo0;e3(ei~1r3eW*~Spi;kYb|#(dWqY6>%+7qj z@B4n=%(vN@$+?n#cqkAcTms}ExvO!Mkk;_sae)pCWCw{5ZRNL+)=49xb)LiS#)k3A z)zB5KJu9ti?Rn|C-mXeN=`gyXw{7XB-aaec1{O_g|D!pS=*xXQ8fW#|2qBSfRC88u zY{8MDIgir}&a*Vr+PD8?k*wiM=$OpkCK5{EIzc%&P1Q^M5TT;N)abZ>EWL(WNOSN|lu zxwOvZOWUEM&I>usnaQmU(WQR9dOb?$+tHj^X}9LgOEKN4N^u=VitgA_PIt~q1#RW3 zcIBwn{)^Z1$zDA>U(_h?1n?H1y>kiPE6imr>SkEE#xlIrM-UST;{60655ea>0(?uP z-mEW-PL-#|YG&n>ftoRA)?~9~%4m7HVVxQ+8!085OR1TBI%%jGHK!_xbUrUv>(#PN zSqK@eH5SZKeYsK|ojh6^oh+3~*>tK{t(sPkUOrQ+5@a-d7#Y_+yNR)}XJYY*spt2{ zQgTYp#$Yn4l1wCH@fouk)5^AsA5fF~f#_jI7I<}r1X|I+o^2zc3-AFUzL(kJ*pG*! zm2ikiFibK0G=6Av;py{3ZwEWWZ*6(wzLk;SQ~<@^X_m*VAA?&i@*pfLP40LKEdU z%YRw~Va(@`F(?ISgW|tq@pO+xM3kH+v4IgVuk6t^YWSM-@K_9?#bghrot+ zk0I+U|3|0@;+;S0-npauZI)=A88Od8(7gHaoeV0~wXI+Px#dadQC+72PxKomzuy^P zf_#Hnf&*uQ^BYuQ#Nj40K!O`~GeU5m3eYdW4dC_P2kH=5;*5u$B`_X`7NEaa*TCzh zfr|d`vn3Q=Gr{i&@gF=mnu9`K=1#kyz~7H=6V={0NPj^+l@8vd&y96BPjT5)`y#)3_aCxjO+h&tGHci{8EL#@bJB<1IqDk;-XiOVwIuAED zC6mvSx@nrYz#d{Wm*$G`8m5=IaNaoj^Wj(aHz?o5wB?eKk}Aiu~H6L66y;e#LY!Dj?q%v%$1{NKRm{~^P@b^ciJ7wi0ufa4vG^Ze|? z^Q+)5@@&O~AXo>Hhl23HFm&PP20v#w&d(XXM{=C+&ms?=0(d^5#OTxIW>cU@&VzHF Q;~t#n#rqiwa)|T%7s6_*Q2+n{ literal 0 HcmV?d00001 diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/ISimEngine-DesignHierarchy.dbg b/isim/SpecialCasesTest_isim_beh.exe.sim/ISimEngine-DesignHierarchy.dbg new file mode 100644 index 0000000000000000000000000000000000000000..596464de01471291998932de44ff2db91c9152f1 GIT binary patch literal 9797 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 literal 0 HcmV?d00001 diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/isimcrash.log b/isim/SpecialCasesTest_isim_beh.exe.sim/isimcrash.log new file mode 100644 index 0000000..e69de29 diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/isimkernel.log b/isim/SpecialCasesTest_isim_beh.exe.sim/isimkernel.log new file mode 100644 index 0000000..e1d5e42 --- /dev/null +++ b/isim/SpecialCasesTest_isim_beh.exe.sim/isimkernel.log @@ -0,0 +1,29 @@ +Command line: + SpecialCasesTest_isim_beh.exe + -simmode gui + -simrunnum 0 + -socket 47173 + +Sat Aug 24 12:20:10 2019 + + + Elaboration Time: 0.01 sec + + Current Memory Usage: 195.359 Meg + + Total Signals : 48 + Total Nets : 239 + Total Signal Drivers : 29 + Total Blocks : 8 + Total Primitive Blocks : 4 + Total Processes : 26 + Total Traceable Variables : 10 + Total Scalar Nets and Variables : 601 +Total Line Count : 143 + + Total Simulation Time: 0.04 sec + + Current Memory Usage: 272.957 Meg + +Sat Aug 24 14:38:35 2019 + diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/netId.dat b/isim/SpecialCasesTest_isim_beh.exe.sim/netId.dat new file mode 100644 index 0000000000000000000000000000000000000000..9425deed1651d4222bacbb570cfe732fb9a30374 GIT binary patch literal 92 zcmXxXM-6}g00Y2=A1Xivdk+oxcfviO$)#e90aP>T5heXmN265=M{(~Y1Sg) zfPxnI>PeDjEgl@8!$R^`w`y@?1l2PTI>OH&dR`+BH8T)8;sjJd7a}<)7s=UEa8~bw z-Zpf^=^Szfh=P{NzBUH(%;YRqR?x-p_8dIT=Kp*K(PI}f5Fb7vE>6HMWiUPUat1O} zuS~$M0#ndZSp&~HJ(sO(iF-N)=v~htH-PZ15{qO<(@Xr^1eYcc5II_oj1mT?L%C%a ztLbOi?DcJnc`57;Fa@o`Uf;FxnJ*DK;$99}0`k{;tuT2G_xiq#GQHOiESBEuhrkrH z)Lu`g4F8>#M^y^uF@iCv(!c0E$sihinuneNVnr8-EWs%-alGN@m|nt%nfv(yevbA* zw_fIl3Sf?^j4}77@`n7l2d*`dGZ?syJ2q_b;Eu;+Su#` zA32zav?8P@`I49T64oeac(uCUXzGR!(T#@RFpZ|~b0`)Ve1~N6^0Lw2O0UF&1QiQN zYVs-J0_f_M%upE)O?}5o{33^g^g@DnNGJk;ITL`kujAoQYN(h)Yd>sA`(rC%h>`?9 zill}Jp{XHDN<}-);YIfi;$rgpVPs-rN6-|N7vHyFaBn+%V1(`c)+#AFKrYXV@Ow~r z{~A%g#hf}hycvJUa)#DU;vVz*864i)I=!&-wY?Jzy5Sb_pUeq_M%Te1w%Lt3;jkYu zi1?%wKUJV;vC{-O6ox}_Jd=m ziFqQ&t>Sev1*=^7I9@IK{PC>1y_#H$x_tlhTB%a4^UQ%G=#k$caUC!huFWjCJeVxF ZJh(i#8gMn>YQWWis{vO7t_I>7_yfm*eYpSt literal 0 HcmV?d00001 diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/SpecialCasesTest_isim_beh.exe_main.c b/isim/SpecialCasesTest_isim_beh.exe.sim/work/SpecialCasesTest_isim_beh.exe_main.c new file mode 100644 index 0000000..ce18a45 --- /dev/null +++ b/isim/SpecialCasesTest_isim_beh.exe.sim/work/SpecialCasesTest_isim_beh.exe_main.c @@ -0,0 +1,44 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2009 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/***********************************************************************/ + +#include "xsi.h" + +struct XSI_INFO xsi_info; + +char *IEEE_P_2592010699; +char *STD_STANDARD; + + +int main(int argc, char **argv) +{ + xsi_init_design(argc, argv); + xsi_register_info(&xsi_info); + + xsi_register_min_prec_unit(-12); + ieee_p_2592010699_init(); + work_a_0557987184_1272247069_init(); + work_a_3914402253_2628201599_init(); + work_a_2347761600_1146481140_init(); + work_a_1540508602_4151211736_init(); + work_a_2912948712_3395701438_init(); + work_a_4189535622_2372691052_init(); + + + xsi_register_tops("work_a_4189535622_2372691052"); + + IEEE_P_2592010699 = xsi_get_engine_memory("ieee_p_2592010699"); + xsi_register_ieee_std_logic_1164(IEEE_P_2592010699); + STD_STANDARD = xsi_get_engine_memory("std_standard"); + + return xsi_run_simulation(argc, argv); + +} diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/SpecialCasesTest_isim_beh.exe_main.lin64.o b/isim/SpecialCasesTest_isim_beh.exe.sim/work/SpecialCasesTest_isim_beh.exe_main.lin64.o new file mode 100644 index 0000000000000000000000000000000000000000..3084f28a71f22ed35b7df4bd9025e413e8520de9 GIT binary patch literal 3144 zcmbuBO>Epm6vtpAVmU25fb8n#07~1Md+F61N_ZP@xA7pz!{-XV>ejFXc(&dGnk9 zn=jil^KPTHFqO+OWjXc&8D?w9$Dyr ze`kMxKlHvGvj5{XKOD6^=I=d(_M5v?&E21(Q6!a#+Fy77i0XHKoPPDSA1LUp{@{ji zgk@B!wrQ6*7u+oKQq|CH&Ri*_*bv;Va^28N)hhFYuJ8lL>pFujV~cZh=ZmKoFJC)T zv@}aA7fHr-(=dytmt?otbb^SV5pi^pCn8k6!a_pr0I!hdF-fg@=vFM6Z z8nd|n3u7?S0;%EEVqXVL*o9c2B^X>4r}9e)mXyA!1W7nS`+Ce0zkL|75y#iU(&(Yq zUy)bHNv|pD^kb1iy(hds#Hx73j}tqv_Qbx5`(GnJY3XU9oE|&$FCUJgZpD=t4pO@R zdx=fzzZMJcq&iF$qfRC~p*zHG?@y?r{wBAQpEweXZ_)~b$CFHTl4nO!Br4{IvmaIC z|6vo_c{b)xg!$+ZeW!=nb0akL@&|SS#%!uRk(jUA56%;x8Agtrs~P+a;>X#a`zl7| zZifDy4E{+5|1yLBoWXBr@RRgv)!0ZfG&_U8l)<+%_+AG8oH*7;ecvkoCPV*AhW@t< zJzL(89oJc(bA0Kyr5^~_cY9(*u4!^hik{iU5kkRnZbt|vAIvLiMr_~5}Ewy6$# z-L}isO4+Db!r*1jtumeMV+ylsSeDMYZ3bQcNR=HdnKjN(LR#0{{X2b +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +static const char *ng0 = "/home/Luca/ISE/IEEE754Adder/TypeCheck.vhd"; +extern char *IEEE_P_2592010699; + +unsigned char ieee_p_2592010699_sub_3488546069778340532_503743352(char *, unsigned char , unsigned char ); +unsigned char ieee_p_2592010699_sub_3488768496604610246_503743352(char *, unsigned char , unsigned char ); +unsigned char ieee_p_2592010699_sub_374109322130769762_503743352(char *, unsigned char ); + + +static void work_a_0557987184_1272247069_p_0(char *t0) +{ + char *t1; + char *t2; + unsigned int t3; + unsigned int t4; + unsigned int t5; + char *t6; + char *t7; + char *t8; + char *t9; + char *t10; + char *t11; + +LAB0: xsi_set_current_line(17, ng0); + +LAB3: t1 = (t0 + 1032U); + t2 = *((char **)t1); + t3 = (31 - 30); + t4 = (t3 * 1U); + t5 = (0 + t4); + t1 = (t2 + t5); + t6 = (t0 + 5104); + t7 = (t6 + 56U); + t8 = *((char **)t7); + t9 = (t8 + 56U); + t10 = *((char **)t9); + memcpy(t10, t1, 8U); + xsi_driver_first_trans_fast(t6); + +LAB2: t11 = (t0 + 4944); + *((int *)t11) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_0557987184_1272247069_p_1(char *t0) +{ + char *t1; + char *t2; + unsigned int t3; + unsigned int t4; + unsigned int t5; + char *t6; + char *t7; + char *t8; + char *t9; + char *t10; + char *t11; + +LAB0: xsi_set_current_line(18, ng0); + +LAB3: t1 = (t0 + 1032U); + t2 = *((char **)t1); + t3 = (31 - 22); + t4 = (t3 * 1U); + t5 = (0 + t4); + t1 = (t2 + t5); + t6 = (t0 + 5168); + t7 = (t6 + 56U); + t8 = *((char **)t7); + t9 = (t8 + 56U); + t10 = *((char **)t9); + memcpy(t10, t1, 23U); + xsi_driver_first_trans_fast(t6); + +LAB2: t11 = (t0 + 4960); + *((int *)t11) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_0557987184_1272247069_p_2(char *t0) +{ + char *t1; + char *t2; + int t3; + int t4; + char *t5; + char *t6; + unsigned char t7; + char *t8; + int t9; + int t10; + unsigned int t11; + unsigned int t12; + unsigned int t13; + char *t14; + unsigned char t15; + unsigned char t16; + char *t17; + char *t18; + +LAB0: xsi_set_current_line(23, ng0); + t1 = (t0 + 2288U); + t2 = *((char **)t1); + t1 = (t2 + 0); + *((unsigned char *)t1) = (unsigned char)3; + xsi_set_current_line(24, ng0); + t1 = (t0 + 7603); + *((int *)t1) = 7; + t2 = (t0 + 7607); + *((int *)t2) = 0; + t3 = 7; + t4 = 0; + +LAB2: if (t3 >= t4) + goto LAB3; + +LAB5: xsi_set_current_line(27, ng0); + t1 = (t0 + 2288U); + t2 = *((char **)t1); + t7 = *((unsigned char *)t2); + t1 = (t0 + 5232); + t5 = (t1 + 56U); + t6 = *((char **)t5); + t8 = (t6 + 56U); + t14 = *((char **)t8); + *((unsigned char *)t14) = t7; + xsi_driver_first_trans_fast(t1); + t1 = (t0 + 4976); + *((int *)t1) = 1; + +LAB1: return; +LAB3: xsi_set_current_line(25, ng0); + t5 = (t0 + 2288U); + t6 = *((char **)t5); + t7 = *((unsigned char *)t6); + t5 = (t0 + 1512U); + t8 = *((char **)t5); + t5 = (t0 + 7603); + t9 = *((int *)t5); + t10 = (t9 - 7); + t11 = (t10 * -1); + t12 = (1U * t11); + t13 = (0 + t12); + t14 = (t8 + t13); + t15 = *((unsigned char *)t14); + t16 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t7, t15); + t17 = (t0 + 2288U); + t18 = *((char **)t17); + t17 = (t18 + 0); + *((unsigned char *)t17) = t16; + +LAB4: t1 = (t0 + 7603); + t3 = *((int *)t1); + t2 = (t0 + 7607); + t4 = *((int *)t2); + if (t3 == t4) + goto LAB5; + +LAB6: t9 = (t3 + -1); + t3 = t9; + t5 = (t0 + 7603); + *((int *)t5) = t3; + goto LAB2; + +} + +static void work_a_0557987184_1272247069_p_3(char *t0) +{ + char *t1; + char *t2; + int t3; + int t4; + char *t5; + char *t6; + unsigned char t7; + char *t8; + int t9; + int t10; + unsigned int t11; + unsigned int t12; + unsigned int t13; + char *t14; + unsigned char t15; + unsigned char t16; + char *t17; + char *t18; + +LAB0: xsi_set_current_line(33, ng0); + t1 = (t0 + 2408U); + t2 = *((char **)t1); + t1 = (t2 + 0); + *((unsigned char *)t1) = (unsigned char)2; + xsi_set_current_line(34, ng0); + t1 = (t0 + 7611); + *((int *)t1) = 22; + t2 = (t0 + 7615); + *((int *)t2) = 0; + t3 = 22; + t4 = 0; + +LAB2: if (t3 >= t4) + goto LAB3; + +LAB5: xsi_set_current_line(37, ng0); + t1 = (t0 + 2408U); + t2 = *((char **)t1); + t7 = *((unsigned char *)t2); + t1 = (t0 + 5296); + t5 = (t1 + 56U); + t6 = *((char **)t5); + t8 = (t6 + 56U); + t14 = *((char **)t8); + *((unsigned char *)t14) = t7; + xsi_driver_first_trans_fast(t1); + t1 = (t0 + 4992); + *((int *)t1) = 1; + +LAB1: return; +LAB3: xsi_set_current_line(35, ng0); + t5 = (t0 + 2408U); + t6 = *((char **)t5); + t7 = *((unsigned char *)t6); + t5 = (t0 + 1672U); + t8 = *((char **)t5); + t5 = (t0 + 7611); + t9 = *((int *)t5); + t10 = (t9 - 22); + t11 = (t10 * -1); + t12 = (1U * t11); + t13 = (0 + t12); + t14 = (t8 + t13); + t15 = *((unsigned char *)t14); + t16 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t7, t15); + t17 = (t0 + 2408U); + t18 = *((char **)t17); + t17 = (t18 + 0); + *((unsigned char *)t17) = t16; + +LAB4: t1 = (t0 + 7611); + t3 = *((int *)t1); + t2 = (t0 + 7615); + t4 = *((int *)t2); + if (t3 == t4) + goto LAB5; + +LAB6: t9 = (t3 + -1); + t3 = t9; + t5 = (t0 + 7611); + *((int *)t5) = t3; + goto LAB2; + +} + +static void work_a_0557987184_1272247069_p_4(char *t0) +{ + char *t1; + char *t2; + unsigned char t3; + char *t4; + unsigned char t5; + unsigned char t6; + char *t7; + char *t8; + char *t9; + char *t10; + char *t11; + +LAB0: xsi_set_current_line(40, ng0); + +LAB3: t1 = (t0 + 1832U); + t2 = *((char **)t1); + t3 = *((unsigned char *)t2); + t1 = (t0 + 1992U); + t4 = *((char **)t1); + t5 = *((unsigned char *)t4); + t6 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t3, t5); + t1 = (t0 + 5360); + t7 = (t1 + 56U); + t8 = *((char **)t7); + t9 = (t8 + 56U); + t10 = *((char **)t9); + *((unsigned char *)t10) = t6; + xsi_driver_first_trans_fast_port(t1); + +LAB2: t11 = (t0 + 5008); + *((int *)t11) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_0557987184_1272247069_p_5(char *t0) +{ + char *t1; + char *t2; + unsigned char t3; + char *t4; + unsigned char t5; + unsigned char t6; + unsigned char t7; + char *t8; + char *t9; + char *t10; + char *t11; + char *t12; + +LAB0: xsi_set_current_line(41, ng0); + +LAB3: t1 = (t0 + 1832U); + t2 = *((char **)t1); + t3 = *((unsigned char *)t2); + t1 = (t0 + 1992U); + t4 = *((char **)t1); + t5 = *((unsigned char *)t4); + t6 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t5); + t7 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t3, t6); + t1 = (t0 + 5424); + t8 = (t1 + 56U); + t9 = *((char **)t8); + t10 = (t9 + 56U); + t11 = *((char **)t10); + *((unsigned char *)t11) = t7; + xsi_driver_first_trans_fast_port(t1); + +LAB2: t12 = (t0 + 5024); + *((int *)t12) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + + +extern void work_a_0557987184_1272247069_init() +{ + static char *pe[] = {(void *)work_a_0557987184_1272247069_p_0,(void *)work_a_0557987184_1272247069_p_1,(void *)work_a_0557987184_1272247069_p_2,(void *)work_a_0557987184_1272247069_p_3,(void *)work_a_0557987184_1272247069_p_4,(void *)work_a_0557987184_1272247069_p_5}; + xsi_register_didat("work_a_0557987184_1272247069", "isim/SpecialCasesTest_isim_beh.exe.sim/work/a_0557987184_1272247069.didat"); + xsi_register_executes(pe); +} diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_0557987184_1272247069.didat b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_0557987184_1272247069.didat new file mode 100644 index 0000000000000000000000000000000000000000..67b25b6b79b19def60dd7f2e8cf2c2ce9f397c1a GIT binary patch literal 4632 zcmeHKOKVd>6h2xX^;zFm1g%z4L7E4tNeW_WDO%8lv|u-KxhB^pv}r?gt1SpcaHl`O zg+&*x#HEjo3%8;x@dqfVdl!PDQok>EPMY36;)sG4KltvM`R2?yXC`y!w)ZzY``X{+ zUJ&5bYCc7J!RyOKZrAXeX(t*)Uc>KhqsTk3agE4P&|fJs1pVk*ksNq+oyhw2A_u^J za0na+Z-LLimmtw>Y|xwknS#&hkl(!xBFYD7zcGw%7Ab+_hRs`$1I(lTci?B#)rWc? z!oCLcm{$Uu!P6i?O&RV}*SxgLDl=vt?336U!B$n;s?lE#9`f1(Rri!2TH9oB^rVWC*)6<;KdRT`G4uXm#8u)4c2$+8Y z#8LPwz-|Z2|dy%m?~!#Y10rTq{yUpE^*D!#WRxJE_hC`gh@>XP)~s zg?_NEnK+z!0yObuzWpgI(X4`w$$rYX_EN zoclNw<0Q0&V%&u9-kKOop{Z-7t-b$L=l8aD%{=1-_m2pAB6?;6bw<}S7}oVp4(qo5 znxFM5`Ma{M?=@?t#u{lgH=1>!>($s9%pi$Lp*8BA zl7Rym2J;cj&l)p^FtfmX1oJQES8*~Atzk#4Sf{P~M9bP}HMdTs9;S}{xBtct=-)8> zn~2|dexLbwPcyg++zsvn_k*qAL6F}%ey7TQ&MEuuaLyggNhCi~^de`*vTmfOw>#3) z-QAsRPju#T-e{z6qU3euz3gDy<-Cn&b)HmPouk>j6g02z9goJM$I@ww?87#` zu8ntL_>x8J0q5da*}~tq^dGQ^ZQOaTM~bB}-?NzH+a~Gz zg(Mw`s6|N~i5Om|IneJlzpX78)q9+Me&h8%XMdspRptb(FEsE@51~*l6eGPQFI#Yj zy4mbCk;F^dmMi33pK*Tx D2Y19) literal 0 HcmV?d00001 diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_0557987184_1272247069.lin64.o b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_0557987184_1272247069.lin64.o new file mode 100644 index 0000000000000000000000000000000000000000..04f8f6a8911fb4fe4dbcccf40edc0e200dee6472 GIT binary patch literal 5512 zcmbuDTZ~)98Gy(3hL|+iW)sp4(8eV$GAcRi`vuW<&u*MO8{B5KmnKSqgJYk>R`z1q zUI>>$Bm-J=x^2`84+tb4kU%02QHwT_f*Oe+HV=Ks3y(;VDxs8%v_M3VhzS2bXa3#U zv7JTamyXZOH~)3cIWx2STrR)I?Q$^^7yAuc?Ga_{%q^?!0p1*7z0A*y=4W1GA&JCT z_%+@xx3!z^d(RuKheMZ*)>LRY-ztT^0kb}%^{ruZ%X9aw*xAkSM#gsg7lVe~yZ}xA zV#Kg_ai8{|9OwSUi@JaDia~v2;cVm%h;Q%D81`6Z-px~3YQDaO@mdV~?vP+5qrr5Ga%uZEVr=)v;=^Wae5>d?v1zkkNqQjS4v_Pd3Xq0`XSp^x(EZ&CX$Xz@%& z7Tyh2c`CzD^#EL3{ENNw0Y0cNJs+x4N{{Fd>yPM*#+crPCjX$@g=3`XCnpgDp z_7KaUXxQ}Z$6Q9sdGt%o(G?e9RjF5|`^T$Ru~L{CD%7p|gjH{tNX*s; z(dti5HwuTCR&Ugtdzo4_YpS3%tYZzP!3$Af+M#-#X|-AGpn6oxtnEgji#A*VTH4fX zu`s2=+AQ(n?DVuX1MX*L8|9CR@ppUD@JY5ps~I>kRFoRYq9vtm#E5;Qu+zaZjM9E=Zp--U2%DX9*+uL$OrjiG&6*oP^Q7+2@xpTIkXx+Lma$0afcPNaz>XwJI(#0~+)+J)3n)mRaE@_s-&f<~GwBq6)CU6~`xWPEd`GMO z7xjAB7uVZIFkWXbo{pKIey15m4hOal;%QsW7{hhS#lHZ@fZn&A&~?K|Soq<49JF`C z<>GIwGeGlZKo|8-JDBl358C)0A-`Re#`h~=FA3fw=8^c@f?pN92z`|Q!i9bgiia}9 zsq^EJ@|Q5o13txe@vzP95QvAriED>G=iT=C{E~BZcW`VyOuS^0tEHKhT9wcj3=<;s5HwKkmXe!gK1B|IRL)bvf~AMOL-6WGt1r;la?Xnn^Zu zB(k1TVm*b}dJ6IN6r$@XM3|Nz;y>%CR%R*vM<9csdb{WaF_|G#*K(vguUJOhy34SW_3@8n;yOYQ)W`3D_(KRmP#=8~ zKY|bhS0-G0iB}PVpgx|#i64hH3UWL%5q}vW2=br9Mf^VqLDYOMIJhmJ{|T<<^QojS z$EAM-sd0C}`hcRwyhJV>0*3qkJPIq#x>I(N{%O8V3n>U;;r s-F#Glptz$Cyht*lL7e;?P&mbHD4g +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +static const char *ng0 = "/home/Luca/ISE/IEEE754Adder/ZeroCheck.vhd"; +extern char *IEEE_P_2592010699; + +unsigned char ieee_p_2592010699_sub_3488768496604610246_503743352(char *, unsigned char , unsigned char ); +unsigned char ieee_p_2592010699_sub_3496108612141461530_503743352(char *, unsigned char , unsigned char ); +unsigned char ieee_p_2592010699_sub_374109322130769762_503743352(char *, unsigned char ); + + +static void work_a_1540508602_4151211736_p_0(char *t0) +{ + char *t1; + char *t2; + int t3; + unsigned int t4; + unsigned int t5; + unsigned int t6; + unsigned char t7; + char *t8; + char *t9; + char *t10; + char *t11; + char *t12; + char *t13; + +LAB0: xsi_set_current_line(28, ng0); + +LAB3: t1 = (t0 + 1032U); + t2 = *((char **)t1); + t3 = (31 - 31); + t4 = (t3 * -1); + t5 = (1U * t4); + t6 = (0 + t5); + t1 = (t2 + t6); + t7 = *((unsigned char *)t1); + t8 = (t0 + 5184); + t9 = (t8 + 56U); + t10 = *((char **)t9); + t11 = (t10 + 56U); + t12 = *((char **)t11); + *((unsigned char *)t12) = t7; + xsi_driver_first_trans_fast(t8); + +LAB2: t13 = (t0 + 5024); + *((int *)t13) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_1540508602_4151211736_p_1(char *t0) +{ + char *t1; + char *t2; + int t3; + unsigned int t4; + unsigned int t5; + unsigned int t6; + unsigned char t7; + char *t8; + char *t9; + char *t10; + char *t11; + char *t12; + char *t13; + +LAB0: xsi_set_current_line(29, ng0); + +LAB3: t1 = (t0 + 1192U); + t2 = *((char **)t1); + t3 = (31 - 31); + t4 = (t3 * -1); + t5 = (1U * t4); + t6 = (0 + t5); + t1 = (t2 + t6); + t7 = *((unsigned char *)t1); + t8 = (t0 + 5248); + t9 = (t8 + 56U); + t10 = *((char **)t9); + t11 = (t10 + 56U); + t12 = *((char **)t11); + *((unsigned char *)t12) = t7; + xsi_driver_first_trans_fast(t8); + +LAB2: t13 = (t0 + 5040); + *((int *)t13) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_1540508602_4151211736_p_2(char *t0) +{ + char *t1; + char *t2; + unsigned int t3; + unsigned int t4; + unsigned int t5; + char *t6; + char *t7; + char *t8; + char *t9; + char *t10; + char *t11; + +LAB0: xsi_set_current_line(30, ng0); + +LAB3: t1 = (t0 + 1032U); + t2 = *((char **)t1); + t3 = (31 - 30); + t4 = (t3 * 1U); + t5 = (0 + t4); + t1 = (t2 + t5); + t6 = (t0 + 5312); + t7 = (t6 + 56U); + t8 = *((char **)t7); + t9 = (t8 + 56U); + t10 = *((char **)t9); + memcpy(t10, t1, 31U); + xsi_driver_first_trans_fast(t6); + +LAB2: t11 = (t0 + 5056); + *((int *)t11) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_1540508602_4151211736_p_3(char *t0) +{ + char *t1; + char *t2; + unsigned int t3; + unsigned int t4; + unsigned int t5; + char *t6; + char *t7; + char *t8; + char *t9; + char *t10; + char *t11; + +LAB0: xsi_set_current_line(31, ng0); + +LAB3: t1 = (t0 + 1192U); + t2 = *((char **)t1); + t3 = (31 - 30); + t4 = (t3 * 1U); + t5 = (0 + t4); + t1 = (t2 + t5); + t6 = (t0 + 5376); + t7 = (t6 + 56U); + t8 = *((char **)t7); + t9 = (t8 + 56U); + t10 = *((char **)t9); + memcpy(t10, t1, 31U); + xsi_driver_first_trans_fast(t6); + +LAB2: t11 = (t0 + 5072); + *((int *)t11) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_1540508602_4151211736_p_4(char *t0) +{ + char *t1; + char *t2; + unsigned char t3; + char *t4; + unsigned char t5; + unsigned char t6; + char *t7; + char *t8; + char *t9; + char *t10; + char *t11; + +LAB0: xsi_set_current_line(33, ng0); + +LAB3: t1 = (t0 + 1512U); + t2 = *((char **)t1); + t3 = *((unsigned char *)t2); + t1 = (t0 + 1672U); + t4 = *((char **)t1); + t5 = *((unsigned char *)t4); + t6 = ieee_p_2592010699_sub_3496108612141461530_503743352(IEEE_P_2592010699, t3, t5); + t1 = (t0 + 5440); + t7 = (t1 + 56U); + t8 = *((char **)t7); + t9 = (t8 + 56U); + t10 = *((char **)t9); + *((unsigned char *)t10) = t6; + xsi_driver_first_trans_fast(t1); + +LAB2: t11 = (t0 + 5088); + *((int *)t11) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_1540508602_4151211736_p_5(char *t0) +{ + char *t1; + char *t2; + unsigned char t3; + unsigned char t4; + char *t5; + unsigned char t6; + unsigned char t7; + char *t8; + char *t9; + char *t10; + char *t11; + char *t12; + +LAB0: xsi_set_current_line(38, ng0); + +LAB3: t1 = (t0 + 2312U); + t2 = *((char **)t1); + t3 = *((unsigned char *)t2); + t4 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t3); + t1 = (t0 + 2152U); + t5 = *((char **)t1); + t6 = *((unsigned char *)t5); + t7 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t4, t6); + t1 = (t0 + 5504); + t8 = (t1 + 56U); + t9 = *((char **)t8); + t10 = (t9 + 56U); + t11 = *((char **)t10); + *((unsigned char *)t11) = t7; + xsi_driver_first_trans_fast_port(t1); + +LAB2: t12 = (t0 + 5104); + *((int *)t12) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + + +extern void work_a_1540508602_4151211736_init() +{ + static char *pe[] = {(void *)work_a_1540508602_4151211736_p_0,(void *)work_a_1540508602_4151211736_p_1,(void *)work_a_1540508602_4151211736_p_2,(void *)work_a_1540508602_4151211736_p_3,(void *)work_a_1540508602_4151211736_p_4,(void *)work_a_1540508602_4151211736_p_5}; + xsi_register_didat("work_a_1540508602_4151211736", "isim/SpecialCasesTest_isim_beh.exe.sim/work/a_1540508602_4151211736.didat"); + xsi_register_executes(pe); +} diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_1540508602_4151211736.didat b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_1540508602_4151211736.didat new file mode 100644 index 0000000000000000000000000000000000000000..7ab54c2f73119cd2147c159fc8e7d1c1dfffdac1 GIT binary patch literal 5160 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 literal 0 HcmV?d00001 diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2347761600_1146481140.c b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2347761600_1146481140.c new file mode 100644 index 0000000..cf30619 --- /dev/null +++ b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2347761600_1146481140.c @@ -0,0 +1,180 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2009 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/***********************************************************************/ + +/* This file is designed for use with ISim build 0xfbc00daa */ + +#define XSI_HIDE_SYMBOL_SPEC true +#include "xsi.h" +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +static const char *ng0 = "/home/Luca/ISE/IEEE754Adder/EqualCheck.vhd"; +extern char *IEEE_P_2592010699; + +char *ieee_p_2592010699_sub_16439989833707593767_503743352(char *, char *, char *, char *, char *, char *); +unsigned char ieee_p_2592010699_sub_3488546069778340532_503743352(char *, unsigned char , unsigned char ); +unsigned char ieee_p_2592010699_sub_374109322130769762_503743352(char *, unsigned char ); + + +static void work_a_2347761600_1146481140_p_0(char *t0) +{ + char t1[16]; + char *t2; + char *t3; + char *t4; + char *t5; + char *t6; + char *t7; + unsigned int t8; + unsigned int t9; + unsigned char t10; + char *t11; + char *t12; + char *t13; + char *t14; + char *t15; + char *t16; + +LAB0: xsi_set_current_line(15, ng0); + +LAB3: t2 = (t0 + 1032U); + t3 = *((char **)t2); + t2 = (t0 + 5352U); + t4 = (t0 + 1192U); + t5 = *((char **)t4); + t4 = (t0 + 5368U); + t6 = ieee_p_2592010699_sub_16439989833707593767_503743352(IEEE_P_2592010699, t1, t3, t2, t5, t4); + t7 = (t1 + 12U); + t8 = *((unsigned int *)t7); + t9 = (1U * t8); + t10 = (31U != t9); + if (t10 == 1) + goto LAB5; + +LAB6: t11 = (t0 + 3568); + t12 = (t11 + 56U); + t13 = *((char **)t12); + t14 = (t13 + 56U); + t15 = *((char **)t14); + memcpy(t15, t6, 31U); + xsi_driver_first_trans_fast(t11); + +LAB2: t16 = (t0 + 3472); + *((int *)t16) = 1; + +LAB1: return; +LAB4: goto LAB2; + +LAB5: xsi_size_not_matching(31U, t9, 0); + goto LAB6; + +} + +static void work_a_2347761600_1146481140_p_1(char *t0) +{ + char *t1; + char *t2; + int t3; + int t4; + char *t5; + char *t6; + unsigned char t7; + char *t8; + int t9; + int t10; + unsigned int t11; + unsigned int t12; + unsigned int t13; + char *t14; + unsigned char t15; + unsigned char t16; + char *t17; + char *t18; + +LAB0: xsi_set_current_line(20, ng0); + t1 = (t0 + 1928U); + t2 = *((char **)t1); + t1 = (t2 + 0); + *((unsigned char *)t1) = (unsigned char)2; + xsi_set_current_line(21, ng0); + t1 = (t0 + 5506); + *((int *)t1) = 30; + t2 = (t0 + 5510); + *((int *)t2) = 0; + t3 = 30; + t4 = 0; + +LAB2: if (t3 >= t4) + goto LAB3; + +LAB5: xsi_set_current_line(24, ng0); + t1 = (t0 + 1928U); + t2 = *((char **)t1); + t7 = *((unsigned char *)t2); + t15 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t7); + t1 = (t0 + 3632); + t5 = (t1 + 56U); + t6 = *((char **)t5); + t8 = (t6 + 56U); + t14 = *((char **)t8); + *((unsigned char *)t14) = t15; + xsi_driver_first_trans_fast_port(t1); + t1 = (t0 + 3488); + *((int *)t1) = 1; + +LAB1: return; +LAB3: xsi_set_current_line(22, ng0); + t5 = (t0 + 1928U); + t6 = *((char **)t5); + t7 = *((unsigned char *)t6); + t5 = (t0 + 1512U); + t8 = *((char **)t5); + t5 = (t0 + 5506); + t9 = *((int *)t5); + t10 = (t9 - 30); + t11 = (t10 * -1); + t12 = (1U * t11); + t13 = (0 + t12); + t14 = (t8 + t13); + t15 = *((unsigned char *)t14); + t16 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t7, t15); + t17 = (t0 + 1928U); + t18 = *((char **)t17); + t17 = (t18 + 0); + *((unsigned char *)t17) = t16; + +LAB4: t1 = (t0 + 5506); + t3 = *((int *)t1); + t2 = (t0 + 5510); + t4 = *((int *)t2); + if (t3 == t4) + goto LAB5; + +LAB6: t9 = (t3 + -1); + t3 = t9; + t5 = (t0 + 5506); + *((int *)t5) = t3; + goto LAB2; + +} + + +extern void work_a_2347761600_1146481140_init() +{ + static char *pe[] = {(void *)work_a_2347761600_1146481140_p_0,(void *)work_a_2347761600_1146481140_p_1}; + xsi_register_didat("work_a_2347761600_1146481140", "isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2347761600_1146481140.didat"); + xsi_register_executes(pe); +} diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2347761600_1146481140.didat b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2347761600_1146481140.didat new file mode 100644 index 0000000000000000000000000000000000000000..bf5031dac559b8fd9848dbc3c832abc0d5c138d0 GIT binary patch literal 3488 zcmeHJJ8KkC6h3NvVn~!Ig2V?}Sjax&X7i|wvS1*EkQ5fmIGMSyW8CbzGaDl+3Z}60 z52Q#b78a69ECd^WKuQG*1q%@iJC*o-vvYPQn>A)Y#fS&Kd+t4t@18mL?qwf!KL2u| z%f2L(9pNZfpyoD<%*XIGn&-BNyxJ=AaGS^npnJPW4w&x{31EMQ`4TV&u9v_Ypl7GZ z2_Oed0Jnhq0A(rKv%YFSenw136t5ANcZn#9nBR@Cup4^3#)pyj46s%`=aI*|@hgS(5sxu+LEnQ`o9gxK$M0c$ zHzs?a-$guXkL&gDZKN1}_fvp6E<9^Jc>c`Q_W%>VgDUi~Kd(Vhzh8Ba4Hf5%b3B1# zuM+$tTECUwNzu<@Zzy$Z(;oJ>jXey;pm&bE@xH46M_PHAN1ToTB}ZewZ{^f|;&F^^ zCx_Y?bsuWwQf>{WkHQCoF|DBQzigZi=sV7LfbVV(un*V|902^lwfw-IcI~Pw>0-HL z(qlEpPLGZk(xZh!VW2-Z;<~1qE?leGSI-uWGnJYtCJJq4N^?3=b&BE{W2}nR*FV&k z$!79HLrE%_^a7_`n+}rX%q9uGktEpj4I7js#VMC6Gsa1hGMw#C5?(dF6_hGTQihqs z%4&hZ^;jkPuJDcIe~6#0m4LB-Mm*murN=AA@o-;l-}n>84=h@(NmERjS(9SK^>TG8 fZCib(asvbTY(A5*ve{fdH;6Hlay{1$!g9X@Yt1(} literal 0 HcmV?d00001 diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2347761600_1146481140.lin64.o b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2347761600_1146481140.lin64.o new file mode 100644 index 0000000000000000000000000000000000000000..52eebb153646075753edc04e16c7ad059dc6b57e GIT binary patch literal 4144 zcmbuCU5pb|6o7Br1u9~91=Lj#n%Iz{GM#q%YtZcMQg${e?1t`YjKE~Jouw0Y+jV9Z zS1_7bAlnQz#7H8>2TXh*$}?{K!?*+<;ejWgd@>98fH5&^MAvg>?q!E*i$+f}bMN`? zx#ygFI&*vHoqS=p-{&JteB>pvqA^NHrE8_%XLtL^deTj#`p-eBnL;8pU&LmyrC+}s zTo7Lt$HdXG;!xvm!LrQ@jo&V9WcEYNk0Wzyz=svMLi{-N*vim_$h)9j&66#__B1a< zPJ$|ej&gf1TK7WF32X(rFY=PL3dbZXYr~=D*AYI1`YTz<+LxX4+gQAMJaX<4Vz2kL z1LA)1fOv2Ly*}}4AmG_4O2!ckE<0o)TY!}VWy^H}tm?7+>oX9fqLvPGM=E84KIINR zska9-g98IEgrkFd$F_%)T$0O#6MQ_u3vnSF-KUnrl43f1M?%;RZtzJ(@g3bqe6u~i zP3zVKPs59Xe6u}5NEF*$p`KDGNOnRuNx2_isQysTd;b1VZ!^#z3ZLo{L(!9~#1LO! z?LWIV6cs~Z7z3OBP*8jr%p-8Inp{Ia#SnkWe=<<-@_)9L+8`#J@#d7Nj6-YcPFrC; zU7b`oQ=K&l2L)CLH*Oe&(`%@pd7R7Muf{>eIko}xxXD^cne;-v#(1eVHKkU;eYIw) z9Mp1$VJfA=bb?xuCv;^>wbT5+w=g)sGOqSG>ZAJao=wZOUD+0!;O=EOa2}p{lqEX9 z2m06zA_T#W1!Wst$OEXjWT)SyxVqk0&%+q{{IB!lFc;$|;BreJjepDyq0jQC%OZWi z+Rgup&VSl7pUq?KD4p-k|3^9>>*f}(J`982nxOqT-1tCvry)2G{s->m&+4xM!(6=a z@6h;cyp*k8!YWY*ART|J~3rmD-%S?@js zXT;KssT#JSp_+1OM%Uq3Ax~;mmEZ|b9+4BN930U2bS_6URaGJX6(Som;)i@Wo|_ZG$LKLGC)3g(G5 zVg3gw_pW!3%iitZpxo>Kn9Cmbbmsqxi{p0#IkEkm?emPY{n4>@ b&KmfyGeSX_w&(*dCRy5HocWpca2EG(>Q8-# literal 0 HcmV?d00001 diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2912948712_3395701438.c b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2912948712_3395701438.c new file mode 100644 index 0000000..5f5233a --- /dev/null +++ b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2912948712_3395701438.c @@ -0,0 +1,31 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2009 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/***********************************************************************/ + +/* This file is designed for use with ISim build 0xfbc00daa */ + +#define XSI_HIDE_SYMBOL_SPEC true +#include "xsi.h" +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif + + + + +extern void work_a_2912948712_3395701438_init() +{ + xsi_register_didat("work_a_2912948712_3395701438", "isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2912948712_3395701438.didat"); +} diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2912948712_3395701438.didat b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2912948712_3395701438.didat new file mode 100644 index 0000000000000000000000000000000000000000..d6eac18c5abbc236107f0f1c471baf32c1113d8c GIT binary patch literal 3692 zcmeH|&ubGw6vv;x5v^7{sx;z7JS4lD-6ZQpOPWJ5h)_WhWm&TW32l>@jhYJL!Jfo} z2M-D!ds5F*JoO(Cdhp;u(L=6+N5M+`zGNqvYywHQ3PStflbLz*e(jst&FhJ^U)PVi zw+PZYz`sNn!SZgRR|*@!+}uNy-$(Qed;~wi$^Ee1OVk86G55ez&;%PmL);l~1ysQc zumV_qV1JZM!ZsGzOWXV*)G>sW3DgBX2P_;RVv4B03D%Ks20RCE!KZ^n-@sY03RqYt z39nhN=H1oy=>71TL0j6RTyJIM=jj##erkUJvoSJOY?{Wkzt zxGnrV$Dr)^_2RHT7Jy+u*#0Y!ark_5Py z)1D`4iMgsMl-z}^>kB_y6ovWtyj zmZ@14SA}19SnJ#t n#kgpQI9qU=60T#|x?!7{v~D=bq-~`&-ArcUUdeOoK^cDlGJH)h literal 0 HcmV?d00001 diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2912948712_3395701438.lin64.o b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_2912948712_3395701438.lin64.o new file mode 100644 index 0000000000000000000000000000000000000000..a7aa5d1261eff0e419265a754b29c8e5a272c496 GIT binary patch literal 1880 zcmbtV&2G~`5MDQh1}IVZIUp4zUqGoux3Qfn2@)u6$d6D&q_&72K#P+s#A=;XwxtFx z9D3nWiAUhfYk?bt5(DT=K4td{m59)5n!(ARm3{lqO zL&_(dBI9Tr?614bu3C1rR4H3FbDZi%xoDM~3LSU@HzG)3b0~zg>h*hOq4oI5s#&5X zS~l&XWfvXGF$>##V7A>T!PjhO73;c=1Bmfvn;4V4v9i3BeGhv?{AL^x`e82rG?yiW zhOhm|?SYPhL=UAE@B^1dd=e1~g}Q|H!jRBlj1JN*TA6h%Li=Oi=Of4%jU!H>?zJ#- z`}@Gd$@q}H3|ya!LjFUUkc+K5ugy^tzTB$}FG@q`70^0{p;IwoTkw`a<2vxBV!0vo z9ngqpgfG=IX=qws>n_A`&VS9fAQ#uS;Zfy zU5KDvoH7#Qi}0z2%RH&~ATDi{`a^XTTj%;Be?j4(c`AIpF1de6AA+Ix1Y@WjajQagrqq*a1=+8ah(Y*Je!^T*em5Hi!<&n9Hz&dg%?U6Yjg%^25j zix`A@MAH*D9&f{VRoSn+Pg;QI6`nMo&%w!@o1OLv?bM4nSbzNmFmL2Vgta=|t<4VW zHk&(*UADWq)oCy?2|X6@S6&$LfF*wuxf48Fct(DnC6W_`B7RZ9uL&GGg&fH@1&)06 Goc;o+eWm{Z literal 0 HcmV?d00001 diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_3914402253_2628201599.c b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_3914402253_2628201599.c new file mode 100644 index 0000000..c03abc5 --- /dev/null +++ b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_3914402253_2628201599.c @@ -0,0 +1,221 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2009 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/***********************************************************************/ + +/* This file is designed for use with ISim build 0xfbc00daa */ + +#define XSI_HIDE_SYMBOL_SPEC true +#include "xsi.h" +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +static const char *ng0 = "/home/Luca/ISE/IEEE754Adder/NaNCheck.vhd"; +extern char *IEEE_P_2592010699; + +unsigned char ieee_p_2592010699_sub_3488546069778340532_503743352(char *, unsigned char , unsigned char ); +unsigned char ieee_p_2592010699_sub_3488768496604610246_503743352(char *, unsigned char , unsigned char ); +unsigned char ieee_p_2592010699_sub_374109322130769762_503743352(char *, unsigned char ); + + +static void work_a_3914402253_2628201599_p_0(char *t0) +{ + char *t1; + char *t2; + int t3; + unsigned int t4; + unsigned int t5; + unsigned int t6; + unsigned char t7; + char *t8; + char *t9; + char *t10; + char *t11; + char *t12; + char *t13; + +LAB0: xsi_set_current_line(32, ng0); + +LAB3: t1 = (t0 + 1032U); + t2 = *((char **)t1); + t3 = (31 - 31); + t4 = (t3 * -1); + t5 = (1U * t4); + t6 = (0 + t5); + t1 = (t2 + t6); + t7 = *((unsigned char *)t1); + t8 = (t0 + 4392); + t9 = (t8 + 56U); + t10 = *((char **)t9); + t11 = (t10 + 56U); + t12 = *((char **)t11); + *((unsigned char *)t12) = t7; + xsi_driver_first_trans_fast(t8); + +LAB2: t13 = (t0 + 4280); + *((int *)t13) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_3914402253_2628201599_p_1(char *t0) +{ + char *t1; + char *t2; + int t3; + unsigned int t4; + unsigned int t5; + unsigned int t6; + unsigned char t7; + char *t8; + char *t9; + char *t10; + char *t11; + char *t12; + char *t13; + +LAB0: xsi_set_current_line(33, ng0); + +LAB3: t1 = (t0 + 1192U); + t2 = *((char **)t1); + t3 = (31 - 31); + t4 = (t3 * -1); + t5 = (1U * t4); + t6 = (0 + t5); + t1 = (t2 + t6); + t7 = *((unsigned char *)t1); + t8 = (t0 + 4456); + t9 = (t8 + 56U); + t10 = *((char **)t9); + t11 = (t10 + 56U); + t12 = *((char **)t11); + *((unsigned char *)t12) = t7; + xsi_driver_first_trans_fast(t8); + +LAB2: t13 = (t0 + 4296); + *((int *)t13) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + +static void work_a_3914402253_2628201599_p_2(char *t0) +{ + char *t1; + char *t2; + unsigned char t3; + char *t4; + unsigned char t5; + unsigned char t6; + char *t7; + unsigned char t8; + char *t9; + unsigned char t10; + unsigned char t11; + char *t12; + unsigned char t13; + unsigned char t14; + char *t15; + unsigned char t16; + unsigned char t17; + unsigned char t18; + unsigned char t19; + char *t20; + unsigned char t21; + char *t22; + unsigned char t23; + unsigned char t24; + unsigned char t25; + char *t26; + unsigned char t27; + unsigned char t28; + char *t29; + unsigned char t30; + unsigned char t31; + unsigned char t32; + char *t33; + char *t34; + char *t35; + char *t36; + char *t37; + +LAB0: xsi_set_current_line(35, ng0); + +LAB3: t1 = (t0 + 1512U); + t2 = *((char **)t1); + t3 = *((unsigned char *)t2); + t1 = (t0 + 1992U); + t4 = *((char **)t1); + t5 = *((unsigned char *)t4); + t6 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t3, t5); + t1 = (t0 + 1672U); + t7 = *((char **)t1); + t8 = *((unsigned char *)t7); + t1 = (t0 + 1832U); + t9 = *((char **)t1); + t10 = *((unsigned char *)t9); + t11 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t8, t10); + t1 = (t0 + 2152U); + t12 = *((char **)t1); + t13 = *((unsigned char *)t12); + t14 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t11, t13); + t1 = (t0 + 2312U); + t15 = *((char **)t1); + t16 = *((unsigned char *)t15); + t17 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t16); + t18 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t14, t17); + t19 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t6, t18); + t1 = (t0 + 1672U); + t20 = *((char **)t1); + t21 = *((unsigned char *)t20); + t1 = (t0 + 1832U); + t22 = *((char **)t1); + t23 = *((unsigned char *)t22); + t24 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t23); + t25 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t21, t24); + t1 = (t0 + 2152U); + t26 = *((char **)t1); + t27 = *((unsigned char *)t26); + t28 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t25, t27); + t1 = (t0 + 2312U); + t29 = *((char **)t1); + t30 = *((unsigned char *)t29); + t31 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t28, t30); + t32 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t19, t31); + t1 = (t0 + 4520); + t33 = (t1 + 56U); + t34 = *((char **)t33); + t35 = (t34 + 56U); + t36 = *((char **)t35); + *((unsigned char *)t36) = t32; + xsi_driver_first_trans_fast_port(t1); + +LAB2: t37 = (t0 + 4312); + *((int *)t37) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + + +extern void work_a_3914402253_2628201599_init() +{ + static char *pe[] = {(void *)work_a_3914402253_2628201599_p_0,(void *)work_a_3914402253_2628201599_p_1,(void *)work_a_3914402253_2628201599_p_2}; + xsi_register_didat("work_a_3914402253_2628201599", "isim/SpecialCasesTest_isim_beh.exe.sim/work/a_3914402253_2628201599.didat"); + xsi_register_executes(pe); +} diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_3914402253_2628201599.didat b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_3914402253_2628201599.didat new file mode 100644 index 0000000000000000000000000000000000000000..5998717b9e52d72d920bf45168f358e8c87b9ff5 GIT binary patch literal 5036 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 literal 0 HcmV?d00001 diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_4189535622_2372691052.c b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_4189535622_2372691052.c new file mode 100644 index 0000000..7680b4c --- /dev/null +++ b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_4189535622_2372691052.c @@ -0,0 +1,1141 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2009 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/***********************************************************************/ + +/* This file is designed for use with ISim build 0xfbc00daa */ + +#define XSI_HIDE_SYMBOL_SPEC true +#include "xsi.h" +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +static const char *ng0 = "/home/Luca/ISE/IEEE754Adder/SpecialCasesTest.vhd"; +extern char *IEEE_P_2592010699; + +unsigned char ieee_p_2592010699_sub_3488546069778340532_503743352(char *, unsigned char , unsigned char ); +unsigned char ieee_p_2592010699_sub_3488768497506413324_503743352(char *, unsigned char , unsigned char ); + + +static void work_a_4189535622_2372691052_p_0(char *t0) +{ + char *t1; + char *t2; + char *t3; + char *t4; + char *t5; + char *t6; + int64 t7; + int64 t8; + +LAB0: t1 = (t0 + 3424U); + t2 = *((char **)t1); + if (t2 == 0) + goto LAB2; + +LAB3: goto *t2; + +LAB2: xsi_set_current_line(52, ng0); + t2 = (t0 + 4320); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(53, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t7 = *((int64 *)t3); + t8 = (t7 / 2); + t2 = (t0 + 3232); + xsi_process_wait(t2, t8); + +LAB6: *((char **)t1) = &&LAB7; + +LAB1: return; +LAB4: xsi_set_current_line(54, ng0); + t2 = (t0 + 4320); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)3; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(55, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t7 = *((int64 *)t3); + t8 = (t7 / 2); + t2 = (t0 + 3232); + xsi_process_wait(t2, t8); + +LAB10: *((char **)t1) = &&LAB11; + goto LAB1; + +LAB5: goto LAB4; + +LAB7: goto LAB5; + +LAB8: goto LAB2; + +LAB9: goto LAB8; + +LAB11: goto LAB9; + +} + +static void work_a_4189535622_2372691052_p_1(char *t0) +{ + char *t1; + char *t2; + char *t3; + char *t4; + char *t5; + char *t6; + char *t7; + char *t8; + int64 t9; + +LAB0: t1 = (t0 + 3672U); + t2 = *((char **)t1); + if (t2 == 0) + goto LAB2; + +LAB3: goto *t2; + +LAB2: xsi_set_current_line(61, ng0); + t2 = (t0 + 7296); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(62, ng0); + t2 = (t0 + 7328); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(63, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)3; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(64, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(65, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB6: *((char **)t1) = &&LAB7; + +LAB1: return; +LAB4: xsi_set_current_line(66, ng0); + t2 = (t0 + 7360); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(67, ng0); + t2 = (t0 + 7392); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(68, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)3; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(69, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(70, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB10: *((char **)t1) = &&LAB11; + goto LAB1; + +LAB5: goto LAB4; + +LAB7: goto LAB5; + +LAB8: xsi_set_current_line(71, ng0); + t2 = (t0 + 7424); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(72, ng0); + t2 = (t0 + 7456); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(73, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)3; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(74, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(75, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB14: *((char **)t1) = &&LAB15; + goto LAB1; + +LAB9: goto LAB8; + +LAB11: goto LAB9; + +LAB12: xsi_set_current_line(76, ng0); + t2 = (t0 + 7488); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(77, ng0); + t2 = (t0 + 7520); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(78, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)3; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(79, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(80, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB18: *((char **)t1) = &&LAB19; + goto LAB1; + +LAB13: goto LAB12; + +LAB15: goto LAB13; + +LAB16: xsi_set_current_line(81, ng0); + t2 = (t0 + 7552); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(82, ng0); + t2 = (t0 + 7584); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(83, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(84, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(85, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB22: *((char **)t1) = &&LAB23; + goto LAB1; + +LAB17: goto LAB16; + +LAB19: goto LAB17; + +LAB20: xsi_set_current_line(86, ng0); + t2 = (t0 + 7616); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(87, ng0); + t2 = (t0 + 7648); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(88, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)3; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(89, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)3; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(90, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB26: *((char **)t1) = &&LAB27; + goto LAB1; + +LAB21: goto LAB20; + +LAB23: goto LAB21; + +LAB24: xsi_set_current_line(91, ng0); + t2 = (t0 + 7680); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(92, ng0); + t2 = (t0 + 7712); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(93, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)3; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(94, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)3; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(95, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB30: *((char **)t1) = &&LAB31; + goto LAB1; + +LAB25: goto LAB24; + +LAB27: goto LAB25; + +LAB28: xsi_set_current_line(96, ng0); + t2 = (t0 + 7744); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(97, ng0); + t2 = (t0 + 7776); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(98, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(99, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(100, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB34: *((char **)t1) = &&LAB35; + goto LAB1; + +LAB29: goto LAB28; + +LAB31: goto LAB29; + +LAB32: xsi_set_current_line(101, ng0); + t2 = (t0 + 7808); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(102, ng0); + t2 = (t0 + 7840); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(103, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(104, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(105, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB38: *((char **)t1) = &&LAB39; + goto LAB1; + +LAB33: goto LAB32; + +LAB35: goto LAB33; + +LAB36: xsi_set_current_line(106, ng0); + t2 = (t0 + 7872); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(107, ng0); + t2 = (t0 + 7904); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(108, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(109, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(110, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB42: *((char **)t1) = &&LAB43; + goto LAB1; + +LAB37: goto LAB36; + +LAB39: goto LAB37; + +LAB40: xsi_set_current_line(111, ng0); + t2 = (t0 + 7936); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(112, ng0); + t2 = (t0 + 7968); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(113, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(114, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(115, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB46: *((char **)t1) = &&LAB47; + goto LAB1; + +LAB41: goto LAB40; + +LAB43: goto LAB41; + +LAB44: xsi_set_current_line(116, ng0); + t2 = (t0 + 8000); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(117, ng0); + t2 = (t0 + 8032); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(118, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(119, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)3; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(120, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB50: *((char **)t1) = &&LAB51; + goto LAB1; + +LAB45: goto LAB44; + +LAB47: goto LAB45; + +LAB48: xsi_set_current_line(121, ng0); + t2 = (t0 + 8064); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(122, ng0); + t2 = (t0 + 8096); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(123, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(124, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)3; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(125, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB54: *((char **)t1) = &&LAB55; + goto LAB1; + +LAB49: goto LAB48; + +LAB51: goto LAB49; + +LAB52: xsi_set_current_line(126, ng0); + t2 = (t0 + 8128); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(127, ng0); + t2 = (t0 + 8160); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(128, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(129, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(130, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB58: *((char **)t1) = &&LAB59; + goto LAB1; + +LAB53: goto LAB52; + +LAB55: goto LAB53; + +LAB56: xsi_set_current_line(131, ng0); + t2 = (t0 + 8192); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(132, ng0); + t2 = (t0 + 8224); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(133, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(134, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(135, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB62: *((char **)t1) = &&LAB63; + goto LAB1; + +LAB57: goto LAB56; + +LAB59: goto LAB57; + +LAB60: xsi_set_current_line(136, ng0); + t2 = (t0 + 8256); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(137, ng0); + t2 = (t0 + 8288); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(138, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(139, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(140, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB66: *((char **)t1) = &&LAB67; + goto LAB1; + +LAB61: goto LAB60; + +LAB63: goto LAB61; + +LAB64: xsi_set_current_line(141, ng0); + t2 = (t0 + 8320); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(142, ng0); + t2 = (t0 + 8352); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(143, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(144, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(145, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB70: *((char **)t1) = &&LAB71; + goto LAB1; + +LAB65: goto LAB64; + +LAB67: goto LAB65; + +LAB68: xsi_set_current_line(146, ng0); + t2 = (t0 + 8384); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(147, ng0); + t2 = (t0 + 8416); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(148, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(149, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(150, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB74: *((char **)t1) = &&LAB75; + goto LAB1; + +LAB69: goto LAB68; + +LAB71: goto LAB69; + +LAB72: xsi_set_current_line(151, ng0); + t2 = (t0 + 8448); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(152, ng0); + t2 = (t0 + 8480); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(153, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(154, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)3; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(155, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB78: *((char **)t1) = &&LAB79; + goto LAB1; + +LAB73: goto LAB72; + +LAB75: goto LAB73; + +LAB76: xsi_set_current_line(156, ng0); + t2 = (t0 + 8512); + t4 = (t0 + 4384); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(157, ng0); + t2 = (t0 + 8544); + t4 = (t0 + 4448); + t5 = (t4 + 56U); + t6 = *((char **)t5); + t7 = (t6 + 56U); + t8 = *((char **)t7); + memcpy(t8, t2, 32U); + xsi_driver_first_trans_fast(t4); + xsi_set_current_line(158, ng0); + t2 = (t0 + 4512); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(159, ng0); + t2 = (t0 + 4576); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t4 + 56U); + t6 = *((char **)t5); + *((unsigned char *)t6) = (unsigned char)2; + xsi_driver_first_trans_fast(t2); + xsi_set_current_line(160, ng0); + t2 = (t0 + 2448U); + t3 = *((char **)t2); + t9 = *((int64 *)t3); + t2 = (t0 + 3480); + xsi_process_wait(t2, t9); + +LAB82: *((char **)t1) = &&LAB83; + goto LAB1; + +LAB77: goto LAB76; + +LAB79: goto LAB77; + +LAB80: goto LAB2; + +LAB81: goto LAB80; + +LAB83: goto LAB81; + +} + +static void work_a_4189535622_2372691052_p_2(char *t0) +{ + char *t1; + char *t2; + unsigned char t3; + char *t4; + unsigned char t5; + unsigned char t6; + char *t7; + unsigned char t8; + char *t9; + unsigned char t10; + unsigned char t11; + unsigned char t12; + char *t13; + char *t14; + char *t15; + char *t16; + char *t17; + +LAB0: xsi_set_current_line(163, ng0); + +LAB3: t1 = (t0 + 1832U); + t2 = *((char **)t1); + t3 = *((unsigned char *)t2); + t1 = (t0 + 1352U); + t4 = *((char **)t1); + t5 = *((unsigned char *)t4); + t6 = ieee_p_2592010699_sub_3488768497506413324_503743352(IEEE_P_2592010699, t3, t5); + t1 = (t0 + 1992U); + t7 = *((char **)t1); + t8 = *((unsigned char *)t7); + t1 = (t0 + 1512U); + t9 = *((char **)t1); + t10 = *((unsigned char *)t9); + t11 = ieee_p_2592010699_sub_3488768497506413324_503743352(IEEE_P_2592010699, t8, t10); + t12 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t6, t11); + t1 = (t0 + 4640); + t13 = (t1 + 56U); + t14 = *((char **)t13); + t15 = (t14 + 56U); + t16 = *((char **)t15); + *((unsigned char *)t16) = t12; + xsi_driver_first_trans_fast(t1); + +LAB2: t17 = (t0 + 4240); + *((int *)t17) = 1; + +LAB1: return; +LAB4: goto LAB2; + +} + + +extern void work_a_4189535622_2372691052_init() +{ + static char *pe[] = {(void *)work_a_4189535622_2372691052_p_0,(void *)work_a_4189535622_2372691052_p_1,(void *)work_a_4189535622_2372691052_p_2}; + xsi_register_didat("work_a_4189535622_2372691052", "isim/SpecialCasesTest_isim_beh.exe.sim/work/a_4189535622_2372691052.didat"); + xsi_register_executes(pe); +} diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_4189535622_2372691052.didat b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_4189535622_2372691052.didat new file mode 100644 index 0000000000000000000000000000000000000000..3d35f770a0de08e9fe96f606f24277562c17a1d4 GIT binary patch literal 6500 zcmeH~No*Tc7{^}|pk*nI*f-I%z=cB`kL}n70Zx-p0tE^wkg^R^d%!~$8;_H^Wodv? zpcLA&71{ztJs@#L;?hG891w~)Z~-I^94dr3aYO^31Vjw0Y38TB$3*feUaBK%q_uj;WXPvR&atEFL%}SOSI9d418bJxl9o z<8qTqd#yfPs?I}QP$V{}=a{yqwc!M=A%5kYhjHyh=qEO+*_WC*mN}u@k}POpex()` zc*IhAxpQdefXJ=ra9x%{c>dP`=kZ?<)-w`E#i_ME!%gy>LZ0*8TCyfVy}U1idhR(& zQ15FO-)%B(*7A8ok-eBgp9F<=3imtvDGeI6uHxBAJB9OV*PK-x-Mu+Q9r%vF3i4niCKDHr+8|HlR^AZsNqvd`Iy?rSV^r9OBa zDs2+;O&~_@JF(Y_nGeLsz1Jw_yFiTiw$lEH9KV3yfQZ~D9JAI#u-z!eC2E)3wcz(T z#Q{+e0|OuqZUOvGzYV0oAlLwgz%bx9%gE6oL zJOCa94}o#86+8?c0gnRyVSOB!;0a)XZ6FOYzy?o(r$82P4*dT!0Vcr|m+@Gf`{yblh655R}uFgOB^f{(z*;1h5R90zVOW4c9aI%5?wDwNGl*`ZA{ zX)823HWC^g85xPkqJx=?T?mck?X+V}4q2}4Zn52B-)y#x0N2lwW|ks;YMY(4W}RF? zIks(^dDDm`js9@|Kr-2SHKo==cC;SixYO2jJ7GKRLaz0=^kgnQ(R!F&!b%tIOk1@| zaC;Tog#xZ;%X`V2sF}A5POgoORl?ooUm3^s%C<}+88(v9L_BP$nVF*6o-0h4m0B|r zNyg&+;b*N(zT^}o#%KR$+T_1E*uzXIXdc-fG@LU~9lleKW yGgbACWKwJ56Q|EE*?sijODJTS(QqOei^K*D!!#msV;~vsj~RU#Cu8wDlJXCmj@U{7 literal 0 HcmV?d00001 diff --git a/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_4189535622_2372691052.lin64.o b/isim/SpecialCasesTest_isim_beh.exe.sim/work/a_4189535622_2372691052.lin64.o new file mode 100644 index 0000000000000000000000000000000000000000..4d39ed6c6c7042d167d3330679a860bd48d19b7c GIT binary patch literal 14824 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 + +ISim Statistics +Xilinx HDL Libraries Used=ieee +Fuse Resource Usage=1000 ms, 658120 KB + +Total Signals=48 +Total Nets=239 +Total Blocks=8 +Total Processes=26 +Total Simulation Time=1 us +Simulation Resource Usage=0.04 sec, 271904 KB +Simulation Mode=gui +Hardware CoSim=0 + + diff --git a/isim/lockfile b/isim/lockfile new file mode 100644 index 0000000..e69de29 diff --git a/isim/pn_info b/isim/pn_info new file mode 100644 index 0000000..f96c793 --- /dev/null +++ b/isim/pn_info @@ -0,0 +1 @@ +14.7 diff --git a/isim/precompiled.exe.sim/ieee/p_2592010699.c b/isim/precompiled.exe.sim/ieee/p_2592010699.c new file mode 100644 index 0000000..668613c --- /dev/null +++ b/isim/precompiled.exe.sim/ieee/p_2592010699.c @@ -0,0 +1,8819 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2009 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/***********************************************************************/ + +/* This file is designed for use with ISim build 0xfbc00daa */ + +#define XSI_HIDE_SYMBOL_SPEC true +#include "xsi.h" +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +static const char *ng0 = "Function to_bit ended without a return statement"; +extern char *STD_STANDARD; +static const char *ng2 = "Function to_stdulogic ended without a return statement"; +static const char *ng3 = "Function to_x01 ended without a return statement"; +static const char *ng4 = "Function to_x01z ended without a return statement"; +static const char *ng5 = "Function to_ux01 ended without a return statement"; + + + +unsigned char ieee_p_2592010699_sub_7991387870887201249_503743352(char *t1, char *t2, char *t3) +{ + char t4[128]; + char t5[24]; + char t9[8]; + unsigned char t0; + char *t6; + char *t7; + char *t8; + char *t10; + char *t11; + char *t12; + unsigned char t13; + char *t14; + char *t15; + unsigned int t16; + unsigned char t17; + int t18; + char *t19; + int t20; + char *t21; + int t22; + char *t23; + int t24; + char *t25; + int t26; + char *t27; + int t28; + int t29; + unsigned int t30; + unsigned int t31; + unsigned int t32; + char *t33; + unsigned char t34; + int t35; + int t36; + int t37; + int t38; + unsigned int t39; + int t40; + unsigned int t41; + unsigned int t42; + unsigned int t43; + unsigned int t44; + +LAB0: t6 = (t4 + 4U); + t7 = (t1 + 3216); + t8 = (t6 + 88U); + *((char **)t8) = t7; + t10 = (t6 + 56U); + *((char **)t10) = t9; + *((unsigned char *)t9) = (unsigned char)4; + t11 = (t6 + 80U); + *((unsigned int *)t11) = 1U; + t12 = (t5 + 4U); + t13 = (t2 != 0); + if (t13 == 1) + goto LAB3; + +LAB2: t14 = (t5 + 12U); + *((char **)t14) = t3; + t15 = (t3 + 12U); + t16 = *((unsigned int *)t15); + t17 = (t16 == 1); + if (t17 != 0) + goto LAB4; + +LAB6: t7 = (t3 + 8U); + t18 = *((int *)t7); + t8 = (t3 + 4U); + t20 = *((int *)t8); + t10 = (t3 + 0U); + t22 = *((int *)t10); + t24 = t22; + t26 = t20; + +LAB15: t28 = (t26 * t18); + t29 = (t24 * t18); + if (t29 <= t28) + goto LAB16; + +LAB18: +LAB5: t7 = (t6 + 56U); + t8 = *((char **)t7); + t13 = *((unsigned char *)t8); + t0 = t13; + +LAB1: return t0; +LAB3: *((char **)t12) = t2; + goto LAB2; + +LAB4: t19 = (t3 + 0U); + t20 = *((int *)t19); + t21 = (t3 + 4U); + t22 = *((int *)t21); + t23 = (t3 + 8U); + t24 = *((int *)t23); + if (t20 > t22) + goto LAB7; + +LAB8: if (t24 == -1) + goto LAB12; + +LAB13: t18 = t20; + +LAB9: t25 = (t3 + 0U); + t26 = *((int *)t25); + t27 = (t3 + 8U); + t28 = *((int *)t27); + t29 = (t18 - t26); + t30 = (t29 * t28); + t31 = (1U * t30); + t32 = (0 + t31); + t33 = (t2 + t32); + t34 = *((unsigned char *)t33); + t0 = t34; + goto LAB1; + +LAB7: if (t24 == 1) + goto LAB10; + +LAB11: t18 = t22; + goto LAB9; + +LAB10: t18 = t20; + goto LAB9; + +LAB12: t18 = t22; + goto LAB9; + +LAB14: goto LAB5; + +LAB16: t11 = (t1 + 1168U); + t15 = *((char **)t11); + t11 = (t6 + 56U); + t19 = *((char **)t11); + t13 = *((unsigned char *)t19); + t35 = (t13 - 0); + t16 = (t35 * 1); + t30 = (t16 * 9U); + t11 = (t3 + 0U); + t36 = *((int *)t11); + t21 = (t3 + 8U); + t37 = *((int *)t21); + t38 = (t24 - t36); + t31 = (t38 * t37); + t32 = (1U * t31); + t39 = (0 + t32); + t23 = (t2 + t39); + t17 = *((unsigned char *)t23); + t40 = (t17 - 0); + t41 = (t40 * 1); + t42 = (t30 + t41); + t43 = (1U * t42); + t44 = (0 + t43); + t25 = (t15 + t44); + t34 = *((unsigned char *)t25); + t27 = (t6 + 56U); + t33 = *((char **)t27); + t27 = (t33 + 0); + *((unsigned char *)t27) = t34; + +LAB17: if (t24 == t26) + goto LAB18; + +LAB19: t20 = (t24 + t18); + t24 = t20; + goto LAB15; + +LAB20:; +} + +unsigned char ieee_p_2592010699_sub_3488768496604610246_503743352(char *t1, unsigned char t2, unsigned char t3) +{ + char t5[8]; + unsigned char t0; + char *t6; + char *t7; + char *t8; + char *t9; + int t10; + unsigned int t11; + unsigned int t12; + int t13; + unsigned int t14; + unsigned int t15; + unsigned int t16; + unsigned int t17; + unsigned char t18; + +LAB0: t6 = (t5 + 4U); + *((unsigned char *)t6) = t2; + t7 = (t5 + 5U); + *((unsigned char *)t7) = t3; + t8 = (t1 + 1288U); + t9 = *((char **)t8); + t10 = (t2 - 0); + t11 = (t10 * 1); + t12 = (t11 * 9U); + t13 = (t3 - 0); + t14 = (t13 * 1); + t15 = (t12 + t14); + t16 = (1U * t15); + t17 = (0 + t16); + t8 = (t9 + t17); + t18 = *((unsigned char *)t8); + t0 = t18; + +LAB1: return t0; +LAB2:; +} + +unsigned char ieee_p_2592010699_sub_3496108598716332692_503743352(char *t1, unsigned char t2, unsigned char t3) +{ + char t5[8]; + unsigned char t0; + char *t6; + char *t7; + char *t8; + char *t9; + char *t10; + int t11; + unsigned int t12; + unsigned int t13; + int t14; + unsigned int t15; + unsigned int t16; + unsigned int t17; + unsigned int t18; + unsigned char t19; + int t20; + unsigned int t21; + unsigned int t22; + unsigned int t23; + char *t24; + unsigned char t25; + +LAB0: t6 = (t5 + 4U); + *((unsigned char *)t6) = t2; + t7 = (t5 + 5U); + *((unsigned char *)t7) = t3; + t8 = (t1 + 1648U); + t9 = *((char **)t8); + t8 = (t1 + 1288U); + t10 = *((char **)t8); + t11 = (t2 - 0); + t12 = (t11 * 1); + t13 = (t12 * 9U); + t14 = (t3 - 0); + t15 = (t14 * 1); + t16 = (t13 + t15); + t17 = (1U * t16); + t18 = (0 + t17); + t8 = (t10 + t18); + t19 = *((unsigned char *)t8); + t20 = (t19 - 0); + t21 = (t20 * 1); + t22 = (1U * t21); + t23 = (0 + t22); + t24 = (t9 + t23); + t25 = *((unsigned char *)t24); + t0 = t25; + +LAB1: return t0; +LAB2:; +} + +unsigned char ieee_p_2592010699_sub_3488546069778340532_503743352(char *t1, unsigned char t2, unsigned char t3) +{ + char t5[8]; + unsigned char t0; + char *t6; + char *t7; + char *t8; + char *t9; + int t10; + unsigned int t11; + unsigned int t12; + int t13; + unsigned int t14; + unsigned int t15; + unsigned int t16; + unsigned int t17; + unsigned char t18; + +LAB0: t6 = (t5 + 4U); + *((unsigned char *)t6) = t2; + t7 = (t5 + 5U); + *((unsigned char *)t7) = t3; + t8 = (t1 + 1408U); + t9 = *((char **)t8); + t10 = (t2 - 0); + t11 = (t10 * 1); + t12 = (t11 * 9U); + t13 = (t3 - 0); + t14 = (t13 * 1); + t15 = (t12 + t14); + t16 = (1U * t15); + t17 = (0 + t16); + t8 = (t9 + t17); + t18 = *((unsigned char *)t8); + t0 = t18; + +LAB1: return t0; +LAB2:; +} + +unsigned char ieee_p_2592010699_sub_3488768497115059394_503743352(char *t1, unsigned char t2, unsigned char t3) +{ + char t5[8]; + unsigned char t0; + char *t6; + char *t7; + char *t8; + char *t9; + char *t10; + int t11; + unsigned int t12; + unsigned int t13; + int t14; + unsigned int t15; + unsigned int t16; + unsigned int t17; + unsigned int t18; + unsigned char t19; + int t20; + unsigned int t21; + unsigned int t22; + unsigned int t23; + char *t24; + unsigned char t25; + +LAB0: t6 = (t5 + 4U); + *((unsigned char *)t6) = t2; + t7 = (t5 + 5U); + *((unsigned char *)t7) = t3; + t8 = (t1 + 1648U); + t9 = *((char **)t8); + t8 = (t1 + 1408U); + t10 = *((char **)t8); + t11 = (t2 - 0); + t12 = (t11 * 1); + t13 = (t12 * 9U); + t14 = (t3 - 0); + t15 = (t14 * 1); + t16 = (t13 + t15); + t17 = (1U * t16); + t18 = (0 + t17); + t8 = (t10 + t18); + t19 = *((unsigned char *)t8); + t20 = (t19 - 0); + t21 = (t20 * 1); + t22 = (1U * t21); + t23 = (0 + t22); + t24 = (t9 + t23); + t25 = *((unsigned char *)t24); + t0 = t25; + +LAB1: return t0; +LAB2:; +} + +unsigned char ieee_p_2592010699_sub_3488768497506413324_503743352(char *t1, unsigned char t2, unsigned char t3) +{ + char t5[8]; + unsigned char t0; + char *t6; + char *t7; + char *t8; + char *t9; + int t10; + unsigned int t11; + unsigned int t12; + int t13; + unsigned int t14; + unsigned int t15; + unsigned int t16; + unsigned int t17; + unsigned char t18; + +LAB0: t6 = (t5 + 4U); + *((unsigned char *)t6) = t2; + t7 = (t5 + 5U); + *((unsigned char *)t7) = t3; + t8 = (t1 + 1528U); + t9 = *((char **)t8); + t10 = (t2 - 0); + t11 = (t10 * 1); + t12 = (t11 * 9U); + t13 = (t3 - 0); + t14 = (t13 * 1); + t15 = (t12 + t14); + t16 = (1U * t15); + t17 = (0 + t16); + t8 = (t9 + t17); + t18 = *((unsigned char *)t8); + t0 = t18; + +LAB1: return t0; +LAB2:; +} + +unsigned char ieee_p_2592010699_sub_3496108612141461530_503743352(char *t1, unsigned char t2, unsigned char t3) +{ + char t5[8]; + unsigned char t0; + char *t6; + char *t7; + char *t8; + char *t9; + char *t10; + int t11; + unsigned int t12; + unsigned int t13; + int t14; + unsigned int t15; + unsigned int t16; + unsigned int t17; + unsigned int t18; + unsigned char t19; + int t20; + unsigned int t21; + unsigned int t22; + unsigned int t23; + char *t24; + unsigned char t25; + +LAB0: t6 = (t5 + 4U); + *((unsigned char *)t6) = t2; + t7 = (t5 + 5U); + *((unsigned char *)t7) = t3; + t8 = (t1 + 1648U); + t9 = *((char **)t8); + t8 = (t1 + 1528U); + t10 = *((char **)t8); + t11 = (t2 - 0); + t12 = (t11 * 1); + t13 = (t12 * 9U); + t14 = (t3 - 0); + t15 = (t14 * 1); + t16 = (t13 + t15); + t17 = (1U * t16); + t18 = (0 + t17); + t8 = (t10 + t18); + t19 = *((unsigned char *)t8); + t20 = (t19 - 0); + t21 = (t20 * 1); + t22 = (1U * t21); + t23 = (0 + t22); + t24 = (t9 + t23); + t25 = *((unsigned char *)t24); + t0 = t25; + +LAB1: return t0; +LAB2:; +} + +unsigned char ieee_p_2592010699_sub_374109322130769762_503743352(char *t1, unsigned char t2) +{ + char t4[8]; + unsigned char t0; + char *t5; + char *t6; + char *t7; + int t8; + unsigned int t9; + unsigned int t10; + unsigned int t11; + unsigned char t12; + +LAB0: t5 = (t4 + 4U); + *((unsigned char *)t5) = t2; + t6 = (t1 + 1648U); + t7 = *((char **)t6); + t8 = (t2 - 0); + t9 = (t8 * 1); + t10 = (1U * t9); + t11 = (0 + t10); + t6 = (t7 + t11); + t12 = *((unsigned char *)t6); + t0 = t12; + +LAB1: return t0; +LAB2:; +} + +char *ieee_p_2592010699_sub_16439989832805790689_503743352(char *t1, char *t2, char *t3, char *t4, char *t5, char *t6) +{ + char t7[128]; + char t8[40]; + char t9[16]; + char t16[16]; + char t23[16]; + char *t0; + char *t10; + unsigned int t11; + char *t12; + char *t13; + int t14; + unsigned int t15; + char *t17; + char *t18; + int t19; + unsigned int t20; + int t21; + unsigned int t22; + char *t24; + unsigned int t25; + char *t26; + char *t27; + int t28; + unsigned int t29; + char *t30; + char *t31; + char *t32; + char *t33; + char *t34; + char *t35; + char *t36; + unsigned char t37; + char *t38; + char *t39; + unsigned char t40; + char *t41; + char *t42; + char *t43; + unsigned int t44; + unsigned char t45; + char *t46; + char *t47; + int t48; + int t49; + int t50; + int t51; + int t52; + int t53; + int t54; + int t55; + int t56; + int t57; + int t58; + int t59; + unsigned int t60; + int t61; + unsigned int t62; + unsigned int t63; + unsigned int t64; + unsigned int t65; + char *t66; + int t67; + char *t68; + int t69; + int t70; + unsigned int t71; + unsigned int t72; + unsigned int t73; + char *t74; + +LAB0: t10 = (t4 + 12U); + t11 = *((unsigned int *)t10); + t12 = (t9 + 0U); + t13 = (t12 + 0U); + *((int *)t13) = 1; + t13 = (t12 + 4U); + *((unsigned int *)t13) = t11; + t13 = (t12 + 8U); + *((int *)t13) = 1; + t14 = (t11 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t13 = (t12 + 12U); + *((unsigned int *)t13) = t15; + t13 = (t6 + 12U); + t15 = *((unsigned int *)t13); + t17 = (t16 + 0U); + t18 = (t17 + 0U); + *((int *)t18) = 1; + t18 = (t17 + 4U); + *((unsigned int *)t18) = t15; + t18 = (t17 + 8U); + *((int *)t18) = 1; + t19 = (t15 - 1); + t20 = (t19 * 1); + t20 = (t20 + 1); + t18 = (t17 + 12U); + *((unsigned int *)t18) = t20; + t18 = (t4 + 12U); + t20 = *((unsigned int *)t18); + t21 = (t20 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t22 = (t22 * 1U); + t24 = (t4 + 12U); + t25 = *((unsigned int *)t24); + t26 = (t23 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = 1; + t27 = (t26 + 4U); + *((unsigned int *)t27) = t25; + t27 = (t26 + 8U); + *((int *)t27) = 1; + t28 = (t25 - 1); + t29 = (t28 * 1); + t29 = (t29 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t29; + t27 = (t7 + 4U); + t30 = (t1 + 4000); + t31 = (t27 + 88U); + *((char **)t31) = t30; + t32 = (char *)alloca(t22); + t33 = (t27 + 56U); + *((char **)t33) = t32; + xsi_type_set_default_value(t30, t32, t23); + t34 = (t27 + 64U); + *((char **)t34) = t23; + t35 = (t27 + 80U); + *((unsigned int *)t35) = t22; + t36 = (t8 + 4U); + t37 = (t3 != 0); + if (t37 == 1) + goto LAB3; + +LAB2: t38 = (t8 + 12U); + *((char **)t38) = t4; + t39 = (t8 + 20U); + t40 = (t5 != 0); + if (t40 == 1) + goto LAB5; + +LAB4: t41 = (t8 + 28U); + *((char **)t41) = t6; + t42 = (t4 + 12U); + t29 = *((unsigned int *)t42); + t43 = (t6 + 12U); + t44 = *((unsigned int *)t43); + t45 = (t29 != t44); + if (t45 != 0) + goto LAB6; + +LAB8: t10 = (t23 + 8U); + t14 = *((int *)t10); + t12 = (t23 + 4U); + t19 = *((int *)t12); + t13 = (t23 + 0U); + t21 = *((int *)t13); + t28 = t21; + t48 = t19; + +LAB11: t49 = (t48 * t14); + t50 = (t28 * t14); + if (t50 <= t49) + goto LAB12; + +LAB14: +LAB7: t10 = (t27 + 56U); + t12 = *((char **)t10); + t10 = (t23 + 12U); + t11 = *((unsigned int *)t10); + t11 = (t11 * 1U); + t0 = xsi_get_transient_memory(t11); + memcpy(t0, t12, t11); + t13 = (t23 + 0U); + t14 = *((int *)t13); + t17 = (t23 + 4U); + t19 = *((int *)t17); + t18 = (t23 + 8U); + t21 = *((int *)t18); + t24 = (t2 + 0U); + t26 = (t24 + 0U); + *((int *)t26) = t14; + t26 = (t24 + 4U); + *((int *)t26) = t19; + t26 = (t24 + 8U); + *((int *)t26) = t21; + t28 = (t19 - t14); + t15 = (t28 * t21); + t15 = (t15 + 1); + t26 = (t24 + 12U); + *((unsigned int *)t26) = t15; + +LAB1: return t0; +LAB3: *((char **)t36) = t3; + goto LAB2; + +LAB5: *((char **)t39) = t5; + goto LAB4; + +LAB6: if ((unsigned char)0 == 0) + goto LAB9; + +LAB10: goto LAB7; + +LAB9: t46 = (t1 + 7736); + xsi_report(t46, 65U, (unsigned char)3); + goto LAB10; + +LAB12: t17 = (t1 + 1288U); + t18 = *((char **)t17); + t17 = (t3 + 0); + t24 = (t9 + 0U); + t51 = *((int *)t24); + t26 = (t9 + 8U); + t52 = *((int *)t26); + t53 = (t28 - t51); + t11 = (t53 * t52); + t30 = (t9 + 4U); + t54 = *((int *)t30); + xsi_vhdl_check_range_of_index(t51, t54, t52, t28); + t15 = (1U * t11); + t20 = (0 + t15); + t31 = (t17 + t20); + t37 = *((unsigned char *)t31); + t55 = (t37 - 0); + t22 = (t55 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t37); + t25 = (t22 * 9U); + t33 = (t5 + 0); + t34 = (t16 + 0U); + t56 = *((int *)t34); + t35 = (t16 + 8U); + t57 = *((int *)t35); + t58 = (t28 - t56); + t29 = (t58 * t57); + t42 = (t16 + 4U); + t59 = *((int *)t42); + xsi_vhdl_check_range_of_index(t56, t59, t57, t28); + t44 = (1U * t29); + t60 = (0 + t44); + t43 = (t33 + t60); + t40 = *((unsigned char *)t43); + t61 = (t40 - 0); + t62 = (t61 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t40); + t63 = (t25 + t62); + t64 = (1U * t63); + t65 = (0 + t64); + t46 = (t18 + t65); + t45 = *((unsigned char *)t46); + t47 = (t27 + 56U); + t66 = *((char **)t47); + t47 = (t23 + 0U); + t67 = *((int *)t47); + t68 = (t23 + 8U); + t69 = *((int *)t68); + t70 = (t28 - t67); + t71 = (t70 * t69); + t72 = (1U * t71); + t73 = (0 + t72); + t74 = (t66 + t73); + *((unsigned char *)t74) = t45; + +LAB13: if (t28 == t48) + goto LAB14; + +LAB15: t19 = (t28 + t14); + t28 = t19; + goto LAB11; + +LAB16:; +} + +char *ieee_p_2592010699_sub_13958870020767780268_503743352(char *t1, char *t2, char *t3, char *t4, char *t5, char *t6) +{ + char t7[128]; + char t8[40]; + char t9[16]; + char t16[16]; + char t23[16]; + char *t0; + char *t10; + unsigned int t11; + char *t12; + char *t13; + int t14; + unsigned int t15; + char *t17; + char *t18; + int t19; + unsigned int t20; + int t21; + unsigned int t22; + char *t24; + unsigned int t25; + char *t26; + char *t27; + int t28; + unsigned int t29; + char *t30; + char *t31; + char *t32; + char *t33; + char *t34; + char *t35; + char *t36; + unsigned char t37; + char *t38; + char *t39; + unsigned char t40; + char *t41; + char *t42; + char *t43; + unsigned int t44; + unsigned char t45; + char *t46; + char *t47; + int t48; + int t49; + int t50; + int t51; + int t52; + int t53; + int t54; + int t55; + int t56; + int t57; + int t58; + int t59; + unsigned int t60; + int t61; + unsigned int t62; + unsigned int t63; + unsigned int t64; + unsigned int t65; + char *t66; + int t67; + char *t68; + int t69; + int t70; + unsigned int t71; + unsigned int t72; + unsigned int t73; + char *t74; + +LAB0: t10 = (t4 + 12U); + t11 = *((unsigned int *)t10); + t12 = (t9 + 0U); + t13 = (t12 + 0U); + *((int *)t13) = 1; + t13 = (t12 + 4U); + *((unsigned int *)t13) = t11; + t13 = (t12 + 8U); + *((int *)t13) = 1; + t14 = (t11 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t13 = (t12 + 12U); + *((unsigned int *)t13) = t15; + t13 = (t6 + 12U); + t15 = *((unsigned int *)t13); + t17 = (t16 + 0U); + t18 = (t17 + 0U); + *((int *)t18) = 1; + t18 = (t17 + 4U); + *((unsigned int *)t18) = t15; + t18 = (t17 + 8U); + *((int *)t18) = 1; + t19 = (t15 - 1); + t20 = (t19 * 1); + t20 = (t20 + 1); + t18 = (t17 + 12U); + *((unsigned int *)t18) = t20; + t18 = (t4 + 12U); + t20 = *((unsigned int *)t18); + t21 = (t20 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t22 = (t22 * 1U); + t24 = (t4 + 12U); + t25 = *((unsigned int *)t24); + t26 = (t23 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = 1; + t27 = (t26 + 4U); + *((unsigned int *)t27) = t25; + t27 = (t26 + 8U); + *((int *)t27) = 1; + t28 = (t25 - 1); + t29 = (t28 * 1); + t29 = (t29 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t29; + t27 = (t7 + 4U); + t30 = (t1 + 3896); + t31 = (t27 + 88U); + *((char **)t31) = t30; + t32 = (char *)alloca(t22); + t33 = (t27 + 56U); + *((char **)t33) = t32; + xsi_type_set_default_value(t30, t32, t23); + t34 = (t27 + 64U); + *((char **)t34) = t23; + t35 = (t27 + 80U); + *((unsigned int *)t35) = t22; + t36 = (t8 + 4U); + t37 = (t3 != 0); + if (t37 == 1) + goto LAB3; + +LAB2: t38 = (t8 + 12U); + *((char **)t38) = t4; + t39 = (t8 + 20U); + t40 = (t5 != 0); + if (t40 == 1) + goto LAB5; + +LAB4: t41 = (t8 + 28U); + *((char **)t41) = t6; + t42 = (t4 + 12U); + t29 = *((unsigned int *)t42); + t43 = (t6 + 12U); + t44 = *((unsigned int *)t43); + t45 = (t29 != t44); + if (t45 != 0) + goto LAB6; + +LAB8: t10 = (t23 + 8U); + t14 = *((int *)t10); + t12 = (t23 + 4U); + t19 = *((int *)t12); + t13 = (t23 + 0U); + t21 = *((int *)t13); + t28 = t21; + t48 = t19; + +LAB11: t49 = (t48 * t14); + t50 = (t28 * t14); + if (t50 <= t49) + goto LAB12; + +LAB14: +LAB7: t10 = (t27 + 56U); + t12 = *((char **)t10); + t10 = (t23 + 12U); + t11 = *((unsigned int *)t10); + t11 = (t11 * 1U); + t0 = xsi_get_transient_memory(t11); + memcpy(t0, t12, t11); + t13 = (t23 + 0U); + t14 = *((int *)t13); + t17 = (t23 + 4U); + t19 = *((int *)t17); + t18 = (t23 + 8U); + t21 = *((int *)t18); + t24 = (t2 + 0U); + t26 = (t24 + 0U); + *((int *)t26) = t14; + t26 = (t24 + 4U); + *((int *)t26) = t19; + t26 = (t24 + 8U); + *((int *)t26) = t21; + t28 = (t19 - t14); + t15 = (t28 * t21); + t15 = (t15 + 1); + t26 = (t24 + 12U); + *((unsigned int *)t26) = t15; + +LAB1: return t0; +LAB3: *((char **)t36) = t3; + goto LAB2; + +LAB5: *((char **)t39) = t5; + goto LAB4; + +LAB6: if ((unsigned char)0 == 0) + goto LAB9; + +LAB10: goto LAB7; + +LAB9: t46 = (t1 + 7801); + xsi_report(t46, 65U, (unsigned char)3); + goto LAB10; + +LAB12: t17 = (t1 + 1288U); + t18 = *((char **)t17); + t17 = (t3 + 0); + t24 = (t9 + 0U); + t51 = *((int *)t24); + t26 = (t9 + 8U); + t52 = *((int *)t26); + t53 = (t28 - t51); + t11 = (t53 * t52); + t30 = (t9 + 4U); + t54 = *((int *)t30); + xsi_vhdl_check_range_of_index(t51, t54, t52, t28); + t15 = (1U * t11); + t20 = (0 + t15); + t31 = (t17 + t20); + t37 = *((unsigned char *)t31); + t55 = (t37 - 0); + t22 = (t55 * 1); + t25 = (t22 * 9U); + t33 = (t5 + 0); + t34 = (t16 + 0U); + t56 = *((int *)t34); + t35 = (t16 + 8U); + t57 = *((int *)t35); + t58 = (t28 - t56); + t29 = (t58 * t57); + t42 = (t16 + 4U); + t59 = *((int *)t42); + xsi_vhdl_check_range_of_index(t56, t59, t57, t28); + t44 = (1U * t29); + t60 = (0 + t44); + t43 = (t33 + t60); + t40 = *((unsigned char *)t43); + t61 = (t40 - 0); + t62 = (t61 * 1); + t63 = (t25 + t62); + t64 = (1U * t63); + t65 = (0 + t64); + t46 = (t18 + t65); + t45 = *((unsigned char *)t46); + t47 = (t27 + 56U); + t66 = *((char **)t47); + t47 = (t23 + 0U); + t67 = *((int *)t47); + t68 = (t23 + 8U); + t69 = *((int *)t68); + t70 = (t28 - t67); + t71 = (t70 * t69); + t72 = (1U * t71); + t73 = (0 + t72); + t74 = (t66 + t73); + *((unsigned char *)t74) = t45; + +LAB13: if (t28 == t48) + goto LAB14; + +LAB15: t19 = (t28 + t14); + t28 = t19; + goto LAB11; + +LAB16:; +} + +char *ieee_p_2592010699_sub_16447329934917513135_503743352(char *t1, char *t2, char *t3, char *t4, char *t5, char *t6) +{ + char t7[128]; + char t8[40]; + char t9[16]; + char t16[16]; + char t23[16]; + char *t0; + char *t10; + unsigned int t11; + char *t12; + char *t13; + int t14; + unsigned int t15; + char *t17; + char *t18; + int t19; + unsigned int t20; + int t21; + unsigned int t22; + char *t24; + unsigned int t25; + char *t26; + char *t27; + int t28; + unsigned int t29; + char *t30; + char *t31; + char *t32; + char *t33; + char *t34; + char *t35; + char *t36; + unsigned char t37; + char *t38; + char *t39; + unsigned char t40; + char *t41; + char *t42; + char *t43; + unsigned int t44; + unsigned char t45; + char *t46; + char *t47; + int t48; + int t49; + int t50; + int t51; + int t52; + int t53; + int t54; + int t55; + int t56; + int t57; + int t58; + int t59; + unsigned int t60; + int t61; + unsigned int t62; + unsigned int t63; + unsigned int t64; + unsigned int t65; + int t66; + unsigned int t67; + unsigned int t68; + unsigned int t69; + char *t70; + unsigned char t71; + char *t72; + char *t73; + int t74; + char *t75; + int t76; + int t77; + unsigned int t78; + unsigned int t79; + unsigned int t80; + char *t81; + +LAB0: t10 = (t4 + 12U); + t11 = *((unsigned int *)t10); + t12 = (t9 + 0U); + t13 = (t12 + 0U); + *((int *)t13) = 1; + t13 = (t12 + 4U); + *((unsigned int *)t13) = t11; + t13 = (t12 + 8U); + *((int *)t13) = 1; + t14 = (t11 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t13 = (t12 + 12U); + *((unsigned int *)t13) = t15; + t13 = (t6 + 12U); + t15 = *((unsigned int *)t13); + t17 = (t16 + 0U); + t18 = (t17 + 0U); + *((int *)t18) = 1; + t18 = (t17 + 4U); + *((unsigned int *)t18) = t15; + t18 = (t17 + 8U); + *((int *)t18) = 1; + t19 = (t15 - 1); + t20 = (t19 * 1); + t20 = (t20 + 1); + t18 = (t17 + 12U); + *((unsigned int *)t18) = t20; + t18 = (t4 + 12U); + t20 = *((unsigned int *)t18); + t21 = (t20 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t22 = (t22 * 1U); + t24 = (t4 + 12U); + t25 = *((unsigned int *)t24); + t26 = (t23 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = 1; + t27 = (t26 + 4U); + *((unsigned int *)t27) = t25; + t27 = (t26 + 8U); + *((int *)t27) = 1; + t28 = (t25 - 1); + t29 = (t28 * 1); + t29 = (t29 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t29; + t27 = (t7 + 4U); + t30 = (t1 + 4000); + t31 = (t27 + 88U); + *((char **)t31) = t30; + t32 = (char *)alloca(t22); + t33 = (t27 + 56U); + *((char **)t33) = t32; + xsi_type_set_default_value(t30, t32, t23); + t34 = (t27 + 64U); + *((char **)t34) = t23; + t35 = (t27 + 80U); + *((unsigned int *)t35) = t22; + t36 = (t8 + 4U); + t37 = (t3 != 0); + if (t37 == 1) + goto LAB3; + +LAB2: t38 = (t8 + 12U); + *((char **)t38) = t4; + t39 = (t8 + 20U); + t40 = (t5 != 0); + if (t40 == 1) + goto LAB5; + +LAB4: t41 = (t8 + 28U); + *((char **)t41) = t6; + t42 = (t4 + 12U); + t29 = *((unsigned int *)t42); + t43 = (t6 + 12U); + t44 = *((unsigned int *)t43); + t45 = (t29 != t44); + if (t45 != 0) + goto LAB6; + +LAB8: t10 = (t23 + 8U); + t14 = *((int *)t10); + t12 = (t23 + 4U); + t19 = *((int *)t12); + t13 = (t23 + 0U); + t21 = *((int *)t13); + t28 = t21; + t48 = t19; + +LAB11: t49 = (t48 * t14); + t50 = (t28 * t14); + if (t50 <= t49) + goto LAB12; + +LAB14: +LAB7: t10 = (t27 + 56U); + t12 = *((char **)t10); + t10 = (t23 + 12U); + t11 = *((unsigned int *)t10); + t11 = (t11 * 1U); + t0 = xsi_get_transient_memory(t11); + memcpy(t0, t12, t11); + t13 = (t23 + 0U); + t14 = *((int *)t13); + t17 = (t23 + 4U); + t19 = *((int *)t17); + t18 = (t23 + 8U); + t21 = *((int *)t18); + t24 = (t2 + 0U); + t26 = (t24 + 0U); + *((int *)t26) = t14; + t26 = (t24 + 4U); + *((int *)t26) = t19; + t26 = (t24 + 8U); + *((int *)t26) = t21; + t28 = (t19 - t14); + t15 = (t28 * t21); + t15 = (t15 + 1); + t26 = (t24 + 12U); + *((unsigned int *)t26) = t15; + +LAB1: return t0; +LAB3: *((char **)t36) = t3; + goto LAB2; + +LAB5: *((char **)t39) = t5; + goto LAB4; + +LAB6: if ((unsigned char)0 == 0) + goto LAB9; + +LAB10: goto LAB7; + +LAB9: t46 = (t1 + 7866); + xsi_report(t46, 66U, (unsigned char)3); + goto LAB10; + +LAB12: t17 = (t1 + 1648U); + t18 = *((char **)t17); + t17 = (t1 + 1288U); + t24 = *((char **)t17); + t17 = (t3 + 0); + t26 = (t9 + 0U); + t51 = *((int *)t26); + t30 = (t9 + 8U); + t52 = *((int *)t30); + t53 = (t28 - t51); + t11 = (t53 * t52); + t31 = (t9 + 4U); + t54 = *((int *)t31); + xsi_vhdl_check_range_of_index(t51, t54, t52, t28); + t15 = (1U * t11); + t20 = (0 + t15); + t33 = (t17 + t20); + t37 = *((unsigned char *)t33); + t55 = (t37 - 0); + t22 = (t55 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t37); + t25 = (t22 * 9U); + t34 = (t5 + 0); + t35 = (t16 + 0U); + t56 = *((int *)t35); + t42 = (t16 + 8U); + t57 = *((int *)t42); + t58 = (t28 - t56); + t29 = (t58 * t57); + t43 = (t16 + 4U); + t59 = *((int *)t43); + xsi_vhdl_check_range_of_index(t56, t59, t57, t28); + t44 = (1U * t29); + t60 = (0 + t44); + t46 = (t34 + t60); + t40 = *((unsigned char *)t46); + t61 = (t40 - 0); + t62 = (t61 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t40); + t63 = (t25 + t62); + t64 = (1U * t63); + t65 = (0 + t64); + t47 = (t24 + t65); + t45 = *((unsigned char *)t47); + t66 = (t45 - 0); + t67 = (t66 * 1); + t68 = (1U * t67); + t69 = (0 + t68); + t70 = (t18 + t69); + t71 = *((unsigned char *)t70); + t72 = (t27 + 56U); + t73 = *((char **)t72); + t72 = (t23 + 0U); + t74 = *((int *)t72); + t75 = (t23 + 8U); + t76 = *((int *)t75); + t77 = (t28 - t74); + t78 = (t77 * t76); + t79 = (1U * t78); + t80 = (0 + t79); + t81 = (t73 + t80); + *((unsigned char *)t81) = t71; + +LAB13: if (t28 == t48) + goto LAB14; + +LAB15: t19 = (t28 + t14); + t28 = t19; + goto LAB11; + +LAB16:; +} + +char *ieee_p_2592010699_sub_13966210122879502714_503743352(char *t1, char *t2, char *t3, char *t4, char *t5, char *t6) +{ + char t7[128]; + char t8[40]; + char t9[16]; + char t16[16]; + char t23[16]; + char *t0; + char *t10; + unsigned int t11; + char *t12; + char *t13; + int t14; + unsigned int t15; + char *t17; + char *t18; + int t19; + unsigned int t20; + int t21; + unsigned int t22; + char *t24; + unsigned int t25; + char *t26; + char *t27; + int t28; + unsigned int t29; + char *t30; + char *t31; + char *t32; + char *t33; + char *t34; + char *t35; + char *t36; + unsigned char t37; + char *t38; + char *t39; + unsigned char t40; + char *t41; + char *t42; + char *t43; + unsigned int t44; + unsigned char t45; + char *t46; + char *t47; + int t48; + int t49; + int t50; + int t51; + int t52; + int t53; + int t54; + int t55; + int t56; + int t57; + int t58; + int t59; + unsigned int t60; + int t61; + unsigned int t62; + unsigned int t63; + unsigned int t64; + unsigned int t65; + int t66; + unsigned int t67; + unsigned int t68; + unsigned int t69; + char *t70; + unsigned char t71; + char *t72; + char *t73; + int t74; + char *t75; + int t76; + int t77; + unsigned int t78; + unsigned int t79; + unsigned int t80; + char *t81; + +LAB0: t10 = (t4 + 12U); + t11 = *((unsigned int *)t10); + t12 = (t9 + 0U); + t13 = (t12 + 0U); + *((int *)t13) = 1; + t13 = (t12 + 4U); + *((unsigned int *)t13) = t11; + t13 = (t12 + 8U); + *((int *)t13) = 1; + t14 = (t11 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t13 = (t12 + 12U); + *((unsigned int *)t13) = t15; + t13 = (t6 + 12U); + t15 = *((unsigned int *)t13); + t17 = (t16 + 0U); + t18 = (t17 + 0U); + *((int *)t18) = 1; + t18 = (t17 + 4U); + *((unsigned int *)t18) = t15; + t18 = (t17 + 8U); + *((int *)t18) = 1; + t19 = (t15 - 1); + t20 = (t19 * 1); + t20 = (t20 + 1); + t18 = (t17 + 12U); + *((unsigned int *)t18) = t20; + t18 = (t4 + 12U); + t20 = *((unsigned int *)t18); + t21 = (t20 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t22 = (t22 * 1U); + t24 = (t4 + 12U); + t25 = *((unsigned int *)t24); + t26 = (t23 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = 1; + t27 = (t26 + 4U); + *((unsigned int *)t27) = t25; + t27 = (t26 + 8U); + *((int *)t27) = 1; + t28 = (t25 - 1); + t29 = (t28 * 1); + t29 = (t29 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t29; + t27 = (t7 + 4U); + t30 = (t1 + 3896); + t31 = (t27 + 88U); + *((char **)t31) = t30; + t32 = (char *)alloca(t22); + t33 = (t27 + 56U); + *((char **)t33) = t32; + xsi_type_set_default_value(t30, t32, t23); + t34 = (t27 + 64U); + *((char **)t34) = t23; + t35 = (t27 + 80U); + *((unsigned int *)t35) = t22; + t36 = (t8 + 4U); + t37 = (t3 != 0); + if (t37 == 1) + goto LAB3; + +LAB2: t38 = (t8 + 12U); + *((char **)t38) = t4; + t39 = (t8 + 20U); + t40 = (t5 != 0); + if (t40 == 1) + goto LAB5; + +LAB4: t41 = (t8 + 28U); + *((char **)t41) = t6; + t42 = (t4 + 12U); + t29 = *((unsigned int *)t42); + t43 = (t6 + 12U); + t44 = *((unsigned int *)t43); + t45 = (t29 != t44); + if (t45 != 0) + goto LAB6; + +LAB8: t10 = (t23 + 8U); + t14 = *((int *)t10); + t12 = (t23 + 4U); + t19 = *((int *)t12); + t13 = (t23 + 0U); + t21 = *((int *)t13); + t28 = t21; + t48 = t19; + +LAB11: t49 = (t48 * t14); + t50 = (t28 * t14); + if (t50 <= t49) + goto LAB12; + +LAB14: +LAB7: t10 = (t27 + 56U); + t12 = *((char **)t10); + t10 = (t23 + 12U); + t11 = *((unsigned int *)t10); + t11 = (t11 * 1U); + t0 = xsi_get_transient_memory(t11); + memcpy(t0, t12, t11); + t13 = (t23 + 0U); + t14 = *((int *)t13); + t17 = (t23 + 4U); + t19 = *((int *)t17); + t18 = (t23 + 8U); + t21 = *((int *)t18); + t24 = (t2 + 0U); + t26 = (t24 + 0U); + *((int *)t26) = t14; + t26 = (t24 + 4U); + *((int *)t26) = t19; + t26 = (t24 + 8U); + *((int *)t26) = t21; + t28 = (t19 - t14); + t15 = (t28 * t21); + t15 = (t15 + 1); + t26 = (t24 + 12U); + *((unsigned int *)t26) = t15; + +LAB1: return t0; +LAB3: *((char **)t36) = t3; + goto LAB2; + +LAB5: *((char **)t39) = t5; + goto LAB4; + +LAB6: if ((unsigned char)0 == 0) + goto LAB9; + +LAB10: goto LAB7; + +LAB9: t46 = (t1 + 7932); + xsi_report(t46, 66U, (unsigned char)3); + goto LAB10; + +LAB12: t17 = (t1 + 1648U); + t18 = *((char **)t17); + t17 = (t1 + 1288U); + t24 = *((char **)t17); + t17 = (t3 + 0); + t26 = (t9 + 0U); + t51 = *((int *)t26); + t30 = (t9 + 8U); + t52 = *((int *)t30); + t53 = (t28 - t51); + t11 = (t53 * t52); + t31 = (t9 + 4U); + t54 = *((int *)t31); + xsi_vhdl_check_range_of_index(t51, t54, t52, t28); + t15 = (1U * t11); + t20 = (0 + t15); + t33 = (t17 + t20); + t37 = *((unsigned char *)t33); + t55 = (t37 - 0); + t22 = (t55 * 1); + t25 = (t22 * 9U); + t34 = (t5 + 0); + t35 = (t16 + 0U); + t56 = *((int *)t35); + t42 = (t16 + 8U); + t57 = *((int *)t42); + t58 = (t28 - t56); + t29 = (t58 * t57); + t43 = (t16 + 4U); + t59 = *((int *)t43); + xsi_vhdl_check_range_of_index(t56, t59, t57, t28); + t44 = (1U * t29); + t60 = (0 + t44); + t46 = (t34 + t60); + t40 = *((unsigned char *)t46); + t61 = (t40 - 0); + t62 = (t61 * 1); + t63 = (t25 + t62); + t64 = (1U * t63); + t65 = (0 + t64); + t47 = (t24 + t65); + t45 = *((unsigned char *)t47); + t66 = (t45 - 0); + t67 = (t66 * 1); + t68 = (1U * t67); + t69 = (0 + t68); + t70 = (t18 + t69); + t71 = *((unsigned char *)t70); + t72 = (t27 + 56U); + t73 = *((char **)t72); + t72 = (t23 + 0U); + t74 = *((int *)t72); + t75 = (t23 + 8U); + t76 = *((int *)t75); + t77 = (t28 - t74); + t78 = (t77 * t76); + t79 = (1U * t78); + t80 = (0 + t79); + t81 = (t73 + t80); + *((unsigned char *)t81) = t71; + +LAB13: if (t28 == t48) + goto LAB14; + +LAB15: t19 = (t28 + t14); + t28 = t19; + goto LAB11; + +LAB16:; +} + +char *ieee_p_2592010699_sub_16439767405979520975_503743352(char *t1, char *t2, char *t3, char *t4, char *t5, char *t6) +{ + char t7[128]; + char t8[40]; + char t9[16]; + char t16[16]; + char t23[16]; + char *t0; + char *t10; + unsigned int t11; + char *t12; + char *t13; + int t14; + unsigned int t15; + char *t17; + char *t18; + int t19; + unsigned int t20; + int t21; + unsigned int t22; + char *t24; + unsigned int t25; + char *t26; + char *t27; + int t28; + unsigned int t29; + char *t30; + char *t31; + char *t32; + char *t33; + char *t34; + char *t35; + char *t36; + unsigned char t37; + char *t38; + char *t39; + unsigned char t40; + char *t41; + char *t42; + char *t43; + unsigned int t44; + unsigned char t45; + char *t46; + char *t47; + int t48; + int t49; + int t50; + int t51; + int t52; + int t53; + int t54; + int t55; + int t56; + int t57; + int t58; + int t59; + unsigned int t60; + int t61; + unsigned int t62; + unsigned int t63; + unsigned int t64; + unsigned int t65; + char *t66; + int t67; + char *t68; + int t69; + int t70; + unsigned int t71; + unsigned int t72; + unsigned int t73; + char *t74; + +LAB0: t10 = (t4 + 12U); + t11 = *((unsigned int *)t10); + t12 = (t9 + 0U); + t13 = (t12 + 0U); + *((int *)t13) = 1; + t13 = (t12 + 4U); + *((unsigned int *)t13) = t11; + t13 = (t12 + 8U); + *((int *)t13) = 1; + t14 = (t11 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t13 = (t12 + 12U); + *((unsigned int *)t13) = t15; + t13 = (t6 + 12U); + t15 = *((unsigned int *)t13); + t17 = (t16 + 0U); + t18 = (t17 + 0U); + *((int *)t18) = 1; + t18 = (t17 + 4U); + *((unsigned int *)t18) = t15; + t18 = (t17 + 8U); + *((int *)t18) = 1; + t19 = (t15 - 1); + t20 = (t19 * 1); + t20 = (t20 + 1); + t18 = (t17 + 12U); + *((unsigned int *)t18) = t20; + t18 = (t4 + 12U); + t20 = *((unsigned int *)t18); + t21 = (t20 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t22 = (t22 * 1U); + t24 = (t4 + 12U); + t25 = *((unsigned int *)t24); + t26 = (t23 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = 1; + t27 = (t26 + 4U); + *((unsigned int *)t27) = t25; + t27 = (t26 + 8U); + *((int *)t27) = 1; + t28 = (t25 - 1); + t29 = (t28 * 1); + t29 = (t29 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t29; + t27 = (t7 + 4U); + t30 = (t1 + 4000); + t31 = (t27 + 88U); + *((char **)t31) = t30; + t32 = (char *)alloca(t22); + t33 = (t27 + 56U); + *((char **)t33) = t32; + xsi_type_set_default_value(t30, t32, t23); + t34 = (t27 + 64U); + *((char **)t34) = t23; + t35 = (t27 + 80U); + *((unsigned int *)t35) = t22; + t36 = (t8 + 4U); + t37 = (t3 != 0); + if (t37 == 1) + goto LAB3; + +LAB2: t38 = (t8 + 12U); + *((char **)t38) = t4; + t39 = (t8 + 20U); + t40 = (t5 != 0); + if (t40 == 1) + goto LAB5; + +LAB4: t41 = (t8 + 28U); + *((char **)t41) = t6; + t42 = (t4 + 12U); + t29 = *((unsigned int *)t42); + t43 = (t6 + 12U); + t44 = *((unsigned int *)t43); + t45 = (t29 != t44); + if (t45 != 0) + goto LAB6; + +LAB8: t10 = (t23 + 8U); + t14 = *((int *)t10); + t12 = (t23 + 4U); + t19 = *((int *)t12); + t13 = (t23 + 0U); + t21 = *((int *)t13); + t28 = t21; + t48 = t19; + +LAB11: t49 = (t48 * t14); + t50 = (t28 * t14); + if (t50 <= t49) + goto LAB12; + +LAB14: +LAB7: t10 = (t27 + 56U); + t12 = *((char **)t10); + t10 = (t23 + 12U); + t11 = *((unsigned int *)t10); + t11 = (t11 * 1U); + t0 = xsi_get_transient_memory(t11); + memcpy(t0, t12, t11); + t13 = (t23 + 0U); + t14 = *((int *)t13); + t17 = (t23 + 4U); + t19 = *((int *)t17); + t18 = (t23 + 8U); + t21 = *((int *)t18); + t24 = (t2 + 0U); + t26 = (t24 + 0U); + *((int *)t26) = t14; + t26 = (t24 + 4U); + *((int *)t26) = t19; + t26 = (t24 + 8U); + *((int *)t26) = t21; + t28 = (t19 - t14); + t15 = (t28 * t21); + t15 = (t15 + 1); + t26 = (t24 + 12U); + *((unsigned int *)t26) = t15; + +LAB1: return t0; +LAB3: *((char **)t36) = t3; + goto LAB2; + +LAB5: *((char **)t39) = t5; + goto LAB4; + +LAB6: if ((unsigned char)0 == 0) + goto LAB9; + +LAB10: goto LAB7; + +LAB9: t46 = (t1 + 7998); + xsi_report(t46, 64U, (unsigned char)3); + goto LAB10; + +LAB12: t17 = (t1 + 1408U); + t18 = *((char **)t17); + t17 = (t3 + 0); + t24 = (t9 + 0U); + t51 = *((int *)t24); + t26 = (t9 + 8U); + t52 = *((int *)t26); + t53 = (t28 - t51); + t11 = (t53 * t52); + t30 = (t9 + 4U); + t54 = *((int *)t30); + xsi_vhdl_check_range_of_index(t51, t54, t52, t28); + t15 = (1U * t11); + t20 = (0 + t15); + t31 = (t17 + t20); + t37 = *((unsigned char *)t31); + t55 = (t37 - 0); + t22 = (t55 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t37); + t25 = (t22 * 9U); + t33 = (t5 + 0); + t34 = (t16 + 0U); + t56 = *((int *)t34); + t35 = (t16 + 8U); + t57 = *((int *)t35); + t58 = (t28 - t56); + t29 = (t58 * t57); + t42 = (t16 + 4U); + t59 = *((int *)t42); + xsi_vhdl_check_range_of_index(t56, t59, t57, t28); + t44 = (1U * t29); + t60 = (0 + t44); + t43 = (t33 + t60); + t40 = *((unsigned char *)t43); + t61 = (t40 - 0); + t62 = (t61 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t40); + t63 = (t25 + t62); + t64 = (1U * t63); + t65 = (0 + t64); + t46 = (t18 + t65); + t45 = *((unsigned char *)t46); + t47 = (t27 + 56U); + t66 = *((char **)t47); + t47 = (t23 + 0U); + t67 = *((int *)t47); + t68 = (t23 + 8U); + t69 = *((int *)t68); + t70 = (t28 - t67); + t71 = (t70 * t69); + t72 = (1U * t71); + t73 = (0 + t72); + t74 = (t66 + t73); + *((unsigned char *)t74) = t45; + +LAB13: if (t28 == t48) + goto LAB14; + +LAB15: t19 = (t28 + t14); + t28 = t19; + goto LAB11; + +LAB16:; +} + +char *ieee_p_2592010699_sub_13958647593941510554_503743352(char *t1, char *t2, char *t3, char *t4, char *t5, char *t6) +{ + char t7[128]; + char t8[40]; + char t9[16]; + char t16[16]; + char t23[16]; + char *t0; + char *t10; + unsigned int t11; + char *t12; + char *t13; + int t14; + unsigned int t15; + char *t17; + char *t18; + int t19; + unsigned int t20; + int t21; + unsigned int t22; + char *t24; + unsigned int t25; + char *t26; + char *t27; + int t28; + unsigned int t29; + char *t30; + char *t31; + char *t32; + char *t33; + char *t34; + char *t35; + char *t36; + unsigned char t37; + char *t38; + char *t39; + unsigned char t40; + char *t41; + char *t42; + char *t43; + unsigned int t44; + unsigned char t45; + char *t46; + char *t47; + int t48; + int t49; + int t50; + int t51; + int t52; + int t53; + int t54; + int t55; + int t56; + int t57; + int t58; + int t59; + unsigned int t60; + int t61; + unsigned int t62; + unsigned int t63; + unsigned int t64; + unsigned int t65; + char *t66; + int t67; + char *t68; + int t69; + int t70; + unsigned int t71; + unsigned int t72; + unsigned int t73; + char *t74; + +LAB0: t10 = (t4 + 12U); + t11 = *((unsigned int *)t10); + t12 = (t9 + 0U); + t13 = (t12 + 0U); + *((int *)t13) = 1; + t13 = (t12 + 4U); + *((unsigned int *)t13) = t11; + t13 = (t12 + 8U); + *((int *)t13) = 1; + t14 = (t11 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t13 = (t12 + 12U); + *((unsigned int *)t13) = t15; + t13 = (t6 + 12U); + t15 = *((unsigned int *)t13); + t17 = (t16 + 0U); + t18 = (t17 + 0U); + *((int *)t18) = 1; + t18 = (t17 + 4U); + *((unsigned int *)t18) = t15; + t18 = (t17 + 8U); + *((int *)t18) = 1; + t19 = (t15 - 1); + t20 = (t19 * 1); + t20 = (t20 + 1); + t18 = (t17 + 12U); + *((unsigned int *)t18) = t20; + t18 = (t4 + 12U); + t20 = *((unsigned int *)t18); + t21 = (t20 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t22 = (t22 * 1U); + t24 = (t4 + 12U); + t25 = *((unsigned int *)t24); + t26 = (t23 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = 1; + t27 = (t26 + 4U); + *((unsigned int *)t27) = t25; + t27 = (t26 + 8U); + *((int *)t27) = 1; + t28 = (t25 - 1); + t29 = (t28 * 1); + t29 = (t29 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t29; + t27 = (t7 + 4U); + t30 = (t1 + 3896); + t31 = (t27 + 88U); + *((char **)t31) = t30; + t32 = (char *)alloca(t22); + t33 = (t27 + 56U); + *((char **)t33) = t32; + xsi_type_set_default_value(t30, t32, t23); + t34 = (t27 + 64U); + *((char **)t34) = t23; + t35 = (t27 + 80U); + *((unsigned int *)t35) = t22; + t36 = (t8 + 4U); + t37 = (t3 != 0); + if (t37 == 1) + goto LAB3; + +LAB2: t38 = (t8 + 12U); + *((char **)t38) = t4; + t39 = (t8 + 20U); + t40 = (t5 != 0); + if (t40 == 1) + goto LAB5; + +LAB4: t41 = (t8 + 28U); + *((char **)t41) = t6; + t42 = (t4 + 12U); + t29 = *((unsigned int *)t42); + t43 = (t6 + 12U); + t44 = *((unsigned int *)t43); + t45 = (t29 != t44); + if (t45 != 0) + goto LAB6; + +LAB8: t10 = (t23 + 8U); + t14 = *((int *)t10); + t12 = (t23 + 4U); + t19 = *((int *)t12); + t13 = (t23 + 0U); + t21 = *((int *)t13); + t28 = t21; + t48 = t19; + +LAB11: t49 = (t48 * t14); + t50 = (t28 * t14); + if (t50 <= t49) + goto LAB12; + +LAB14: +LAB7: t10 = (t27 + 56U); + t12 = *((char **)t10); + t10 = (t23 + 12U); + t11 = *((unsigned int *)t10); + t11 = (t11 * 1U); + t0 = xsi_get_transient_memory(t11); + memcpy(t0, t12, t11); + t13 = (t23 + 0U); + t14 = *((int *)t13); + t17 = (t23 + 4U); + t19 = *((int *)t17); + t18 = (t23 + 8U); + t21 = *((int *)t18); + t24 = (t2 + 0U); + t26 = (t24 + 0U); + *((int *)t26) = t14; + t26 = (t24 + 4U); + *((int *)t26) = t19; + t26 = (t24 + 8U); + *((int *)t26) = t21; + t28 = (t19 - t14); + t15 = (t28 * t21); + t15 = (t15 + 1); + t26 = (t24 + 12U); + *((unsigned int *)t26) = t15; + +LAB1: return t0; +LAB3: *((char **)t36) = t3; + goto LAB2; + +LAB5: *((char **)t39) = t5; + goto LAB4; + +LAB6: if ((unsigned char)0 == 0) + goto LAB9; + +LAB10: goto LAB7; + +LAB9: t46 = (t1 + 8062); + xsi_report(t46, 64U, (unsigned char)3); + goto LAB10; + +LAB12: t17 = (t1 + 1408U); + t18 = *((char **)t17); + t17 = (t3 + 0); + t24 = (t9 + 0U); + t51 = *((int *)t24); + t26 = (t9 + 8U); + t52 = *((int *)t26); + t53 = (t28 - t51); + t11 = (t53 * t52); + t30 = (t9 + 4U); + t54 = *((int *)t30); + xsi_vhdl_check_range_of_index(t51, t54, t52, t28); + t15 = (1U * t11); + t20 = (0 + t15); + t31 = (t17 + t20); + t37 = *((unsigned char *)t31); + t55 = (t37 - 0); + t22 = (t55 * 1); + t25 = (t22 * 9U); + t33 = (t5 + 0); + t34 = (t16 + 0U); + t56 = *((int *)t34); + t35 = (t16 + 8U); + t57 = *((int *)t35); + t58 = (t28 - t56); + t29 = (t58 * t57); + t42 = (t16 + 4U); + t59 = *((int *)t42); + xsi_vhdl_check_range_of_index(t56, t59, t57, t28); + t44 = (1U * t29); + t60 = (0 + t44); + t43 = (t33 + t60); + t40 = *((unsigned char *)t43); + t61 = (t40 - 0); + t62 = (t61 * 1); + t63 = (t25 + t62); + t64 = (1U * t63); + t65 = (0 + t64); + t46 = (t18 + t65); + t45 = *((unsigned char *)t46); + t47 = (t27 + 56U); + t66 = *((char **)t47); + t47 = (t23 + 0U); + t67 = *((int *)t47); + t68 = (t23 + 8U); + t69 = *((int *)t68); + t70 = (t28 - t67); + t71 = (t70 * t69); + t72 = (1U * t71); + t73 = (0 + t72); + t74 = (t66 + t73); + *((unsigned char *)t74) = t45; + +LAB13: if (t28 == t48) + goto LAB14; + +LAB15: t19 = (t28 + t14); + t28 = t19; + goto LAB11; + +LAB16:; +} + +char *ieee_p_2592010699_sub_16439989833316239837_503743352(char *t1, char *t2, char *t3, char *t4, char *t5, char *t6) +{ + char t7[128]; + char t8[40]; + char t9[16]; + char t16[16]; + char t23[16]; + char *t0; + char *t10; + unsigned int t11; + char *t12; + char *t13; + int t14; + unsigned int t15; + char *t17; + char *t18; + int t19; + unsigned int t20; + int t21; + unsigned int t22; + char *t24; + unsigned int t25; + char *t26; + char *t27; + int t28; + unsigned int t29; + char *t30; + char *t31; + char *t32; + char *t33; + char *t34; + char *t35; + char *t36; + unsigned char t37; + char *t38; + char *t39; + unsigned char t40; + char *t41; + char *t42; + char *t43; + unsigned int t44; + unsigned char t45; + char *t46; + char *t47; + int t48; + int t49; + int t50; + int t51; + int t52; + int t53; + int t54; + int t55; + int t56; + int t57; + int t58; + int t59; + unsigned int t60; + int t61; + unsigned int t62; + unsigned int t63; + unsigned int t64; + unsigned int t65; + int t66; + unsigned int t67; + unsigned int t68; + unsigned int t69; + char *t70; + unsigned char t71; + char *t72; + char *t73; + int t74; + char *t75; + int t76; + int t77; + unsigned int t78; + unsigned int t79; + unsigned int t80; + char *t81; + +LAB0: t10 = (t4 + 12U); + t11 = *((unsigned int *)t10); + t12 = (t9 + 0U); + t13 = (t12 + 0U); + *((int *)t13) = 1; + t13 = (t12 + 4U); + *((unsigned int *)t13) = t11; + t13 = (t12 + 8U); + *((int *)t13) = 1; + t14 = (t11 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t13 = (t12 + 12U); + *((unsigned int *)t13) = t15; + t13 = (t6 + 12U); + t15 = *((unsigned int *)t13); + t17 = (t16 + 0U); + t18 = (t17 + 0U); + *((int *)t18) = 1; + t18 = (t17 + 4U); + *((unsigned int *)t18) = t15; + t18 = (t17 + 8U); + *((int *)t18) = 1; + t19 = (t15 - 1); + t20 = (t19 * 1); + t20 = (t20 + 1); + t18 = (t17 + 12U); + *((unsigned int *)t18) = t20; + t18 = (t4 + 12U); + t20 = *((unsigned int *)t18); + t21 = (t20 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t22 = (t22 * 1U); + t24 = (t4 + 12U); + t25 = *((unsigned int *)t24); + t26 = (t23 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = 1; + t27 = (t26 + 4U); + *((unsigned int *)t27) = t25; + t27 = (t26 + 8U); + *((int *)t27) = 1; + t28 = (t25 - 1); + t29 = (t28 * 1); + t29 = (t29 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t29; + t27 = (t7 + 4U); + t30 = (t1 + 4000); + t31 = (t27 + 88U); + *((char **)t31) = t30; + t32 = (char *)alloca(t22); + t33 = (t27 + 56U); + *((char **)t33) = t32; + xsi_type_set_default_value(t30, t32, t23); + t34 = (t27 + 64U); + *((char **)t34) = t23; + t35 = (t27 + 80U); + *((unsigned int *)t35) = t22; + t36 = (t8 + 4U); + t37 = (t3 != 0); + if (t37 == 1) + goto LAB3; + +LAB2: t38 = (t8 + 12U); + *((char **)t38) = t4; + t39 = (t8 + 20U); + t40 = (t5 != 0); + if (t40 == 1) + goto LAB5; + +LAB4: t41 = (t8 + 28U); + *((char **)t41) = t6; + t42 = (t4 + 12U); + t29 = *((unsigned int *)t42); + t43 = (t6 + 12U); + t44 = *((unsigned int *)t43); + t45 = (t29 != t44); + if (t45 != 0) + goto LAB6; + +LAB8: t10 = (t23 + 8U); + t14 = *((int *)t10); + t12 = (t23 + 4U); + t19 = *((int *)t12); + t13 = (t23 + 0U); + t21 = *((int *)t13); + t28 = t21; + t48 = t19; + +LAB11: t49 = (t48 * t14); + t50 = (t28 * t14); + if (t50 <= t49) + goto LAB12; + +LAB14: +LAB7: t10 = (t27 + 56U); + t12 = *((char **)t10); + t10 = (t23 + 12U); + t11 = *((unsigned int *)t10); + t11 = (t11 * 1U); + t0 = xsi_get_transient_memory(t11); + memcpy(t0, t12, t11); + t13 = (t23 + 0U); + t14 = *((int *)t13); + t17 = (t23 + 4U); + t19 = *((int *)t17); + t18 = (t23 + 8U); + t21 = *((int *)t18); + t24 = (t2 + 0U); + t26 = (t24 + 0U); + *((int *)t26) = t14; + t26 = (t24 + 4U); + *((int *)t26) = t19; + t26 = (t24 + 8U); + *((int *)t26) = t21; + t28 = (t19 - t14); + t15 = (t28 * t21); + t15 = (t15 + 1); + t26 = (t24 + 12U); + *((unsigned int *)t26) = t15; + +LAB1: return t0; +LAB3: *((char **)t36) = t3; + goto LAB2; + +LAB5: *((char **)t39) = t5; + goto LAB4; + +LAB6: if ((unsigned char)0 == 0) + goto LAB9; + +LAB10: goto LAB7; + +LAB9: t46 = (t1 + 8126); + xsi_report(t46, 65U, (unsigned char)3); + goto LAB10; + +LAB12: t17 = (t1 + 1648U); + t18 = *((char **)t17); + t17 = (t1 + 1408U); + t24 = *((char **)t17); + t17 = (t3 + 0); + t26 = (t9 + 0U); + t51 = *((int *)t26); + t30 = (t9 + 8U); + t52 = *((int *)t30); + t53 = (t28 - t51); + t11 = (t53 * t52); + t31 = (t9 + 4U); + t54 = *((int *)t31); + xsi_vhdl_check_range_of_index(t51, t54, t52, t28); + t15 = (1U * t11); + t20 = (0 + t15); + t33 = (t17 + t20); + t37 = *((unsigned char *)t33); + t55 = (t37 - 0); + t22 = (t55 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t37); + t25 = (t22 * 9U); + t34 = (t5 + 0); + t35 = (t16 + 0U); + t56 = *((int *)t35); + t42 = (t16 + 8U); + t57 = *((int *)t42); + t58 = (t28 - t56); + t29 = (t58 * t57); + t43 = (t16 + 4U); + t59 = *((int *)t43); + xsi_vhdl_check_range_of_index(t56, t59, t57, t28); + t44 = (1U * t29); + t60 = (0 + t44); + t46 = (t34 + t60); + t40 = *((unsigned char *)t46); + t61 = (t40 - 0); + t62 = (t61 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t40); + t63 = (t25 + t62); + t64 = (1U * t63); + t65 = (0 + t64); + t47 = (t24 + t65); + t45 = *((unsigned char *)t47); + t66 = (t45 - 0); + t67 = (t66 * 1); + t68 = (1U * t67); + t69 = (0 + t68); + t70 = (t18 + t69); + t71 = *((unsigned char *)t70); + t72 = (t27 + 56U); + t73 = *((char **)t72); + t72 = (t23 + 0U); + t74 = *((int *)t72); + t75 = (t23 + 8U); + t76 = *((int *)t75); + t77 = (t28 - t74); + t78 = (t77 * t76); + t79 = (1U * t78); + t80 = (0 + t79); + t81 = (t73 + t80); + *((unsigned char *)t81) = t71; + +LAB13: if (t28 == t48) + goto LAB14; + +LAB15: t19 = (t28 + t14); + t28 = t19; + goto LAB11; + +LAB16:; +} + +char *ieee_p_2592010699_sub_13958870021278229416_503743352(char *t1, char *t2, char *t3, char *t4, char *t5, char *t6) +{ + char t7[128]; + char t8[40]; + char t9[16]; + char t16[16]; + char t23[16]; + char *t0; + char *t10; + unsigned int t11; + char *t12; + char *t13; + int t14; + unsigned int t15; + char *t17; + char *t18; + int t19; + unsigned int t20; + int t21; + unsigned int t22; + char *t24; + unsigned int t25; + char *t26; + char *t27; + int t28; + unsigned int t29; + char *t30; + char *t31; + char *t32; + char *t33; + char *t34; + char *t35; + char *t36; + unsigned char t37; + char *t38; + char *t39; + unsigned char t40; + char *t41; + char *t42; + char *t43; + unsigned int t44; + unsigned char t45; + char *t46; + char *t47; + int t48; + int t49; + int t50; + int t51; + int t52; + int t53; + int t54; + int t55; + int t56; + int t57; + int t58; + int t59; + unsigned int t60; + int t61; + unsigned int t62; + unsigned int t63; + unsigned int t64; + unsigned int t65; + int t66; + unsigned int t67; + unsigned int t68; + unsigned int t69; + char *t70; + unsigned char t71; + char *t72; + char *t73; + int t74; + char *t75; + int t76; + int t77; + unsigned int t78; + unsigned int t79; + unsigned int t80; + char *t81; + +LAB0: t10 = (t4 + 12U); + t11 = *((unsigned int *)t10); + t12 = (t9 + 0U); + t13 = (t12 + 0U); + *((int *)t13) = 1; + t13 = (t12 + 4U); + *((unsigned int *)t13) = t11; + t13 = (t12 + 8U); + *((int *)t13) = 1; + t14 = (t11 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t13 = (t12 + 12U); + *((unsigned int *)t13) = t15; + t13 = (t6 + 12U); + t15 = *((unsigned int *)t13); + t17 = (t16 + 0U); + t18 = (t17 + 0U); + *((int *)t18) = 1; + t18 = (t17 + 4U); + *((unsigned int *)t18) = t15; + t18 = (t17 + 8U); + *((int *)t18) = 1; + t19 = (t15 - 1); + t20 = (t19 * 1); + t20 = (t20 + 1); + t18 = (t17 + 12U); + *((unsigned int *)t18) = t20; + t18 = (t4 + 12U); + t20 = *((unsigned int *)t18); + t21 = (t20 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t22 = (t22 * 1U); + t24 = (t4 + 12U); + t25 = *((unsigned int *)t24); + t26 = (t23 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = 1; + t27 = (t26 + 4U); + *((unsigned int *)t27) = t25; + t27 = (t26 + 8U); + *((int *)t27) = 1; + t28 = (t25 - 1); + t29 = (t28 * 1); + t29 = (t29 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t29; + t27 = (t7 + 4U); + t30 = (t1 + 3896); + t31 = (t27 + 88U); + *((char **)t31) = t30; + t32 = (char *)alloca(t22); + t33 = (t27 + 56U); + *((char **)t33) = t32; + xsi_type_set_default_value(t30, t32, t23); + t34 = (t27 + 64U); + *((char **)t34) = t23; + t35 = (t27 + 80U); + *((unsigned int *)t35) = t22; + t36 = (t8 + 4U); + t37 = (t3 != 0); + if (t37 == 1) + goto LAB3; + +LAB2: t38 = (t8 + 12U); + *((char **)t38) = t4; + t39 = (t8 + 20U); + t40 = (t5 != 0); + if (t40 == 1) + goto LAB5; + +LAB4: t41 = (t8 + 28U); + *((char **)t41) = t6; + t42 = (t4 + 12U); + t29 = *((unsigned int *)t42); + t43 = (t6 + 12U); + t44 = *((unsigned int *)t43); + t45 = (t29 != t44); + if (t45 != 0) + goto LAB6; + +LAB8: t10 = (t23 + 8U); + t14 = *((int *)t10); + t12 = (t23 + 4U); + t19 = *((int *)t12); + t13 = (t23 + 0U); + t21 = *((int *)t13); + t28 = t21; + t48 = t19; + +LAB11: t49 = (t48 * t14); + t50 = (t28 * t14); + if (t50 <= t49) + goto LAB12; + +LAB14: +LAB7: t10 = (t27 + 56U); + t12 = *((char **)t10); + t10 = (t23 + 12U); + t11 = *((unsigned int *)t10); + t11 = (t11 * 1U); + t0 = xsi_get_transient_memory(t11); + memcpy(t0, t12, t11); + t13 = (t23 + 0U); + t14 = *((int *)t13); + t17 = (t23 + 4U); + t19 = *((int *)t17); + t18 = (t23 + 8U); + t21 = *((int *)t18); + t24 = (t2 + 0U); + t26 = (t24 + 0U); + *((int *)t26) = t14; + t26 = (t24 + 4U); + *((int *)t26) = t19; + t26 = (t24 + 8U); + *((int *)t26) = t21; + t28 = (t19 - t14); + t15 = (t28 * t21); + t15 = (t15 + 1); + t26 = (t24 + 12U); + *((unsigned int *)t26) = t15; + +LAB1: return t0; +LAB3: *((char **)t36) = t3; + goto LAB2; + +LAB5: *((char **)t39) = t5; + goto LAB4; + +LAB6: if ((unsigned char)0 == 0) + goto LAB9; + +LAB10: goto LAB7; + +LAB9: t46 = (t1 + 8191); + xsi_report(t46, 65U, (unsigned char)3); + goto LAB10; + +LAB12: t17 = (t1 + 1648U); + t18 = *((char **)t17); + t17 = (t1 + 1408U); + t24 = *((char **)t17); + t17 = (t3 + 0); + t26 = (t9 + 0U); + t51 = *((int *)t26); + t30 = (t9 + 8U); + t52 = *((int *)t30); + t53 = (t28 - t51); + t11 = (t53 * t52); + t31 = (t9 + 4U); + t54 = *((int *)t31); + xsi_vhdl_check_range_of_index(t51, t54, t52, t28); + t15 = (1U * t11); + t20 = (0 + t15); + t33 = (t17 + t20); + t37 = *((unsigned char *)t33); + t55 = (t37 - 0); + t22 = (t55 * 1); + t25 = (t22 * 9U); + t34 = (t5 + 0); + t35 = (t16 + 0U); + t56 = *((int *)t35); + t42 = (t16 + 8U); + t57 = *((int *)t42); + t58 = (t28 - t56); + t29 = (t58 * t57); + t43 = (t16 + 4U); + t59 = *((int *)t43); + xsi_vhdl_check_range_of_index(t56, t59, t57, t28); + t44 = (1U * t29); + t60 = (0 + t44); + t46 = (t34 + t60); + t40 = *((unsigned char *)t46); + t61 = (t40 - 0); + t62 = (t61 * 1); + t63 = (t25 + t62); + t64 = (1U * t63); + t65 = (0 + t64); + t47 = (t24 + t65); + t45 = *((unsigned char *)t47); + t66 = (t45 - 0); + t67 = (t66 * 1); + t68 = (1U * t67); + t69 = (0 + t68); + t70 = (t18 + t69); + t71 = *((unsigned char *)t70); + t72 = (t27 + 56U); + t73 = *((char **)t72); + t72 = (t23 + 0U); + t74 = *((int *)t72); + t75 = (t23 + 8U); + t76 = *((int *)t75); + t77 = (t28 - t74); + t78 = (t77 * t76); + t79 = (1U * t78); + t80 = (0 + t79); + t81 = (t73 + t80); + *((unsigned char *)t81) = t71; + +LAB13: if (t28 == t48) + goto LAB14; + +LAB15: t19 = (t28 + t14); + t28 = t19; + goto LAB11; + +LAB16:; +} + +char *ieee_p_2592010699_sub_16439989833707593767_503743352(char *t1, char *t2, char *t3, char *t4, char *t5, char *t6) +{ + char t7[128]; + char t8[40]; + char t9[16]; + char t16[16]; + char t23[16]; + char *t0; + char *t10; + unsigned int t11; + char *t12; + char *t13; + int t14; + unsigned int t15; + char *t17; + char *t18; + int t19; + unsigned int t20; + int t21; + unsigned int t22; + char *t24; + unsigned int t25; + char *t26; + char *t27; + int t28; + unsigned int t29; + char *t30; + char *t31; + char *t32; + char *t33; + char *t34; + char *t35; + char *t36; + unsigned char t37; + char *t38; + char *t39; + unsigned char t40; + char *t41; + char *t42; + char *t43; + unsigned int t44; + unsigned char t45; + char *t46; + char *t47; + int t48; + int t49; + int t50; + int t51; + int t52; + int t53; + int t54; + int t55; + int t56; + int t57; + int t58; + int t59; + unsigned int t60; + int t61; + unsigned int t62; + unsigned int t63; + unsigned int t64; + unsigned int t65; + char *t66; + int t67; + char *t68; + int t69; + int t70; + unsigned int t71; + unsigned int t72; + unsigned int t73; + char *t74; + +LAB0: t10 = (t4 + 12U); + t11 = *((unsigned int *)t10); + t12 = (t9 + 0U); + t13 = (t12 + 0U); + *((int *)t13) = 1; + t13 = (t12 + 4U); + *((unsigned int *)t13) = t11; + t13 = (t12 + 8U); + *((int *)t13) = 1; + t14 = (t11 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t13 = (t12 + 12U); + *((unsigned int *)t13) = t15; + t13 = (t6 + 12U); + t15 = *((unsigned int *)t13); + t17 = (t16 + 0U); + t18 = (t17 + 0U); + *((int *)t18) = 1; + t18 = (t17 + 4U); + *((unsigned int *)t18) = t15; + t18 = (t17 + 8U); + *((int *)t18) = 1; + t19 = (t15 - 1); + t20 = (t19 * 1); + t20 = (t20 + 1); + t18 = (t17 + 12U); + *((unsigned int *)t18) = t20; + t18 = (t4 + 12U); + t20 = *((unsigned int *)t18); + t21 = (t20 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t22 = (t22 * 1U); + t24 = (t4 + 12U); + t25 = *((unsigned int *)t24); + t26 = (t23 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = 1; + t27 = (t26 + 4U); + *((unsigned int *)t27) = t25; + t27 = (t26 + 8U); + *((int *)t27) = 1; + t28 = (t25 - 1); + t29 = (t28 * 1); + t29 = (t29 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t29; + t27 = (t7 + 4U); + t30 = (t1 + 4000); + t31 = (t27 + 88U); + *((char **)t31) = t30; + t32 = (char *)alloca(t22); + t33 = (t27 + 56U); + *((char **)t33) = t32; + xsi_type_set_default_value(t30, t32, t23); + t34 = (t27 + 64U); + *((char **)t34) = t23; + t35 = (t27 + 80U); + *((unsigned int *)t35) = t22; + t36 = (t8 + 4U); + t37 = (t3 != 0); + if (t37 == 1) + goto LAB3; + +LAB2: t38 = (t8 + 12U); + *((char **)t38) = t4; + t39 = (t8 + 20U); + t40 = (t5 != 0); + if (t40 == 1) + goto LAB5; + +LAB4: t41 = (t8 + 28U); + *((char **)t41) = t6; + t42 = (t4 + 12U); + t29 = *((unsigned int *)t42); + t43 = (t6 + 12U); + t44 = *((unsigned int *)t43); + t45 = (t29 != t44); + if (t45 != 0) + goto LAB6; + +LAB8: t10 = (t23 + 8U); + t14 = *((int *)t10); + t12 = (t23 + 4U); + t19 = *((int *)t12); + t13 = (t23 + 0U); + t21 = *((int *)t13); + t28 = t21; + t48 = t19; + +LAB11: t49 = (t48 * t14); + t50 = (t28 * t14); + if (t50 <= t49) + goto LAB12; + +LAB14: +LAB7: t10 = (t27 + 56U); + t12 = *((char **)t10); + t10 = (t23 + 12U); + t11 = *((unsigned int *)t10); + t11 = (t11 * 1U); + t0 = xsi_get_transient_memory(t11); + memcpy(t0, t12, t11); + t13 = (t23 + 0U); + t14 = *((int *)t13); + t17 = (t23 + 4U); + t19 = *((int *)t17); + t18 = (t23 + 8U); + t21 = *((int *)t18); + t24 = (t2 + 0U); + t26 = (t24 + 0U); + *((int *)t26) = t14; + t26 = (t24 + 4U); + *((int *)t26) = t19; + t26 = (t24 + 8U); + *((int *)t26) = t21; + t28 = (t19 - t14); + t15 = (t28 * t21); + t15 = (t15 + 1); + t26 = (t24 + 12U); + *((unsigned int *)t26) = t15; + +LAB1: return t0; +LAB3: *((char **)t36) = t3; + goto LAB2; + +LAB5: *((char **)t39) = t5; + goto LAB4; + +LAB6: if ((unsigned char)0 == 0) + goto LAB9; + +LAB10: goto LAB7; + +LAB9: t46 = (t1 + 8256); + xsi_report(t46, 65U, (unsigned char)3); + goto LAB10; + +LAB12: t17 = (t1 + 1528U); + t18 = *((char **)t17); + t17 = (t3 + 0); + t24 = (t9 + 0U); + t51 = *((int *)t24); + t26 = (t9 + 8U); + t52 = *((int *)t26); + t53 = (t28 - t51); + t11 = (t53 * t52); + t30 = (t9 + 4U); + t54 = *((int *)t30); + xsi_vhdl_check_range_of_index(t51, t54, t52, t28); + t15 = (1U * t11); + t20 = (0 + t15); + t31 = (t17 + t20); + t37 = *((unsigned char *)t31); + t55 = (t37 - 0); + t22 = (t55 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t37); + t25 = (t22 * 9U); + t33 = (t5 + 0); + t34 = (t16 + 0U); + t56 = *((int *)t34); + t35 = (t16 + 8U); + t57 = *((int *)t35); + t58 = (t28 - t56); + t29 = (t58 * t57); + t42 = (t16 + 4U); + t59 = *((int *)t42); + xsi_vhdl_check_range_of_index(t56, t59, t57, t28); + t44 = (1U * t29); + t60 = (0 + t44); + t43 = (t33 + t60); + t40 = *((unsigned char *)t43); + t61 = (t40 - 0); + t62 = (t61 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t40); + t63 = (t25 + t62); + t64 = (1U * t63); + t65 = (0 + t64); + t46 = (t18 + t65); + t45 = *((unsigned char *)t46); + t47 = (t27 + 56U); + t66 = *((char **)t47); + t47 = (t23 + 0U); + t67 = *((int *)t47); + t68 = (t23 + 8U); + t69 = *((int *)t68); + t70 = (t28 - t67); + t71 = (t70 * t69); + t72 = (1U * t71); + t73 = (0 + t72); + t74 = (t66 + t73); + *((unsigned char *)t74) = t45; + +LAB13: if (t28 == t48) + goto LAB14; + +LAB15: t19 = (t28 + t14); + t28 = t19; + goto LAB11; + +LAB16:; +} + +char *ieee_p_2592010699_sub_13958870021669583346_503743352(char *t1, char *t2, char *t3, char *t4, char *t5, char *t6) +{ + char t7[128]; + char t8[40]; + char t9[16]; + char t16[16]; + char t23[16]; + char *t0; + char *t10; + unsigned int t11; + char *t12; + char *t13; + int t14; + unsigned int t15; + char *t17; + char *t18; + int t19; + unsigned int t20; + int t21; + unsigned int t22; + char *t24; + unsigned int t25; + char *t26; + char *t27; + int t28; + unsigned int t29; + char *t30; + char *t31; + char *t32; + char *t33; + char *t34; + char *t35; + char *t36; + unsigned char t37; + char *t38; + char *t39; + unsigned char t40; + char *t41; + char *t42; + char *t43; + unsigned int t44; + unsigned char t45; + char *t46; + char *t47; + int t48; + int t49; + int t50; + int t51; + int t52; + int t53; + int t54; + int t55; + int t56; + int t57; + int t58; + int t59; + unsigned int t60; + int t61; + unsigned int t62; + unsigned int t63; + unsigned int t64; + unsigned int t65; + char *t66; + int t67; + char *t68; + int t69; + int t70; + unsigned int t71; + unsigned int t72; + unsigned int t73; + char *t74; + +LAB0: t10 = (t4 + 12U); + t11 = *((unsigned int *)t10); + t12 = (t9 + 0U); + t13 = (t12 + 0U); + *((int *)t13) = 1; + t13 = (t12 + 4U); + *((unsigned int *)t13) = t11; + t13 = (t12 + 8U); + *((int *)t13) = 1; + t14 = (t11 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t13 = (t12 + 12U); + *((unsigned int *)t13) = t15; + t13 = (t6 + 12U); + t15 = *((unsigned int *)t13); + t17 = (t16 + 0U); + t18 = (t17 + 0U); + *((int *)t18) = 1; + t18 = (t17 + 4U); + *((unsigned int *)t18) = t15; + t18 = (t17 + 8U); + *((int *)t18) = 1; + t19 = (t15 - 1); + t20 = (t19 * 1); + t20 = (t20 + 1); + t18 = (t17 + 12U); + *((unsigned int *)t18) = t20; + t18 = (t4 + 12U); + t20 = *((unsigned int *)t18); + t21 = (t20 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t22 = (t22 * 1U); + t24 = (t4 + 12U); + t25 = *((unsigned int *)t24); + t26 = (t23 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = 1; + t27 = (t26 + 4U); + *((unsigned int *)t27) = t25; + t27 = (t26 + 8U); + *((int *)t27) = 1; + t28 = (t25 - 1); + t29 = (t28 * 1); + t29 = (t29 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t29; + t27 = (t7 + 4U); + t30 = (t1 + 3896); + t31 = (t27 + 88U); + *((char **)t31) = t30; + t32 = (char *)alloca(t22); + t33 = (t27 + 56U); + *((char **)t33) = t32; + xsi_type_set_default_value(t30, t32, t23); + t34 = (t27 + 64U); + *((char **)t34) = t23; + t35 = (t27 + 80U); + *((unsigned int *)t35) = t22; + t36 = (t8 + 4U); + t37 = (t3 != 0); + if (t37 == 1) + goto LAB3; + +LAB2: t38 = (t8 + 12U); + *((char **)t38) = t4; + t39 = (t8 + 20U); + t40 = (t5 != 0); + if (t40 == 1) + goto LAB5; + +LAB4: t41 = (t8 + 28U); + *((char **)t41) = t6; + t42 = (t4 + 12U); + t29 = *((unsigned int *)t42); + t43 = (t6 + 12U); + t44 = *((unsigned int *)t43); + t45 = (t29 != t44); + if (t45 != 0) + goto LAB6; + +LAB8: t10 = (t23 + 8U); + t14 = *((int *)t10); + t12 = (t23 + 4U); + t19 = *((int *)t12); + t13 = (t23 + 0U); + t21 = *((int *)t13); + t28 = t21; + t48 = t19; + +LAB11: t49 = (t48 * t14); + t50 = (t28 * t14); + if (t50 <= t49) + goto LAB12; + +LAB14: +LAB7: t10 = (t27 + 56U); + t12 = *((char **)t10); + t10 = (t23 + 12U); + t11 = *((unsigned int *)t10); + t11 = (t11 * 1U); + t0 = xsi_get_transient_memory(t11); + memcpy(t0, t12, t11); + t13 = (t23 + 0U); + t14 = *((int *)t13); + t17 = (t23 + 4U); + t19 = *((int *)t17); + t18 = (t23 + 8U); + t21 = *((int *)t18); + t24 = (t2 + 0U); + t26 = (t24 + 0U); + *((int *)t26) = t14; + t26 = (t24 + 4U); + *((int *)t26) = t19; + t26 = (t24 + 8U); + *((int *)t26) = t21; + t28 = (t19 - t14); + t15 = (t28 * t21); + t15 = (t15 + 1); + t26 = (t24 + 12U); + *((unsigned int *)t26) = t15; + +LAB1: return t0; +LAB3: *((char **)t36) = t3; + goto LAB2; + +LAB5: *((char **)t39) = t5; + goto LAB4; + +LAB6: if ((unsigned char)0 == 0) + goto LAB9; + +LAB10: goto LAB7; + +LAB9: t46 = (t1 + 8321); + xsi_report(t46, 65U, (unsigned char)3); + goto LAB10; + +LAB12: t17 = (t1 + 1528U); + t18 = *((char **)t17); + t17 = (t3 + 0); + t24 = (t9 + 0U); + t51 = *((int *)t24); + t26 = (t9 + 8U); + t52 = *((int *)t26); + t53 = (t28 - t51); + t11 = (t53 * t52); + t30 = (t9 + 4U); + t54 = *((int *)t30); + xsi_vhdl_check_range_of_index(t51, t54, t52, t28); + t15 = (1U * t11); + t20 = (0 + t15); + t31 = (t17 + t20); + t37 = *((unsigned char *)t31); + t55 = (t37 - 0); + t22 = (t55 * 1); + t25 = (t22 * 9U); + t33 = (t5 + 0); + t34 = (t16 + 0U); + t56 = *((int *)t34); + t35 = (t16 + 8U); + t57 = *((int *)t35); + t58 = (t28 - t56); + t29 = (t58 * t57); + t42 = (t16 + 4U); + t59 = *((int *)t42); + xsi_vhdl_check_range_of_index(t56, t59, t57, t28); + t44 = (1U * t29); + t60 = (0 + t44); + t43 = (t33 + t60); + t40 = *((unsigned char *)t43); + t61 = (t40 - 0); + t62 = (t61 * 1); + t63 = (t25 + t62); + t64 = (1U * t63); + t65 = (0 + t64); + t46 = (t18 + t65); + t45 = *((unsigned char *)t46); + t47 = (t27 + 56U); + t66 = *((char **)t47); + t47 = (t23 + 0U); + t67 = *((int *)t47); + t68 = (t23 + 8U); + t69 = *((int *)t68); + t70 = (t28 - t67); + t71 = (t70 * t69); + t72 = (1U * t71); + t73 = (0 + t72); + t74 = (t66 + t73); + *((unsigned char *)t74) = t45; + +LAB13: if (t28 == t48) + goto LAB14; + +LAB15: t19 = (t28 + t14); + t28 = t19; + goto LAB11; + +LAB16:; +} + +char *ieee_p_2592010699_sub_16447329948342641973_503743352(char *t1, char *t2, char *t3, char *t4, char *t5, char *t6) +{ + char t7[128]; + char t8[40]; + char t9[16]; + char t16[16]; + char t23[16]; + char *t0; + char *t10; + unsigned int t11; + char *t12; + char *t13; + int t14; + unsigned int t15; + char *t17; + char *t18; + int t19; + unsigned int t20; + int t21; + unsigned int t22; + char *t24; + unsigned int t25; + char *t26; + char *t27; + int t28; + unsigned int t29; + char *t30; + char *t31; + char *t32; + char *t33; + char *t34; + char *t35; + char *t36; + unsigned char t37; + char *t38; + char *t39; + unsigned char t40; + char *t41; + char *t42; + char *t43; + unsigned int t44; + unsigned char t45; + char *t46; + char *t47; + int t48; + int t49; + int t50; + int t51; + int t52; + int t53; + int t54; + int t55; + int t56; + int t57; + int t58; + int t59; + unsigned int t60; + int t61; + unsigned int t62; + unsigned int t63; + unsigned int t64; + unsigned int t65; + int t66; + unsigned int t67; + unsigned int t68; + unsigned int t69; + char *t70; + unsigned char t71; + char *t72; + char *t73; + int t74; + char *t75; + int t76; + int t77; + unsigned int t78; + unsigned int t79; + unsigned int t80; + char *t81; + +LAB0: t10 = (t4 + 12U); + t11 = *((unsigned int *)t10); + t12 = (t9 + 0U); + t13 = (t12 + 0U); + *((int *)t13) = 1; + t13 = (t12 + 4U); + *((unsigned int *)t13) = t11; + t13 = (t12 + 8U); + *((int *)t13) = 1; + t14 = (t11 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t13 = (t12 + 12U); + *((unsigned int *)t13) = t15; + t13 = (t6 + 12U); + t15 = *((unsigned int *)t13); + t17 = (t16 + 0U); + t18 = (t17 + 0U); + *((int *)t18) = 1; + t18 = (t17 + 4U); + *((unsigned int *)t18) = t15; + t18 = (t17 + 8U); + *((int *)t18) = 1; + t19 = (t15 - 1); + t20 = (t19 * 1); + t20 = (t20 + 1); + t18 = (t17 + 12U); + *((unsigned int *)t18) = t20; + t18 = (t4 + 12U); + t20 = *((unsigned int *)t18); + t21 = (t20 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t22 = (t22 * 1U); + t24 = (t4 + 12U); + t25 = *((unsigned int *)t24); + t26 = (t23 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = 1; + t27 = (t26 + 4U); + *((unsigned int *)t27) = t25; + t27 = (t26 + 8U); + *((int *)t27) = 1; + t28 = (t25 - 1); + t29 = (t28 * 1); + t29 = (t29 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t29; + t27 = (t7 + 4U); + t30 = (t1 + 4000); + t31 = (t27 + 88U); + *((char **)t31) = t30; + t32 = (char *)alloca(t22); + t33 = (t27 + 56U); + *((char **)t33) = t32; + xsi_type_set_default_value(t30, t32, t23); + t34 = (t27 + 64U); + *((char **)t34) = t23; + t35 = (t27 + 80U); + *((unsigned int *)t35) = t22; + t36 = (t8 + 4U); + t37 = (t3 != 0); + if (t37 == 1) + goto LAB3; + +LAB2: t38 = (t8 + 12U); + *((char **)t38) = t4; + t39 = (t8 + 20U); + t40 = (t5 != 0); + if (t40 == 1) + goto LAB5; + +LAB4: t41 = (t8 + 28U); + *((char **)t41) = t6; + t42 = (t4 + 12U); + t29 = *((unsigned int *)t42); + t43 = (t6 + 12U); + t44 = *((unsigned int *)t43); + t45 = (t29 != t44); + if (t45 != 0) + goto LAB6; + +LAB8: t10 = (t23 + 8U); + t14 = *((int *)t10); + t12 = (t23 + 4U); + t19 = *((int *)t12); + t13 = (t23 + 0U); + t21 = *((int *)t13); + t28 = t21; + t48 = t19; + +LAB11: t49 = (t48 * t14); + t50 = (t28 * t14); + if (t50 <= t49) + goto LAB12; + +LAB14: +LAB7: t10 = (t27 + 56U); + t12 = *((char **)t10); + t10 = (t23 + 12U); + t11 = *((unsigned int *)t10); + t11 = (t11 * 1U); + t0 = xsi_get_transient_memory(t11); + memcpy(t0, t12, t11); + t13 = (t23 + 0U); + t14 = *((int *)t13); + t17 = (t23 + 4U); + t19 = *((int *)t17); + t18 = (t23 + 8U); + t21 = *((int *)t18); + t24 = (t2 + 0U); + t26 = (t24 + 0U); + *((int *)t26) = t14; + t26 = (t24 + 4U); + *((int *)t26) = t19; + t26 = (t24 + 8U); + *((int *)t26) = t21; + t28 = (t19 - t14); + t15 = (t28 * t21); + t15 = (t15 + 1); + t26 = (t24 + 12U); + *((unsigned int *)t26) = t15; + +LAB1: return t0; +LAB3: *((char **)t36) = t3; + goto LAB2; + +LAB5: *((char **)t39) = t5; + goto LAB4; + +LAB6: if ((unsigned char)0 == 0) + goto LAB9; + +LAB10: goto LAB7; + +LAB9: t46 = (t1 + 8386); + xsi_report(t46, 66U, (unsigned char)3); + goto LAB10; + +LAB12: t17 = (t1 + 1648U); + t18 = *((char **)t17); + t17 = (t1 + 1528U); + t24 = *((char **)t17); + t17 = (t3 + 0); + t26 = (t9 + 0U); + t51 = *((int *)t26); + t30 = (t9 + 8U); + t52 = *((int *)t30); + t53 = (t28 - t51); + t11 = (t53 * t52); + t31 = (t9 + 4U); + t54 = *((int *)t31); + xsi_vhdl_check_range_of_index(t51, t54, t52, t28); + t15 = (1U * t11); + t20 = (0 + t15); + t33 = (t17 + t20); + t37 = *((unsigned char *)t33); + t55 = (t37 - 0); + t22 = (t55 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t37); + t25 = (t22 * 9U); + t34 = (t5 + 0); + t35 = (t16 + 0U); + t56 = *((int *)t35); + t42 = (t16 + 8U); + t57 = *((int *)t42); + t58 = (t28 - t56); + t29 = (t58 * t57); + t43 = (t16 + 4U); + t59 = *((int *)t43); + xsi_vhdl_check_range_of_index(t56, t59, t57, t28); + t44 = (1U * t29); + t60 = (0 + t44); + t46 = (t34 + t60); + t40 = *((unsigned char *)t46); + t61 = (t40 - 0); + t62 = (t61 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t40); + t63 = (t25 + t62); + t64 = (1U * t63); + t65 = (0 + t64); + t47 = (t24 + t65); + t45 = *((unsigned char *)t47); + t66 = (t45 - 0); + t67 = (t66 * 1); + t68 = (1U * t67); + t69 = (0 + t68); + t70 = (t18 + t69); + t71 = *((unsigned char *)t70); + t72 = (t27 + 56U); + t73 = *((char **)t72); + t72 = (t23 + 0U); + t74 = *((int *)t72); + t75 = (t23 + 8U); + t76 = *((int *)t75); + t77 = (t28 - t74); + t78 = (t77 * t76); + t79 = (1U * t78); + t80 = (0 + t79); + t81 = (t73 + t80); + *((unsigned char *)t81) = t71; + +LAB13: if (t28 == t48) + goto LAB14; + +LAB15: t19 = (t28 + t14); + t28 = t19; + goto LAB11; + +LAB16:; +} + +char *ieee_p_2592010699_sub_13966210136304631552_503743352(char *t1, char *t2, char *t3, char *t4, char *t5, char *t6) +{ + char t7[128]; + char t8[40]; + char t9[16]; + char t16[16]; + char t23[16]; + char *t0; + char *t10; + unsigned int t11; + char *t12; + char *t13; + int t14; + unsigned int t15; + char *t17; + char *t18; + int t19; + unsigned int t20; + int t21; + unsigned int t22; + char *t24; + unsigned int t25; + char *t26; + char *t27; + int t28; + unsigned int t29; + char *t30; + char *t31; + char *t32; + char *t33; + char *t34; + char *t35; + char *t36; + unsigned char t37; + char *t38; + char *t39; + unsigned char t40; + char *t41; + char *t42; + char *t43; + unsigned int t44; + unsigned char t45; + char *t46; + char *t47; + int t48; + int t49; + int t50; + int t51; + int t52; + int t53; + int t54; + int t55; + int t56; + int t57; + int t58; + int t59; + unsigned int t60; + int t61; + unsigned int t62; + unsigned int t63; + unsigned int t64; + unsigned int t65; + int t66; + unsigned int t67; + unsigned int t68; + unsigned int t69; + char *t70; + unsigned char t71; + char *t72; + char *t73; + int t74; + char *t75; + int t76; + int t77; + unsigned int t78; + unsigned int t79; + unsigned int t80; + char *t81; + +LAB0: t10 = (t4 + 12U); + t11 = *((unsigned int *)t10); + t12 = (t9 + 0U); + t13 = (t12 + 0U); + *((int *)t13) = 1; + t13 = (t12 + 4U); + *((unsigned int *)t13) = t11; + t13 = (t12 + 8U); + *((int *)t13) = 1; + t14 = (t11 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t13 = (t12 + 12U); + *((unsigned int *)t13) = t15; + t13 = (t6 + 12U); + t15 = *((unsigned int *)t13); + t17 = (t16 + 0U); + t18 = (t17 + 0U); + *((int *)t18) = 1; + t18 = (t17 + 4U); + *((unsigned int *)t18) = t15; + t18 = (t17 + 8U); + *((int *)t18) = 1; + t19 = (t15 - 1); + t20 = (t19 * 1); + t20 = (t20 + 1); + t18 = (t17 + 12U); + *((unsigned int *)t18) = t20; + t18 = (t4 + 12U); + t20 = *((unsigned int *)t18); + t21 = (t20 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t22 = (t22 * 1U); + t24 = (t4 + 12U); + t25 = *((unsigned int *)t24); + t26 = (t23 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = 1; + t27 = (t26 + 4U); + *((unsigned int *)t27) = t25; + t27 = (t26 + 8U); + *((int *)t27) = 1; + t28 = (t25 - 1); + t29 = (t28 * 1); + t29 = (t29 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t29; + t27 = (t7 + 4U); + t30 = (t1 + 3896); + t31 = (t27 + 88U); + *((char **)t31) = t30; + t32 = (char *)alloca(t22); + t33 = (t27 + 56U); + *((char **)t33) = t32; + xsi_type_set_default_value(t30, t32, t23); + t34 = (t27 + 64U); + *((char **)t34) = t23; + t35 = (t27 + 80U); + *((unsigned int *)t35) = t22; + t36 = (t8 + 4U); + t37 = (t3 != 0); + if (t37 == 1) + goto LAB3; + +LAB2: t38 = (t8 + 12U); + *((char **)t38) = t4; + t39 = (t8 + 20U); + t40 = (t5 != 0); + if (t40 == 1) + goto LAB5; + +LAB4: t41 = (t8 + 28U); + *((char **)t41) = t6; + t42 = (t4 + 12U); + t29 = *((unsigned int *)t42); + t43 = (t6 + 12U); + t44 = *((unsigned int *)t43); + t45 = (t29 != t44); + if (t45 != 0) + goto LAB6; + +LAB8: t10 = (t23 + 8U); + t14 = *((int *)t10); + t12 = (t23 + 4U); + t19 = *((int *)t12); + t13 = (t23 + 0U); + t21 = *((int *)t13); + t28 = t21; + t48 = t19; + +LAB11: t49 = (t48 * t14); + t50 = (t28 * t14); + if (t50 <= t49) + goto LAB12; + +LAB14: +LAB7: t10 = (t27 + 56U); + t12 = *((char **)t10); + t10 = (t23 + 12U); + t11 = *((unsigned int *)t10); + t11 = (t11 * 1U); + t0 = xsi_get_transient_memory(t11); + memcpy(t0, t12, t11); + t13 = (t23 + 0U); + t14 = *((int *)t13); + t17 = (t23 + 4U); + t19 = *((int *)t17); + t18 = (t23 + 8U); + t21 = *((int *)t18); + t24 = (t2 + 0U); + t26 = (t24 + 0U); + *((int *)t26) = t14; + t26 = (t24 + 4U); + *((int *)t26) = t19; + t26 = (t24 + 8U); + *((int *)t26) = t21; + t28 = (t19 - t14); + t15 = (t28 * t21); + t15 = (t15 + 1); + t26 = (t24 + 12U); + *((unsigned int *)t26) = t15; + +LAB1: return t0; +LAB3: *((char **)t36) = t3; + goto LAB2; + +LAB5: *((char **)t39) = t5; + goto LAB4; + +LAB6: if ((unsigned char)0 == 0) + goto LAB9; + +LAB10: goto LAB7; + +LAB9: t46 = (t1 + 8452); + xsi_report(t46, 66U, (unsigned char)3); + goto LAB10; + +LAB12: t17 = (t1 + 1648U); + t18 = *((char **)t17); + t17 = (t1 + 1528U); + t24 = *((char **)t17); + t17 = (t3 + 0); + t26 = (t9 + 0U); + t51 = *((int *)t26); + t30 = (t9 + 8U); + t52 = *((int *)t30); + t53 = (t28 - t51); + t11 = (t53 * t52); + t31 = (t9 + 4U); + t54 = *((int *)t31); + xsi_vhdl_check_range_of_index(t51, t54, t52, t28); + t15 = (1U * t11); + t20 = (0 + t15); + t33 = (t17 + t20); + t37 = *((unsigned char *)t33); + t55 = (t37 - 0); + t22 = (t55 * 1); + t25 = (t22 * 9U); + t34 = (t5 + 0); + t35 = (t16 + 0U); + t56 = *((int *)t35); + t42 = (t16 + 8U); + t57 = *((int *)t42); + t58 = (t28 - t56); + t29 = (t58 * t57); + t43 = (t16 + 4U); + t59 = *((int *)t43); + xsi_vhdl_check_range_of_index(t56, t59, t57, t28); + t44 = (1U * t29); + t60 = (0 + t44); + t46 = (t34 + t60); + t40 = *((unsigned char *)t46); + t61 = (t40 - 0); + t62 = (t61 * 1); + t63 = (t25 + t62); + t64 = (1U * t63); + t65 = (0 + t64); + t47 = (t24 + t65); + t45 = *((unsigned char *)t47); + t66 = (t45 - 0); + t67 = (t66 * 1); + t68 = (1U * t67); + t69 = (0 + t68); + t70 = (t18 + t69); + t71 = *((unsigned char *)t70); + t72 = (t27 + 56U); + t73 = *((char **)t72); + t72 = (t23 + 0U); + t74 = *((int *)t72); + t75 = (t23 + 8U); + t76 = *((int *)t75); + t77 = (t28 - t74); + t78 = (t77 * t76); + t79 = (1U * t78); + t80 = (0 + t79); + t81 = (t73 + t80); + *((unsigned char *)t81) = t71; + +LAB13: if (t28 == t48) + goto LAB14; + +LAB15: t19 = (t28 + t14); + t28 = t19; + goto LAB11; + +LAB16:; +} + +char *ieee_p_2592010699_sub_207919886985903570_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t16[16]; + char *t0; + char *t8; + unsigned int t9; + char *t10; + char *t11; + int t12; + unsigned int t13; + int t14; + unsigned int t15; + char *t17; + unsigned int t18; + char *t19; + char *t20; + int t21; + unsigned int t22; + char *t23; + char *t24; + char *t25; + char *t26; + char *t27; + char *t28; + char *t29; + unsigned char t30; + char *t31; + char *t32; + int t33; + char *t34; + int t35; + char *t36; + int t37; + int t38; + int t39; + int t40; + int t41; + char *t42; + char *t43; + char *t44; + int t45; + char *t46; + int t47; + int t48; + char *t49; + int t50; + unsigned int t51; + unsigned int t52; + char *t53; + unsigned char t54; + int t55; + unsigned int t56; + unsigned int t57; + unsigned int t58; + char *t59; + unsigned char t60; + char *t61; + char *t62; + int t63; + char *t64; + int t65; + int t66; + unsigned int t67; + unsigned int t68; + unsigned int t69; + char *t70; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t7 + 0U); + t11 = (t10 + 0U); + *((int *)t11) = 1; + t11 = (t10 + 4U); + *((unsigned int *)t11) = t9; + t11 = (t10 + 8U); + *((int *)t11) = 1; + t12 = (t9 - 1); + t13 = (t12 * 1); + t13 = (t13 + 1); + t11 = (t10 + 12U); + *((unsigned int *)t11) = t13; + t11 = (t4 + 12U); + t13 = *((unsigned int *)t11); + t14 = (t13 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t15 = (t15 * 1U); + t17 = (t4 + 12U); + t18 = *((unsigned int *)t17); + t19 = (t16 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 1; + t20 = (t19 + 4U); + *((unsigned int *)t20) = t18; + t20 = (t19 + 8U); + *((int *)t20) = 1; + t21 = (t18 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t5 + 4U); + t23 = (t1 + 4000); + t24 = (t20 + 88U); + *((char **)t24) = t23; + t25 = (char *)alloca(t15); + t26 = (t20 + 56U); + *((char **)t26) = t25; + xsi_type_set_default_value(t23, t25, t16); + t27 = (t20 + 64U); + *((char **)t27) = t16; + t28 = (t20 + 80U); + *((unsigned int *)t28) = t15; + t29 = (t6 + 4U); + t30 = (t3 != 0); + if (t30 == 1) + goto LAB3; + +LAB2: t31 = (t6 + 12U); + *((char **)t31) = t4; + t32 = (t16 + 8U); + t33 = *((int *)t32); + t34 = (t16 + 4U); + t35 = *((int *)t34); + t36 = (t16 + 0U); + t37 = *((int *)t36); + t38 = t37; + t39 = t35; + +LAB4: t40 = (t39 * t33); + t41 = (t38 * t33); + if (t41 <= t40) + goto LAB5; + +LAB7: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t10, t9); + t11 = (t16 + 0U); + t12 = *((int *)t11); + t17 = (t16 + 4U); + t14 = *((int *)t17); + t19 = (t16 + 8U); + t21 = *((int *)t19); + t23 = (t2 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t12; + t24 = (t23 + 4U); + *((int *)t24) = t14; + t24 = (t23 + 8U); + *((int *)t24) = t21; + t33 = (t14 - t12); + t13 = (t33 * t21); + t13 = (t13 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t13; + +LAB1: return t0; +LAB3: *((char **)t29) = t3; + goto LAB2; + +LAB5: t42 = (t1 + 1648U); + t43 = *((char **)t42); + t42 = (t3 + 0); + t44 = (t7 + 0U); + t45 = *((int *)t44); + t46 = (t7 + 8U); + t47 = *((int *)t46); + t48 = (t38 - t45); + t22 = (t48 * t47); + t49 = (t7 + 4U); + t50 = *((int *)t49); + xsi_vhdl_check_range_of_index(t45, t50, t47, t38); + t51 = (1U * t22); + t52 = (0 + t51); + t53 = (t42 + t52); + t54 = *((unsigned char *)t53); + t55 = (t54 - 0); + t56 = (t55 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t54); + t57 = (1U * t56); + t58 = (0 + t57); + t59 = (t43 + t58); + t60 = *((unsigned char *)t59); + t61 = (t20 + 56U); + t62 = *((char **)t61); + t61 = (t16 + 0U); + t63 = *((int *)t61); + t64 = (t16 + 8U); + t65 = *((int *)t64); + t66 = (t38 - t63); + t67 = (t66 * t65); + t68 = (1U * t67); + t69 = (0 + t68); + t70 = (t62 + t69); + *((unsigned char *)t70) = t60; + +LAB6: if (t38 == t39) + goto LAB7; + +LAB8: t12 = (t38 + t33); + t38 = t12; + goto LAB4; + +LAB9:; +} + +char *ieee_p_2592010699_sub_13148960598567154123_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t16[16]; + char *t0; + char *t8; + unsigned int t9; + char *t10; + char *t11; + int t12; + unsigned int t13; + int t14; + unsigned int t15; + char *t17; + unsigned int t18; + char *t19; + char *t20; + int t21; + unsigned int t22; + char *t23; + char *t24; + char *t25; + char *t26; + char *t27; + char *t28; + char *t29; + unsigned char t30; + char *t31; + char *t32; + int t33; + char *t34; + int t35; + char *t36; + int t37; + int t38; + int t39; + int t40; + int t41; + char *t42; + char *t43; + char *t44; + int t45; + char *t46; + int t47; + int t48; + char *t49; + int t50; + unsigned int t51; + unsigned int t52; + char *t53; + unsigned char t54; + int t55; + unsigned int t56; + unsigned int t57; + unsigned int t58; + char *t59; + unsigned char t60; + char *t61; + char *t62; + int t63; + char *t64; + int t65; + int t66; + unsigned int t67; + unsigned int t68; + unsigned int t69; + char *t70; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t7 + 0U); + t11 = (t10 + 0U); + *((int *)t11) = 1; + t11 = (t10 + 4U); + *((unsigned int *)t11) = t9; + t11 = (t10 + 8U); + *((int *)t11) = 1; + t12 = (t9 - 1); + t13 = (t12 * 1); + t13 = (t13 + 1); + t11 = (t10 + 12U); + *((unsigned int *)t11) = t13; + t11 = (t4 + 12U); + t13 = *((unsigned int *)t11); + t14 = (t13 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t15 = (t15 * 1U); + t17 = (t4 + 12U); + t18 = *((unsigned int *)t17); + t19 = (t16 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 1; + t20 = (t19 + 4U); + *((unsigned int *)t20) = t18; + t20 = (t19 + 8U); + *((int *)t20) = 1; + t21 = (t18 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t5 + 4U); + t23 = (t1 + 3896); + t24 = (t20 + 88U); + *((char **)t24) = t23; + t25 = (char *)alloca(t15); + t26 = (t20 + 56U); + *((char **)t26) = t25; + xsi_type_set_default_value(t23, t25, t16); + t27 = (t20 + 64U); + *((char **)t27) = t16; + t28 = (t20 + 80U); + *((unsigned int *)t28) = t15; + t29 = (t6 + 4U); + t30 = (t3 != 0); + if (t30 == 1) + goto LAB3; + +LAB2: t31 = (t6 + 12U); + *((char **)t31) = t4; + t32 = (t16 + 8U); + t33 = *((int *)t32); + t34 = (t16 + 4U); + t35 = *((int *)t34); + t36 = (t16 + 0U); + t37 = *((int *)t36); + t38 = t37; + t39 = t35; + +LAB4: t40 = (t39 * t33); + t41 = (t38 * t33); + if (t41 <= t40) + goto LAB5; + +LAB7: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t10, t9); + t11 = (t16 + 0U); + t12 = *((int *)t11); + t17 = (t16 + 4U); + t14 = *((int *)t17); + t19 = (t16 + 8U); + t21 = *((int *)t19); + t23 = (t2 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t12; + t24 = (t23 + 4U); + *((int *)t24) = t14; + t24 = (t23 + 8U); + *((int *)t24) = t21; + t33 = (t14 - t12); + t13 = (t33 * t21); + t13 = (t13 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t13; + +LAB1: return t0; +LAB3: *((char **)t29) = t3; + goto LAB2; + +LAB5: t42 = (t1 + 1648U); + t43 = *((char **)t42); + t42 = (t3 + 0); + t44 = (t7 + 0U); + t45 = *((int *)t44); + t46 = (t7 + 8U); + t47 = *((int *)t46); + t48 = (t38 - t45); + t22 = (t48 * t47); + t49 = (t7 + 4U); + t50 = *((int *)t49); + xsi_vhdl_check_range_of_index(t45, t50, t47, t38); + t51 = (1U * t22); + t52 = (0 + t51); + t53 = (t42 + t52); + t54 = *((unsigned char *)t53); + t55 = (t54 - 0); + t56 = (t55 * 1); + t57 = (1U * t56); + t58 = (0 + t57); + t59 = (t43 + t58); + t60 = *((unsigned char *)t59); + t61 = (t20 + 56U); + t62 = *((char **)t61); + t61 = (t16 + 0U); + t63 = *((int *)t61); + t64 = (t16 + 8U); + t65 = *((int *)t64); + t66 = (t38 - t63); + t67 = (t66 * t65); + t68 = (1U * t67); + t69 = (0 + t68); + t70 = (t62 + t69); + *((unsigned char *)t70) = t60; + +LAB6: if (t38 == t39) + goto LAB7; + +LAB8: t12 = (t38 + t33); + t38 = t12; + goto LAB4; + +LAB9:; +} + +unsigned char ieee_p_2592010699_sub_4006703399759706661_503743352(char *t1, unsigned char t2, unsigned char t3) +{ + char t5[8]; + unsigned char t0; + char *t6; + char *t7; + char *t8; + static char *nl0[] = {&&LAB5, &&LAB5, &&LAB3, &&LAB4, &&LAB5, &&LAB5, &&LAB3, &&LAB4, &&LAB5}; + +LAB0: t6 = (t5 + 4U); + *((unsigned char *)t6) = t2; + t7 = (t5 + 5U); + *((unsigned char *)t7) = t3; + t8 = (char *)((nl0) + t2); + goto **((char **)t8); + +LAB2: xsi_error(ng0); + t0 = 0; + +LAB1: return t0; +LAB3: t0 = (unsigned char)0; + goto LAB1; + +LAB4: t0 = (unsigned char)1; + goto LAB1; + +LAB5: t0 = t3; + goto LAB1; + +LAB6: goto LAB2; + +LAB7: goto LAB2; + +LAB8: goto LAB2; + +} + +char *ieee_p_2592010699_sub_12303121079769504865_503743352(char *t1, char *t2, char *t3, char *t4, unsigned char t5) +{ + char t6[128]; + char t7[24]; + char t8[16]; + char t19[16]; + char *t0; + char *t9; + unsigned int t10; + int t11; + char *t12; + char *t13; + int t14; + unsigned int t15; + int t16; + int t17; + unsigned int t18; + char *t20; + unsigned int t21; + int t22; + char *t23; + char *t24; + int t25; + unsigned int t26; + char *t27; + char *t28; + char *t29; + char *t30; + char *t31; + char *t32; + char *t33; + unsigned char t34; + char *t35; + char *t36; + char *t37; + int t38; + char *t39; + int t40; + char *t41; + int t42; + int t43; + int t44; + int t45; + int t46; + char *t47; + char *t48; + int t49; + char *t50; + int t51; + int t52; + char *t53; + int t54; + unsigned int t55; + unsigned int t56; + char *t57; + unsigned char t58; + char *t59; + char *t60; + char *t61; + int t62; + char *t63; + int t64; + int t65; + unsigned int t66; + unsigned int t67; + unsigned int t68; + char *t69; + static char *nl0[] = {&&LAB11, &&LAB11, &&LAB9, &&LAB10, &&LAB11, &&LAB11, &&LAB9, &&LAB10, &&LAB11}; + +LAB0: t9 = (t4 + 12U); + t10 = *((unsigned int *)t9); + t11 = (t10 - 1); + t12 = (t8 + 0U); + t13 = (t12 + 0U); + *((int *)t13) = t11; + t13 = (t12 + 4U); + *((int *)t13) = 0; + t13 = (t12 + 8U); + *((int *)t13) = -1; + t14 = (0 - t11); + t15 = (t14 * -1); + t15 = (t15 + 1); + t13 = (t12 + 12U); + *((unsigned int *)t13) = t15; + t13 = (t4 + 12U); + t15 = *((unsigned int *)t13); + t16 = (t15 - 1); + t17 = (0 - t16); + t18 = (t17 * -1); + t18 = (t18 + 1); + t18 = (t18 * 1U); + t20 = (t4 + 12U); + t21 = *((unsigned int *)t20); + t22 = (t21 - 1); + t23 = (t19 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t22; + t24 = (t23 + 4U); + *((int *)t24) = 0; + t24 = (t23 + 8U); + *((int *)t24) = -1; + t25 = (0 - t22); + t26 = (t25 * -1); + t26 = (t26 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t26; + t24 = (t6 + 4U); + t27 = ((STD_STANDARD) + 1080); + t28 = (t24 + 88U); + *((char **)t28) = t27; + t29 = (char *)alloca(t18); + t30 = (t24 + 56U); + *((char **)t30) = t29; + xsi_type_set_default_value(t27, t29, t19); + t31 = (t24 + 64U); + *((char **)t31) = t19; + t32 = (t24 + 80U); + *((unsigned int *)t32) = t18; + t33 = (t7 + 4U); + t34 = (t3 != 0); + if (t34 == 1) + goto LAB3; + +LAB2: t35 = (t7 + 12U); + *((char **)t35) = t4; + t36 = (t7 + 20U); + *((unsigned char *)t36) = t5; + t37 = (t19 + 8U); + t38 = *((int *)t37); + t39 = (t19 + 4U); + t40 = *((int *)t39); + t41 = (t19 + 0U); + t42 = *((int *)t41); + t43 = t42; + t44 = t40; + +LAB4: t45 = (t44 * t38); + t46 = (t43 * t38); + if (t46 <= t45) + goto LAB5; + +LAB7: t9 = (t24 + 56U); + t12 = *((char **)t9); + t9 = (t19 + 12U); + t10 = *((unsigned int *)t9); + t10 = (t10 * 1U); + t0 = xsi_get_transient_memory(t10); + memcpy(t0, t12, t10); + t13 = (t19 + 0U); + t11 = *((int *)t13); + t20 = (t19 + 4U); + t14 = *((int *)t20); + t23 = (t19 + 8U); + t16 = *((int *)t23); + t27 = (t2 + 0U); + t28 = (t27 + 0U); + *((int *)t28) = t11; + t28 = (t27 + 4U); + *((int *)t28) = t14; + t28 = (t27 + 8U); + *((int *)t28) = t16; + t17 = (t14 - t11); + t15 = (t17 * t16); + t15 = (t15 + 1); + t28 = (t27 + 12U); + *((unsigned int *)t28) = t15; + +LAB1: return t0; +LAB3: *((char **)t33) = t3; + goto LAB2; + +LAB5: t47 = (t3 + 0); + t48 = (t8 + 0U); + t49 = *((int *)t48); + t50 = (t8 + 8U); + t51 = *((int *)t50); + t52 = (t43 - t49); + t26 = (t52 * t51); + t53 = (t8 + 4U); + t54 = *((int *)t53); + xsi_vhdl_check_range_of_index(t49, t54, t51, t43); + t55 = (1U * t26); + t56 = (0 + t55); + t57 = (t47 + t56); + t58 = *((unsigned char *)t57); + t59 = (char *)((nl0) + t58); + goto **((char **)t59); + +LAB6: if (t43 == t44) + goto LAB7; + +LAB12: t11 = (t43 + t38); + t43 = t11; + goto LAB4; + +LAB8: goto LAB6; + +LAB9: t60 = (t24 + 56U); + t61 = *((char **)t60); + t60 = (t19 + 0U); + t62 = *((int *)t60); + t63 = (t19 + 8U); + t64 = *((int *)t63); + t65 = (t43 - t62); + t66 = (t65 * t64); + t67 = (1U * t66); + t68 = (0 + t67); + t69 = (t61 + t68); + *((unsigned char *)t69) = (unsigned char)0; + goto LAB8; + +LAB10: t9 = (t24 + 56U); + t12 = *((char **)t9); + t9 = (t19 + 0U); + t11 = *((int *)t9); + t13 = (t19 + 8U); + t14 = *((int *)t13); + t16 = (t43 - t11); + t10 = (t16 * t14); + t15 = (1U * t10); + t18 = (0 + t15); + t20 = (t12 + t18); + *((unsigned char *)t20) = (unsigned char)1; + goto LAB8; + +LAB11: t9 = (t24 + 56U); + t12 = *((char **)t9); + t9 = (t19 + 0U); + t11 = *((int *)t9); + t13 = (t19 + 8U); + t14 = *((int *)t13); + t16 = (t43 - t11); + t10 = (t16 * t14); + t15 = (1U * t10); + t18 = (0 + t15); + t20 = (t12 + t18); + *((unsigned char *)t20) = t5; + goto LAB8; + +LAB13:; +} + +char *ieee_p_2592010699_sub_12021448680711068169_503743352(char *t1, char *t2, char *t3, char *t4, unsigned char t5) +{ + char t6[128]; + char t7[24]; + char t8[16]; + char t19[16]; + char *t0; + char *t9; + unsigned int t10; + int t11; + char *t12; + char *t13; + int t14; + unsigned int t15; + int t16; + int t17; + unsigned int t18; + char *t20; + unsigned int t21; + int t22; + char *t23; + char *t24; + int t25; + unsigned int t26; + char *t27; + char *t28; + char *t29; + char *t30; + char *t31; + char *t32; + char *t33; + unsigned char t34; + char *t35; + char *t36; + char *t37; + int t38; + char *t39; + int t40; + char *t41; + int t42; + int t43; + int t44; + int t45; + int t46; + char *t47; + char *t48; + int t49; + char *t50; + int t51; + int t52; + char *t53; + int t54; + unsigned int t55; + unsigned int t56; + char *t57; + unsigned char t58; + char *t59; + char *t60; + char *t61; + int t62; + char *t63; + int t64; + int t65; + unsigned int t66; + unsigned int t67; + unsigned int t68; + char *t69; + static char *nl0[] = {&&LAB11, &&LAB11, &&LAB9, &&LAB10, &&LAB11, &&LAB11, &&LAB9, &&LAB10, &&LAB11}; + +LAB0: t9 = (t4 + 12U); + t10 = *((unsigned int *)t9); + t11 = (t10 - 1); + t12 = (t8 + 0U); + t13 = (t12 + 0U); + *((int *)t13) = t11; + t13 = (t12 + 4U); + *((int *)t13) = 0; + t13 = (t12 + 8U); + *((int *)t13) = -1; + t14 = (0 - t11); + t15 = (t14 * -1); + t15 = (t15 + 1); + t13 = (t12 + 12U); + *((unsigned int *)t13) = t15; + t13 = (t4 + 12U); + t15 = *((unsigned int *)t13); + t16 = (t15 - 1); + t17 = (0 - t16); + t18 = (t17 * -1); + t18 = (t18 + 1); + t18 = (t18 * 1U); + t20 = (t4 + 12U); + t21 = *((unsigned int *)t20); + t22 = (t21 - 1); + t23 = (t19 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t22; + t24 = (t23 + 4U); + *((int *)t24) = 0; + t24 = (t23 + 8U); + *((int *)t24) = -1; + t25 = (0 - t22); + t26 = (t25 * -1); + t26 = (t26 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t26; + t24 = (t6 + 4U); + t27 = ((STD_STANDARD) + 1080); + t28 = (t24 + 88U); + *((char **)t28) = t27; + t29 = (char *)alloca(t18); + t30 = (t24 + 56U); + *((char **)t30) = t29; + xsi_type_set_default_value(t27, t29, t19); + t31 = (t24 + 64U); + *((char **)t31) = t19; + t32 = (t24 + 80U); + *((unsigned int *)t32) = t18; + t33 = (t7 + 4U); + t34 = (t3 != 0); + if (t34 == 1) + goto LAB3; + +LAB2: t35 = (t7 + 12U); + *((char **)t35) = t4; + t36 = (t7 + 20U); + *((unsigned char *)t36) = t5; + t37 = (t19 + 8U); + t38 = *((int *)t37); + t39 = (t19 + 4U); + t40 = *((int *)t39); + t41 = (t19 + 0U); + t42 = *((int *)t41); + t43 = t42; + t44 = t40; + +LAB4: t45 = (t44 * t38); + t46 = (t43 * t38); + if (t46 <= t45) + goto LAB5; + +LAB7: t9 = (t24 + 56U); + t12 = *((char **)t9); + t9 = (t19 + 12U); + t10 = *((unsigned int *)t9); + t10 = (t10 * 1U); + t0 = xsi_get_transient_memory(t10); + memcpy(t0, t12, t10); + t13 = (t19 + 0U); + t11 = *((int *)t13); + t20 = (t19 + 4U); + t14 = *((int *)t20); + t23 = (t19 + 8U); + t16 = *((int *)t23); + t27 = (t2 + 0U); + t28 = (t27 + 0U); + *((int *)t28) = t11; + t28 = (t27 + 4U); + *((int *)t28) = t14; + t28 = (t27 + 8U); + *((int *)t28) = t16; + t17 = (t14 - t11); + t15 = (t17 * t16); + t15 = (t15 + 1); + t28 = (t27 + 12U); + *((unsigned int *)t28) = t15; + +LAB1: return t0; +LAB3: *((char **)t33) = t3; + goto LAB2; + +LAB5: t47 = (t3 + 0); + t48 = (t8 + 0U); + t49 = *((int *)t48); + t50 = (t8 + 8U); + t51 = *((int *)t50); + t52 = (t43 - t49); + t26 = (t52 * t51); + t53 = (t8 + 4U); + t54 = *((int *)t53); + xsi_vhdl_check_range_of_index(t49, t54, t51, t43); + t55 = (1U * t26); + t56 = (0 + t55); + t57 = (t47 + t56); + t58 = *((unsigned char *)t57); + t59 = (char *)((nl0) + t58); + goto **((char **)t59); + +LAB6: if (t43 == t44) + goto LAB7; + +LAB12: t11 = (t43 + t38); + t43 = t11; + goto LAB4; + +LAB8: goto LAB6; + +LAB9: t60 = (t24 + 56U); + t61 = *((char **)t60); + t60 = (t19 + 0U); + t62 = *((int *)t60); + t63 = (t19 + 8U); + t64 = *((int *)t63); + t65 = (t43 - t62); + t66 = (t65 * t64); + t67 = (1U * t66); + t68 = (0 + t67); + t69 = (t61 + t68); + *((unsigned char *)t69) = (unsigned char)0; + goto LAB8; + +LAB10: t9 = (t24 + 56U); + t12 = *((char **)t9); + t9 = (t19 + 0U); + t11 = *((int *)t9); + t13 = (t19 + 8U); + t14 = *((int *)t13); + t16 = (t43 - t11); + t10 = (t16 * t14); + t15 = (1U * t10); + t18 = (0 + t15); + t20 = (t12 + t18); + *((unsigned char *)t20) = (unsigned char)1; + goto LAB8; + +LAB11: t9 = (t24 + 56U); + t12 = *((char **)t9); + t9 = (t19 + 0U); + t11 = *((int *)t9); + t13 = (t19 + 8U); + t14 = *((int *)t13); + t16 = (t43 - t11); + t10 = (t16 * t14); + t15 = (1U * t10); + t18 = (0 + t15); + t20 = (t12 + t18); + *((unsigned char *)t20) = t5; + goto LAB8; + +LAB13:; +} + +unsigned char ieee_p_2592010699_sub_8696352441457764177_503743352(char *t1, unsigned char t2) +{ + char t4[8]; + unsigned char t0; + char *t5; + char *t6; + static char *nl0[] = {&&LAB3, &&LAB4}; + +LAB0: t5 = (t4 + 4U); + *((unsigned char *)t5) = t2; + t6 = (char *)((nl0) + t2); + goto **((char **)t6); + +LAB2: xsi_error(ng2); + t0 = 0; + +LAB1: return t0; +LAB3: t0 = (unsigned char)2; + goto LAB1; + +LAB4: t0 = (unsigned char)3; + goto LAB1; + +LAB5: goto LAB2; + +LAB6: goto LAB2; + +} + +char *ieee_p_2592010699_sub_24166140421859237_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t18[16]; + char *t0; + char *t8; + unsigned int t9; + int t10; + char *t11; + char *t12; + int t13; + unsigned int t14; + int t15; + int t16; + unsigned int t17; + char *t19; + unsigned int t20; + int t21; + char *t22; + char *t23; + int t24; + unsigned int t25; + char *t26; + char *t27; + char *t28; + char *t29; + char *t30; + char *t31; + char *t32; + unsigned char t33; + char *t34; + char *t35; + int t36; + char *t37; + int t38; + char *t39; + int t40; + int t41; + int t42; + int t43; + int t44; + char *t45; + char *t46; + int t47; + char *t48; + int t49; + int t50; + char *t51; + int t52; + unsigned int t53; + unsigned int t54; + char *t55; + unsigned char t56; + char *t57; + char *t58; + char *t59; + int t60; + char *t61; + int t62; + int t63; + unsigned int t64; + unsigned int t65; + unsigned int t66; + char *t67; + static char *nl0[] = {&&LAB9, &&LAB10}; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t9 - 1); + t11 = (t7 + 0U); + t12 = (t11 + 0U); + *((int *)t12) = t10; + t12 = (t11 + 4U); + *((int *)t12) = 0; + t12 = (t11 + 8U); + *((int *)t12) = -1; + t13 = (0 - t10); + t14 = (t13 * -1); + t14 = (t14 + 1); + t12 = (t11 + 12U); + *((unsigned int *)t12) = t14; + t12 = (t4 + 12U); + t14 = *((unsigned int *)t12); + t15 = (t14 - 1); + t16 = (0 - t15); + t17 = (t16 * -1); + t17 = (t17 + 1); + t17 = (t17 * 1U); + t19 = (t4 + 12U); + t20 = *((unsigned int *)t19); + t21 = (t20 - 1); + t22 = (t18 + 0U); + t23 = (t22 + 0U); + *((int *)t23) = t21; + t23 = (t22 + 4U); + *((int *)t23) = 0; + t23 = (t22 + 8U); + *((int *)t23) = -1; + t24 = (0 - t21); + t25 = (t24 * -1); + t25 = (t25 + 1); + t23 = (t22 + 12U); + *((unsigned int *)t23) = t25; + t23 = (t5 + 4U); + t26 = (t1 + 4000); + t27 = (t23 + 88U); + *((char **)t27) = t26; + t28 = (char *)alloca(t17); + t29 = (t23 + 56U); + *((char **)t29) = t28; + xsi_type_set_default_value(t26, t28, t18); + t30 = (t23 + 64U); + *((char **)t30) = t18; + t31 = (t23 + 80U); + *((unsigned int *)t31) = t17; + t32 = (t6 + 4U); + t33 = (t3 != 0); + if (t33 == 1) + goto LAB3; + +LAB2: t34 = (t6 + 12U); + *((char **)t34) = t4; + t35 = (t18 + 8U); + t36 = *((int *)t35); + t37 = (t18 + 4U); + t38 = *((int *)t37); + t39 = (t18 + 0U); + t40 = *((int *)t39); + t41 = t40; + t42 = t38; + +LAB4: t43 = (t42 * t36); + t44 = (t41 * t36); + if (t44 <= t43) + goto LAB5; + +LAB7: t8 = (t23 + 56U); + t11 = *((char **)t8); + t8 = (t18 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t11, t9); + t12 = (t18 + 0U); + t10 = *((int *)t12); + t19 = (t18 + 4U); + t13 = *((int *)t19); + t22 = (t18 + 8U); + t15 = *((int *)t22); + t26 = (t2 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = t10; + t27 = (t26 + 4U); + *((int *)t27) = t13; + t27 = (t26 + 8U); + *((int *)t27) = t15; + t16 = (t13 - t10); + t14 = (t16 * t15); + t14 = (t14 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t14; + +LAB1: return t0; +LAB3: *((char **)t32) = t3; + goto LAB2; + +LAB5: t45 = (t3 + 0); + t46 = (t7 + 0U); + t47 = *((int *)t46); + t48 = (t7 + 8U); + t49 = *((int *)t48); + t50 = (t41 - t47); + t25 = (t50 * t49); + t51 = (t7 + 4U); + t52 = *((int *)t51); + xsi_vhdl_check_range_of_index(t47, t52, t49, t41); + t53 = (1U * t25); + t54 = (0 + t53); + t55 = (t45 + t54); + t56 = *((unsigned char *)t55); + t57 = (char *)((nl0) + t56); + goto **((char **)t57); + +LAB6: if (t41 == t42) + goto LAB7; + +LAB11: t10 = (t41 + t36); + t41 = t10; + goto LAB4; + +LAB8: goto LAB6; + +LAB9: t58 = (t23 + 56U); + t59 = *((char **)t58); + t58 = (t18 + 0U); + t60 = *((int *)t58); + t61 = (t18 + 8U); + t62 = *((int *)t61); + t63 = (t41 - t60); + t64 = (t63 * t62); + t65 = (1U * t64); + t66 = (0 + t65); + t67 = (t59 + t66); + *((unsigned char *)t67) = (unsigned char)2; + goto LAB8; + +LAB10: t8 = (t23 + 56U); + t11 = *((char **)t8); + t8 = (t18 + 0U); + t10 = *((int *)t8); + t12 = (t18 + 8U); + t13 = *((int *)t12); + t15 = (t41 - t10); + t9 = (t15 * t13); + t14 = (1U * t9); + t17 = (0 + t14); + t19 = (t11 + t17); + *((unsigned char *)t19) = (unsigned char)3; + goto LAB8; + +LAB12:; +} + +char *ieee_p_2592010699_sub_2117344206090590870_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t18[16]; + char *t0; + char *t8; + unsigned int t9; + int t10; + char *t11; + char *t12; + int t13; + unsigned int t14; + int t15; + int t16; + unsigned int t17; + char *t19; + unsigned int t20; + int t21; + char *t22; + char *t23; + int t24; + unsigned int t25; + char *t26; + char *t27; + char *t28; + char *t29; + char *t30; + char *t31; + char *t32; + unsigned char t33; + char *t34; + char *t35; + int t36; + char *t37; + int t38; + char *t39; + int t40; + int t41; + int t42; + int t43; + int t44; + char *t45; + char *t46; + int t47; + char *t48; + int t49; + int t50; + char *t51; + int t52; + unsigned int t53; + unsigned int t54; + char *t55; + unsigned char t56; + char *t57; + char *t58; + int t59; + char *t60; + int t61; + int t62; + unsigned int t63; + unsigned int t64; + unsigned int t65; + char *t66; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t9 - 1); + t11 = (t7 + 0U); + t12 = (t11 + 0U); + *((int *)t12) = t10; + t12 = (t11 + 4U); + *((int *)t12) = 0; + t12 = (t11 + 8U); + *((int *)t12) = -1; + t13 = (0 - t10); + t14 = (t13 * -1); + t14 = (t14 + 1); + t12 = (t11 + 12U); + *((unsigned int *)t12) = t14; + t12 = (t4 + 12U); + t14 = *((unsigned int *)t12); + t15 = (t14 - 1); + t16 = (0 - t15); + t17 = (t16 * -1); + t17 = (t17 + 1); + t17 = (t17 * 1U); + t19 = (t4 + 12U); + t20 = *((unsigned int *)t19); + t21 = (t20 - 1); + t22 = (t18 + 0U); + t23 = (t22 + 0U); + *((int *)t23) = t21; + t23 = (t22 + 4U); + *((int *)t23) = 0; + t23 = (t22 + 8U); + *((int *)t23) = -1; + t24 = (0 - t21); + t25 = (t24 * -1); + t25 = (t25 + 1); + t23 = (t22 + 12U); + *((unsigned int *)t23) = t25; + t23 = (t5 + 4U); + t26 = (t1 + 4000); + t27 = (t23 + 88U); + *((char **)t27) = t26; + t28 = (char *)alloca(t17); + t29 = (t23 + 56U); + *((char **)t29) = t28; + xsi_type_set_default_value(t26, t28, t18); + t30 = (t23 + 64U); + *((char **)t30) = t18; + t31 = (t23 + 80U); + *((unsigned int *)t31) = t17; + t32 = (t6 + 4U); + t33 = (t3 != 0); + if (t33 == 1) + goto LAB3; + +LAB2: t34 = (t6 + 12U); + *((char **)t34) = t4; + t35 = (t18 + 8U); + t36 = *((int *)t35); + t37 = (t18 + 4U); + t38 = *((int *)t37); + t39 = (t18 + 0U); + t40 = *((int *)t39); + t41 = t40; + t42 = t38; + +LAB4: t43 = (t42 * t36); + t44 = (t41 * t36); + if (t44 <= t43) + goto LAB5; + +LAB7: t8 = (t23 + 56U); + t11 = *((char **)t8); + t8 = (t18 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t11, t9); + t12 = (t18 + 0U); + t10 = *((int *)t12); + t19 = (t18 + 4U); + t13 = *((int *)t19); + t22 = (t18 + 8U); + t15 = *((int *)t22); + t26 = (t2 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = t10; + t27 = (t26 + 4U); + *((int *)t27) = t13; + t27 = (t26 + 8U); + *((int *)t27) = t15; + t16 = (t13 - t10); + t14 = (t16 * t15); + t14 = (t14 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t14; + +LAB1: return t0; +LAB3: *((char **)t32) = t3; + goto LAB2; + +LAB5: t45 = (t3 + 0); + t46 = (t7 + 0U); + t47 = *((int *)t46); + t48 = (t7 + 8U); + t49 = *((int *)t48); + t50 = (t41 - t47); + t25 = (t50 * t49); + t51 = (t7 + 4U); + t52 = *((int *)t51); + xsi_vhdl_check_range_of_index(t47, t52, t49, t41); + t53 = (1U * t25); + t54 = (0 + t53); + t55 = (t45 + t54); + t56 = *((unsigned char *)t55); + t57 = (t23 + 56U); + t58 = *((char **)t57); + t57 = (t18 + 0U); + t59 = *((int *)t57); + t60 = (t18 + 8U); + t61 = *((int *)t60); + t62 = (t41 - t59); + t63 = (t62 * t61); + t64 = (1U * t63); + t65 = (0 + t64); + t66 = (t58 + t65); + *((unsigned char *)t66) = t56; + +LAB6: if (t41 == t42) + goto LAB7; + +LAB8: t10 = (t41 + t36); + t41 = t10; + goto LAB4; + +LAB9:; +} + +char *ieee_p_2592010699_sub_7223350646739717901_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t18[16]; + char *t0; + char *t8; + unsigned int t9; + int t10; + char *t11; + char *t12; + int t13; + unsigned int t14; + int t15; + int t16; + unsigned int t17; + char *t19; + unsigned int t20; + int t21; + char *t22; + char *t23; + int t24; + unsigned int t25; + char *t26; + char *t27; + char *t28; + char *t29; + char *t30; + char *t31; + char *t32; + unsigned char t33; + char *t34; + char *t35; + int t36; + char *t37; + int t38; + char *t39; + int t40; + int t41; + int t42; + int t43; + int t44; + char *t45; + char *t46; + int t47; + char *t48; + int t49; + int t50; + char *t51; + int t52; + unsigned int t53; + unsigned int t54; + char *t55; + unsigned char t56; + char *t57; + char *t58; + char *t59; + int t60; + char *t61; + int t62; + int t63; + unsigned int t64; + unsigned int t65; + unsigned int t66; + char *t67; + static char *nl0[] = {&&LAB9, &&LAB10}; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t9 - 1); + t11 = (t7 + 0U); + t12 = (t11 + 0U); + *((int *)t12) = t10; + t12 = (t11 + 4U); + *((int *)t12) = 0; + t12 = (t11 + 8U); + *((int *)t12) = -1; + t13 = (0 - t10); + t14 = (t13 * -1); + t14 = (t14 + 1); + t12 = (t11 + 12U); + *((unsigned int *)t12) = t14; + t12 = (t4 + 12U); + t14 = *((unsigned int *)t12); + t15 = (t14 - 1); + t16 = (0 - t15); + t17 = (t16 * -1); + t17 = (t17 + 1); + t17 = (t17 * 1U); + t19 = (t4 + 12U); + t20 = *((unsigned int *)t19); + t21 = (t20 - 1); + t22 = (t18 + 0U); + t23 = (t22 + 0U); + *((int *)t23) = t21; + t23 = (t22 + 4U); + *((int *)t23) = 0; + t23 = (t22 + 8U); + *((int *)t23) = -1; + t24 = (0 - t21); + t25 = (t24 * -1); + t25 = (t25 + 1); + t23 = (t22 + 12U); + *((unsigned int *)t23) = t25; + t23 = (t5 + 4U); + t26 = (t1 + 3896); + t27 = (t23 + 88U); + *((char **)t27) = t26; + t28 = (char *)alloca(t17); + t29 = (t23 + 56U); + *((char **)t29) = t28; + xsi_type_set_default_value(t26, t28, t18); + t30 = (t23 + 64U); + *((char **)t30) = t18; + t31 = (t23 + 80U); + *((unsigned int *)t31) = t17; + t32 = (t6 + 4U); + t33 = (t3 != 0); + if (t33 == 1) + goto LAB3; + +LAB2: t34 = (t6 + 12U); + *((char **)t34) = t4; + t35 = (t18 + 8U); + t36 = *((int *)t35); + t37 = (t18 + 4U); + t38 = *((int *)t37); + t39 = (t18 + 0U); + t40 = *((int *)t39); + t41 = t40; + t42 = t38; + +LAB4: t43 = (t42 * t36); + t44 = (t41 * t36); + if (t44 <= t43) + goto LAB5; + +LAB7: t8 = (t23 + 56U); + t11 = *((char **)t8); + t8 = (t18 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t11, t9); + t12 = (t18 + 0U); + t10 = *((int *)t12); + t19 = (t18 + 4U); + t13 = *((int *)t19); + t22 = (t18 + 8U); + t15 = *((int *)t22); + t26 = (t2 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = t10; + t27 = (t26 + 4U); + *((int *)t27) = t13; + t27 = (t26 + 8U); + *((int *)t27) = t15; + t16 = (t13 - t10); + t14 = (t16 * t15); + t14 = (t14 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t14; + +LAB1: return t0; +LAB3: *((char **)t32) = t3; + goto LAB2; + +LAB5: t45 = (t3 + 0); + t46 = (t7 + 0U); + t47 = *((int *)t46); + t48 = (t7 + 8U); + t49 = *((int *)t48); + t50 = (t41 - t47); + t25 = (t50 * t49); + t51 = (t7 + 4U); + t52 = *((int *)t51); + xsi_vhdl_check_range_of_index(t47, t52, t49, t41); + t53 = (1U * t25); + t54 = (0 + t53); + t55 = (t45 + t54); + t56 = *((unsigned char *)t55); + t57 = (char *)((nl0) + t56); + goto **((char **)t57); + +LAB6: if (t41 == t42) + goto LAB7; + +LAB11: t10 = (t41 + t36); + t41 = t10; + goto LAB4; + +LAB8: goto LAB6; + +LAB9: t58 = (t23 + 56U); + t59 = *((char **)t58); + t58 = (t18 + 0U); + t60 = *((int *)t58); + t61 = (t18 + 8U); + t62 = *((int *)t61); + t63 = (t41 - t60); + t64 = (t63 * t62); + t65 = (1U * t64); + t66 = (0 + t65); + t67 = (t59 + t66); + *((unsigned char *)t67) = (unsigned char)2; + goto LAB8; + +LAB10: t8 = (t23 + 56U); + t11 = *((char **)t8); + t8 = (t18 + 0U); + t10 = *((int *)t8); + t12 = (t18 + 8U); + t13 = *((int *)t12); + t15 = (t41 - t10); + t9 = (t15 * t13); + t14 = (1U * t9); + t17 = (0 + t14); + t19 = (t11 + t17); + *((unsigned char *)t19) = (unsigned char)3; + goto LAB8; + +LAB12:; +} + +char *ieee_p_2592010699_sub_7372912886822346862_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t18[16]; + char *t0; + char *t8; + unsigned int t9; + int t10; + char *t11; + char *t12; + int t13; + unsigned int t14; + int t15; + int t16; + unsigned int t17; + char *t19; + unsigned int t20; + int t21; + char *t22; + char *t23; + int t24; + unsigned int t25; + char *t26; + char *t27; + char *t28; + char *t29; + char *t30; + char *t31; + char *t32; + unsigned char t33; + char *t34; + char *t35; + int t36; + char *t37; + int t38; + char *t39; + int t40; + int t41; + int t42; + int t43; + int t44; + char *t45; + char *t46; + int t47; + char *t48; + int t49; + int t50; + char *t51; + int t52; + unsigned int t53; + unsigned int t54; + char *t55; + unsigned char t56; + char *t57; + char *t58; + int t59; + char *t60; + int t61; + int t62; + unsigned int t63; + unsigned int t64; + unsigned int t65; + char *t66; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t9 - 1); + t11 = (t7 + 0U); + t12 = (t11 + 0U); + *((int *)t12) = t10; + t12 = (t11 + 4U); + *((int *)t12) = 0; + t12 = (t11 + 8U); + *((int *)t12) = -1; + t13 = (0 - t10); + t14 = (t13 * -1); + t14 = (t14 + 1); + t12 = (t11 + 12U); + *((unsigned int *)t12) = t14; + t12 = (t4 + 12U); + t14 = *((unsigned int *)t12); + t15 = (t14 - 1); + t16 = (0 - t15); + t17 = (t16 * -1); + t17 = (t17 + 1); + t17 = (t17 * 1U); + t19 = (t4 + 12U); + t20 = *((unsigned int *)t19); + t21 = (t20 - 1); + t22 = (t18 + 0U); + t23 = (t22 + 0U); + *((int *)t23) = t21; + t23 = (t22 + 4U); + *((int *)t23) = 0; + t23 = (t22 + 8U); + *((int *)t23) = -1; + t24 = (0 - t21); + t25 = (t24 * -1); + t25 = (t25 + 1); + t23 = (t22 + 12U); + *((unsigned int *)t23) = t25; + t23 = (t5 + 4U); + t26 = (t1 + 3896); + t27 = (t23 + 88U); + *((char **)t27) = t26; + t28 = (char *)alloca(t17); + t29 = (t23 + 56U); + *((char **)t29) = t28; + xsi_type_set_default_value(t26, t28, t18); + t30 = (t23 + 64U); + *((char **)t30) = t18; + t31 = (t23 + 80U); + *((unsigned int *)t31) = t17; + t32 = (t6 + 4U); + t33 = (t3 != 0); + if (t33 == 1) + goto LAB3; + +LAB2: t34 = (t6 + 12U); + *((char **)t34) = t4; + t35 = (t18 + 8U); + t36 = *((int *)t35); + t37 = (t18 + 4U); + t38 = *((int *)t37); + t39 = (t18 + 0U); + t40 = *((int *)t39); + t41 = t40; + t42 = t38; + +LAB4: t43 = (t42 * t36); + t44 = (t41 * t36); + if (t44 <= t43) + goto LAB5; + +LAB7: t8 = (t23 + 56U); + t11 = *((char **)t8); + t8 = (t18 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t11, t9); + t12 = (t18 + 0U); + t10 = *((int *)t12); + t19 = (t18 + 4U); + t13 = *((int *)t19); + t22 = (t18 + 8U); + t15 = *((int *)t22); + t26 = (t2 + 0U); + t27 = (t26 + 0U); + *((int *)t27) = t10; + t27 = (t26 + 4U); + *((int *)t27) = t13; + t27 = (t26 + 8U); + *((int *)t27) = t15; + t16 = (t13 - t10); + t14 = (t16 * t15); + t14 = (t14 + 1); + t27 = (t26 + 12U); + *((unsigned int *)t27) = t14; + +LAB1: return t0; +LAB3: *((char **)t32) = t3; + goto LAB2; + +LAB5: t45 = (t3 + 0); + t46 = (t7 + 0U); + t47 = *((int *)t46); + t48 = (t7 + 8U); + t49 = *((int *)t48); + t50 = (t41 - t47); + t25 = (t50 * t49); + t51 = (t7 + 4U); + t52 = *((int *)t51); + xsi_vhdl_check_range_of_index(t47, t52, t49, t41); + t53 = (1U * t25); + t54 = (0 + t53); + t55 = (t45 + t54); + t56 = *((unsigned char *)t55); + t57 = (t23 + 56U); + t58 = *((char **)t57); + t57 = (t18 + 0U); + t59 = *((int *)t57); + t60 = (t18 + 8U); + t61 = *((int *)t60); + t62 = (t41 - t59); + t63 = (t62 * t61); + t64 = (1U * t63); + t65 = (0 + t64); + t66 = (t58 + t65); + *((unsigned char *)t66) = t56; + +LAB6: if (t41 == t42) + goto LAB7; + +LAB8: t10 = (t41 + t36); + t41 = t10; + goto LAB4; + +LAB9:; +} + +char *ieee_p_2592010699_sub_215933550329205235_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t16[16]; + char *t0; + char *t8; + unsigned int t9; + char *t10; + char *t11; + int t12; + unsigned int t13; + int t14; + unsigned int t15; + char *t17; + unsigned int t18; + char *t19; + char *t20; + int t21; + unsigned int t22; + char *t23; + char *t24; + char *t25; + char *t26; + char *t27; + char *t28; + char *t29; + unsigned char t30; + char *t31; + char *t32; + int t33; + char *t34; + int t35; + char *t36; + int t37; + int t38; + int t39; + int t40; + int t41; + char *t42; + char *t43; + char *t44; + int t45; + char *t46; + int t47; + int t48; + char *t49; + int t50; + unsigned int t51; + unsigned int t52; + char *t53; + unsigned char t54; + int t55; + unsigned int t56; + unsigned int t57; + unsigned int t58; + char *t59; + unsigned char t60; + char *t61; + char *t62; + int t63; + char *t64; + int t65; + int t66; + unsigned int t67; + unsigned int t68; + unsigned int t69; + char *t70; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t7 + 0U); + t11 = (t10 + 0U); + *((int *)t11) = 1; + t11 = (t10 + 4U); + *((unsigned int *)t11) = t9; + t11 = (t10 + 8U); + *((int *)t11) = 1; + t12 = (t9 - 1); + t13 = (t12 * 1); + t13 = (t13 + 1); + t11 = (t10 + 12U); + *((unsigned int *)t11) = t13; + t11 = (t4 + 12U); + t13 = *((unsigned int *)t11); + t14 = (t13 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t15 = (t15 * 1U); + t17 = (t4 + 12U); + t18 = *((unsigned int *)t17); + t19 = (t16 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 1; + t20 = (t19 + 4U); + *((unsigned int *)t20) = t18; + t20 = (t19 + 8U); + *((int *)t20) = 1; + t21 = (t18 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t5 + 4U); + t23 = (t1 + 4000); + t24 = (t20 + 88U); + *((char **)t24) = t23; + t25 = (char *)alloca(t15); + t26 = (t20 + 56U); + *((char **)t26) = t25; + xsi_type_set_default_value(t23, t25, t16); + t27 = (t20 + 64U); + *((char **)t27) = t16; + t28 = (t20 + 80U); + *((unsigned int *)t28) = t15; + t29 = (t6 + 4U); + t30 = (t3 != 0); + if (t30 == 1) + goto LAB3; + +LAB2: t31 = (t6 + 12U); + *((char **)t31) = t4; + t32 = (t16 + 8U); + t33 = *((int *)t32); + t34 = (t16 + 4U); + t35 = *((int *)t34); + t36 = (t16 + 0U); + t37 = *((int *)t36); + t38 = t37; + t39 = t35; + +LAB4: t40 = (t39 * t33); + t41 = (t38 * t33); + if (t41 <= t40) + goto LAB5; + +LAB7: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t10, t9); + t11 = (t16 + 0U); + t12 = *((int *)t11); + t17 = (t16 + 4U); + t14 = *((int *)t17); + t19 = (t16 + 8U); + t21 = *((int *)t19); + t23 = (t2 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t12; + t24 = (t23 + 4U); + *((int *)t24) = t14; + t24 = (t23 + 8U); + *((int *)t24) = t21; + t33 = (t14 - t12); + t13 = (t33 * t21); + t13 = (t13 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t13; + +LAB1: return t0; +LAB3: *((char **)t29) = t3; + goto LAB2; + +LAB5: t42 = (t1 + 1768U); + t43 = *((char **)t42); + t42 = (t3 + 0); + t44 = (t7 + 0U); + t45 = *((int *)t44); + t46 = (t7 + 8U); + t47 = *((int *)t46); + t48 = (t38 - t45); + t22 = (t48 * t47); + t49 = (t7 + 4U); + t50 = *((int *)t49); + xsi_vhdl_check_range_of_index(t45, t50, t47, t38); + t51 = (1U * t22); + t52 = (0 + t51); + t53 = (t42 + t52); + t54 = *((unsigned char *)t53); + t55 = (t54 - 0); + t56 = (t55 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t54); + t57 = (1U * t56); + t58 = (0 + t57); + t59 = (t43 + t58); + t60 = *((unsigned char *)t59); + t61 = (t20 + 56U); + t62 = *((char **)t61); + t61 = (t16 + 0U); + t63 = *((int *)t61); + t64 = (t16 + 8U); + t65 = *((int *)t64); + t66 = (t38 - t63); + t67 = (t66 * t65); + t68 = (1U * t67); + t69 = (0 + t68); + t70 = (t62 + t69); + *((unsigned char *)t70) = t60; + +LAB6: if (t38 == t39) + goto LAB7; + +LAB8: t12 = (t38 + t33); + t38 = t12; + goto LAB4; + +LAB9:; +} + +char *ieee_p_2592010699_sub_13156324501128828438_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t16[16]; + char *t0; + char *t8; + unsigned int t9; + char *t10; + char *t11; + int t12; + unsigned int t13; + int t14; + unsigned int t15; + char *t17; + unsigned int t18; + char *t19; + char *t20; + int t21; + unsigned int t22; + char *t23; + char *t24; + char *t25; + char *t26; + char *t27; + char *t28; + char *t29; + unsigned char t30; + char *t31; + char *t32; + int t33; + char *t34; + int t35; + char *t36; + int t37; + int t38; + int t39; + int t40; + int t41; + char *t42; + char *t43; + char *t44; + int t45; + char *t46; + int t47; + int t48; + char *t49; + int t50; + unsigned int t51; + unsigned int t52; + char *t53; + unsigned char t54; + int t55; + unsigned int t56; + unsigned int t57; + unsigned int t58; + char *t59; + unsigned char t60; + char *t61; + char *t62; + int t63; + char *t64; + int t65; + int t66; + unsigned int t67; + unsigned int t68; + unsigned int t69; + char *t70; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t7 + 0U); + t11 = (t10 + 0U); + *((int *)t11) = 1; + t11 = (t10 + 4U); + *((unsigned int *)t11) = t9; + t11 = (t10 + 8U); + *((int *)t11) = 1; + t12 = (t9 - 1); + t13 = (t12 * 1); + t13 = (t13 + 1); + t11 = (t10 + 12U); + *((unsigned int *)t11) = t13; + t11 = (t4 + 12U); + t13 = *((unsigned int *)t11); + t14 = (t13 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t15 = (t15 * 1U); + t17 = (t4 + 12U); + t18 = *((unsigned int *)t17); + t19 = (t16 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 1; + t20 = (t19 + 4U); + *((unsigned int *)t20) = t18; + t20 = (t19 + 8U); + *((int *)t20) = 1; + t21 = (t18 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t5 + 4U); + t23 = (t1 + 3896); + t24 = (t20 + 88U); + *((char **)t24) = t23; + t25 = (char *)alloca(t15); + t26 = (t20 + 56U); + *((char **)t26) = t25; + xsi_type_set_default_value(t23, t25, t16); + t27 = (t20 + 64U); + *((char **)t27) = t16; + t28 = (t20 + 80U); + *((unsigned int *)t28) = t15; + t29 = (t6 + 4U); + t30 = (t3 != 0); + if (t30 == 1) + goto LAB3; + +LAB2: t31 = (t6 + 12U); + *((char **)t31) = t4; + t32 = (t16 + 8U); + t33 = *((int *)t32); + t34 = (t16 + 4U); + t35 = *((int *)t34); + t36 = (t16 + 0U); + t37 = *((int *)t36); + t38 = t37; + t39 = t35; + +LAB4: t40 = (t39 * t33); + t41 = (t38 * t33); + if (t41 <= t40) + goto LAB5; + +LAB7: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t10, t9); + t11 = (t16 + 0U); + t12 = *((int *)t11); + t17 = (t16 + 4U); + t14 = *((int *)t17); + t19 = (t16 + 8U); + t21 = *((int *)t19); + t23 = (t2 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t12; + t24 = (t23 + 4U); + *((int *)t24) = t14; + t24 = (t23 + 8U); + *((int *)t24) = t21; + t33 = (t14 - t12); + t13 = (t33 * t21); + t13 = (t13 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t13; + +LAB1: return t0; +LAB3: *((char **)t29) = t3; + goto LAB2; + +LAB5: t42 = (t1 + 1768U); + t43 = *((char **)t42); + t42 = (t3 + 0); + t44 = (t7 + 0U); + t45 = *((int *)t44); + t46 = (t7 + 8U); + t47 = *((int *)t46); + t48 = (t38 - t45); + t22 = (t48 * t47); + t49 = (t7 + 4U); + t50 = *((int *)t49); + xsi_vhdl_check_range_of_index(t45, t50, t47, t38); + t51 = (1U * t22); + t52 = (0 + t51); + t53 = (t42 + t52); + t54 = *((unsigned char *)t53); + t55 = (t54 - 0); + t56 = (t55 * 1); + t57 = (1U * t56); + t58 = (0 + t57); + t59 = (t43 + t58); + t60 = *((unsigned char *)t59); + t61 = (t20 + 56U); + t62 = *((char **)t61); + t61 = (t16 + 0U); + t63 = *((int *)t61); + t64 = (t16 + 8U); + t65 = *((int *)t64); + t66 = (t38 - t63); + t67 = (t66 * t65); + t68 = (1U * t67); + t69 = (0 + t68); + t70 = (t62 + t69); + *((unsigned char *)t70) = t60; + +LAB6: if (t38 == t39) + goto LAB7; + +LAB8: t12 = (t38 + t33); + t38 = t12; + goto LAB4; + +LAB9:; +} + +unsigned char ieee_p_2592010699_sub_381452733968206518_503743352(char *t1, unsigned char t2) +{ + char t4[8]; + unsigned char t0; + char *t5; + char *t6; + char *t7; + int t8; + unsigned int t9; + unsigned int t10; + unsigned int t11; + unsigned char t12; + +LAB0: t5 = (t4 + 4U); + *((unsigned char *)t5) = t2; + t6 = (t1 + 1768U); + t7 = *((char **)t6); + t8 = (t2 - 0); + t9 = (t8 * 1); + t10 = (1U * t9); + t11 = (0 + t10); + t6 = (t7 + t11); + t12 = *((unsigned char *)t6); + t0 = t12; + +LAB1: return t0; +LAB2:; +} + +char *ieee_p_2592010699_sub_66371310246576274_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t16[16]; + char *t0; + char *t8; + unsigned int t9; + char *t10; + char *t11; + int t12; + unsigned int t13; + int t14; + unsigned int t15; + char *t17; + unsigned int t18; + char *t19; + char *t20; + int t21; + unsigned int t22; + char *t23; + char *t24; + char *t25; + char *t26; + char *t27; + char *t28; + char *t29; + unsigned char t30; + char *t31; + char *t32; + int t33; + char *t34; + int t35; + char *t36; + int t37; + int t38; + int t39; + int t40; + int t41; + char *t42; + char *t43; + int t44; + char *t45; + int t46; + int t47; + char *t48; + int t49; + unsigned int t50; + unsigned int t51; + char *t52; + unsigned char t53; + char *t54; + char *t55; + char *t56; + int t57; + char *t58; + int t59; + int t60; + unsigned int t61; + unsigned int t62; + unsigned int t63; + char *t64; + static char *nl0[] = {&&LAB9, &&LAB10}; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t7 + 0U); + t11 = (t10 + 0U); + *((int *)t11) = 1; + t11 = (t10 + 4U); + *((unsigned int *)t11) = t9; + t11 = (t10 + 8U); + *((int *)t11) = 1; + t12 = (t9 - 1); + t13 = (t12 * 1); + t13 = (t13 + 1); + t11 = (t10 + 12U); + *((unsigned int *)t11) = t13; + t11 = (t4 + 12U); + t13 = *((unsigned int *)t11); + t14 = (t13 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t15 = (t15 * 1U); + t17 = (t4 + 12U); + t18 = *((unsigned int *)t17); + t19 = (t16 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 1; + t20 = (t19 + 4U); + *((unsigned int *)t20) = t18; + t20 = (t19 + 8U); + *((int *)t20) = 1; + t21 = (t18 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t5 + 4U); + t23 = (t1 + 4000); + t24 = (t20 + 88U); + *((char **)t24) = t23; + t25 = (char *)alloca(t15); + t26 = (t20 + 56U); + *((char **)t26) = t25; + xsi_type_set_default_value(t23, t25, t16); + t27 = (t20 + 64U); + *((char **)t27) = t16; + t28 = (t20 + 80U); + *((unsigned int *)t28) = t15; + t29 = (t6 + 4U); + t30 = (t3 != 0); + if (t30 == 1) + goto LAB3; + +LAB2: t31 = (t6 + 12U); + *((char **)t31) = t4; + t32 = (t16 + 8U); + t33 = *((int *)t32); + t34 = (t16 + 4U); + t35 = *((int *)t34); + t36 = (t16 + 0U); + t37 = *((int *)t36); + t38 = t37; + t39 = t35; + +LAB4: t40 = (t39 * t33); + t41 = (t38 * t33); + if (t41 <= t40) + goto LAB5; + +LAB7: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t10, t9); + t11 = (t16 + 0U); + t12 = *((int *)t11); + t17 = (t16 + 4U); + t14 = *((int *)t17); + t19 = (t16 + 8U); + t21 = *((int *)t19); + t23 = (t2 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t12; + t24 = (t23 + 4U); + *((int *)t24) = t14; + t24 = (t23 + 8U); + *((int *)t24) = t21; + t33 = (t14 - t12); + t13 = (t33 * t21); + t13 = (t13 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t13; + +LAB1: return t0; +LAB3: *((char **)t29) = t3; + goto LAB2; + +LAB5: t42 = (t3 + 0); + t43 = (t7 + 0U); + t44 = *((int *)t43); + t45 = (t7 + 8U); + t46 = *((int *)t45); + t47 = (t38 - t44); + t22 = (t47 * t46); + t48 = (t7 + 4U); + t49 = *((int *)t48); + xsi_vhdl_check_range_of_index(t44, t49, t46, t38); + t50 = (1U * t22); + t51 = (0 + t50); + t52 = (t42 + t51); + t53 = *((unsigned char *)t52); + t54 = (char *)((nl0) + t53); + goto **((char **)t54); + +LAB6: if (t38 == t39) + goto LAB7; + +LAB11: t12 = (t38 + t33); + t38 = t12; + goto LAB4; + +LAB8: goto LAB6; + +LAB9: t55 = (t20 + 56U); + t56 = *((char **)t55); + t55 = (t16 + 0U); + t57 = *((int *)t55); + t58 = (t16 + 8U); + t59 = *((int *)t58); + t60 = (t38 - t57); + t61 = (t60 * t59); + t62 = (1U * t61); + t63 = (0 + t62); + t64 = (t56 + t63); + *((unsigned char *)t64) = (unsigned char)2; + goto LAB8; + +LAB10: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 0U); + t12 = *((int *)t8); + t11 = (t16 + 8U); + t14 = *((int *)t11); + t21 = (t38 - t12); + t9 = (t21 * t14); + t13 = (1U * t9); + t15 = (0 + t13); + t17 = (t10 + t15); + *((unsigned char *)t17) = (unsigned char)3; + goto LAB8; + +LAB12:; +} + +char *ieee_p_2592010699_sub_15674832453887484709_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t16[16]; + char *t0; + char *t8; + unsigned int t9; + char *t10; + char *t11; + int t12; + unsigned int t13; + int t14; + unsigned int t15; + char *t17; + unsigned int t18; + char *t19; + char *t20; + int t21; + unsigned int t22; + char *t23; + char *t24; + char *t25; + char *t26; + char *t27; + char *t28; + char *t29; + unsigned char t30; + char *t31; + char *t32; + int t33; + char *t34; + int t35; + char *t36; + int t37; + int t38; + int t39; + int t40; + int t41; + char *t42; + char *t43; + int t44; + char *t45; + int t46; + int t47; + char *t48; + int t49; + unsigned int t50; + unsigned int t51; + char *t52; + unsigned char t53; + char *t54; + char *t55; + char *t56; + int t57; + char *t58; + int t59; + int t60; + unsigned int t61; + unsigned int t62; + unsigned int t63; + char *t64; + static char *nl0[] = {&&LAB9, &&LAB10}; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t7 + 0U); + t11 = (t10 + 0U); + *((int *)t11) = 1; + t11 = (t10 + 4U); + *((unsigned int *)t11) = t9; + t11 = (t10 + 8U); + *((int *)t11) = 1; + t12 = (t9 - 1); + t13 = (t12 * 1); + t13 = (t13 + 1); + t11 = (t10 + 12U); + *((unsigned int *)t11) = t13; + t11 = (t4 + 12U); + t13 = *((unsigned int *)t11); + t14 = (t13 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t15 = (t15 * 1U); + t17 = (t4 + 12U); + t18 = *((unsigned int *)t17); + t19 = (t16 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 1; + t20 = (t19 + 4U); + *((unsigned int *)t20) = t18; + t20 = (t19 + 8U); + *((int *)t20) = 1; + t21 = (t18 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t5 + 4U); + t23 = (t1 + 3896); + t24 = (t20 + 88U); + *((char **)t24) = t23; + t25 = (char *)alloca(t15); + t26 = (t20 + 56U); + *((char **)t26) = t25; + xsi_type_set_default_value(t23, t25, t16); + t27 = (t20 + 64U); + *((char **)t27) = t16; + t28 = (t20 + 80U); + *((unsigned int *)t28) = t15; + t29 = (t6 + 4U); + t30 = (t3 != 0); + if (t30 == 1) + goto LAB3; + +LAB2: t31 = (t6 + 12U); + *((char **)t31) = t4; + t32 = (t16 + 8U); + t33 = *((int *)t32); + t34 = (t16 + 4U); + t35 = *((int *)t34); + t36 = (t16 + 0U); + t37 = *((int *)t36); + t38 = t37; + t39 = t35; + +LAB4: t40 = (t39 * t33); + t41 = (t38 * t33); + if (t41 <= t40) + goto LAB5; + +LAB7: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t10, t9); + t11 = (t16 + 0U); + t12 = *((int *)t11); + t17 = (t16 + 4U); + t14 = *((int *)t17); + t19 = (t16 + 8U); + t21 = *((int *)t19); + t23 = (t2 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t12; + t24 = (t23 + 4U); + *((int *)t24) = t14; + t24 = (t23 + 8U); + *((int *)t24) = t21; + t33 = (t14 - t12); + t13 = (t33 * t21); + t13 = (t13 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t13; + +LAB1: return t0; +LAB3: *((char **)t29) = t3; + goto LAB2; + +LAB5: t42 = (t3 + 0); + t43 = (t7 + 0U); + t44 = *((int *)t43); + t45 = (t7 + 8U); + t46 = *((int *)t45); + t47 = (t38 - t44); + t22 = (t47 * t46); + t48 = (t7 + 4U); + t49 = *((int *)t48); + xsi_vhdl_check_range_of_index(t44, t49, t46, t38); + t50 = (1U * t22); + t51 = (0 + t50); + t52 = (t42 + t51); + t53 = *((unsigned char *)t52); + t54 = (char *)((nl0) + t53); + goto **((char **)t54); + +LAB6: if (t38 == t39) + goto LAB7; + +LAB11: t12 = (t38 + t33); + t38 = t12; + goto LAB4; + +LAB8: goto LAB6; + +LAB9: t55 = (t20 + 56U); + t56 = *((char **)t55); + t55 = (t16 + 0U); + t57 = *((int *)t55); + t58 = (t16 + 8U); + t59 = *((int *)t58); + t60 = (t38 - t57); + t61 = (t60 * t59); + t62 = (1U * t61); + t63 = (0 + t62); + t64 = (t56 + t63); + *((unsigned char *)t64) = (unsigned char)2; + goto LAB8; + +LAB10: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 0U); + t12 = *((int *)t8); + t11 = (t16 + 8U); + t14 = *((int *)t11); + t21 = (t38 - t12); + t9 = (t21 * t14); + t13 = (1U * t9); + t15 = (0 + t13); + t17 = (t10 + t15); + *((unsigned char *)t17) = (unsigned char)3; + goto LAB8; + +LAB12:; +} + +unsigned char ieee_p_2592010699_sub_23663901604358344_503743352(char *t1, unsigned char t2) +{ + char t4[8]; + unsigned char t0; + char *t5; + char *t6; + static char *nl0[] = {&&LAB3, &&LAB4}; + +LAB0: t5 = (t4 + 4U); + *((unsigned char *)t5) = t2; + t6 = (char *)((nl0) + t2); + goto **((char **)t6); + +LAB2: xsi_error(ng3); + t0 = 0; + +LAB1: return t0; +LAB3: t0 = (unsigned char)2; + goto LAB1; + +LAB4: t0 = (unsigned char)3; + goto LAB1; + +LAB5: goto LAB2; + +LAB6: goto LAB2; + +} + +char *ieee_p_2592010699_sub_458268773658487021_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t16[16]; + char *t0; + char *t8; + unsigned int t9; + char *t10; + char *t11; + int t12; + unsigned int t13; + int t14; + unsigned int t15; + char *t17; + unsigned int t18; + char *t19; + char *t20; + int t21; + unsigned int t22; + char *t23; + char *t24; + char *t25; + char *t26; + char *t27; + char *t28; + char *t29; + unsigned char t30; + char *t31; + char *t32; + int t33; + char *t34; + int t35; + char *t36; + int t37; + int t38; + int t39; + int t40; + int t41; + char *t42; + char *t43; + char *t44; + int t45; + char *t46; + int t47; + int t48; + char *t49; + int t50; + unsigned int t51; + unsigned int t52; + char *t53; + unsigned char t54; + int t55; + unsigned int t56; + unsigned int t57; + unsigned int t58; + char *t59; + unsigned char t60; + char *t61; + char *t62; + int t63; + char *t64; + int t65; + int t66; + unsigned int t67; + unsigned int t68; + unsigned int t69; + char *t70; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t7 + 0U); + t11 = (t10 + 0U); + *((int *)t11) = 1; + t11 = (t10 + 4U); + *((unsigned int *)t11) = t9; + t11 = (t10 + 8U); + *((int *)t11) = 1; + t12 = (t9 - 1); + t13 = (t12 * 1); + t13 = (t13 + 1); + t11 = (t10 + 12U); + *((unsigned int *)t11) = t13; + t11 = (t4 + 12U); + t13 = *((unsigned int *)t11); + t14 = (t13 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t15 = (t15 * 1U); + t17 = (t4 + 12U); + t18 = *((unsigned int *)t17); + t19 = (t16 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 1; + t20 = (t19 + 4U); + *((unsigned int *)t20) = t18; + t20 = (t19 + 8U); + *((int *)t20) = 1; + t21 = (t18 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t5 + 4U); + t23 = (t1 + 4000); + t24 = (t20 + 88U); + *((char **)t24) = t23; + t25 = (char *)alloca(t15); + t26 = (t20 + 56U); + *((char **)t26) = t25; + xsi_type_set_default_value(t23, t25, t16); + t27 = (t20 + 64U); + *((char **)t27) = t16; + t28 = (t20 + 80U); + *((unsigned int *)t28) = t15; + t29 = (t6 + 4U); + t30 = (t3 != 0); + if (t30 == 1) + goto LAB3; + +LAB2: t31 = (t6 + 12U); + *((char **)t31) = t4; + t32 = (t16 + 8U); + t33 = *((int *)t32); + t34 = (t16 + 4U); + t35 = *((int *)t34); + t36 = (t16 + 0U); + t37 = *((int *)t36); + t38 = t37; + t39 = t35; + +LAB4: t40 = (t39 * t33); + t41 = (t38 * t33); + if (t41 <= t40) + goto LAB5; + +LAB7: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t10, t9); + t11 = (t16 + 0U); + t12 = *((int *)t11); + t17 = (t16 + 4U); + t14 = *((int *)t17); + t19 = (t16 + 8U); + t21 = *((int *)t19); + t23 = (t2 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t12; + t24 = (t23 + 4U); + *((int *)t24) = t14; + t24 = (t23 + 8U); + *((int *)t24) = t21; + t33 = (t14 - t12); + t13 = (t33 * t21); + t13 = (t13 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t13; + +LAB1: return t0; +LAB3: *((char **)t29) = t3; + goto LAB2; + +LAB5: t42 = (t1 + 1888U); + t43 = *((char **)t42); + t42 = (t3 + 0); + t44 = (t7 + 0U); + t45 = *((int *)t44); + t46 = (t7 + 8U); + t47 = *((int *)t46); + t48 = (t38 - t45); + t22 = (t48 * t47); + t49 = (t7 + 4U); + t50 = *((int *)t49); + xsi_vhdl_check_range_of_index(t45, t50, t47, t38); + t51 = (1U * t22); + t52 = (0 + t51); + t53 = (t42 + t52); + t54 = *((unsigned char *)t53); + t55 = (t54 - 0); + t56 = (t55 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t54); + t57 = (1U * t56); + t58 = (0 + t57); + t59 = (t43 + t58); + t60 = *((unsigned char *)t59); + t61 = (t20 + 56U); + t62 = *((char **)t61); + t61 = (t16 + 0U); + t63 = *((int *)t61); + t64 = (t16 + 8U); + t65 = *((int *)t64); + t66 = (t38 - t63); + t67 = (t66 * t65); + t68 = (1U * t67); + t69 = (0 + t68); + t70 = (t62 + t69); + *((unsigned char *)t70) = t60; + +LAB6: if (t38 == t39) + goto LAB7; + +LAB8: t12 = (t38 + t33); + t38 = t12; + goto LAB4; + +LAB9:; +} + +char *ieee_p_2592010699_sub_13398659724458110224_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t16[16]; + char *t0; + char *t8; + unsigned int t9; + char *t10; + char *t11; + int t12; + unsigned int t13; + int t14; + unsigned int t15; + char *t17; + unsigned int t18; + char *t19; + char *t20; + int t21; + unsigned int t22; + char *t23; + char *t24; + char *t25; + char *t26; + char *t27; + char *t28; + char *t29; + unsigned char t30; + char *t31; + char *t32; + int t33; + char *t34; + int t35; + char *t36; + int t37; + int t38; + int t39; + int t40; + int t41; + char *t42; + char *t43; + char *t44; + int t45; + char *t46; + int t47; + int t48; + char *t49; + int t50; + unsigned int t51; + unsigned int t52; + char *t53; + unsigned char t54; + int t55; + unsigned int t56; + unsigned int t57; + unsigned int t58; + char *t59; + unsigned char t60; + char *t61; + char *t62; + int t63; + char *t64; + int t65; + int t66; + unsigned int t67; + unsigned int t68; + unsigned int t69; + char *t70; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t7 + 0U); + t11 = (t10 + 0U); + *((int *)t11) = 1; + t11 = (t10 + 4U); + *((unsigned int *)t11) = t9; + t11 = (t10 + 8U); + *((int *)t11) = 1; + t12 = (t9 - 1); + t13 = (t12 * 1); + t13 = (t13 + 1); + t11 = (t10 + 12U); + *((unsigned int *)t11) = t13; + t11 = (t4 + 12U); + t13 = *((unsigned int *)t11); + t14 = (t13 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t15 = (t15 * 1U); + t17 = (t4 + 12U); + t18 = *((unsigned int *)t17); + t19 = (t16 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 1; + t20 = (t19 + 4U); + *((unsigned int *)t20) = t18; + t20 = (t19 + 8U); + *((int *)t20) = 1; + t21 = (t18 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t5 + 4U); + t23 = (t1 + 3896); + t24 = (t20 + 88U); + *((char **)t24) = t23; + t25 = (char *)alloca(t15); + t26 = (t20 + 56U); + *((char **)t26) = t25; + xsi_type_set_default_value(t23, t25, t16); + t27 = (t20 + 64U); + *((char **)t27) = t16; + t28 = (t20 + 80U); + *((unsigned int *)t28) = t15; + t29 = (t6 + 4U); + t30 = (t3 != 0); + if (t30 == 1) + goto LAB3; + +LAB2: t31 = (t6 + 12U); + *((char **)t31) = t4; + t32 = (t16 + 8U); + t33 = *((int *)t32); + t34 = (t16 + 4U); + t35 = *((int *)t34); + t36 = (t16 + 0U); + t37 = *((int *)t36); + t38 = t37; + t39 = t35; + +LAB4: t40 = (t39 * t33); + t41 = (t38 * t33); + if (t41 <= t40) + goto LAB5; + +LAB7: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t10, t9); + t11 = (t16 + 0U); + t12 = *((int *)t11); + t17 = (t16 + 4U); + t14 = *((int *)t17); + t19 = (t16 + 8U); + t21 = *((int *)t19); + t23 = (t2 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t12; + t24 = (t23 + 4U); + *((int *)t24) = t14; + t24 = (t23 + 8U); + *((int *)t24) = t21; + t33 = (t14 - t12); + t13 = (t33 * t21); + t13 = (t13 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t13; + +LAB1: return t0; +LAB3: *((char **)t29) = t3; + goto LAB2; + +LAB5: t42 = (t1 + 1888U); + t43 = *((char **)t42); + t42 = (t3 + 0); + t44 = (t7 + 0U); + t45 = *((int *)t44); + t46 = (t7 + 8U); + t47 = *((int *)t46); + t48 = (t38 - t45); + t22 = (t48 * t47); + t49 = (t7 + 4U); + t50 = *((int *)t49); + xsi_vhdl_check_range_of_index(t45, t50, t47, t38); + t51 = (1U * t22); + t52 = (0 + t51); + t53 = (t42 + t52); + t54 = *((unsigned char *)t53); + t55 = (t54 - 0); + t56 = (t55 * 1); + t57 = (1U * t56); + t58 = (0 + t57); + t59 = (t43 + t58); + t60 = *((unsigned char *)t59); + t61 = (t20 + 56U); + t62 = *((char **)t61); + t61 = (t16 + 0U); + t63 = *((int *)t61); + t64 = (t16 + 8U); + t65 = *((int *)t64); + t66 = (t38 - t63); + t67 = (t66 * t65); + t68 = (1U * t67); + t69 = (0 + t68); + t70 = (t62 + t69); + *((unsigned char *)t70) = t60; + +LAB6: if (t38 == t39) + goto LAB7; + +LAB8: t12 = (t38 + t33); + t38 = t12; + goto LAB4; + +LAB9:; +} + +unsigned char ieee_p_2592010699_sub_623788161643323690_503743352(char *t1, unsigned char t2) +{ + char t4[8]; + unsigned char t0; + char *t5; + char *t6; + char *t7; + int t8; + unsigned int t9; + unsigned int t10; + unsigned int t11; + unsigned char t12; + +LAB0: t5 = (t4 + 4U); + *((unsigned char *)t5) = t2; + t6 = (t1 + 1888U); + t7 = *((char **)t6); + t8 = (t2 - 0); + t9 = (t8 * 1); + t10 = (1U * t9); + t11 = (0 + t10); + t6 = (t7 + t11); + t12 = *((unsigned char *)t6); + t0 = t12; + +LAB1: return t0; +LAB2:; +} + +char *ieee_p_2592010699_sub_308706533575858060_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t16[16]; + char *t0; + char *t8; + unsigned int t9; + char *t10; + char *t11; + int t12; + unsigned int t13; + int t14; + unsigned int t15; + char *t17; + unsigned int t18; + char *t19; + char *t20; + int t21; + unsigned int t22; + char *t23; + char *t24; + char *t25; + char *t26; + char *t27; + char *t28; + char *t29; + unsigned char t30; + char *t31; + char *t32; + int t33; + char *t34; + int t35; + char *t36; + int t37; + int t38; + int t39; + int t40; + int t41; + char *t42; + char *t43; + int t44; + char *t45; + int t46; + int t47; + char *t48; + int t49; + unsigned int t50; + unsigned int t51; + char *t52; + unsigned char t53; + char *t54; + char *t55; + char *t56; + int t57; + char *t58; + int t59; + int t60; + unsigned int t61; + unsigned int t62; + unsigned int t63; + char *t64; + static char *nl0[] = {&&LAB9, &&LAB10}; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t7 + 0U); + t11 = (t10 + 0U); + *((int *)t11) = 1; + t11 = (t10 + 4U); + *((unsigned int *)t11) = t9; + t11 = (t10 + 8U); + *((int *)t11) = 1; + t12 = (t9 - 1); + t13 = (t12 * 1); + t13 = (t13 + 1); + t11 = (t10 + 12U); + *((unsigned int *)t11) = t13; + t11 = (t4 + 12U); + t13 = *((unsigned int *)t11); + t14 = (t13 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t15 = (t15 * 1U); + t17 = (t4 + 12U); + t18 = *((unsigned int *)t17); + t19 = (t16 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 1; + t20 = (t19 + 4U); + *((unsigned int *)t20) = t18; + t20 = (t19 + 8U); + *((int *)t20) = 1; + t21 = (t18 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t5 + 4U); + t23 = (t1 + 4000); + t24 = (t20 + 88U); + *((char **)t24) = t23; + t25 = (char *)alloca(t15); + t26 = (t20 + 56U); + *((char **)t26) = t25; + xsi_type_set_default_value(t23, t25, t16); + t27 = (t20 + 64U); + *((char **)t27) = t16; + t28 = (t20 + 80U); + *((unsigned int *)t28) = t15; + t29 = (t6 + 4U); + t30 = (t3 != 0); + if (t30 == 1) + goto LAB3; + +LAB2: t31 = (t6 + 12U); + *((char **)t31) = t4; + t32 = (t16 + 8U); + t33 = *((int *)t32); + t34 = (t16 + 4U); + t35 = *((int *)t34); + t36 = (t16 + 0U); + t37 = *((int *)t36); + t38 = t37; + t39 = t35; + +LAB4: t40 = (t39 * t33); + t41 = (t38 * t33); + if (t41 <= t40) + goto LAB5; + +LAB7: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t10, t9); + t11 = (t16 + 0U); + t12 = *((int *)t11); + t17 = (t16 + 4U); + t14 = *((int *)t17); + t19 = (t16 + 8U); + t21 = *((int *)t19); + t23 = (t2 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t12; + t24 = (t23 + 4U); + *((int *)t24) = t14; + t24 = (t23 + 8U); + *((int *)t24) = t21; + t33 = (t14 - t12); + t13 = (t33 * t21); + t13 = (t13 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t13; + +LAB1: return t0; +LAB3: *((char **)t29) = t3; + goto LAB2; + +LAB5: t42 = (t3 + 0); + t43 = (t7 + 0U); + t44 = *((int *)t43); + t45 = (t7 + 8U); + t46 = *((int *)t45); + t47 = (t38 - t44); + t22 = (t47 * t46); + t48 = (t7 + 4U); + t49 = *((int *)t48); + xsi_vhdl_check_range_of_index(t44, t49, t46, t38); + t50 = (1U * t22); + t51 = (0 + t50); + t52 = (t42 + t51); + t53 = *((unsigned char *)t52); + t54 = (char *)((nl0) + t53); + goto **((char **)t54); + +LAB6: if (t38 == t39) + goto LAB7; + +LAB11: t12 = (t38 + t33); + t38 = t12; + goto LAB4; + +LAB8: goto LAB6; + +LAB9: t55 = (t20 + 56U); + t56 = *((char **)t55); + t55 = (t16 + 0U); + t57 = *((int *)t55); + t58 = (t16 + 8U); + t59 = *((int *)t58); + t60 = (t38 - t57); + t61 = (t60 * t59); + t62 = (1U * t61); + t63 = (0 + t62); + t64 = (t56 + t63); + *((unsigned char *)t64) = (unsigned char)2; + goto LAB8; + +LAB10: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 0U); + t12 = *((int *)t8); + t11 = (t16 + 8U); + t14 = *((int *)t11); + t21 = (t38 - t12); + t9 = (t21 * t14); + t13 = (1U * t9); + t15 = (0 + t13); + t17 = (t10 + t15); + *((unsigned char *)t17) = (unsigned char)3; + goto LAB8; + +LAB12:; +} + +char *ieee_p_2592010699_sub_15917167677216766495_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t16[16]; + char *t0; + char *t8; + unsigned int t9; + char *t10; + char *t11; + int t12; + unsigned int t13; + int t14; + unsigned int t15; + char *t17; + unsigned int t18; + char *t19; + char *t20; + int t21; + unsigned int t22; + char *t23; + char *t24; + char *t25; + char *t26; + char *t27; + char *t28; + char *t29; + unsigned char t30; + char *t31; + char *t32; + int t33; + char *t34; + int t35; + char *t36; + int t37; + int t38; + int t39; + int t40; + int t41; + char *t42; + char *t43; + int t44; + char *t45; + int t46; + int t47; + char *t48; + int t49; + unsigned int t50; + unsigned int t51; + char *t52; + unsigned char t53; + char *t54; + char *t55; + char *t56; + int t57; + char *t58; + int t59; + int t60; + unsigned int t61; + unsigned int t62; + unsigned int t63; + char *t64; + static char *nl0[] = {&&LAB9, &&LAB10}; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t7 + 0U); + t11 = (t10 + 0U); + *((int *)t11) = 1; + t11 = (t10 + 4U); + *((unsigned int *)t11) = t9; + t11 = (t10 + 8U); + *((int *)t11) = 1; + t12 = (t9 - 1); + t13 = (t12 * 1); + t13 = (t13 + 1); + t11 = (t10 + 12U); + *((unsigned int *)t11) = t13; + t11 = (t4 + 12U); + t13 = *((unsigned int *)t11); + t14 = (t13 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t15 = (t15 * 1U); + t17 = (t4 + 12U); + t18 = *((unsigned int *)t17); + t19 = (t16 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 1; + t20 = (t19 + 4U); + *((unsigned int *)t20) = t18; + t20 = (t19 + 8U); + *((int *)t20) = 1; + t21 = (t18 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t5 + 4U); + t23 = (t1 + 3896); + t24 = (t20 + 88U); + *((char **)t24) = t23; + t25 = (char *)alloca(t15); + t26 = (t20 + 56U); + *((char **)t26) = t25; + xsi_type_set_default_value(t23, t25, t16); + t27 = (t20 + 64U); + *((char **)t27) = t16; + t28 = (t20 + 80U); + *((unsigned int *)t28) = t15; + t29 = (t6 + 4U); + t30 = (t3 != 0); + if (t30 == 1) + goto LAB3; + +LAB2: t31 = (t6 + 12U); + *((char **)t31) = t4; + t32 = (t16 + 8U); + t33 = *((int *)t32); + t34 = (t16 + 4U); + t35 = *((int *)t34); + t36 = (t16 + 0U); + t37 = *((int *)t36); + t38 = t37; + t39 = t35; + +LAB4: t40 = (t39 * t33); + t41 = (t38 * t33); + if (t41 <= t40) + goto LAB5; + +LAB7: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t10, t9); + t11 = (t16 + 0U); + t12 = *((int *)t11); + t17 = (t16 + 4U); + t14 = *((int *)t17); + t19 = (t16 + 8U); + t21 = *((int *)t19); + t23 = (t2 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t12; + t24 = (t23 + 4U); + *((int *)t24) = t14; + t24 = (t23 + 8U); + *((int *)t24) = t21; + t33 = (t14 - t12); + t13 = (t33 * t21); + t13 = (t13 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t13; + +LAB1: return t0; +LAB3: *((char **)t29) = t3; + goto LAB2; + +LAB5: t42 = (t3 + 0); + t43 = (t7 + 0U); + t44 = *((int *)t43); + t45 = (t7 + 8U); + t46 = *((int *)t45); + t47 = (t38 - t44); + t22 = (t47 * t46); + t48 = (t7 + 4U); + t49 = *((int *)t48); + xsi_vhdl_check_range_of_index(t44, t49, t46, t38); + t50 = (1U * t22); + t51 = (0 + t50); + t52 = (t42 + t51); + t53 = *((unsigned char *)t52); + t54 = (char *)((nl0) + t53); + goto **((char **)t54); + +LAB6: if (t38 == t39) + goto LAB7; + +LAB11: t12 = (t38 + t33); + t38 = t12; + goto LAB4; + +LAB8: goto LAB6; + +LAB9: t55 = (t20 + 56U); + t56 = *((char **)t55); + t55 = (t16 + 0U); + t57 = *((int *)t55); + t58 = (t16 + 8U); + t59 = *((int *)t58); + t60 = (t38 - t57); + t61 = (t60 * t59); + t62 = (1U * t61); + t63 = (0 + t62); + t64 = (t56 + t63); + *((unsigned char *)t64) = (unsigned char)2; + goto LAB8; + +LAB10: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 0U); + t12 = *((int *)t8); + t11 = (t16 + 8U); + t14 = *((int *)t11); + t21 = (t38 - t12); + t9 = (t21 * t14); + t13 = (1U * t9); + t15 = (0 + t13); + t17 = (t10 + t15); + *((unsigned char *)t17) = (unsigned char)3; + goto LAB8; + +LAB12:; +} + +unsigned char ieee_p_2592010699_sub_265999329279475516_503743352(char *t1, unsigned char t2) +{ + char t4[8]; + unsigned char t0; + char *t5; + char *t6; + static char *nl0[] = {&&LAB3, &&LAB4}; + +LAB0: t5 = (t4 + 4U); + *((unsigned char *)t5) = t2; + t6 = (char *)((nl0) + t2); + goto **((char **)t6); + +LAB2: xsi_error(ng4); + t0 = 0; + +LAB1: return t0; +LAB3: t0 = (unsigned char)2; + goto LAB1; + +LAB4: t0 = (unsigned char)3; + goto LAB1; + +LAB5: goto LAB2; + +LAB6: goto LAB2; + +} + +char *ieee_p_2592010699_sub_458268773626351720_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t16[16]; + char *t0; + char *t8; + unsigned int t9; + char *t10; + char *t11; + int t12; + unsigned int t13; + int t14; + unsigned int t15; + char *t17; + unsigned int t18; + char *t19; + char *t20; + int t21; + unsigned int t22; + char *t23; + char *t24; + char *t25; + char *t26; + char *t27; + char *t28; + char *t29; + unsigned char t30; + char *t31; + char *t32; + int t33; + char *t34; + int t35; + char *t36; + int t37; + int t38; + int t39; + int t40; + int t41; + char *t42; + char *t43; + char *t44; + int t45; + char *t46; + int t47; + int t48; + char *t49; + int t50; + unsigned int t51; + unsigned int t52; + char *t53; + unsigned char t54; + int t55; + unsigned int t56; + unsigned int t57; + unsigned int t58; + char *t59; + unsigned char t60; + char *t61; + char *t62; + int t63; + char *t64; + int t65; + int t66; + unsigned int t67; + unsigned int t68; + unsigned int t69; + char *t70; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t7 + 0U); + t11 = (t10 + 0U); + *((int *)t11) = 1; + t11 = (t10 + 4U); + *((unsigned int *)t11) = t9; + t11 = (t10 + 8U); + *((int *)t11) = 1; + t12 = (t9 - 1); + t13 = (t12 * 1); + t13 = (t13 + 1); + t11 = (t10 + 12U); + *((unsigned int *)t11) = t13; + t11 = (t4 + 12U); + t13 = *((unsigned int *)t11); + t14 = (t13 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t15 = (t15 * 1U); + t17 = (t4 + 12U); + t18 = *((unsigned int *)t17); + t19 = (t16 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 1; + t20 = (t19 + 4U); + *((unsigned int *)t20) = t18; + t20 = (t19 + 8U); + *((int *)t20) = 1; + t21 = (t18 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t5 + 4U); + t23 = (t1 + 4000); + t24 = (t20 + 88U); + *((char **)t24) = t23; + t25 = (char *)alloca(t15); + t26 = (t20 + 56U); + *((char **)t26) = t25; + xsi_type_set_default_value(t23, t25, t16); + t27 = (t20 + 64U); + *((char **)t27) = t16; + t28 = (t20 + 80U); + *((unsigned int *)t28) = t15; + t29 = (t6 + 4U); + t30 = (t3 != 0); + if (t30 == 1) + goto LAB3; + +LAB2: t31 = (t6 + 12U); + *((char **)t31) = t4; + t32 = (t16 + 8U); + t33 = *((int *)t32); + t34 = (t16 + 4U); + t35 = *((int *)t34); + t36 = (t16 + 0U); + t37 = *((int *)t36); + t38 = t37; + t39 = t35; + +LAB4: t40 = (t39 * t33); + t41 = (t38 * t33); + if (t41 <= t40) + goto LAB5; + +LAB7: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t10, t9); + t11 = (t16 + 0U); + t12 = *((int *)t11); + t17 = (t16 + 4U); + t14 = *((int *)t17); + t19 = (t16 + 8U); + t21 = *((int *)t19); + t23 = (t2 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t12; + t24 = (t23 + 4U); + *((int *)t24) = t14; + t24 = (t23 + 8U); + *((int *)t24) = t21; + t33 = (t14 - t12); + t13 = (t33 * t21); + t13 = (t13 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t13; + +LAB1: return t0; +LAB3: *((char **)t29) = t3; + goto LAB2; + +LAB5: t42 = (t1 + 2008U); + t43 = *((char **)t42); + t42 = (t3 + 0); + t44 = (t7 + 0U); + t45 = *((int *)t44); + t46 = (t7 + 8U); + t47 = *((int *)t46); + t48 = (t38 - t45); + t22 = (t48 * t47); + t49 = (t7 + 4U); + t50 = *((int *)t49); + xsi_vhdl_check_range_of_index(t45, t50, t47, t38); + t51 = (1U * t22); + t52 = (0 + t51); + t53 = (t42 + t52); + t54 = *((unsigned char *)t53); + t55 = (t54 - 0); + t56 = (t55 * 1); + xsi_vhdl_check_range_of_index(0, 8, 1, t54); + t57 = (1U * t56); + t58 = (0 + t57); + t59 = (t43 + t58); + t60 = *((unsigned char *)t59); + t61 = (t20 + 56U); + t62 = *((char **)t61); + t61 = (t16 + 0U); + t63 = *((int *)t61); + t64 = (t16 + 8U); + t65 = *((int *)t64); + t66 = (t38 - t63); + t67 = (t66 * t65); + t68 = (1U * t67); + t69 = (0 + t68); + t70 = (t62 + t69); + *((unsigned char *)t70) = t60; + +LAB6: if (t38 == t39) + goto LAB7; + +LAB8: t12 = (t38 + t33); + t38 = t12; + goto LAB4; + +LAB9:; +} + +char *ieee_p_2592010699_sub_13398659724425974923_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t16[16]; + char *t0; + char *t8; + unsigned int t9; + char *t10; + char *t11; + int t12; + unsigned int t13; + int t14; + unsigned int t15; + char *t17; + unsigned int t18; + char *t19; + char *t20; + int t21; + unsigned int t22; + char *t23; + char *t24; + char *t25; + char *t26; + char *t27; + char *t28; + char *t29; + unsigned char t30; + char *t31; + char *t32; + int t33; + char *t34; + int t35; + char *t36; + int t37; + int t38; + int t39; + int t40; + int t41; + char *t42; + char *t43; + char *t44; + int t45; + char *t46; + int t47; + int t48; + char *t49; + int t50; + unsigned int t51; + unsigned int t52; + char *t53; + unsigned char t54; + int t55; + unsigned int t56; + unsigned int t57; + unsigned int t58; + char *t59; + unsigned char t60; + char *t61; + char *t62; + int t63; + char *t64; + int t65; + int t66; + unsigned int t67; + unsigned int t68; + unsigned int t69; + char *t70; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t7 + 0U); + t11 = (t10 + 0U); + *((int *)t11) = 1; + t11 = (t10 + 4U); + *((unsigned int *)t11) = t9; + t11 = (t10 + 8U); + *((int *)t11) = 1; + t12 = (t9 - 1); + t13 = (t12 * 1); + t13 = (t13 + 1); + t11 = (t10 + 12U); + *((unsigned int *)t11) = t13; + t11 = (t4 + 12U); + t13 = *((unsigned int *)t11); + t14 = (t13 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t15 = (t15 * 1U); + t17 = (t4 + 12U); + t18 = *((unsigned int *)t17); + t19 = (t16 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 1; + t20 = (t19 + 4U); + *((unsigned int *)t20) = t18; + t20 = (t19 + 8U); + *((int *)t20) = 1; + t21 = (t18 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t5 + 4U); + t23 = (t1 + 3896); + t24 = (t20 + 88U); + *((char **)t24) = t23; + t25 = (char *)alloca(t15); + t26 = (t20 + 56U); + *((char **)t26) = t25; + xsi_type_set_default_value(t23, t25, t16); + t27 = (t20 + 64U); + *((char **)t27) = t16; + t28 = (t20 + 80U); + *((unsigned int *)t28) = t15; + t29 = (t6 + 4U); + t30 = (t3 != 0); + if (t30 == 1) + goto LAB3; + +LAB2: t31 = (t6 + 12U); + *((char **)t31) = t4; + t32 = (t16 + 8U); + t33 = *((int *)t32); + t34 = (t16 + 4U); + t35 = *((int *)t34); + t36 = (t16 + 0U); + t37 = *((int *)t36); + t38 = t37; + t39 = t35; + +LAB4: t40 = (t39 * t33); + t41 = (t38 * t33); + if (t41 <= t40) + goto LAB5; + +LAB7: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t10, t9); + t11 = (t16 + 0U); + t12 = *((int *)t11); + t17 = (t16 + 4U); + t14 = *((int *)t17); + t19 = (t16 + 8U); + t21 = *((int *)t19); + t23 = (t2 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t12; + t24 = (t23 + 4U); + *((int *)t24) = t14; + t24 = (t23 + 8U); + *((int *)t24) = t21; + t33 = (t14 - t12); + t13 = (t33 * t21); + t13 = (t13 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t13; + +LAB1: return t0; +LAB3: *((char **)t29) = t3; + goto LAB2; + +LAB5: t42 = (t1 + 2008U); + t43 = *((char **)t42); + t42 = (t3 + 0); + t44 = (t7 + 0U); + t45 = *((int *)t44); + t46 = (t7 + 8U); + t47 = *((int *)t46); + t48 = (t38 - t45); + t22 = (t48 * t47); + t49 = (t7 + 4U); + t50 = *((int *)t49); + xsi_vhdl_check_range_of_index(t45, t50, t47, t38); + t51 = (1U * t22); + t52 = (0 + t51); + t53 = (t42 + t52); + t54 = *((unsigned char *)t53); + t55 = (t54 - 0); + t56 = (t55 * 1); + t57 = (1U * t56); + t58 = (0 + t57); + t59 = (t43 + t58); + t60 = *((unsigned char *)t59); + t61 = (t20 + 56U); + t62 = *((char **)t61); + t61 = (t16 + 0U); + t63 = *((int *)t61); + t64 = (t16 + 8U); + t65 = *((int *)t64); + t66 = (t38 - t63); + t67 = (t66 * t65); + t68 = (1U * t67); + t69 = (0 + t68); + t70 = (t62 + t69); + *((unsigned char *)t70) = t60; + +LAB6: if (t38 == t39) + goto LAB7; + +LAB8: t12 = (t38 + t33); + t38 = t12; + goto LAB4; + +LAB9:; +} + +unsigned char ieee_p_2592010699_sub_623788161610214592_503743352(char *t1, unsigned char t2) +{ + char t4[8]; + unsigned char t0; + char *t5; + char *t6; + char *t7; + int t8; + unsigned int t9; + unsigned int t10; + unsigned int t11; + unsigned char t12; + +LAB0: t5 = (t4 + 4U); + *((unsigned char *)t5) = t2; + t6 = (t1 + 2008U); + t7 = *((char **)t6); + t8 = (t2 - 0); + t9 = (t8 * 1); + t10 = (1U * t9); + t11 = (0 + t10); + t6 = (t7 + t11); + t12 = *((unsigned char *)t6); + t0 = t12; + +LAB1: return t0; +LAB2:; +} + +char *ieee_p_2592010699_sub_308706533543722759_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t16[16]; + char *t0; + char *t8; + unsigned int t9; + char *t10; + char *t11; + int t12; + unsigned int t13; + int t14; + unsigned int t15; + char *t17; + unsigned int t18; + char *t19; + char *t20; + int t21; + unsigned int t22; + char *t23; + char *t24; + char *t25; + char *t26; + char *t27; + char *t28; + char *t29; + unsigned char t30; + char *t31; + char *t32; + int t33; + char *t34; + int t35; + char *t36; + int t37; + int t38; + int t39; + int t40; + int t41; + char *t42; + char *t43; + int t44; + char *t45; + int t46; + int t47; + char *t48; + int t49; + unsigned int t50; + unsigned int t51; + char *t52; + unsigned char t53; + char *t54; + char *t55; + char *t56; + int t57; + char *t58; + int t59; + int t60; + unsigned int t61; + unsigned int t62; + unsigned int t63; + char *t64; + static char *nl0[] = {&&LAB9, &&LAB10}; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t7 + 0U); + t11 = (t10 + 0U); + *((int *)t11) = 1; + t11 = (t10 + 4U); + *((unsigned int *)t11) = t9; + t11 = (t10 + 8U); + *((int *)t11) = 1; + t12 = (t9 - 1); + t13 = (t12 * 1); + t13 = (t13 + 1); + t11 = (t10 + 12U); + *((unsigned int *)t11) = t13; + t11 = (t4 + 12U); + t13 = *((unsigned int *)t11); + t14 = (t13 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t15 = (t15 * 1U); + t17 = (t4 + 12U); + t18 = *((unsigned int *)t17); + t19 = (t16 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 1; + t20 = (t19 + 4U); + *((unsigned int *)t20) = t18; + t20 = (t19 + 8U); + *((int *)t20) = 1; + t21 = (t18 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t5 + 4U); + t23 = (t1 + 4000); + t24 = (t20 + 88U); + *((char **)t24) = t23; + t25 = (char *)alloca(t15); + t26 = (t20 + 56U); + *((char **)t26) = t25; + xsi_type_set_default_value(t23, t25, t16); + t27 = (t20 + 64U); + *((char **)t27) = t16; + t28 = (t20 + 80U); + *((unsigned int *)t28) = t15; + t29 = (t6 + 4U); + t30 = (t3 != 0); + if (t30 == 1) + goto LAB3; + +LAB2: t31 = (t6 + 12U); + *((char **)t31) = t4; + t32 = (t16 + 8U); + t33 = *((int *)t32); + t34 = (t16 + 4U); + t35 = *((int *)t34); + t36 = (t16 + 0U); + t37 = *((int *)t36); + t38 = t37; + t39 = t35; + +LAB4: t40 = (t39 * t33); + t41 = (t38 * t33); + if (t41 <= t40) + goto LAB5; + +LAB7: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t10, t9); + t11 = (t16 + 0U); + t12 = *((int *)t11); + t17 = (t16 + 4U); + t14 = *((int *)t17); + t19 = (t16 + 8U); + t21 = *((int *)t19); + t23 = (t2 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t12; + t24 = (t23 + 4U); + *((int *)t24) = t14; + t24 = (t23 + 8U); + *((int *)t24) = t21; + t33 = (t14 - t12); + t13 = (t33 * t21); + t13 = (t13 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t13; + +LAB1: return t0; +LAB3: *((char **)t29) = t3; + goto LAB2; + +LAB5: t42 = (t3 + 0); + t43 = (t7 + 0U); + t44 = *((int *)t43); + t45 = (t7 + 8U); + t46 = *((int *)t45); + t47 = (t38 - t44); + t22 = (t47 * t46); + t48 = (t7 + 4U); + t49 = *((int *)t48); + xsi_vhdl_check_range_of_index(t44, t49, t46, t38); + t50 = (1U * t22); + t51 = (0 + t50); + t52 = (t42 + t51); + t53 = *((unsigned char *)t52); + t54 = (char *)((nl0) + t53); + goto **((char **)t54); + +LAB6: if (t38 == t39) + goto LAB7; + +LAB11: t12 = (t38 + t33); + t38 = t12; + goto LAB4; + +LAB8: goto LAB6; + +LAB9: t55 = (t20 + 56U); + t56 = *((char **)t55); + t55 = (t16 + 0U); + t57 = *((int *)t55); + t58 = (t16 + 8U); + t59 = *((int *)t58); + t60 = (t38 - t57); + t61 = (t60 * t59); + t62 = (1U * t61); + t63 = (0 + t62); + t64 = (t56 + t63); + *((unsigned char *)t64) = (unsigned char)2; + goto LAB8; + +LAB10: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 0U); + t12 = *((int *)t8); + t11 = (t16 + 8U); + t14 = *((int *)t11); + t21 = (t38 - t12); + t9 = (t21 * t14); + t13 = (1U * t9); + t15 = (0 + t13); + t17 = (t10 + t15); + *((unsigned char *)t17) = (unsigned char)3; + goto LAB8; + +LAB12:; +} + +char *ieee_p_2592010699_sub_15917167677184631194_503743352(char *t1, char *t2, char *t3, char *t4) +{ + char t5[128]; + char t6[24]; + char t7[16]; + char t16[16]; + char *t0; + char *t8; + unsigned int t9; + char *t10; + char *t11; + int t12; + unsigned int t13; + int t14; + unsigned int t15; + char *t17; + unsigned int t18; + char *t19; + char *t20; + int t21; + unsigned int t22; + char *t23; + char *t24; + char *t25; + char *t26; + char *t27; + char *t28; + char *t29; + unsigned char t30; + char *t31; + char *t32; + int t33; + char *t34; + int t35; + char *t36; + int t37; + int t38; + int t39; + int t40; + int t41; + char *t42; + char *t43; + int t44; + char *t45; + int t46; + int t47; + char *t48; + int t49; + unsigned int t50; + unsigned int t51; + char *t52; + unsigned char t53; + char *t54; + char *t55; + char *t56; + int t57; + char *t58; + int t59; + int t60; + unsigned int t61; + unsigned int t62; + unsigned int t63; + char *t64; + static char *nl0[] = {&&LAB9, &&LAB10}; + +LAB0: t8 = (t4 + 12U); + t9 = *((unsigned int *)t8); + t10 = (t7 + 0U); + t11 = (t10 + 0U); + *((int *)t11) = 1; + t11 = (t10 + 4U); + *((unsigned int *)t11) = t9; + t11 = (t10 + 8U); + *((int *)t11) = 1; + t12 = (t9 - 1); + t13 = (t12 * 1); + t13 = (t13 + 1); + t11 = (t10 + 12U); + *((unsigned int *)t11) = t13; + t11 = (t4 + 12U); + t13 = *((unsigned int *)t11); + t14 = (t13 - 1); + t15 = (t14 * 1); + t15 = (t15 + 1); + t15 = (t15 * 1U); + t17 = (t4 + 12U); + t18 = *((unsigned int *)t17); + t19 = (t16 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 1; + t20 = (t19 + 4U); + *((unsigned int *)t20) = t18; + t20 = (t19 + 8U); + *((int *)t20) = 1; + t21 = (t18 - 1); + t22 = (t21 * 1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t5 + 4U); + t23 = (t1 + 3896); + t24 = (t20 + 88U); + *((char **)t24) = t23; + t25 = (char *)alloca(t15); + t26 = (t20 + 56U); + *((char **)t26) = t25; + xsi_type_set_default_value(t23, t25, t16); + t27 = (t20 + 64U); + *((char **)t27) = t16; + t28 = (t20 + 80U); + *((unsigned int *)t28) = t15; + t29 = (t6 + 4U); + t30 = (t3 != 0); + if (t30 == 1) + goto LAB3; + +LAB2: t31 = (t6 + 12U); + *((char **)t31) = t4; + t32 = (t16 + 8U); + t33 = *((int *)t32); + t34 = (t16 + 4U); + t35 = *((int *)t34); + t36 = (t16 + 0U); + t37 = *((int *)t36); + t38 = t37; + t39 = t35; + +LAB4: t40 = (t39 * t33); + t41 = (t38 * t33); + if (t41 <= t40) + goto LAB5; + +LAB7: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 12U); + t9 = *((unsigned int *)t8); + t9 = (t9 * 1U); + t0 = xsi_get_transient_memory(t9); + memcpy(t0, t10, t9); + t11 = (t16 + 0U); + t12 = *((int *)t11); + t17 = (t16 + 4U); + t14 = *((int *)t17); + t19 = (t16 + 8U); + t21 = *((int *)t19); + t23 = (t2 + 0U); + t24 = (t23 + 0U); + *((int *)t24) = t12; + t24 = (t23 + 4U); + *((int *)t24) = t14; + t24 = (t23 + 8U); + *((int *)t24) = t21; + t33 = (t14 - t12); + t13 = (t33 * t21); + t13 = (t13 + 1); + t24 = (t23 + 12U); + *((unsigned int *)t24) = t13; + +LAB1: return t0; +LAB3: *((char **)t29) = t3; + goto LAB2; + +LAB5: t42 = (t3 + 0); + t43 = (t7 + 0U); + t44 = *((int *)t43); + t45 = (t7 + 8U); + t46 = *((int *)t45); + t47 = (t38 - t44); + t22 = (t47 * t46); + t48 = (t7 + 4U); + t49 = *((int *)t48); + xsi_vhdl_check_range_of_index(t44, t49, t46, t38); + t50 = (1U * t22); + t51 = (0 + t50); + t52 = (t42 + t51); + t53 = *((unsigned char *)t52); + t54 = (char *)((nl0) + t53); + goto **((char **)t54); + +LAB6: if (t38 == t39) + goto LAB7; + +LAB11: t12 = (t38 + t33); + t38 = t12; + goto LAB4; + +LAB8: goto LAB6; + +LAB9: t55 = (t20 + 56U); + t56 = *((char **)t55); + t55 = (t16 + 0U); + t57 = *((int *)t55); + t58 = (t16 + 8U); + t59 = *((int *)t58); + t60 = (t38 - t57); + t61 = (t60 * t59); + t62 = (1U * t61); + t63 = (0 + t62); + t64 = (t56 + t63); + *((unsigned char *)t64) = (unsigned char)2; + goto LAB8; + +LAB10: t8 = (t20 + 56U); + t10 = *((char **)t8); + t8 = (t16 + 0U); + t12 = *((int *)t8); + t11 = (t16 + 8U); + t14 = *((int *)t11); + t21 = (t38 - t12); + t9 = (t21 * t14); + t13 = (1U * t9); + t15 = (0 + t13); + t17 = (t10 + t15); + *((unsigned char *)t17) = (unsigned char)3; + goto LAB8; + +LAB12:; +} + +unsigned char ieee_p_2592010699_sub_265999329246366418_503743352(char *t1, unsigned char t2) +{ + char t4[8]; + unsigned char t0; + char *t5; + char *t6; + static char *nl0[] = {&&LAB3, &&LAB4}; + +LAB0: t5 = (t4 + 4U); + *((unsigned char *)t5) = t2; + t6 = (char *)((nl0) + t2); + goto **((char **)t6); + +LAB2: xsi_error(ng5); + t0 = 0; + +LAB1: return t0; +LAB3: t0 = (unsigned char)2; + goto LAB1; + +LAB4: t0 = (unsigned char)3; + goto LAB1; + +LAB5: goto LAB2; + +LAB6: goto LAB2; + +} + +unsigned char ieee_p_2592010699_sub_2763492388968962707_503743352(char *t1, char *t2, unsigned int t3, unsigned int t4) +{ + unsigned char t0; + unsigned char t7; + unsigned char t8; + unsigned char t9; + char *t10; + char *t11; + unsigned char t12; + unsigned char t13; + unsigned char t14; + unsigned char t15; + unsigned char t16; + unsigned char t17; + +LAB0: t9 = xsi_signal_has_event(t2); + if (t9 == 1) + goto LAB5; + +LAB6: t8 = (unsigned char)0; + +LAB7: if (t8 == 1) + goto LAB2; + +LAB3: t7 = (unsigned char)0; + +LAB4: t0 = t7; + +LAB1: return t0; +LAB2: t11 = xsi_signal_last_value(t2); + t15 = *((unsigned char *)t11); + t16 = ieee_p_2592010699_sub_381452733968206518_503743352(t1, t15); + t17 = (t16 == (unsigned char)2); + t7 = t17; + goto LAB4; + +LAB5: t10 = (t2 + 40U); + t11 = *((char **)t10); + t10 = (t11 + t4); + t12 = *((unsigned char *)t10); + t13 = ieee_p_2592010699_sub_381452733968206518_503743352(t1, t12); + t14 = (t13 == (unsigned char)3); + t8 = t14; + goto LAB7; + +LAB8:; +} + +unsigned char ieee_p_2592010699_sub_13554554585326073636_503743352(char *t1, char *t2, unsigned int t3, unsigned int t4) +{ + unsigned char t0; + unsigned char t7; + unsigned char t8; + unsigned char t9; + char *t10; + char *t11; + unsigned char t12; + unsigned char t13; + unsigned char t14; + unsigned char t15; + unsigned char t16; + unsigned char t17; + +LAB0: t9 = xsi_signal_has_event(t2); + if (t9 == 1) + goto LAB5; + +LAB6: t8 = (unsigned char)0; + +LAB7: if (t8 == 1) + goto LAB2; + +LAB3: t7 = (unsigned char)0; + +LAB4: t0 = t7; + +LAB1: return t0; +LAB2: t11 = xsi_signal_last_value(t2); + t15 = *((unsigned char *)t11); + t16 = ieee_p_2592010699_sub_381452733968206518_503743352(t1, t15); + t17 = (t16 == (unsigned char)3); + t7 = t17; + goto LAB4; + +LAB5: t10 = (t2 + 40U); + t11 = *((char **)t10); + t10 = (t11 + t4); + t12 = *((unsigned char *)t10); + t13 = ieee_p_2592010699_sub_381452733968206518_503743352(t1, t12); + t14 = (t13 == (unsigned char)2); + t8 = t14; + goto LAB7; + +LAB8:; +} + +unsigned char ieee_p_2592010699_sub_261918181200356752_503743352(char *t1, char *t2, char *t3) +{ + char t5[24]; + unsigned char t0; + char *t6; + unsigned char t7; + char *t8; + char *t9; + int t10; + char *t11; + int t12; + char *t13; + int t14; + int t15; + int t16; + int t17; + int t18; + char *t19; + int t20; + char *t21; + int t22; + int t23; + unsigned int t24; + unsigned int t25; + unsigned int t26; + char *t27; + unsigned char t28; + char *t29; + static char *nl0[] = {&&LAB9, &&LAB9, &&LAB10, &&LAB10, &&LAB9, &&LAB9, &&LAB10, &&LAB10, &&LAB9}; + +LAB0: t6 = (t5 + 4U); + t7 = (t2 != 0); + if (t7 == 1) + goto LAB3; + +LAB2: t8 = (t5 + 12U); + *((char **)t8) = t3; + t9 = (t3 + 8U); + t10 = *((int *)t9); + t11 = (t3 + 4U); + t12 = *((int *)t11); + t13 = (t3 + 0U); + t14 = *((int *)t13); + t15 = t14; + t16 = t12; + +LAB4: t17 = (t16 * t10); + t18 = (t15 * t10); + if (t18 <= t17) + goto LAB5; + +LAB7: t0 = (unsigned char)0; + +LAB1: return t0; +LAB3: *((char **)t6) = t2; + goto LAB2; + +LAB5: t19 = (t3 + 0U); + t20 = *((int *)t19); + t21 = (t3 + 8U); + t22 = *((int *)t21); + t23 = (t15 - t20); + t24 = (t23 * t22); + t25 = (1U * t24); + t26 = (0 + t25); + t27 = (t2 + t26); + t28 = *((unsigned char *)t27); + t29 = (char *)((nl0) + t28); + goto **((char **)t29); + +LAB6: if (t15 == t16) + goto LAB7; + +LAB12: t12 = (t15 + t10); + t15 = t12; + goto LAB4; + +LAB8: goto LAB6; + +LAB9: t0 = (unsigned char)1; + goto LAB1; + +LAB10: goto LAB8; + +LAB11: goto LAB8; + +LAB13:; +} + +unsigned char ieee_p_2592010699_sub_723971130539046367_503743352(char *t1, char *t2, char *t3) +{ + char t5[24]; + unsigned char t0; + char *t6; + unsigned char t7; + char *t8; + char *t9; + int t10; + char *t11; + int t12; + char *t13; + int t14; + int t15; + int t16; + int t17; + int t18; + char *t19; + int t20; + char *t21; + int t22; + int t23; + unsigned int t24; + unsigned int t25; + unsigned int t26; + char *t27; + unsigned char t28; + char *t29; + static char *nl0[] = {&&LAB9, &&LAB9, &&LAB10, &&LAB10, &&LAB9, &&LAB9, &&LAB10, &&LAB10, &&LAB9}; + +LAB0: t6 = (t5 + 4U); + t7 = (t2 != 0); + if (t7 == 1) + goto LAB3; + +LAB2: t8 = (t5 + 12U); + *((char **)t8) = t3; + t9 = (t3 + 8U); + t10 = *((int *)t9); + t11 = (t3 + 4U); + t12 = *((int *)t11); + t13 = (t3 + 0U); + t14 = *((int *)t13); + t15 = t14; + t16 = t12; + +LAB4: t17 = (t16 * t10); + t18 = (t15 * t10); + if (t18 <= t17) + goto LAB5; + +LAB7: t0 = (unsigned char)0; + +LAB1: return t0; +LAB3: *((char **)t6) = t2; + goto LAB2; + +LAB5: t19 = (t3 + 0U); + t20 = *((int *)t19); + t21 = (t3 + 8U); + t22 = *((int *)t21); + t23 = (t15 - t20); + t24 = (t23 * t22); + t25 = (1U * t24); + t26 = (0 + t25); + t27 = (t2 + t26); + t28 = *((unsigned char *)t27); + t29 = (char *)((nl0) + t28); + goto **((char **)t29); + +LAB6: if (t15 == t16) + goto LAB7; + +LAB12: t12 = (t15 + t10); + t15 = t12; + goto LAB4; + +LAB8: goto LAB6; + +LAB9: t0 = (unsigned char)1; + goto LAB1; + +LAB10: goto LAB8; + +LAB11: goto LAB8; + +LAB13:; +} + +unsigned char ieee_p_2592010699_sub_381458914702604565_503743352(char *t1, unsigned char t2) +{ + char t4[8]; + unsigned char t0; + char *t5; + char *t6; + static char *nl0[] = {&&LAB3, &&LAB3, &&LAB4, &&LAB4, &&LAB3, &&LAB3, &&LAB4, &&LAB4, &&LAB3}; + +LAB0: t5 = (t4 + 4U); + *((unsigned char *)t5) = t2; + t6 = (char *)((nl0) + t2); + goto **((char **)t6); + +LAB2: t0 = (unsigned char)0; + +LAB1: return t0; +LAB3: t0 = (unsigned char)1; + goto LAB1; + +LAB4: goto LAB2; + +LAB5: goto LAB2; + +LAB6:; +} + + + + + + + +extern void ieee_p_2592010699_init() +{ + static char *se[] = {(void *)ieee_p_2592010699_sub_7991387870887201249_503743352,(void *)ieee_p_2592010699_sub_3488768496604610246_503743352,(void *)ieee_p_2592010699_sub_3496108598716332692_503743352,(void *)ieee_p_2592010699_sub_3488546069778340532_503743352,(void *)ieee_p_2592010699_sub_3488768497115059394_503743352,(void *)ieee_p_2592010699_sub_3488768497506413324_503743352,(void *)ieee_p_2592010699_sub_3496108612141461530_503743352,(void *)ieee_p_2592010699_sub_374109322130769762_503743352,(void *)ieee_p_2592010699_sub_16439989832805790689_503743352,(void *)ieee_p_2592010699_sub_13958870020767780268_503743352,(void *)ieee_p_2592010699_sub_16447329934917513135_503743352,(void *)ieee_p_2592010699_sub_13966210122879502714_503743352,(void *)ieee_p_2592010699_sub_16439767405979520975_503743352,(void *)ieee_p_2592010699_sub_13958647593941510554_503743352,(void *)ieee_p_2592010699_sub_16439989833316239837_503743352,(void *)ieee_p_2592010699_sub_13958870021278229416_503743352,(void *)ieee_p_2592010699_sub_16439989833707593767_503743352,(void *)ieee_p_2592010699_sub_13958870021669583346_503743352,(void *)ieee_p_2592010699_sub_16447329948342641973_503743352,(void *)ieee_p_2592010699_sub_13966210136304631552_503743352,(void *)ieee_p_2592010699_sub_207919886985903570_503743352,(void *)ieee_p_2592010699_sub_13148960598567154123_503743352,(void *)ieee_p_2592010699_sub_4006703399759706661_503743352,(void *)ieee_p_2592010699_sub_12303121079769504865_503743352,(void *)ieee_p_2592010699_sub_12021448680711068169_503743352,(void *)ieee_p_2592010699_sub_8696352441457764177_503743352,(void *)ieee_p_2592010699_sub_24166140421859237_503743352,(void *)ieee_p_2592010699_sub_2117344206090590870_503743352,(void *)ieee_p_2592010699_sub_7223350646739717901_503743352,(void *)ieee_p_2592010699_sub_7372912886822346862_503743352,(void *)ieee_p_2592010699_sub_215933550329205235_503743352,(void *)ieee_p_2592010699_sub_13156324501128828438_503743352,(void *)ieee_p_2592010699_sub_381452733968206518_503743352,(void *)ieee_p_2592010699_sub_66371310246576274_503743352,(void *)ieee_p_2592010699_sub_15674832453887484709_503743352,(void *)ieee_p_2592010699_sub_23663901604358344_503743352,(void *)ieee_p_2592010699_sub_458268773658487021_503743352,(void *)ieee_p_2592010699_sub_13398659724458110224_503743352,(void *)ieee_p_2592010699_sub_623788161643323690_503743352,(void *)ieee_p_2592010699_sub_308706533575858060_503743352,(void *)ieee_p_2592010699_sub_15917167677216766495_503743352,(void *)ieee_p_2592010699_sub_265999329279475516_503743352,(void *)ieee_p_2592010699_sub_458268773626351720_503743352,(void *)ieee_p_2592010699_sub_13398659724425974923_503743352,(void *)ieee_p_2592010699_sub_623788161610214592_503743352,(void *)ieee_p_2592010699_sub_308706533543722759_503743352,(void *)ieee_p_2592010699_sub_15917167677184631194_503743352,(void *)ieee_p_2592010699_sub_265999329246366418_503743352,(void *)ieee_p_2592010699_sub_2763492388968962707_503743352,(void *)ieee_p_2592010699_sub_13554554585326073636_503743352,(void *)ieee_p_2592010699_sub_261918181200356752_503743352,(void *)ieee_p_2592010699_sub_723971130539046367_503743352,(void *)ieee_p_2592010699_sub_381458914702604565_503743352}; + xsi_register_didat("ieee_p_2592010699", "isim/precompiled.exe.sim/ieee/p_2592010699.didat"); + xsi_register_subprogram_executes(se); + xsi_register_resolution_function(2, 0, (void *)ieee_p_2592010699_sub_7991387870887201249_503743352, 4); + xsi_register_resolution_function(3, 0, (void *)ieee_p_2592010699_sub_7991387870887201249_503743352, 4); + xsi_register_resolution_function(4, 0, (void *)ieee_p_2592010699_sub_7991387870887201249_503743352, 4); + xsi_register_resolution_function(5, 0, (void *)ieee_p_2592010699_sub_7991387870887201249_503743352, 4); + xsi_register_resolution_function(6, 0, (void *)ieee_p_2592010699_sub_7991387870887201249_503743352, 4); +} diff --git a/isim/precompiled.exe.sim/ieee/p_2592010699.didat b/isim/precompiled.exe.sim/ieee/p_2592010699.didat new file mode 100644 index 0000000000000000000000000000000000000000..a966d3d06fbec44f17c408654354c3e5708390e6 GIT binary patch literal 5868 zcmeHJO^6&t6t0=g?5;maG{*R|5&B>lh&nwJ*Of&NK~_;Q5KYuY)UmVOJ3Bf%J@)hr z;}CEU0Yw7tO$86?#UDHbl7omsjvfM@M2|THG!P_U4uUM}_f_}XsqOSm7H3uu@xj;i z>Z?~@zgN}W)n9Et``7GF=M_a8*H_ivrqqe7QXd<*68ra$D0MH!-yK!z9B>)fJ*HF$ z{yX3({Fi|fz}_2`Iu3ktlTv4Zv%q;^{ASDnXbp^C%a$-_88Gb<=BMHKtx7$*OR1R{ zm-ZkISU~<4fP*(+9J!qYE&!*X^9}GCunf@136g#C=6y4IM(@JD0JmE6g-dIZhT7gI z7DHNxZ9fz3elZ+7iTz`#jHi8$z8ECOGNQ;k-_&7dqz5O%jd|##nj;ZjWo_f zUHUIYXw{y`g~T|@_A#+XNE2JoiW@y_T|jsvC4kp*aQ>tX1m+q=+ih?wnbWUG>IWE zW6V#CIf^k)G3F{JTI_SK=y0z1W{l}mQ(~lkP&#L}G_Hrl@R=0f)ZtnQ&-D`DjN$qT z&oh(0jNbu2&G`OHoW$;eBYP-%6X0Y&W&QSnlf9L7EP`X5X!IEG`CL4gXDG+`yt+6219BgNV|{l693zKj&Dj3}z0&~mxCku&^hTDo>;TdD zx{_rLd*CmBTgfta3;wAeDp}UEAO7VJ>QXwGbmM(~#t_0as7Y=Gt*ndGJB1*LWA5ai z0I~P?Pk&u`8*7V}b6<_)c=MeApN%(D;>K_@t`RkF1L#kHOX@uWPTn*8T5A7rN?ZU= z-ov{PNB^Bf9H{^8Us{1?=$4zIQ+J)fRkq&z&m3W6w-?-+ z-3;dJs^@t&r`7yQb*@}0O-&XssO)2{YR$Df^L00Pt5mcP7Y-Cl50(Hs29+J8RsQ+Bm7fKQKnZvWcoBF8coKLZuV+W$<+e8$`aw@G&6A)`v7};j>2y_#-L*^9 z?@}VJ-hIqzdS*Y}51nH*Z+)nydeKpL&_xWqreAA?Rli;yjv$_lAu0L6kc2uzQ>y!6 zoKv)$*z2gTcPhcD4g1}+Nio@*wVvQ3b=9;U8Ba5aL7$AdHfr_De4K|T)g6|We#18U z(oDUr=X?|(;#q8qE`=_mOpR#Z7-<#j_bKr9v`l} zKji0jO)bw=0t-4OA)ZZvajN||S literal 0 HcmV?d00001 diff --git a/isim/precompiled.exe.sim/ieee/p_2592010699.lin64.o b/isim/precompiled.exe.sim/ieee/p_2592010699.lin64.o new file mode 100644 index 0000000000000000000000000000000000000000..3841218cd0ee8b807644a3298fdd06d6d564898b GIT binary patch literal 47352 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 QQwBHpE|y!kxp(pZ0NETui~s-t literal 0 HcmV?d00001 diff --git a/isim/temp/equalcheck.vdb b/isim/temp/equalcheck.vdb new file mode 100644 index 0000000000000000000000000000000000000000..2ccb936ae726d840efab05d823c3b1c21ffcfdec GIT binary patch literal 3197 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 literal 0 HcmV?d00001 diff --git a/isim/temp/zerocheck.vdb b/isim/temp/zerocheck.vdb new file mode 100644 index 0000000000000000000000000000000000000000..12d3abf87a01bf5165ec04c24cb41fb64951f008 GIT binary patch literal 4605 zcma)=U5Hgx6vyx6w|OTu%PFeS3{i+uF#8b0K}Y6_IZ!j&EPSbV@2gCD_*s=d@V7qu>dN}U%wqUOdfq)=J-_vMrB-3`&Ukfl z{KRzi!W+eVKlt&>;`^@@3RnLTt(S6Q@=`Ab%Ve;*I9;8XSh{B2`o6xt6~(@dD~ieZ z#g)bC@e`B9c`}}(2h#d8@F@*A{BnH9D|scwnqt`MQ4e!rCuhw8>oQ zN~O|Zuf|J_T5a3V;Es_!+jfnWH-G#2M+fd1*(rtg^WhBwdI9D<*2Oup1$u@B0((H@ zK=MI?l%fSVc8`v{<}o*EiDImbQ&Ur?ZBx@qPDe|EJxP;kYbWNgyub-4a5nha(t}#` zw`Q<$*UxC)?p4QY)Bo|}6j)0)s4y~GI#3?WxsS_(=`xbXRk4LOWkZUQL-;|@O<;)_ zZU_OlhYT=UeqC~6e4pDglDW6Tx!CqQ>8|PNX;-ql>jZdCUW`VC;)x)Od=lh7GlE2U zul!r@n*`}z?hD@D54seBkD0k4SOx_1N#KF3DqxRM9IHYW1zcI%A>!ISu5=7j1&gni z^%9LCCo{;&6C)HW!@Mg8JFaL+af%v=L(AAbRN6VTXW-!8l4oa_O-YrKV$Z-3=VyY5 z$n#;vA+N+?cVoi`M~21*x5HmK`^n6iE2rNZHZaLx{fI3*tA`j%H4+2e>{YQ!R_$K1 zSB1Tn$(yyP#G}c@bJbeKY+tRCrc#=2b+JM6cKRjH1`&T3|A(GG^{|uQG`<-!jqk6L z;e-CckUeye{os?J2jX<~SoQqLiW7Pys7W}a$Z1$7G!^D@!+Tz9=n^!Oo&+Ah(UGyC z(xLy_GOY$!qrvX}z(@ah3D|z3fZ#M9;y_2lJgFz@GL6=fpZ9}|H2Kh)HeyKg%ZiZ% zJ(qjDa_q#>t*SqtB~C7<4Kj8GQ2~?V(@FF7m)otZ=GN3#dHcZrY&^9;c6>+fYqi~%+wSXT`#^3> zy_OE{891cir56Uu<@8OAhjf!E)xC&n|cOds@4HH2333 z(>|kh&7aYV5;y7bV84Wtf|4L~d&-)X3+W+QtdS)iSes`VwbVzcvt+}ZLwI=lAl%=yaUs^y?CKU=G`9hc7hBLo(?^;w=tJ6j(ca*bm{ zHn=umvOEd=Y?$l=CiCr>EN4Bay&Z$ey(HD^hufC~`5lw&Mq=l?b7#wM>zuv=wTh}O zEmH!dlmub3C39;`dm2G9>F997vpNSTBQQA%z-6{8zb^O2|>{{lQbF>M*@!{ zBj7jTSMGgyR-WLA%_u|3dX=t!`7=?pd_{D(td-*NSrBJIwA!_DrE+@ly@gh*HP>!^G}kVaCf{n8 zAFmeM#N4IxVzH`CRu!58U`KEAPu>%5+@4L>JyXIQhn@E2i)`*rKgtfGc25rzvlMXu;0q|oyI`kNFf&q za8O=w287`rr}J{`^kiiJ3F7rTrC)z`r3h=e#d+I$u!R!r$S}7OOh*YO$4<^pFl+Q` z`foQ(VnqMQZ6SQ_0efTs3WBqOtO4omqW7A?{eeLtM9AzpbPYe1X9G# z=vwq^W`5UIkUFMrf69)lRW~H#RAc&7b5xI5D~g&L0^KZbc_pTvrgV!T=tB;V|IqNz zW!3qd)H*}!!}zwb9ta;cz`%68nYQ#K~vua4#2o0Vxw@@H?Am252p zqFjTJ#N=GL7dV`vJJz)!)e#2uZS~hMX>mjaR4{=tccv3>_?3=zvEHHdT H|2h5zGJW1! literal 0 HcmV?d00001 diff --git a/isim/work/nancheck.vdb b/isim/work/nancheck.vdb new file mode 100644 index 0000000000000000000000000000000000000000..8d2ef09fbf616affa3f6964a1b9d4bee5db882c3 GIT binary patch literal 4232 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 literal 0 HcmV?d00001 diff --git a/isim/work/zerocheck.vdb b/isim/work/zerocheck.vdb new file mode 100644 index 0000000000000000000000000000000000000000..3a254c1746e807d02a42104ad97c8b9e05f51ccd GIT binary patch literal 4600 zcma)=U5Hd=7{_Px+Z?~L+@e}-LlmME%s!-WSyy(%b|JcmAXwSdaSd;}Dv-{y8;)!W z5|VqRvkoQ>!O~4;Al5}!1zmKNW?P7_5=Oj^b2hY;1M+<}IC_o$HF7+twA6(M#)# zmG@6h6c@>OfgVVyr{Plw8h0w-JsOdXU8pYAuy?p;?_keJdHkE&@r#?jeAy-dE0s!p zD>YuOSF5}F`*sfv?Akk0-tpZRpB!2>v_}dp<>OlfbOPo)*2OupC3*%00((H@K=MI? zl%j_xR`XV` z8eZG~j~BZ@E*+l2&~WKcxi9BFE%&8qB#&9Kg|=ryijhtDQO|8)i5PAP0jGxwFj{_7 za$@|D+cHwQcf-Ee_Iv4W=;>%xvbviDcwSzNMupfHg*O>Fa3!}x#M~Wjatu=i$v4V+g~m{mY2?(2 z5sIB*-kpOTN3^6kMUBMaw%FHS+S5PKb9jHrv$M=5rAkS$r(uZm3qeHG`KaPhSK_d` zk-@`5{Ud$7@K?`$HhuQ$nGXgHOfpzMVhhjdA;xNr#6UNHS8R|~tJnNpVXrmvCKsJ} zJh^nfQXMzjSshPHDa}lMu~qU``Zccx5&sbXr=Gv`u#(?3z8xx!?{AXfgZ`mVJ#>)$ z;FF*S;#B2C<-)0P7xY+AQ*cO;)37dRD$M1E_o8y>5HyOO1RlTPp^^U5k-OJ2R}HX+ zgWUsxkN)uxu>3>;!D&3ifsToJN>9{f8s(Co*Mp2QdD9v;Vkq+~ijf38hkJDV#L43? zsQe}=S(YdEij92S9v#su& zoSz%gVy$8|S=Ve`o5^~8ZcTrcdwULMv4mgGwF+rhcC4e2VlAqIE%l{4Rbc4cP2XSDjqazC~-y=Roy{8?p` zxIs?@`xUellmwx#r|hzFBRwpOZdu}iwRzI`O5!wf+N|r6&V(N^9@pp?=CzN7I<1og zgM|{ZH%qY=&E;IFnOKGy5xt>z0GU{CroX?KpJiA0@EJSD)pXwEgO1LGE#Es0POd zOqM5spAVCLz+}D^ljY=tTCZa;`7TNI`r-5?K|W`ZeUaGt-rU*pS)J2&pt7jj(l#YP zN=Xnlu4GP)iMl-<;6P$uL%s}>g*0ruz;HAo+Zd7ONeGIrQKaFZI2L#uA)j^! z%A{E#wWtPxniaL7wlGKCxH<7OYTFpK=Sc{Pu2Dx&+X&R=TTxq1GKgBYqTVQZ8)^%i zUznVB6L>h5wq(wimFG#|eTeFu>+`xeW>TgnY(qd-lrd%9q{tz0=568KzYlK*SA(;a z!Fdi)^I$RGzT9uuDZ8kf=xdvE&-^A^6L8?kl+QqJfVd3g{tMNgwYEuu{e1VLeK-f^ m*>}jN*YZrNgQw(tV3@$iJmRBf)YPA;*3WvyIoMkL&*wj#vQZiU literal 0 HcmV?d00001 diff --git a/netgen/synthesis/SpecialCasesCheck_synthesis.nlf b/netgen/synthesis/SpecialCasesCheck_synthesis.nlf new file mode 100644 index 0000000..ef99105 --- /dev/null +++ b/netgen/synthesis/SpecialCasesCheck_synthesis.nlf @@ -0,0 +1,21 @@ +Release 14.7 - netgen P.20131013 (lin64) +Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. + +Command Line: netgen -intstyle ise -ar Structure -tm SpecialCasesCheck -w -dir +netgen/synthesis -ofmt vhdl -sim SpecialCasesCheck.ngc +SpecialCasesCheck_synthesis.vhd + +Reading design 'SpecialCasesCheck.ngc' ... +Flattening design ... +Processing design ... + Preping design's networks ... + Preping design's macros ... +Writing VHDL netlist +'/home/Luca/ISE/IEEE754Adder/netgen/synthesis/SpecialCasesCheck_synthesis.vhd' +... +INFO:NetListWriters:635 - The generated VHDL netlist contains Xilinx UNISIM + simulation primitives and has to be used with UNISIM library for correct + compilation and simulation. +Number of warnings: 0 +Number of info messages: 1 +Total memory usage is 314432 kilobytes diff --git a/netgen/synthesis/SpecialCasesCheck_synthesis.vhd b/netgen/synthesis/SpecialCasesCheck_synthesis.vhd new file mode 100644 index 0000000..2100536 --- /dev/null +++ b/netgen/synthesis/SpecialCasesCheck_synthesis.vhd @@ -0,0 +1,877 @@ +-------------------------------------------------------------------------------- +-- Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. +-------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor: Xilinx +-- \ \ \/ Version: P.20131013 +-- \ \ Application: netgen +-- / / Filename: SpecialCasesCheck_synthesis.vhd +-- /___/ /\ Timestamp: Sat Aug 24 10:53:07 2019 +-- \ \ / \ +-- \___\/\___\ +-- +-- Command : -intstyle ise -ar Structure -tm SpecialCasesCheck -w -dir netgen/synthesis -ofmt vhdl -sim SpecialCasesCheck.ngc SpecialCasesCheck_synthesis.vhd +-- Device : xa6slx4-3-csg225 +-- Input file : SpecialCasesCheck.ngc +-- Output file : /home/Luca/ISE/IEEE754Adder/netgen/synthesis/SpecialCasesCheck_synthesis.vhd +-- # of Entities : 1 +-- Design Name : SpecialCasesCheck +-- Xilinx : /opt/Xilinx/14.7/ISE_DS/ISE/ +-- +-- Purpose: +-- This VHDL netlist is a verification model and uses simulation +-- primitives which may not represent the true implementation of the +-- device, however the netlist is functionally correct and should not +-- be modified. This file cannot be synthesized and should only be used +-- with supported simulation tools. +-- +-- Reference: +-- Command Line Tools User Guide, Chapter 23 +-- Synthesis and Simulation Design Guide, Chapter 6 +-- +-------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +library UNISIM; +use UNISIM.VCOMPONENTS.ALL; +use UNISIM.VPKG.ALL; + +entity SpecialCasesCheck is + port ( + isNaN : out STD_LOGIC; + isZero : out STD_LOGIC; + X : in STD_LOGIC_VECTOR ( 31 downto 0 ); + Y : in STD_LOGIC_VECTOR ( 31 downto 0 ) + ); +end SpecialCasesCheck; + +architecture Structure of SpecialCasesCheck is + signal X_31_IBUF_0 : STD_LOGIC; + signal X_30_IBUF_1 : STD_LOGIC; + signal X_29_IBUF_2 : STD_LOGIC; + signal X_28_IBUF_3 : STD_LOGIC; + signal X_27_IBUF_4 : STD_LOGIC; + signal X_26_IBUF_5 : STD_LOGIC; + signal X_25_IBUF_6 : STD_LOGIC; + signal X_24_IBUF_7 : STD_LOGIC; + signal X_23_IBUF_8 : STD_LOGIC; + signal X_22_IBUF_9 : STD_LOGIC; + signal X_21_IBUF_10 : STD_LOGIC; + signal X_20_IBUF_11 : STD_LOGIC; + signal X_19_IBUF_12 : STD_LOGIC; + signal X_18_IBUF_13 : STD_LOGIC; + signal X_17_IBUF_14 : STD_LOGIC; + signal X_16_IBUF_15 : STD_LOGIC; + signal X_15_IBUF_16 : STD_LOGIC; + signal X_14_IBUF_17 : STD_LOGIC; + signal X_13_IBUF_18 : STD_LOGIC; + signal X_12_IBUF_19 : STD_LOGIC; + signal X_11_IBUF_20 : STD_LOGIC; + signal X_10_IBUF_21 : STD_LOGIC; + signal X_9_IBUF_22 : STD_LOGIC; + signal X_8_IBUF_23 : STD_LOGIC; + signal X_7_IBUF_24 : STD_LOGIC; + signal X_6_IBUF_25 : STD_LOGIC; + signal X_5_IBUF_26 : STD_LOGIC; + signal X_4_IBUF_27 : STD_LOGIC; + signal X_3_IBUF_28 : STD_LOGIC; + signal X_2_IBUF_29 : STD_LOGIC; + signal X_1_IBUF_30 : STD_LOGIC; + signal X_0_IBUF_31 : STD_LOGIC; + signal Y_31_IBUF_32 : STD_LOGIC; + signal Y_30_IBUF_33 : STD_LOGIC; + signal Y_29_IBUF_34 : STD_LOGIC; + signal Y_28_IBUF_35 : STD_LOGIC; + signal Y_27_IBUF_36 : STD_LOGIC; + signal Y_26_IBUF_37 : STD_LOGIC; + signal Y_25_IBUF_38 : STD_LOGIC; + signal Y_24_IBUF_39 : STD_LOGIC; + signal Y_23_IBUF_40 : STD_LOGIC; + signal Y_22_IBUF_41 : STD_LOGIC; + signal Y_21_IBUF_42 : STD_LOGIC; + signal Y_20_IBUF_43 : STD_LOGIC; + signal Y_19_IBUF_44 : STD_LOGIC; + signal Y_18_IBUF_45 : STD_LOGIC; + signal Y_17_IBUF_46 : STD_LOGIC; + signal Y_16_IBUF_47 : STD_LOGIC; + signal Y_15_IBUF_48 : STD_LOGIC; + signal Y_14_IBUF_49 : STD_LOGIC; + signal Y_13_IBUF_50 : STD_LOGIC; + signal Y_12_IBUF_51 : STD_LOGIC; + signal Y_11_IBUF_52 : STD_LOGIC; + signal Y_10_IBUF_53 : STD_LOGIC; + signal Y_9_IBUF_54 : STD_LOGIC; + signal Y_8_IBUF_55 : STD_LOGIC; + signal Y_7_IBUF_56 : STD_LOGIC; + signal Y_6_IBUF_57 : STD_LOGIC; + signal Y_5_IBUF_58 : STD_LOGIC; + signal Y_4_IBUF_59 : STD_LOGIC; + signal Y_3_IBUF_60 : STD_LOGIC; + signal Y_2_IBUF_61 : STD_LOGIC; + signal Y_1_IBUF_62 : STD_LOGIC; + signal Y_0_IBUF_63 : STD_LOGIC; + signal isNaN_OBUF_64 : STD_LOGIC; + signal isZero_OBUF_65 : STD_LOGIC; + signal N0 : STD_LOGIC; + signal N1 : STD_LOGIC; + signal NC_yCheck_G_compute_G_tmp : STD_LOGIC; + signal N2 : STD_LOGIC; + signal NC_isNan : STD_LOGIC; + signal NC_isNan1_92 : STD_LOGIC; + signal NC_isNan2_93 : STD_LOGIC; + signal NC_isNan3_94 : STD_LOGIC; + signal NC_isNan4_95 : STD_LOGIC; + signal NC_isNan5_96 : STD_LOGIC; + signal NC_isNan6_97 : STD_LOGIC; + signal NC_isNan7_98 : STD_LOGIC; + signal NC_isNan8_99 : STD_LOGIC; + signal NC_isNan9_100 : STD_LOGIC; + signal NC_isNan10_101 : STD_LOGIC; + signal NC_isNan11_102 : STD_LOGIC; + signal ZC_isZero_wg_lut : STD_LOGIC_VECTOR ( 10 downto 0 ); + signal ZC_isZero_wg_cy : STD_LOGIC_VECTOR ( 9 downto 0 ); +begin + XST_GND : GND + port map ( + G => N0 + ); + XST_VCC : VCC + port map ( + P => N1 + ); + ZC_isZero_wg_lut_0_Q : LUT4 + generic map( + INIT => X"9009" + ) + port map ( + I0 => X_29_IBUF_2, + I1 => Y_29_IBUF_34, + I2 => X_3_IBUF_28, + I3 => Y_3_IBUF_60, + O => ZC_isZero_wg_lut(0) + ); + ZC_isZero_wg_cy_0_Q : MUXCY + port map ( + CI => N1, + DI => N0, + S => ZC_isZero_wg_lut(0), + O => ZC_isZero_wg_cy(0) + ); + ZC_isZero_wg_lut_1_Q : LUT6 + generic map( + INIT => X"9009000000009009" + ) + port map ( + I0 => X_4_IBUF_27, + I1 => Y_4_IBUF_59, + I2 => X_26_IBUF_5, + I3 => Y_26_IBUF_37, + I4 => X_7_IBUF_24, + I5 => Y_7_IBUF_56, + O => ZC_isZero_wg_lut(1) + ); + ZC_isZero_wg_cy_1_Q : MUXCY + port map ( + CI => ZC_isZero_wg_cy(0), + DI => N0, + S => ZC_isZero_wg_lut(1), + O => ZC_isZero_wg_cy(1) + ); + ZC_isZero_wg_lut_2_Q : LUT6 + generic map( + INIT => X"9009000000009009" + ) + port map ( + I0 => X_10_IBUF_21, + I1 => Y_10_IBUF_53, + I2 => X_15_IBUF_16, + I3 => Y_15_IBUF_48, + I4 => X_25_IBUF_6, + I5 => Y_25_IBUF_38, + O => ZC_isZero_wg_lut(2) + ); + ZC_isZero_wg_cy_2_Q : MUXCY + port map ( + CI => ZC_isZero_wg_cy(1), + DI => N0, + S => ZC_isZero_wg_lut(2), + O => ZC_isZero_wg_cy(2) + ); + ZC_isZero_wg_lut_3_Q : LUT6 + generic map( + INIT => X"9009000000009009" + ) + port map ( + I0 => X_14_IBUF_17, + I1 => Y_14_IBUF_49, + I2 => X_22_IBUF_9, + I3 => Y_22_IBUF_41, + I4 => X_18_IBUF_13, + I5 => Y_18_IBUF_45, + O => ZC_isZero_wg_lut(3) + ); + ZC_isZero_wg_cy_3_Q : MUXCY + port map ( + CI => ZC_isZero_wg_cy(2), + DI => N0, + S => ZC_isZero_wg_lut(3), + O => ZC_isZero_wg_cy(3) + ); + ZC_isZero_wg_lut_4_Q : LUT6 + generic map( + INIT => X"9009000000009009" + ) + port map ( + I0 => X_17_IBUF_14, + I1 => Y_17_IBUF_46, + I2 => X_1_IBUF_30, + I3 => Y_1_IBUF_62, + I4 => X_21_IBUF_10, + I5 => Y_21_IBUF_42, + O => ZC_isZero_wg_lut(4) + ); + ZC_isZero_wg_cy_4_Q : MUXCY + port map ( + CI => ZC_isZero_wg_cy(3), + DI => N0, + S => ZC_isZero_wg_lut(4), + O => ZC_isZero_wg_cy(4) + ); + ZC_isZero_wg_lut_5_Q : LUT6 + generic map( + INIT => X"9009000000009009" + ) + port map ( + I0 => X_20_IBUF_11, + I1 => Y_20_IBUF_43, + I2 => X_24_IBUF_7, + I3 => Y_24_IBUF_39, + I4 => X_19_IBUF_12, + I5 => Y_19_IBUF_44, + O => ZC_isZero_wg_lut(5) + ); + ZC_isZero_wg_cy_5_Q : MUXCY + port map ( + CI => ZC_isZero_wg_cy(4), + DI => N0, + S => ZC_isZero_wg_lut(5), + O => ZC_isZero_wg_cy(5) + ); + ZC_isZero_wg_lut_6_Q : LUT6 + generic map( + INIT => X"9009000000009009" + ) + port map ( + I0 => X_23_IBUF_8, + I1 => Y_23_IBUF_40, + I2 => X_16_IBUF_15, + I3 => Y_16_IBUF_47, + I4 => X_28_IBUF_3, + I5 => Y_28_IBUF_35, + O => ZC_isZero_wg_lut(6) + ); + ZC_isZero_wg_cy_6_Q : MUXCY + port map ( + CI => ZC_isZero_wg_cy(5), + DI => N0, + S => ZC_isZero_wg_lut(6), + O => ZC_isZero_wg_cy(6) + ); + ZC_isZero_wg_lut_7_Q : LUT6 + generic map( + INIT => X"9009000000009009" + ) + port map ( + I0 => X_27_IBUF_4, + I1 => Y_27_IBUF_36, + I2 => X_30_IBUF_1, + I3 => Y_30_IBUF_33, + I4 => Y_12_IBUF_51, + I5 => X_12_IBUF_19, + O => ZC_isZero_wg_lut(7) + ); + ZC_isZero_wg_cy_7_Q : MUXCY + port map ( + CI => ZC_isZero_wg_cy(6), + DI => N0, + S => ZC_isZero_wg_lut(7), + O => ZC_isZero_wg_cy(7) + ); + ZC_isZero_wg_lut_8_Q : LUT6 + generic map( + INIT => X"9009000000009009" + ) + port map ( + I0 => X_2_IBUF_29, + I1 => Y_2_IBUF_61, + I2 => X_13_IBUF_18, + I3 => Y_13_IBUF_50, + I4 => X_6_IBUF_25, + I5 => Y_6_IBUF_57, + O => ZC_isZero_wg_lut(8) + ); + ZC_isZero_wg_cy_8_Q : MUXCY + port map ( + CI => ZC_isZero_wg_cy(7), + DI => N0, + S => ZC_isZero_wg_lut(8), + O => ZC_isZero_wg_cy(8) + ); + ZC_isZero_wg_lut_9_Q : LUT6 + generic map( + INIT => X"9009000000009009" + ) + port map ( + I0 => X_5_IBUF_26, + I1 => Y_5_IBUF_58, + I2 => X_0_IBUF_31, + I3 => Y_0_IBUF_63, + I4 => X_9_IBUF_22, + I5 => Y_9_IBUF_54, + O => ZC_isZero_wg_lut(9) + ); + ZC_isZero_wg_cy_9_Q : MUXCY + port map ( + CI => ZC_isZero_wg_cy(8), + DI => N0, + S => ZC_isZero_wg_lut(9), + O => ZC_isZero_wg_cy(9) + ); + ZC_isZero_wg_cy_10_Q : MUXCY + port map ( + CI => ZC_isZero_wg_cy(9), + DI => N0, + S => ZC_isZero_wg_lut(10), + O => isZero_OBUF_65 + ); + NC_yCheck_G_compute_G_tmp_0_SW0 : LUT3 + generic map( + INIT => X"80" + ) + port map ( + I0 => Y_25_IBUF_38, + I1 => Y_24_IBUF_39, + I2 => Y_23_IBUF_40, + O => N2 + ); + NC_yCheck_G_compute_G_tmp_0_Q : LUT6 + generic map( + INIT => X"8000000000000000" + ) + port map ( + I0 => Y_30_IBUF_33, + I1 => Y_29_IBUF_34, + I2 => Y_28_IBUF_35, + I3 => Y_27_IBUF_36, + I4 => Y_26_IBUF_37, + I5 => N2, + O => NC_yCheck_G_compute_G_tmp + ); + NC_isNan1 : LUT6 + generic map( + INIT => X"8000000000000000" + ) + port map ( + I0 => X_27_IBUF_4, + I1 => X_28_IBUF_3, + I2 => X_25_IBUF_6, + I3 => X_26_IBUF_5, + I4 => X_23_IBUF_8, + I5 => X_24_IBUF_7, + O => NC_isNan + ); + NC_isNan2 : LUT3 + generic map( + INIT => X"80" + ) + port map ( + I0 => X_29_IBUF_2, + I1 => X_30_IBUF_1, + I2 => NC_isNan, + O => NC_isNan1_92 + ); + NC_isNan3 : LUT6 + generic map( + INIT => X"FFFFFFFFFFFFFFFE" + ) + port map ( + I0 => X_1_IBUF_30, + I1 => X_20_IBUF_11, + I2 => X_18_IBUF_13, + I3 => X_19_IBUF_12, + I4 => X_16_IBUF_15, + I5 => X_17_IBUF_14, + O => NC_isNan2_93 + ); + NC_isNan4 : LUT5 + generic map( + INIT => X"FFFFFFFE" + ) + port map ( + I0 => X_12_IBUF_19, + I1 => X_13_IBUF_18, + I2 => X_0_IBUF_31, + I3 => X_10_IBUF_21, + I4 => X_11_IBUF_20, + O => NC_isNan3_94 + ); + NC_isNan5 : LUT4 + generic map( + INIT => X"FFFE" + ) + port map ( + I0 => X_8_IBUF_23, + I1 => X_9_IBUF_22, + I2 => X_6_IBUF_25, + I3 => X_7_IBUF_24, + O => NC_isNan4_95 + ); + NC_isNan6 : LUT6 + generic map( + INIT => X"FFFFFFFFFFFFFFFE" + ) + port map ( + I0 => X_4_IBUF_27, + I1 => X_5_IBUF_26, + I2 => X_2_IBUF_29, + I3 => X_3_IBUF_28, + I4 => X_21_IBUF_10, + I5 => X_22_IBUF_9, + O => NC_isNan5_96 + ); + NC_isNan7 : LUT6 + generic map( + INIT => X"FFFFFFFFFFFFFFFE" + ) + port map ( + I0 => NC_isNan4_95, + I1 => NC_isNan5_96, + I2 => NC_isNan2_93, + I3 => X_14_IBUF_17, + I4 => X_15_IBUF_16, + I5 => NC_isNan3_94, + O => NC_isNan6_97 + ); + NC_isNan8 : LUT6 + generic map( + INIT => X"FFFFFFFFFFFFFFFE" + ) + port map ( + I0 => Y_1_IBUF_62, + I1 => Y_20_IBUF_43, + I2 => Y_18_IBUF_45, + I3 => Y_19_IBUF_44, + I4 => Y_16_IBUF_47, + I5 => Y_17_IBUF_46, + O => NC_isNan7_98 + ); + NC_isNan9 : LUT5 + generic map( + INIT => X"FFFFFFFE" + ) + port map ( + I0 => Y_12_IBUF_51, + I1 => Y_13_IBUF_50, + I2 => Y_0_IBUF_63, + I3 => Y_10_IBUF_53, + I4 => Y_11_IBUF_52, + O => NC_isNan8_99 + ); + NC_isNan10 : LUT4 + generic map( + INIT => X"FFFE" + ) + port map ( + I0 => Y_8_IBUF_55, + I1 => Y_9_IBUF_54, + I2 => Y_6_IBUF_57, + I3 => Y_7_IBUF_56, + O => NC_isNan9_100 + ); + NC_isNan11 : LUT6 + generic map( + INIT => X"FFFFFFFFFFFFFFFE" + ) + port map ( + I0 => Y_4_IBUF_59, + I1 => Y_5_IBUF_58, + I2 => Y_2_IBUF_61, + I3 => Y_3_IBUF_60, + I4 => Y_21_IBUF_42, + I5 => Y_22_IBUF_41, + O => NC_isNan10_101 + ); + NC_isNan12 : LUT6 + generic map( + INIT => X"FFFFFFFFFFFFFFFE" + ) + port map ( + I0 => NC_isNan9_100, + I1 => NC_isNan10_101, + I2 => NC_isNan7_98, + I3 => Y_14_IBUF_49, + I4 => Y_15_IBUF_48, + I5 => NC_isNan8_99, + O => NC_isNan11_102 + ); + X_31_IBUF : IBUF + port map ( + I => X(31), + O => X_31_IBUF_0 + ); + X_30_IBUF : IBUF + port map ( + I => X(30), + O => X_30_IBUF_1 + ); + X_29_IBUF : IBUF + port map ( + I => X(29), + O => X_29_IBUF_2 + ); + X_28_IBUF : IBUF + port map ( + I => X(28), + O => X_28_IBUF_3 + ); + X_27_IBUF : IBUF + port map ( + I => X(27), + O => X_27_IBUF_4 + ); + X_26_IBUF : IBUF + port map ( + I => X(26), + O => X_26_IBUF_5 + ); + X_25_IBUF : IBUF + port map ( + I => X(25), + O => X_25_IBUF_6 + ); + X_24_IBUF : IBUF + port map ( + I => X(24), + O => X_24_IBUF_7 + ); + X_23_IBUF : IBUF + port map ( + I => X(23), + O => X_23_IBUF_8 + ); + X_22_IBUF : IBUF + port map ( + I => X(22), + O => X_22_IBUF_9 + ); + X_21_IBUF : IBUF + port map ( + I => X(21), + O => X_21_IBUF_10 + ); + X_20_IBUF : IBUF + port map ( + I => X(20), + O => X_20_IBUF_11 + ); + X_19_IBUF : IBUF + port map ( + I => X(19), + O => X_19_IBUF_12 + ); + X_18_IBUF : IBUF + port map ( + I => X(18), + O => X_18_IBUF_13 + ); + X_17_IBUF : IBUF + port map ( + I => X(17), + O => X_17_IBUF_14 + ); + X_16_IBUF : IBUF + port map ( + I => X(16), + O => X_16_IBUF_15 + ); + X_15_IBUF : IBUF + port map ( + I => X(15), + O => X_15_IBUF_16 + ); + X_14_IBUF : IBUF + port map ( + I => X(14), + O => X_14_IBUF_17 + ); + X_13_IBUF : IBUF + port map ( + I => X(13), + O => X_13_IBUF_18 + ); + X_12_IBUF : IBUF + port map ( + I => X(12), + O => X_12_IBUF_19 + ); + X_11_IBUF : IBUF + port map ( + I => X(11), + O => X_11_IBUF_20 + ); + X_10_IBUF : IBUF + port map ( + I => X(10), + O => X_10_IBUF_21 + ); + X_9_IBUF : IBUF + port map ( + I => X(9), + O => X_9_IBUF_22 + ); + X_8_IBUF : IBUF + port map ( + I => X(8), + O => X_8_IBUF_23 + ); + X_7_IBUF : IBUF + port map ( + I => X(7), + O => X_7_IBUF_24 + ); + X_6_IBUF : IBUF + port map ( + I => X(6), + O => X_6_IBUF_25 + ); + X_5_IBUF : IBUF + port map ( + I => X(5), + O => X_5_IBUF_26 + ); + X_4_IBUF : IBUF + port map ( + I => X(4), + O => X_4_IBUF_27 + ); + X_3_IBUF : IBUF + port map ( + I => X(3), + O => X_3_IBUF_28 + ); + X_2_IBUF : IBUF + port map ( + I => X(2), + O => X_2_IBUF_29 + ); + X_1_IBUF : IBUF + port map ( + I => X(1), + O => X_1_IBUF_30 + ); + X_0_IBUF : IBUF + port map ( + I => X(0), + O => X_0_IBUF_31 + ); + Y_31_IBUF : IBUF + port map ( + I => Y(31), + O => Y_31_IBUF_32 + ); + Y_30_IBUF : IBUF + port map ( + I => Y(30), + O => Y_30_IBUF_33 + ); + Y_29_IBUF : IBUF + port map ( + I => Y(29), + O => Y_29_IBUF_34 + ); + Y_28_IBUF : IBUF + port map ( + I => Y(28), + O => Y_28_IBUF_35 + ); + Y_27_IBUF : IBUF + port map ( + I => Y(27), + O => Y_27_IBUF_36 + ); + Y_26_IBUF : IBUF + port map ( + I => Y(26), + O => Y_26_IBUF_37 + ); + Y_25_IBUF : IBUF + port map ( + I => Y(25), + O => Y_25_IBUF_38 + ); + Y_24_IBUF : IBUF + port map ( + I => Y(24), + O => Y_24_IBUF_39 + ); + Y_23_IBUF : IBUF + port map ( + I => Y(23), + O => Y_23_IBUF_40 + ); + Y_22_IBUF : IBUF + port map ( + I => Y(22), + O => Y_22_IBUF_41 + ); + Y_21_IBUF : IBUF + port map ( + I => Y(21), + O => Y_21_IBUF_42 + ); + Y_20_IBUF : IBUF + port map ( + I => Y(20), + O => Y_20_IBUF_43 + ); + Y_19_IBUF : IBUF + port map ( + I => Y(19), + O => Y_19_IBUF_44 + ); + Y_18_IBUF : IBUF + port map ( + I => Y(18), + O => Y_18_IBUF_45 + ); + Y_17_IBUF : IBUF + port map ( + I => Y(17), + O => Y_17_IBUF_46 + ); + Y_16_IBUF : IBUF + port map ( + I => Y(16), + O => Y_16_IBUF_47 + ); + Y_15_IBUF : IBUF + port map ( + I => Y(15), + O => Y_15_IBUF_48 + ); + Y_14_IBUF : IBUF + port map ( + I => Y(14), + O => Y_14_IBUF_49 + ); + Y_13_IBUF : IBUF + port map ( + I => Y(13), + O => Y_13_IBUF_50 + ); + Y_12_IBUF : IBUF + port map ( + I => Y(12), + O => Y_12_IBUF_51 + ); + Y_11_IBUF : IBUF + port map ( + I => Y(11), + O => Y_11_IBUF_52 + ); + Y_10_IBUF : IBUF + port map ( + I => Y(10), + O => Y_10_IBUF_53 + ); + Y_9_IBUF : IBUF + port map ( + I => Y(9), + O => Y_9_IBUF_54 + ); + Y_8_IBUF : IBUF + port map ( + I => Y(8), + O => Y_8_IBUF_55 + ); + Y_7_IBUF : IBUF + port map ( + I => Y(7), + O => Y_7_IBUF_56 + ); + Y_6_IBUF : IBUF + port map ( + I => Y(6), + O => Y_6_IBUF_57 + ); + Y_5_IBUF : IBUF + port map ( + I => Y(5), + O => Y_5_IBUF_58 + ); + Y_4_IBUF : IBUF + port map ( + I => Y(4), + O => Y_4_IBUF_59 + ); + Y_3_IBUF : IBUF + port map ( + I => Y(3), + O => Y_3_IBUF_60 + ); + Y_2_IBUF : IBUF + port map ( + I => Y(2), + O => Y_2_IBUF_61 + ); + Y_1_IBUF : IBUF + port map ( + I => Y(1), + O => Y_1_IBUF_62 + ); + Y_0_IBUF : IBUF + port map ( + I => Y(0), + O => Y_0_IBUF_63 + ); + isNaN_OBUF : OBUF + port map ( + I => isNaN_OBUF_64, + O => isNaN + ); + isZero_OBUF : OBUF + port map ( + I => isZero_OBUF_65, + O => isZero + ); + ZC_isZero_wg_lut_10_Q : LUT6 + generic map( + INIT => X"9009000000009009" + ) + port map ( + I0 => X_8_IBUF_23, + I1 => Y_8_IBUF_55, + I2 => X_31_IBUF_0, + I3 => Y_31_IBUF_32, + I4 => X_11_IBUF_20, + I5 => Y_11_IBUF_52, + O => ZC_isZero_wg_lut(10) + ); + NC_isNan13 : LUT6 + generic map( + INIT => X"EEEECCCCAAAA0880" + ) + port map ( + I0 => NC_yCheck_G_compute_G_tmp, + I1 => NC_isNan1_92, + I2 => X_31_IBUF_0, + I3 => Y_31_IBUF_32, + I4 => NC_isNan11_102, + I5 => NC_isNan6_97, + O => isNaN_OBUF_64 + ); + +end Structure; + diff --git a/par_usage_statistics.html b/par_usage_statistics.html new file mode 100644 index 0000000..fe3b913 --- /dev/null +++ b/par_usage_statistics.html @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Par Statistics
Total Non-vccgnd Signals=82
Total Non-vccgnd Design Pins=146
Total Non-vccgnd Conns=146
Total Non-vccgnd Timing Constrained Conns=0
Phase 1 CPU=2.5 sec
Phase 2 CPU=2.6 sec
Phase 3 CPU=2.7 sec
Phase 4 CPU=2.9 sec
Phase 5 CPU=3.0 sec
Phase 6 CPU=3.0 sec
Phase 7 CPU=3.0 sec
Phase 8 CPU=3.0 sec
Phase 9 CPU=3.0 sec
Phase 10 CPU=3.1 sec
AvgWirelenPerPin Fanout 1=5.0
AvgWirelenPerPin Fanout 2=27.0
AvgWirelenPerPin Fanout 3=0.0
AvgWirelenPerPin Fanout 4=0.0
AvgWirelenPerPin Fanout 10=0.0
AvgWirelenPerPin Fanout 50=0.0
AvgWirelenPerPin Fanout 100=0.0
AvgWirelenPerPin Fanout 500=0.0
AvgWirelenPerPin Fanout 5000=0.0
AvgWirelenPerPin Fanout 20000=0.0
AvgWirelenPerPin Fanout 50000=0.0
AvgWirelenPerPin Fanout 100000=0.0
IRR Gamma=1.0163
diff --git a/pepExtractor.prj b/pepExtractor.prj new file mode 100644 index 0000000..9c4d36c --- /dev/null +++ b/pepExtractor.prj @@ -0,0 +1,5 @@ +work "EqualCheck.vhd" +work "NaNCheck.vhd" +work "SpecialCasesCheck.vhd" +work "TypeCheck.vhd" +work "ZeroCheck.vhd" diff --git a/usage_statistics_webtalk.html b/usage_statistics_webtalk.html new file mode 100644 index 0000000..48e6abf --- /dev/null +++ b/usage_statistics_webtalk.html @@ -0,0 +1,636 @@ +Device Usage Statistics Report + +

Device Usage Page (usage_statistics_webtalk.html)

This HTML page displays the device usage statistics that will be sent to Xilinx.
 

 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Software Version and Target Device
Product Version:ISE:14.7 (WebPack) - P.20131013Target Family:Automotive Spartan6
OS Platform:LIN64Target Device:xa6slx4
Project ID (random number)16dac8c534f94619ad7d275106e5c143.4B48FA10A560F77F46DA66FD7F346092.2Target Package:csg225
Registration ID211697841_0_0_919Target Speed:-3
Date Generated2019-08-24T10:52:30Tool FlowISE

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
User Environment
OS NameCentOSOS ReleaseCentOS release 6.10 (Final)
CPU NameIntel Core Processor (Haswell, no TSX)CPU Speed2494.222 MHz
CPU NameIntel Core Processor (Haswell, no TSX)CPU Speed2494.222 MHz
CPU NameIntel Core Processor (Haswell, no TSX)CPU Speed2494.222 MHz
CPU NameIntel Core Processor (Haswell, no TSX)CPU Speed2494.222 MHz
OS NameCentOSOS ReleaseCentOS release 6.10 (Final)
CPU NameIntel Core Processor (Haswell, no TSX)CPU Speed2494.222 MHz
CPU NameIntel Core Processor (Haswell, no TSX)CPU Speed2494.222 MHz
CPU NameIntel Core Processor (Haswell, no TSX)CPU Speed2494.222 MHz
CPU NameIntel Core Processor (Haswell, no TSX)CPU Speed2494.222 MHz

+ + + + + + + + + + + + +
Device Usage Statistics
Macro StatisticsMiscellaneous StatisticsNet StatisticsSite Usage
+Xors=2 +
    +
  • 1-bit xor2=1
  • +
  • 31-bit xor2=1
  • +
+
+
+MiscellaneousStatistics +
    +
  • AGG_BONDED_IO=66
  • +
  • AGG_IO=66
  • +
  • AGG_SLICE=10
  • +
  • NUM_BONDED_IOB=66
  • +
  • NUM_BSLUTONLY=26
  • +
  • NUM_BSUSED=26
  • +
  • NUM_LOGIC_O5ANDO6=1
  • +
  • NUM_LOGIC_O6ONLY=25
  • +
  • NUM_SLICEL=3
  • +
  • NUM_SLICEX=7
  • +
  • NUM_SLICE_CARRY4=3
  • +
  • NUM_SLICE_CYINIT=28
  • +
  • NUM_SLICE_UNUSEDCTRL=10
  • +
+
+
+NetStatistics +
    +
  • NumNets_Active=148
  • +
  • NumNets_Gnd=1
  • +
  • NumNets_Vcc=1
  • +
  • NumNodesOfType_Active_BOUNCEACROSS=1
  • +
  • NumNodesOfType_Active_BOUNCEIN=2
  • +
  • NumNodesOfType_Active_DOUBLE=155
  • +
  • NumNodesOfType_Active_GENERIC=130
  • +
  • NumNodesOfType_Active_INPUT=2
  • +
  • NumNodesOfType_Active_IOBIN2OUT=66
  • +
  • NumNodesOfType_Active_IOBOUTPUT=66
  • +
  • NumNodesOfType_Active_LUTINPUT=142
  • +
  • NumNodesOfType_Active_OUTBOUND=144
  • +
  • NumNodesOfType_Active_OUTPUT=19
  • +
  • NumNodesOfType_Active_PADINPUT=2
  • +
  • NumNodesOfType_Active_PADOUTPUT=64
  • +
  • NumNodesOfType_Active_PINBOUNCE=10
  • +
  • NumNodesOfType_Active_PINFEED=144
  • +
  • NumNodesOfType_Active_QUAD=399
  • +
  • NumNodesOfType_Active_SINGLE=123
  • +
  • NumNodesOfType_Gnd_BOUNCEIN=6
  • +
  • NumNodesOfType_Gnd_HGNDOUT=3
  • +
  • NumNodesOfType_Gnd_PINBOUNCE=10
  • +
  • NumNodesOfType_Gnd_REGINPUT=10
  • +
  • NumNodesOfType_Vcc_HVCCOUT=1
  • +
  • NumNodesOfType_Vcc_LUTINPUT=1
  • +
  • NumNodesOfType_Vcc_PINFEED=1
  • +
+
+SiteStatistics +
    +
  • IOB-IOBM=33
  • +
  • IOB-IOBS=33
  • +
  • SLICEL-SLICEM=3
  • +
  • SLICEX-SLICEM=4
  • +
+
+
+SiteSummary +
    +
  • CARRY4=3
  • +
  • HARD1=1
  • +
  • IOB=66
  • +
  • IOB_IMUX=64
  • +
  • IOB_INBUF=64
  • +
  • IOB_OUTBUF=2
  • +
  • LUT5=1
  • +
  • LUT6=26
  • +
  • PAD=66
  • +
  • SLICEL=3
  • +
  • SLICEX=7
  • +
+
+

+ + + + + +
Configuration Data
+IOB_OUTBUF +
    +
  • DRIVEATTRBOX=[12:2]
  • +
  • SLEW=[SLOW:2]
  • +
  • SUSPEND=[3STATE:2]
  • +
+
+ +

+ + + + + + + +
Pin Data
+CARRY4 +
    +
  • CIN=2
  • +
  • CO2=1
  • +
  • CO3=2
  • +
  • CYINIT=1
  • +
  • DI0=3
  • +
  • DI1=3
  • +
  • DI2=3
  • +
  • DI3=2
  • +
  • S0=3
  • +
  • S1=3
  • +
  • S2=3
  • +
  • S3=2
  • +
+
+HARD1 +
    +
  • 1=1
  • +
+
+IOB +
    +
  • I=64
  • +
  • O=2
  • +
  • PAD=66
  • +
+
+IOB_IMUX +
    +
  • I=64
  • +
  • OUT=64
  • +
+
+IOB_INBUF +
    +
  • OUT=64
  • +
  • PAD=64
  • +
+
+IOB_OUTBUF +
    +
  • IN=2
  • +
  • OUT=2
  • +
+
+ +LUT5 +
    +
  • O5=1
  • +
+
+LUT6 +
    +
  • A1=19
  • +
  • A2=22
  • +
  • A3=24
  • +
  • A4=26
  • +
  • A5=26
  • +
  • A6=26
  • +
  • O6=26
  • +
+
+PAD +
    +
  • PAD=66
  • +
+
+SLICEL +
    +
  • A1=2
  • +
  • A2=3
  • +
  • A3=3
  • +
  • A4=3
  • +
  • A5=3
  • +
  • A6=3
  • +
  • AX=2
  • +
  • B1=3
  • +
  • B2=3
  • +
  • B3=3
  • +
  • B4=3
  • +
  • B5=3
  • +
  • B6=3
  • +
  • BX=3
  • +
  • C1=3
  • +
  • C2=3
  • +
  • C3=3
  • +
  • C4=3
  • +
  • C5=3
  • +
  • C6=3
  • +
  • CIN=2
  • +
  • CMUX=1
  • +
  • COUT=2
  • +
  • CX=3
  • +
  • D1=2
  • +
  • D2=2
  • +
  • D3=2
  • +
  • D4=2
  • +
  • D5=2
  • +
  • D6=2
  • +
  • DX=2
  • +
+
+ +SLICEX +
    +
  • A=5
  • +
  • A1=3
  • +
  • A2=3
  • +
  • A3=5
  • +
  • A4=5
  • +
  • A5=5
  • +
  • A6=5
  • +
  • B=2
  • +
  • B2=1
  • +
  • B3=1
  • +
  • B4=2
  • +
  • B5=2
  • +
  • B6=2
  • +
  • C=4
  • +
  • C1=2
  • +
  • C2=3
  • +
  • C3=3
  • +
  • C4=4
  • +
  • C5=4
  • +
  • C6=4
  • +
  • D=4
  • +
  • D1=4
  • +
  • D2=4
  • +
  • D3=4
  • +
  • D4=4
  • +
  • D5=4
  • +
  • D6=4
  • +
+
+ +

+ + +
Tool Usage
Command Line History
    +
  • xst -intstyle ise -ifn <ise_file>
  • +
  • xst -intstyle ise -ifn <ise_file>
  • +
  • xst -intstyle ise -ifn <ise_file>
  • +
  • xst -intstyle ise -ifn <ise_file>
  • +
  • xst -intstyle ise -ifn <ise_file>
  • +
  • xst -intstyle ise -ifn <ise_file>
  • +
  • xst -intstyle ise -ifn <ise_file>
  • +
  • xst -intstyle ise -ifn <ise_file>
  • +
  • xst -intstyle ise -ifn <ise_file>
  • +
  • xst -intstyle ise -ifn <ise_file>
  • +
  • xst -intstyle ise -ifn <ise_file>
  • +
  • ngdbuild -intstyle ise -dd _ngo -nt timestamp -i -p xa6slx4-csg225-3 <fname>.ngc <fname>.ngd
  • +
  • map -intstyle ise -p xa6slx4-csg225-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o <fname>.ncd <fname>.ngd <fname>.pcf
  • +
  • par -w -intstyle ise -ol high -mt off <fname>.ncd <fname>.ncd <fname>.pcf
  • +
  • trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml <fname>.twx <fname>.ncd -o <fname>.twr <fname>.pcf
  • +
  • xst -intstyle ise -ifn <ise_file>
  • +
  • xst -intstyle ise -ifn <ise_file>
  • +
  • xst -intstyle ise -ifn <ise_file>
  • +
  • ngdbuild -intstyle ise -dd _ngo -nt timestamp -i -p xa6slx4-csg225-3 <fname>.ngc <fname>.ngd
  • +
  • map -intstyle ise -p xa6slx4-csg225-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o <fname>.ncd <fname>.ngd <fname>.pcf
  • +
  • par -w -intstyle ise -ol high -mt off <fname>.ncd <fname>.ncd <fname>.pcf
  • +
  • trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml <fname>.twx <fname>.ncd -o <fname>.twr <fname>.pcf
  • +
  • bitgen -intstyle ise -f <fname>.ut <fname>.ncd
  • +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Software Quality
Run Statistics
Program NameRuns StartedRuns FinishedErrorsFatal ErrorsInternal ErrorsExceptionsCore Dumps
bitgen1100000
map7700000
netgen1100000
ngcbuild1100000
ngdbuild7700000
obngc1100000
par7700000
trce7700000
xst313100000
+ + 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Project Statistics
PROP_Enable_Message_Filtering=falsePROP_FitterReportFormat=HTML
PROP_LastAppliedGoal=BalancedPROP_LastAppliedStrategy=Xilinx Default (unlocked)
PROP_ManualCompileOrderImp=falsePROP_PropSpecInProjFile=Store all values
PROP_Simulator=ISim (VHDL/Verilog)PROP_SynthTopFile=changed
PROP_Top_Level_Module_Type=HDLPROP_UseSmartGuide=false
PROP_UserBrowsedStrategyFiles=/opt/Xilinx/14.7/ISE_DS/ISE/spartan3/data/spartan3_runtime.xdsPROP_UserConstraintEditorPreference=Text Editor
PROP_intProjectCreationTimestamp=2019-08-17T16:51:15PROP_intWbtProjectID=4B48FA10A560F77F46DA66FD7F346092
PROP_intWbtProjectIteration=2PROP_intWorkingDirLocWRTProjDir=Same
PROP_intWorkingDirUsed=NoPROP_xilxBitgStart_IntDone=true
PROP_xilxSynthAddBufg_spartan6=32PROP_xstUseClockEnable_spartan6=Yes
PROP_xstUseSyncReset_spartan6=YesPROP_xstUseSyncSet_spartan6=Yes
PROPEXT_mapTimingMode_spartan6=Non Timing DrivenPROP_AutoTop=false
PROP_DevFamily=Automotive Spartan6PROP_DevDevice=xa6slx4
PROP_DevFamilyPMName=aspartan6PROP_DevPackage=csg225
PROP_Synthesis_Tool=XST (VHDL/Verilog)PROP_DevSpeed=-3
PROP_PreferredLanguage=VHDLFILE_VHDL=5

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Unisim Statistics
NGDBUILD_PRE_UNISIM_SUMMARY
NGDBUILD_NUM_GND=1NGDBUILD_NUM_IBUF=64NGDBUILD_NUM_LUT3=2NGDBUILD_NUM_LUT4=3
NGDBUILD_NUM_LUT5=2NGDBUILD_NUM_LUT6=19NGDBUILD_NUM_MUXCY=11NGDBUILD_NUM_OBUF=2
NGDBUILD_NUM_VCC=1
NGDBUILD_POST_UNISIM_SUMMARY
NGDBUILD_NUM_GND=1NGDBUILD_NUM_IBUF=64NGDBUILD_NUM_LUT3=2NGDBUILD_NUM_LUT4=3
NGDBUILD_NUM_LUT5=2NGDBUILD_NUM_LUT6=19NGDBUILD_NUM_MUXCY=11NGDBUILD_NUM_OBUF=2
NGDBUILD_NUM_VCC=1

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
XST Command Line Options
XST_OPTION_SUMMARY
-ifn=<fname>.prj-ofn=<design_top>-ofmt=NGC-p=xa6slx4-3-csg225
-top=<design_top>-opt_mode=Speed-opt_level=1-power=NO
-iuc=NO-keep_hierarchy=No-netlist_hierarchy=As_Optimized-rtlview=Yes
-glob_opt=AllClockNets-read_cores=YES-write_timing_constraints=NO-cross_clock_analysis=NO
-bus_delimiter=<>-slice_utilization_ratio=100-bram_utilization_ratio=100-dsp_utilization_ratio=100
-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
-shreg_extract=YES-rom_style=Auto-auto_bram_packing=NO-resource_sharing=YES
-async_to_sync=NO-use_dsp48=Auto-iobuf=YES-max_fanout=100000
-bufg=32-register_duplication=YES-register_balancing=No-optimize_primitives=NO
-use_clock_enable=Yes-use_sync_set=Yes-use_sync_reset=Yes-iob=Auto
-equivalent_register_removal=YES-slice_utilization_ratio_maxmargin=5

diff --git a/webtalk.log b/webtalk.log new file mode 100644 index 0000000..5f1da5f --- /dev/null +++ b/webtalk.log @@ -0,0 +1,16 @@ +Release 14.7 - WebTalk (P.20131013) +Copyright (c) 1995-2010 Xilinx, Inc. All rights reserved. + +Project Information +-------------------- +ProjectID=4B48FA10A560F77F46DA66FD7F346092 +ProjectIteration=2 + +WebTalk Summary +---------------- +INFO:WebTalk:1 - WebTalk is enabled because you are using a WebPACK license. + +INFO:WebTalk:8 - WebTalk Install setting is ON. +INFO:WebTalk:6 - WebTalk User setting is ON. + +INFO:WebTalk:5 - /home/Luca/ISE/IEEE754Adder/usage_statistics_webtalk.html WebTalk report has not been sent to Xilinx. Please check your network and proxy settings. For additional details about this file, please refer to the WebTalk help file at /opt/Xilinx/14.7/ISE_DS/ISE/data/reports/webtalk_introduction.html diff --git a/webtalk_pn.xml b/webtalk_pn.xml index e8c38e2..8c6b981 100644 --- a/webtalk_pn.xml +++ b/webtalk_pn.xml @@ -3,11 +3,11 @@ - +
- - + +
@@ -17,6 +17,7 @@ This means code written to parse this file will need to be revisited each subseq + @@ -25,15 +26,17 @@ This means code written to parse this file will need to be revisited each subseq + + - + @@ -41,7 +44,7 @@ This means code written to parse this file will need to be revisited each subseq - +
diff --git a/xilinxsim.ini b/xilinxsim.ini new file mode 100644 index 0000000..600496d --- /dev/null +++ b/xilinxsim.ini @@ -0,0 +1 @@ +work=isim/work diff --git a/xst/work/work.vdbl b/xst/work/work.vdbl index f0a1800fd4039d6417eff516f8603963828d526a..abcc5945779e26259f3cafdc7f501aa2a7e66f9a 100644 GIT binary patch literal 19981 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 Axc~qF delta 2467 zcmb7FZD?C%6wb}fO_MF@NA68OliV~()1~_3Gln?ZCDs~Yz+%vnni>|d8Bu%!}6nzJ?u{QY`L5(61fMEijE06Ky?CeYLIGaVM;^QyI%7__cY41w4m;3U9oRm(-A2M8lbt>4y(bS$xU!_dh^!DJ{DO&?V))5Lv z^xwn^ZhFFt2Jt95iusAhPN+_dAnQ~YR_4Ag=JQSKKE~EfKD=lUTbItp{H&`h(+WEm z3__EJ^nSdX;gjjmC?!*(oqN&N3^v6!|3DNObdLRaH-nrB{+G3%g^HPw*T~Ae7|}4f zj#$lfT4Kkj0a*f}@GJV;3K zhj6AE0tZP>m-FZ8eVSZ`0`TE6KQ{mUG1W=U?&W}xO_u&o`$l$Sd;5%UW@A`sGfO)2 zRW=Eqd;Lx(VtQRG=?%=6EUXiHPj!h~EYWE}tr1#a#ivRwh^G@3f_ul~!cl0=g_{bm zh{C%8a>NG@)RPizu?SB*l82Z5DJGsG6HgJvGYy#;8{G95;o8gzc%lCz9la>ZG1{;M z_QLY@PPt97w{ETP;y!5vfw_PxSU?LXx)685dx7I@ktD=Ugo{wg&tMBfaOR|qi6^xY zVNdNWemyk|g-6G|L{5Xm&7wch3+Y9sHux?SbdvN^Kx3Z7(BPhjHm?m@lU+g^EDQt( z7&9XI5YVt;>RB{2#MUbxlyCZRh;U`LARR%B0x6VjH_V0O@Lbpi55gn%G4%H^l;f1z z%Pf5A)VpQW^>F@_I){z#waaa4WRt6MgOk2j8mQ^pJfInD%G}^G%>XE`O12qPLMV#= zdX<)J5aCYI6R{wR9SKOTX zE|W%-0&9_J*qw5~PZ6(`ig$_dZZsyy@IhRLpQ8(c!mQV0Pr>E5SEj#g;lg9Nit8)ACj!C-EN4Aa zEQH}E1&~j{-QX(2kqv}riSS$61ROEiJ6%#Znr-Y-b$x^W3`BPj(4;Wj$p&$&x4kO+ kU}#+$uEGjt@O1O=bIeTioF)VoWPmH}UDUDciX23c1E$p9(SMQwL`)D!fz4dlv9O`B Uy`cqY_`(Mc5Xt{QAOv(K0N;8k*Z=?k delta 63 zcmZ3@*uW?vlq1i~#=x+E0SKN{$uo24m`6+$G3Mg{@_jr!-8}pq{bvYGY>*asp#)OH K!0;akK)L{@01uA<