From 63b6b29d6c1e944e690d15f292015d58d4e71e19 Mon Sep 17 00:00:00 2001 From: Foussats Morgane Date: Tue, 25 May 2021 12:53:25 +0200 Subject: [PATCH] Ready for demo --- compiler/Makefile | 2 +- compiler/analyse_syntaxique.y | 20 +- compiler/code_c | 11 +- compiler/compiler | Bin 46944 -> 46944 bytes compiler/memory_oriented_assembly.txt | 22 +- interpreter/interpreter | Bin 37080 -> 37080 bytes interpreter/interpreter_input.txt | 22 +- interpreter/src/instructions.c | 2 +- xilinx/ALU/ALU.gise | 8 +- xilinx/ALU/bm_instr.vhd | 18 +- xilinx/ALU/fuse.log | 12 +- xilinx/ALU/iseconfig/ALU.projectmgr | 14 +- xilinx/ALU/iseconfig/processeur.xreport | 2 +- xilinx/ALU/isim.log | 42 + xilinx/ALU/isim/isim_usage_statistics.html | 10 +- .../ieee/p_1242562249.didat | Bin 8516 -> 8516 bytes .../ieee/p_2592010699.didat | Bin 5844 -> 5844 bytes .../ieee/p_3499444699.didat | Bin 4332 -> 4332 bytes .../ieee/p_3620187407.didat | Bin 2264 -> 2264 bytes .../ISimEngine-DesignHierarchy.dbg | Bin 19887 -> 20042 bytes .../ISimEngine-DesignHierarchy1.dbg | Bin 19887 -> 0 bytes .../isimkernel.log | 26 +- .../process_test_isim_beh.exe.sim/netId.dat | Bin 636 -> 860 bytes .../process_test_isim_beh.exe.sim/netId1.dat | Bin 28 -> 0 bytes .../process_test_isim_beh.exe | Bin 254384 -> 254464 bytes .../process_test_isim_beh.exe.sim/tmp_save/_1 | Bin 132679 -> 132798 bytes .../work/a_0832606739_3212880686.didat | Bin 7452 -> 7452 bytes .../work/a_1229531095_2372691052.didat | Bin 3596 -> 3596 bytes .../work/a_1466808984_3212880686.didat | Bin 5956 -> 5956 bytes .../work/a_1802466774_3212880686.c | 2 +- .../work/a_1802466774_3212880686.didat | Bin 11612 -> 11612 bytes .../work/a_1802466774_3212880686.lin64.o | Bin 3048 -> 3048 bytes .../work/a_3650175700_3212880686.didat | Bin 4376 -> 4376 bytes .../work/a_3998322972_3212880686.didat | Bin 5172 -> 5172 bytes .../work/a_4150868852_3212880686.c | 1186 +++++++++-------- .../work/a_4150868852_3212880686.didat | Bin 23632 -> 24108 bytes .../work/a_4150868852_3212880686.lin64.o | Bin 15248 -> 15960 bytes xilinx/ALU/isim/work/alu.vdb | Bin 7331 -> 7331 bytes xilinx/ALU/isim/work/bm_data.vdb | Bin 5103 -> 5103 bytes xilinx/ALU/isim/work/bm_instr.vdb | Bin 4033 -> 4303 bytes xilinx/ALU/isim/work/br.vdb | Bin 6251 -> 6251 bytes xilinx/ALU/isim/work/pipeline.vdb | Bin 4185 -> 4185 bytes xilinx/ALU/isim/work/process_test.vdb | Bin 3201 -> 3201 bytes xilinx/ALU/isim/work/processeur.vdb | Bin 31218 -> 31923 bytes xilinx/ALU/process_test_isim_beh.wdb | Bin 210954 -> 215802 bytes xilinx/ALU/processeur.vhd | 12 +- xilinx/ALU/processeur_summary.html | 8 +- xilinx/ALU/tests/demo.wcfg | 253 ++++ 48 files changed, 1088 insertions(+), 584 deletions(-) delete mode 100644 xilinx/ALU/isim/process_test_isim_beh.exe.sim/ISimEngine-DesignHierarchy1.dbg delete mode 100644 xilinx/ALU/isim/process_test_isim_beh.exe.sim/netId1.dat create mode 100644 xilinx/ALU/tests/demo.wcfg diff --git a/compiler/Makefile b/compiler/Makefile index 0960ff6..9bdc446 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -6,7 +6,7 @@ compiler: analyse_lexicale.lex analyse_syntaxique.y table_symboles.c table_fonct gcc -w *.c -ly -o compiler run: compiler - ./compiler < code_c + ./compiler < code_c clean: rm -f lex.yy.c compiler analyse_syntaxique.output analyse_syntaxique.tab.c analyse_syntaxique.tab.h \ No newline at end of file diff --git a/compiler/analyse_syntaxique.y b/compiler/analyse_syntaxique.y index 09c1d7c..4e287b7 100644 --- a/compiler/analyse_syntaxique.y +++ b/compiler/analyse_syntaxique.y @@ -175,26 +175,26 @@ While : tWHILE tPO { $1 = array.index; } tAO {table.depth++;} Instructions tAF {remove_symboles(&table); table.depth--;} { + generate_instruction_1(&array, JMP, $2); int adr_jmp = array.index; update_jmf(&array, $1, adr_jmp); - generate_instruction_1(&array, JMP, $2); }; -Cond : E tEGAL E {generate_instruction_3(&array, EQ, $1, $1, $3); free_temp(&table); $$ = $3;}; -Cond : E tDIFF E {generate_instruction_3(&array, NEQ, $1, $1, $3); free_temp(&table); $$ = $3;} ; -Cond : E tLT E {generate_instruction_3(&array, LT, $1, $1, $3); free_temp(&table); $$ = $3;} ; -Cond : E tGT E {generate_instruction_3(&array, GT, $1, $1, $3); free_temp(&table); $$ = $3;} ; -Cond : E tLTE E {generate_instruction_3(&array, LTE, $1, $1, $3); free_temp(&table); $$ = $3;} ; -Cond : E tGTE E {generate_instruction_3(&array, GTE, $1, $1, $3); free_temp(&table); $$ = $3;} ; -Cond : E tAND E {generate_instruction_3(&array, AND, $1, $1, $3); free_temp(&table); $$ = $3;} ; -Cond : E tOR E {generate_instruction_3(&array, OR, $1, $1, $3); free_temp(&table); $$ = $3;} ; +Cond : E tEGAL E {generate_instruction_3(&array, EQ, $1, $1, $3); free_temp(&table); $$ = $1;}; +Cond : E tDIFF E {generate_instruction_3(&array, NEQ, $1, $1, $3); free_temp(&table); $$ = $1;} ; +Cond : E tLT E {generate_instruction_3(&array, LT, $1, $1, $3); free_temp(&table); $$ = $1;} ; +Cond : E tGT E {generate_instruction_3(&array, GT, $1, $1, $3); free_temp(&table); $$ = $1;} ; +Cond : E tLTE E {generate_instruction_3(&array, LTE, $1, $1, $3); free_temp(&table); $$ = $1;} ; +Cond : E tGTE E {generate_instruction_3(&array, GTE, $1, $1, $3); free_temp(&table); $$ = $1;} ; +Cond : E tAND E {generate_instruction_3(&array, AND, $1, $1, $3); free_temp(&table); $$ = $1;} ; +Cond : E tOR E {generate_instruction_3(&array, OR, $1, $1, $3); free_temp(&table); $$ = $1;} ; Cond : tNOT Cond {generate_instruction_2(&array, NOT, $2, $2); $$ = $2;} ; Cond : E {$$ = $1; }; Invocation : tVAR tPO {table.depth++; prepare_function_call(&table); return_value = (table.indexAvailableBottom);} Args tPF {int function_index = function_exists(&table_fonctions, $1); int jmp_addr = (table_fonctions.array[function_index]).start_addr; - generate_instruction_2(&array, CALL, jmp_addr, table.indexAvailableTop); + generate_instruction_2(&array, CALL, jmp_addr, table.indexAvailableTop-1); $$ = return_value; }; diff --git a/compiler/code_c b/compiler/code_c index e6b09ee..d8f7d78 100644 --- a/compiler/code_c +++ b/compiler/code_c @@ -9,8 +9,17 @@ int main(){ int a = 7; int * pointeur = &a; int c = fonction1(pointeur); + if(c==2){ + printf(c); + printf(*pointeur); + } + else{ + c=a+2; + } + while (c!=5){ + c = c+1; + } printf(c); - printf(*pointeur); return 0; } diff --git a/compiler/compiler b/compiler/compiler index b766d79ad9728c75cbc42aab0fca8784dd873576..a246372cab5f1f0cbf5ce03cf0b8a2e59ef3daa1 100755 GIT binary patch delta 13947 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 delta 13899 zcmZu&34Bb~_kVBXMS?7rF_|P}B1DvkEeN6sMn*~{wn|G;Th*^x6-8SH5lo-7I91C} z)mlpz)u=|R6-$LyHCk;cB~*3hM_XEL={EoGdH23a%)j&boO_n^FR zwSK>j7yb`F>o9~cp(=k!`{O}&WrA>+8Dy_Z8^Ub%h7w&Igf^vHQZ)T zmFTu0v;(yV+F7DyL1;G`6K<+Lf~F*vN~z zUXd18kpB*4~EX@P@h(uF@&?&Sl!WRC7 zL@~<|nB|CQ`wVGu1^GWs^&@TJZix=3sqlA2M%x!j%fmtbI!%qV*_TRmW)Ql9HUM2C z(ZxaNdO8Voi$qrip*u*8!g`bFwjgvjwFkOaqGdtoVHyMUm_&~Tp(kh=(9a}#ItV>S z2cm42OA|}Kj(S*&`ro~Z;wp)lX0XiRrTNzGYTS4CDazH_t`hAM1eZShmdkU}gc%ga+-17U2-e;s%)Pe}aE!B$+zg4c1M(CTi zkFw))qMt>K*9~70wVzhS->ded@8grzffU)Kb(qRYOVXdC>?TjCiL|dtlKMVXHR&7H zEZ+b&P}`>pPYh2qrLgqSgLG2HnnI~|JWz`G(M-Pe}`Ggn`5DBf?oGX5mQqH@)v zJqp3Mx1NC)Ajtb}wjmE-IkzYK=CZFBzS-N0Yl$nyIeh#W4m zTxHpt$yvPTWtIyNe68VIp+!IL;1(*rctcg8T3C&sV~$qtm%BqeUzZ&ZJ?3CP#rLV9 z?uKeOmP6IGY}Dc@⁣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 - + @@ -104,7 +104,7 @@ - + @@ -124,7 +124,7 @@ - + @@ -139,7 +139,7 @@ - + diff --git a/xilinx/ALU/bm_instr.vhd b/xilinx/ALU/bm_instr.vhd index fb4057e..610779a 100644 --- a/xilinx/ALU/bm_instr.vhd +++ b/xilinx/ALU/bm_instr.vhd @@ -34,35 +34,43 @@ architecture Behavioral of bm_instr is type mem is array (0 to 255) of STD_LOGIC_VECTOR(31 downto 0); -- instruction "00000110 00000001 00000110 00000000" --test afc -signal instr_memory: mem := (1 => "00000110000000010000001000000000", others =>"00000000000000000000000000000000"); +--signal instr_memory: mem := (1 => "00000110000000010000001000000000", others =>"00000000000000000000000000000000"); --test afc cop --signal instr_memory: mem := (1 => "00000110000000010000011000000000", 6 =>"00000101000000100000000100000000", others =>"00000000000000000000000000000000"); + --test afc cop alea --signal instr_memory: mem := (1 => "00000110000000010000011000000000", 2 =>"00000101000000100000000100000000", others =>"00000000000000000000000000000000"); + --test add --signal instr_memory: mem := (1 => "00000110000000010000011000000000", 2 => "00000110000000100000000100000000", 10 =>"00000001000000110000000100000010", others =>"00000000000000000000000000000000"); + --test add alea --signal instr_memory: mem := (1 => "00000110000000010000011000000000", 2 => "00000110000000100000000100000000", 3 =>"00000001000000110000000100000010", others =>"00000000000000000000000000000000"); ---test sub +--test sub --signal instr_memory: mem := (1 => "00000110000000010000011000000000", 2 => "00000110000000100000000100000000", 10 =>"00000011000000110000000100000010", others =>"00000000000000000000000000000000"); --test mul - --signal instr_memory: mem := (1 => "00000110000000010000011000000000", 2 => "00000110000000100000000100000000", 10 =>"00000010000000110000000100000010", others =>"00000000000000000000000000000000"); --test store - --signal instr_memory: mem := (1 => "00000110000000010000011000000000", 10 => "00001000000000000000000100000000", others =>"00000000000000000000000000000000"); --test store alea --signal instr_memory: mem := (1 => "00000110000000010000011000000000", 2 => "00001000000000000000000100000000", others =>"00000000000000000000000000000000"); --test load - --signal instr_memory: mem := (1 => "00000110000000010000011000000000", 6 => "00001000000000000000000100000000", 15 => "00000111000000110000000000000000", others =>"00000000000000000000000000000000"); +-- test demo +-- AFC 0 6 0 +-- COP 1 0 0 +-- ADD 2 0 1 +-- STORE 0 2 0 +-- LOAD 3 0 0 +signal instr_memory: mem := (1 => "00000110000000000000011000000000", 2 =>"00000101000000010000000000000000", 3 => "00000001000000100000000000000001", + 4 => "00001000000000000000001000000000", 5 => "00000111000000110000000000000000", others =>"00000000000000000000000000000000"); begin diff --git a/xilinx/ALU/fuse.log b/xilinx/ALU/fuse.log index c467397..bb6b548 100644 --- a/xilinx/ALU/fuse.log +++ b/xilinx/ALU/fuse.log @@ -1,7 +1,7 @@ Running: /usr/local/insa/Xilinx.ISE/13.4/ISE_DS/ISE/bin/lin64/unwrapped/fuse -relaunch -intstyle "ise" -incremental -lib "secureip" -o "/home/foussats/Bureau/projet_system/projet_systeme/xilinx/ALU/process_test_isim_beh.exe" -prj "/home/foussats/Bureau/projet_system/projet_systeme/xilinx/ALU/process_test_beh.prj" "work.process_test" ISim O.87xd (signature 0x8ddf5b5d) -Number of CPUs detected in this system: 12 -Turning on mult-threading, number of parallel sub-compilation jobs: 24 +Number of CPUs detected in this system: 8 +Turning on mult-threading, number of parallel sub-compilation jobs: 16 Determining compilation order of HDL files Parsing VHDL file "/home/foussats/Bureau/projet_system/projet_systeme/xilinx/ALU/pipeline.vhd" into library work Parsing VHDL file "/home/foussats/Bureau/projet_system/projet_systeme/xilinx/ALU/br.vhd" into library work @@ -13,7 +13,7 @@ Parsing VHDL file "/home/foussats/Bureau/projet_system/projet_systeme/xilinx/ALU Starting static elaboration Completed static elaboration Fuse Memory Usage: 98520 KB -Fuse CPU Usage: 840 ms +Fuse CPU Usage: 870 ms Compiling package standard Compiling package std_logic_1164 Compiling package std_logic_arith @@ -30,6 +30,6 @@ Time Resolution for simulation is 1ps. Waiting for 1 sub-compilation(s) to finish... Compiled 18 VHDL Units Built simulation executable /home/foussats/Bureau/projet_system/projet_systeme/xilinx/ALU/process_test_isim_beh.exe -Fuse Memory Usage: 1723384 KB -Fuse CPU Usage: 980 ms -GCC CPU Usage: 110 ms +Fuse Memory Usage: 1198968 KB +Fuse CPU Usage: 1010 ms +GCC CPU Usage: 250 ms diff --git a/xilinx/ALU/iseconfig/ALU.projectmgr b/xilinx/ALU/iseconfig/ALU.projectmgr index 3ce4206..b9cac02 100644 --- a/xilinx/ALU/iseconfig/ALU.projectmgr +++ b/xilinx/ALU/iseconfig/ALU.projectmgr @@ -9,13 +9,13 @@ 2 - processeur - Behavioral (/home/foussats/Bureau/projet_system/projet_systeme/xilinx/ALU/processeur.vhd) + data_memory - bm_data - Behavioral (/home/foussats/Bureau/projet_system/projet_systeme/xilinx/ALU/bm.vhd) 0 0 - 000000ff000000000000000100000001000000000000000000000000000000000202000000010000000100000064000001e4000000020000000000000000000000000200000064ffffffff000000810000000300000002000001e40000000100000003000000000000000100000003 + 000000ff000000000000000100000001000000000000000000000000000000000202000000010000000100000064000001c5000000020000000000000000000000000200000064ffffffff000000810000000300000002000001c50000000100000003000000000000000100000003 true - processeur - Behavioral (/home/foussats/Bureau/projet_system/projet_systeme/xilinx/ALU/processeur.vhd) + data_memory - bm_data - Behavioral (/home/foussats/Bureau/projet_system/projet_systeme/xilinx/ALU/bm.vhd) @@ -50,7 +50,7 @@ 0 0 - 000000ff00000000000000010000000000000000010000000000000000000000000000000000000148000000010001000100000000000000000000000064ffffffff000000810000000000000001000001480000000100000000 + 000000ff00000000000000010000000000000000010000000000000000000000000000000000000132000000010001000100000000000000000000000064ffffffff000000810000000000000001000001320000000100000000 false work @@ -85,7 +85,7 @@ 0 0 - 000000ff000000000000000100000001000000000000000000000000000000000202000000010000000100000064000001f8000000020000000000000000000000000200000064ffffffff000000810000000300000002000001f80000000100000003000000000000000100000003 + 000000ff000000000000000100000001000000000000000000000000000000000202000000010000000100000064000001d9000000020000000000000000000000000200000064ffffffff000000810000000300000002000001d90000000100000003000000000000000100000003 true process_test - behavior (/home/foussats/Bureau/projet_system/projet_systeme/xilinx/ALU/process_test.vhd) @@ -94,13 +94,13 @@ 1 - + 0 0 000000ff00000000000000010000000100000000000000000000000000000000000000000000000176000000010000000100000000000000000000000064ffffffff000000810000000000000001000001760000000100000000 false - + diff --git a/xilinx/ALU/iseconfig/processeur.xreport b/xilinx/ALU/iseconfig/processeur.xreport index 0981d4a..df56cbd 100644 --- a/xilinx/ALU/iseconfig/processeur.xreport +++ b/xilinx/ALU/iseconfig/processeur.xreport @@ -1,7 +1,7 @@

- 2021-05-18T16:14:30 + 2021-05-25T10:06:35 processeur Unknown /home/foussats/Bureau/projet_system/projet_systeme/xilinx/ALU/iseconfig/processeur.xreport diff --git a/xilinx/ALU/isim.log b/xilinx/ALU/isim.log index 69c11ff..005380c 100644 --- a/xilinx/ALU/isim.log +++ b/xilinx/ALU/isim.log @@ -115,4 +115,46 @@ at 0 ps, Instance /process_test/uut/banc_registres/ : Warning: NUMERIC_STD.TO_IN at 5 ns(1), Instance /process_test/uut/data_memory/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 at 15 ns(1), Instance /process_test/uut/data_memory/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 at 25 ns(1), Instance /process_test/uut/data_memory/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +ISim O.87xd (signature 0x8ddf5b5d) +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. +# run 1000 ns +Simulator is doing circuit initialization process. +at 0 ps, Instance /process_test/uut/banc_registres/ : Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es). +Finished circuit initialization process. +at 0 ps, Instance /process_test/uut/banc_registres/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +at 0 ps, Instance /process_test/uut/banc_registres/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +at 5 ns(1), Instance /process_test/uut/data_memory/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +at 15 ns(1), Instance /process_test/uut/data_memory/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +at 25 ns(1), Instance /process_test/uut/data_memory/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +ISim O.87xd (signature 0x8ddf5b5d) +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. +# run 1000 ns +Simulator is doing circuit initialization process. +at 0 ps, Instance /process_test/uut/banc_registres/ : Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es). +Finished circuit initialization process. +at 0 ps, Instance /process_test/uut/banc_registres/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +at 0 ps, Instance /process_test/uut/banc_registres/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +at 5 ns(1), Instance /process_test/uut/data_memory/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +at 15 ns(1), Instance /process_test/uut/data_memory/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +at 25 ns(1), Instance /process_test/uut/data_memory/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +ISim O.87xd (signature 0x8ddf5b5d) +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. +# run 1000 ns +Simulator is doing circuit initialization process. +at 0 ps, Instance /process_test/uut/banc_registres/ : Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es). +Finished circuit initialization process. +at 0 ps, Instance /process_test/uut/banc_registres/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +at 0 ps, Instance /process_test/uut/banc_registres/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +at 5 ns(1), Instance /process_test/uut/data_memory/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +at 15 ns(1), Instance /process_test/uut/data_memory/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 +at 25 ns(1), Instance /process_test/uut/data_memory/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0 # exit 0 diff --git a/xilinx/ALU/isim/isim_usage_statistics.html b/xilinx/ALU/isim/isim_usage_statistics.html index be08e85..21d4ecb 100644 --- a/xilinx/ALU/isim/isim_usage_statistics.html +++ b/xilinx/ALU/isim/isim_usage_statistics.html @@ -2,14 +2,14 @@ ISim Statistics Xilinx HDL Libraries Used=ieee -Fuse Resource Usage=980 ms, 1723384 KB +Fuse Resource Usage=1010 ms, 1198968 KB -Total Signals=121 -Total Nets=10703 +Total Signals=122 +Total Nets=10704 Total Blocks=14 -Total Processes=36 +Total Processes=37 Total Simulation Time=1 us -Simulation Resource Usage=0.03 sec, 264171 KB +Simulation Resource Usage=0.08 sec, 264175 KB Simulation Mode=gui Hardware CoSim=0 diff --git a/xilinx/ALU/isim/precompiled.exe.sim/ieee/p_1242562249.didat b/xilinx/ALU/isim/precompiled.exe.sim/ieee/p_1242562249.didat index c8d812ba98788cea4df10acc6a6b5ae94824af8b..06ef6b3cb2eb115ddde1c6a530ca4384bc800432 100644 GIT binary patch delta 39 xcmV+?0NDS;Lc~G`U0dIc&C#r}2PFs$44F)t{C@xd^q5SVvjGEa0kfnDpch!a5GDWs delta 39 ucmX@&bi|20Hu`?A&zZ#=*;P4sa^`o~{i|nS2m#WY8JTk!H!tB_APxXUNDn3e diff --git a/xilinx/ALU/isim/precompiled.exe.sim/ieee/p_2592010699.didat b/xilinx/ALU/isim/precompiled.exe.sim/ieee/p_2592010699.didat index d65ad9e8648aa8090ec35fc68a41e24b1ad71c55..2be44f672f0f372bd6cf4a9fd92cfb00a493c9fb 100644 GIT binary patch delta 168 zcmcbjdqtN$Hu`?=*^6s7vYT?5D9koxVq#!mkYr?FXvnl+Vg|Amf$Rn47ECNawlKPcm%KPb9fb`@CTr#Kv9NcIE2IvA2Xabu* NGUYICe#7&E69BSyGLrxR diff --git a/xilinx/ALU/isim/precompiled.exe.sim/ieee/p_3499444699.didat b/xilinx/ALU/isim/precompiled.exe.sim/ieee/p_3499444699.didat index 1da5dba95fbbf445faa447ac3d3f37c294720576..9388802390f6cc914bb72ca5dabf2e8530752688 100644 GIT binary patch delta 73 zcmaE(_(qXEHu`?=*^6s7vhQT);hE_(>rXuc!f8`uGhp&SAL delta 73 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 mhI~@UC->wN$Avub69YFfv`-4{^dHTm literal 19887 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 McwNZWMW1i~U+bvOg8%>k diff --git a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/ISimEngine-DesignHierarchy1.dbg b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/ISimEngine-DesignHierarchy1.dbg deleted file mode 100644 index 91cda93063e43c4af9e99c455b18a7f8978b52ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19887 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 diff --git a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/isimkernel.log b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/isimkernel.log index 86c6e6a..a350c3f 100644 --- a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/isimkernel.log +++ b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/isimkernel.log @@ -2,28 +2,28 @@ Command line: process_test_isim_beh.exe -simmode gui -simrunnum 0 - -socket 37953 + -socket 42185 -Tue May 18 16:16:44 2021 +Tue May 25 12:30:38 2021 - Elaboration Time: 0.01 sec + Elaboration Time: 0.03 sec - Current Memory Usage: 189.723 Meg + Current Memory Usage: 189.727 Meg - Total Signals : 121 - Total Nets : 10703 - Total Signal Drivers : 49 + Total Signals : 122 + Total Nets : 10704 + Total Signal Drivers : 50 Total Blocks : 14 Total Primitive Blocks : 12 - Total Processes : 36 + Total Processes : 37 Total Traceable Variables : 16 - Total Scalar Nets and Variables : 11205 -Total Line Count : 92 + Total Scalar Nets and Variables : 11206 +Total Line Count : 93 - Total Simulation Time: 0.03 sec + Total Simulation Time: 0.08 sec - Current Memory Usage: 265.224 Meg + Current Memory Usage: 265.228 Meg -Tue May 18 16:20:51 2021 +Tue May 25 12:52:51 2021 diff --git a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/netId.dat b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/netId.dat index 2d79219d0c4fac30d985f54b5b1866e26bdfbe03..465edda1854b76d6015221eba5336a3aeb79cfc1 100644 GIT binary patch literal 860 zcmZ9KODKd<7>3Vi60>5GqNK6WATg^UDRyoP7K(*pg%x(}r0m#;719(**tsVoO(V%| z<(37qu#%l@JYVykjklh@?>U$MKY#y;JLlTK(hdRWfK;V(b5u(fLRz5{Hcdzu^uV?W>4kncGa(_!hm;8^h6toh zND!HVos7C}sy%N{-bc0PUCRA=uH^naH}WvG2=3(mefRPK>JU82hpD6REFYte!;5@^ zItj0GKmY!3{zJY?-G?vv6V>(x1DOH;{%pB_e~#SF{Qx2PH~kOf$rtFCAS|DzpMe7T zEWO=@LV1#(pN10oA#?$*T-P-`~Cod CGEd?F literal 636 zcmZ9JzbnLX7{?!XQf|1ojg94UF2x{hYz_nE%5ueaHp;KnV51}kVYs?WS1gxwDH0aR zV7Rc_{QMWZp6>lw?x|Pr&+GenKA&&j=bJXO3GkYPCYXZzUb9)!D*~;s4!^JhU$6?_ zum(S{0e`RyUg6wcU9FoOg(G>2?1w|S@Atroe1IH=l6;IDhf{fmoQAS|hMa>(dFX$V zhyG`Ig6x2re1Xivt9+4Mf_M2c>E9UfAyJ{fMgGFGH)xiJ^KtnBd&kfw-(tND3Hc7| zeMmL*ryKhF1%LHkjB6Yk`lBx?TyU^r(0 diff --git a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/netId1.dat b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/netId1.dat deleted file mode 100644 index f395b6972d1f8da4cdb33c785f40fb5a8593ee35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 acmZQ(U|{eDVi52FVn!hL1>z&x3=9AgJptGN diff --git a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/process_test_isim_beh.exe b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/process_test_isim_beh.exe index e7c07617a83cd24893e035b726c71d8d98860b3e..0c15812c33ecceca8028885ebf614a250a9f8b83 100755 GIT binary patch delta 40637 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 delta 40503 zcmZ`?3w)2&|9`&Ecbl2ZHpX{z-R3rP+g!3-H`kHaq>@yVND><=`r&KMHMgw?2T>yx zB{sKFVk?D`OfGXDp&@Ldgngg?`#k6K8J_-qUoYOz=lwqSbDrBd=lN{vZvU+B{L_O2 zwLY5li&dZ{XEgrIFSL%+GDGWRoM>LYu$t1Mj6lcCux;CQ%e3R_N-ET9W4q(0pwUAw zepRK?iw%GKKQ@qEx!Rly1He7U&AON@|Qv z4KNa+M)p&I<85j`BNggvqz<&H^Nnn%iHR!i2%9?5I0tpy(@LFSQ`Z}TRa_xEo>S^9 zn|i^BgL>u#r7p3lAw~++MlUOMjZN)mtc2QYxKg*-)M-XO)b~d!b+1jWXE>_5jI2Q4 zzyh1Hz=*Eu3W*=1;uYD{uZt(Dqy00%$b)+PEu{wA)R9IB z)Fadb5jORx5f!QZj4R6Xe2@{n55KroBEoO3f1JkwW&vpY^cwqs<all~I>DxnFaoQ&LK-J1b(T#%Y{Wr*dZtpB*wn|36sSjMDRqraZDFj0`V^(S&8B{D z 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

-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 diff --git a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/tmp_save/_1 b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/tmp_save/_1 index 6b6e6b4fa363125391d275cfd4d7f1d7f76ff661..f2fb8dc064af136f18f281a21afca7a1b0d98a8c 100644 GIT binary patch delta 1213 zcmcJP&rcIU6vy|??nv8>QbNHWfl>sFwiJpIZH+{ML_}(!L6i%S0*QcFuwaaaLyf_B z(1iM8))T20jm8AY#_RzDCdMB@)`)GClfUj>{0p2JS8Bt_L?@Y@d7pXneLu3huWr~D zZ`x+I!R7hwT`;0bIpaT?m^5qfG_Av4nuo=7Y z?~;#^kYdIB>s9|mmx&kn^*wBg4TvYRycUtyi4T`-^@Y_NxL@#^4ZIdl*bmVF;~rdv z3Y@o3@2Io9$hzuYMkJ3UVbW2B(+($}vP@)5sbwJJU3Dva&ZxzBU(Hu!cA_U7F3_K; z&2GKJOH;6qHKQJvmScF*taBg82_T9IT1W!GsW%U~8@8>S!uFM_q9fTewj*pxQX}s! zhSGuZCT4MoY_`og1Tbtia6NjI@dPH^A+-${Pg7Idiw=3NT9w zTZnZUL+=+bV0y4J-O6+ecoxu!Bk2G>N*~M@<*awETLc-%^rJtsAAe+8P|qBuJxtA+ zyi!QOiC?Qbq4#$+&?o#O9~wkb{X8l6fED{!g+hNYn~uKaqYHR_!Lt@*J!CsRM%m2m z&AA*R{9-&L9pnBOH7oVh+UGp|))(rzy#jHO#)L>?a^uwt7Ghn|76I96KW_;y;v-_FaKHpljDC6Mw2bpilxYjF%K51giME kZY(%pd=m!1$#;*5;hTl9YK)dZTf*?pLg|pvUI3Hu6G%qLp#T5? delta 1192 zcmcIjOK1~O6rDRClSwGrAErfWOp{oniA@P6fHp( zxyb86A=tebN9;mcp$I~ZSWK!}2(~*xga+ISzWW+GhAhzkA{ z?SSjqmSZq%lm1-)rNU+1k1vXDd|LG35xD^qax=bC2JstzZZ33!9m|$IMpEgKd$r$g z{xWgktz5|HT6a(0NQ&F|2EG-bNXv&oJ=D0JXVv%)f%|Ll0LPm!rFUpM`I!@!p&dW# zcUn6uo${J;kRy^)k}zoZV8&*%Dl#oaF@p9w00kFpEk@Y>xXrlX(=yOSPVr`L+C@fI zWrWEvFGaGZ9HCa&EeKEECU83MfxVc?ci?#5UvKuxoGD3BKGi0guQygvGCg)zA%eM2 zi0>EifRTNdQsAH{4vE-9bAevUy?wRp{t9Fc_%OBNt`E<}CmyJn3E@=1Z$Db;mH=?B z5X0NKARNcZVn22lhj69nhZDSN=2;L&7UMX$sNxSxy-+$SbQ?Zi!HDkn4%J#2uCX#A z-r$TNMn9E8=A?M5biPW0kkKkcbYCE{mY`FN>2718^u=P#E@@7Y>BEy)~CW2*u+LvaDj(S zs?ZJrX7I<>Fu%$Q=O<1lNk-?}gvgad|8|)DRG}3j%%Q;)JY!i6Tx~BoRpp2Au~QSo wqx&ZIdS1MqDQhqwgPU$V3p@hrOu`CZtus80+KqgvY~jQB{_nyBkaRl!3#$|UIsgCw diff --git a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_0832606739_3212880686.didat b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_0832606739_3212880686.didat index 4eb95f1e2ce835fac0f33b427b894cc17ba5c897..89d9bf641aaf5a860131e50e71b946b81da5db2b 100644 GIT binary patch delta 97 zcmbPZHOGoQHu`?=*^6s7vQK1T{4@C>i}2(%EGA%5*ZNjlSP|_Trk2>^qqm|4cr}><%V{H_Nch;$)WjQ8;-gZ!iFHT@dB~ delta 41 ucmeB?>5*ZNjlSROb7t{I_MOa(|0W+~b_bKfn`KyLaWV%^44b@@Hy8k3Y7h

H{+S%e;tnQ-C$C{K0kR&l^fUh1T*%tb#8^0)kwcxe ou%3Z|Y2rlT%?=zUj66IueP;auihP;jGix&=TMpyqH(U`s0O$iB{r~^~ delta 88 zcmX@2cSMgpHu`?A&zZ#=**#ep|4j~LaR-yalh?4A09g-N`WgRiE@bUzVho$i$f3>} mR?on|G;yNvW(N)vMxLDc9d`eKA|XI}Gb39L|P diff --git a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_1802466774_3212880686.c b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_1802466774_3212880686.c index 0600382..6b3ffe8 100644 --- a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_1802466774_3212880686.c +++ b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_1802466774_3212880686.c @@ -45,7 +45,7 @@ static void work_a_1802466774_3212880686_p_0(char *t0) char *t14; char *t15; -LAB0: xsi_set_current_line(67, ng0); +LAB0: xsi_set_current_line(72, ng0); LAB3: t1 = (t0 + 1512U); t2 = *((char **)t1); diff --git a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_1802466774_3212880686.didat b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_1802466774_3212880686.didat index 0e870ab0b66c4ecc23132ac65d2ff4c5194fab42..74bb0d4e1a2145fa128113ed76f4e3e1c5cdf02b 100644 GIT binary patch delta 182 zcmcZ;btj5FHu`?=*^6s7vU{>H{+S%e;tnQ-S=pHw7@Q|>WQk_<*v!jn%*0r@*^%9v zk%wod&#XW73=Cgp_{`d@$eP2*%gX=(j6lj`Gb7hJCMI*E$s2hlPd4Ed5M%-aW+r9` tgNb>vBCog{lm`=p$}vGyF;9->Q{ZN1hACp+T*$XXZgK+en#rQN?f_g)Bq9I+ delta 120 zcmcZ;btj5FHu`?A&zZ#=**#ep|4j~LaR-yatn5q-43?8OvP3gFZ{}q+W?~H6?8t7- z$dfa_!|q=_149Uq-mJ))!^q3a00E3Z%6T&**E%L9GxNzCc_uS5Z{Ei%!Z>*~FaPA_ QyuzFB^Uji+EUN1c0I^CUYXATM diff --git a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_1802466774_3212880686.lin64.o b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_1802466774_3212880686.lin64.o index 9f0b3a385ef5806476d8526dabe71f363ad47b89..936f50cd4716466390bcf701d8bb4e8cb9744b75 100644 GIT binary patch delta 12 TcmaDM{z80$KcmOSfEnBXBF+TM delta 12 TcmaDM{z80$Kcn-;fEnBXBDDm@ diff --git a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_3650175700_3212880686.didat b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_3650175700_3212880686.didat index 7f21f6817bda259f1c6441669c5cfae9fe953c76..6f22b8a04a1982afdbbb21a06863df7668c18e41 100644 GIT binary patch delta 63 zcmbQCG((9!Hu`?=*^6s7vL9q&{4-gQRe16p78Axln*~|dGcy)WKFFaCBwvC_K~8n1 Q!urV@8O1gSaGqcX01){WzW@LL delta 63 zcmbQCG((9!Hu`?A&zZ#=*$=WX{+lewDm?iPiwWbu&4R4!nHj?-ALLL6k}tueAg4N0 QSpDRUjAEMuI8U$x0P71C$N&HU diff --git a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_3998322972_3212880686.didat b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_3998322972_3212880686.didat index a7f58df97121f6a622232e86e765be3ba497f138..b031d0122ee65dd2272d674c5305ce14f1fd8636 100644 GIT binary patch delta 99 zcmdm@u|^) r9^_JIDy*Npkx^_DcL*a7&rF|Lf9e?+zRd8MwKzj_9S5Foudkv)fT^BLX@HULBWBcT8Q diff --git a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_4150868852_3212880686.c b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_4150868852_3212880686.c index 09c37d9..f08da49 100644 --- a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_4150868852_3212880686.c +++ b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_4150868852_3212880686.c @@ -99,11 +99,11 @@ static void work_a_4150868852_3212880686_p_0(char *t0) char *t73; char *t74; -LAB0: xsi_set_current_line(175, ng0); +LAB0: xsi_set_current_line(176, ng0); t7 = (t0 + 4872U); t8 = *((char **)t7); - t7 = (t0 + 22008U); - t9 = (t0 + 22435); + t7 = (t0 + 22664U); + t9 = (t0 + 23092); t12 = (t11 + 0U); t13 = (t12 + 0U); *((int *)t13) = 0; @@ -122,8 +122,8 @@ LAB0: xsi_set_current_line(175, ng0); LAB21: t13 = (t0 + 4872U); t17 = *((char **)t13); - t13 = (t0 + 22008U); - t18 = (t0 + 22443); + t13 = (t0 + 22664U); + t18 = (t0 + 23100); t21 = (t20 + 0U); t22 = (t21 + 0U); *((int *)t22) = 0; @@ -144,8 +144,8 @@ LAB22: if (t6 == 1) LAB18: t22 = (t0 + 4872U); t25 = *((char **)t22); - t22 = (t0 + 22008U); - t26 = (t0 + 22451); + t22 = (t0 + 22664U); + t26 = (t0 + 23108); t29 = (t28 + 0U); t30 = (t29 + 0U); *((int *)t30) = 0; @@ -166,8 +166,8 @@ LAB19: if (t5 == 1) LAB15: t30 = (t0 + 4872U); t33 = *((char **)t30); - t30 = (t0 + 22008U); - t34 = (t0 + 22459); + t30 = (t0 + 22664U); + t34 = (t0 + 23116); t37 = (t36 + 0U); t38 = (t37 + 0U); *((int *)t38) = 0; @@ -188,8 +188,8 @@ LAB16: if (t4 == 1) LAB12: t38 = (t0 + 4872U); t41 = *((char **)t38); - t38 = (t0 + 22008U); - t42 = (t0 + 22467); + t38 = (t0 + 22664U); + t42 = (t0 + 23124); t45 = (t44 + 0U); t46 = (t45 + 0U); *((int *)t46) = 0; @@ -210,8 +210,8 @@ LAB13: if (t3 == 1) LAB9: t46 = (t0 + 4872U); t49 = *((char **)t46); - t46 = (t0 + 22008U); - t50 = (t0 + 22475); + t46 = (t0 + 22664U); + t50 = (t0 + 23132); t53 = (t52 + 0U); t54 = (t53 + 0U); *((int *)t54) = 0; @@ -232,8 +232,8 @@ LAB10: if (t2 == 1) LAB6: t54 = (t0 + 4872U); t57 = *((char **)t54); - t54 = (t0 + 22008U); - t58 = (t0 + 22483); + t54 = (t0 + 22664U); + t58 = (t0 + 23140); t61 = (t60 + 0U); t62 = (t61 + 0U); *((int *)t62) = 0; @@ -253,7 +253,7 @@ LAB7: if (t1 != 0) goto LAB3; LAB4: -LAB23: t69 = (t0 + 12896); +LAB23: t69 = (t0 + 13320); t70 = (t69 + 56U); t71 = *((char **)t70); t72 = (t71 + 56U); @@ -261,11 +261,11 @@ LAB23: t69 = (t0 + 12896); *((unsigned char *)t73) = (unsigned char)2; xsi_driver_first_trans_fast(t69); -LAB2: t74 = (t0 + 12608); +LAB2: t74 = (t0 + 13016); *((int *)t74) = 1; LAB1: return; -LAB3: t62 = (t0 + 12896); +LAB3: t62 = (t0 + 13320); t65 = (t62 + 56U); t66 = *((char **)t65); t67 = (t66 + 56U); @@ -394,7 +394,7 @@ static void work_a_4150868852_3212880686_p_1(char *t0) char *t100; char *t101; -LAB0: xsi_set_current_line(179, ng0); +LAB0: xsi_set_current_line(180, ng0); t6 = (t0 + 1992U); t7 = *((char **)t6); t8 = (31 - 31); @@ -413,7 +413,7 @@ LAB0: xsi_set_current_line(179, ng0); t15 = (t15 + 1); t13 = (t12 + 12U); *((unsigned int *)t13) = t15; - t13 = (t0 + 22491); + t13 = (t0 + 23148); t18 = (t17 + 0U); t19 = (t18 + 0U); *((int *)t19) = 0; @@ -448,7 +448,7 @@ LAB18: t19 = (t0 + 1992U); t29 = (t29 + 1); t27 = (t26 + 12U); *((unsigned int *)t27) = t29; - t27 = (t0 + 22499); + t27 = (t0 + 23156); t32 = (t31 + 0U); t33 = (t32 + 0U); *((int *)t33) = 0; @@ -485,7 +485,7 @@ LAB15: t33 = (t0 + 1992U); t43 = (t43 + 1); t41 = (t40 + 12U); *((unsigned int *)t41) = t43; - t41 = (t0 + 22507); + t41 = (t0 + 23164); t46 = (t45 + 0U); t47 = (t46 + 0U); *((int *)t47) = 0; @@ -522,7 +522,7 @@ LAB12: t47 = (t0 + 1992U); t57 = (t57 + 1); t55 = (t54 + 12U); *((unsigned int *)t55) = t57; - t55 = (t0 + 22515); + t55 = (t0 + 23172); t60 = (t59 + 0U); t61 = (t60 + 0U); *((int *)t61) = 0; @@ -559,7 +559,7 @@ LAB9: t61 = (t0 + 1992U); t71 = (t71 + 1); t69 = (t68 + 12U); *((unsigned int *)t69) = t71; - t69 = (t0 + 22523); + t69 = (t0 + 23180); t74 = (t73 + 0U); t75 = (t74 + 0U); *((int *)t75) = 0; @@ -596,7 +596,7 @@ LAB6: t75 = (t0 + 1992U); t85 = (t85 + 1); t83 = (t82 + 12U); *((unsigned int *)t83) = t85; - t83 = (t0 + 22531); + t83 = (t0 + 23188); t88 = (t87 + 0U); t89 = (t88 + 0U); *((int *)t89) = 0; @@ -616,7 +616,7 @@ LAB7: if (t1 != 0) goto LAB3; LAB4: -LAB20: t96 = (t0 + 12960); +LAB20: t96 = (t0 + 13384); t97 = (t96 + 56U); t98 = *((char **)t97); t99 = (t98 + 56U); @@ -624,11 +624,11 @@ LAB20: t96 = (t0 + 12960); *((unsigned char *)t100) = (unsigned char)2; xsi_driver_first_trans_fast(t96); -LAB2: t101 = (t0 + 12624); +LAB2: t101 = (t0 + 13032); *((int *)t101) = 1; LAB1: return; -LAB3: t89 = (t0 + 12960); +LAB3: t89 = (t0 + 13384); t92 = (t89 + 56U); t93 = *((char **)t92); t94 = (t93 + 56U); @@ -726,7 +726,7 @@ static void work_a_4150868852_3212880686_p_2(char *t0) char *t70; char *t71; -LAB0: xsi_set_current_line(181, ng0); +LAB0: xsi_set_current_line(182, ng0); t4 = (t0 + 1992U); t5 = *((char **)t4); t6 = (31 - 31); @@ -745,7 +745,7 @@ LAB0: xsi_set_current_line(181, ng0); t13 = (t13 + 1); t11 = (t10 + 12U); *((unsigned int *)t11) = t13; - t11 = (t0 + 22539); + t11 = (t0 + 23196); t16 = (t15 + 0U); t17 = (t16 + 0U); *((int *)t17) = 0; @@ -780,7 +780,7 @@ LAB12: t17 = (t0 + 1992U); t27 = (t27 + 1); t25 = (t24 + 12U); *((unsigned int *)t25) = t27; - t25 = (t0 + 22547); + t25 = (t0 + 23204); t30 = (t29 + 0U); t31 = (t30 + 0U); *((int *)t31) = 0; @@ -817,7 +817,7 @@ LAB9: t31 = (t0 + 1992U); t41 = (t41 + 1); t39 = (t38 + 12U); *((unsigned int *)t39) = t41; - t39 = (t0 + 22555); + t39 = (t0 + 23212); t44 = (t43 + 0U); t45 = (t44 + 0U); *((int *)t45) = 0; @@ -854,7 +854,7 @@ LAB6: t45 = (t0 + 1992U); t55 = (t55 + 1); t53 = (t52 + 12U); *((unsigned int *)t53) = t55; - t53 = (t0 + 22563); + t53 = (t0 + 23220); t58 = (t57 + 0U); t59 = (t58 + 0U); *((int *)t59) = 0; @@ -874,7 +874,7 @@ LAB7: if (t1 != 0) goto LAB3; LAB4: -LAB14: t66 = (t0 + 13024); +LAB14: t66 = (t0 + 13448); t67 = (t66 + 56U); t68 = *((char **)t67); t69 = (t68 + 56U); @@ -882,11 +882,11 @@ LAB14: t66 = (t0 + 13024); *((unsigned char *)t70) = (unsigned char)2; xsi_driver_first_trans_fast(t66); -LAB2: t71 = (t0 + 12640); +LAB2: t71 = (t0 + 13048); *((int *)t71) = 1; LAB1: return; -LAB3: t59 = (t0 + 13024); +LAB3: t59 = (t0 + 13448); t62 = (t59 + 56U); t63 = *((char **)t62); t64 = (t63 + 56U); @@ -909,6 +909,129 @@ LAB15: goto LAB2; } static void work_a_4150868852_3212880686_p_3(char *t0) +{ + char t7[16]; + char t13[16]; + char t21[16]; + unsigned char t1; + char *t2; + char *t3; + unsigned int t4; + unsigned int t5; + unsigned int t6; + char *t8; + char *t9; + int t10; + unsigned int t11; + char *t14; + char *t15; + int t16; + unsigned char t17; + char *t18; + char *t19; + char *t22; + char *t23; + int t24; + unsigned char t25; + char *t26; + char *t27; + char *t28; + char *t29; + char *t30; + char *t31; + char *t32; + char *t33; + char *t34; + char *t35; + +LAB0: xsi_set_current_line(184, ng0); + t2 = (t0 + 1992U); + t3 = *((char **)t2); + t4 = (31 - 31); + t5 = (t4 * 1U); + t6 = (0 + t5); + t2 = (t3 + t6); + t8 = (t7 + 0U); + t9 = (t8 + 0U); + *((int *)t9) = 31; + t9 = (t8 + 4U); + *((int *)t9) = 24; + t9 = (t8 + 8U); + *((int *)t9) = -1; + t10 = (24 - 31); + t11 = (t10 * -1); + t11 = (t11 + 1); + t9 = (t8 + 12U); + *((unsigned int *)t9) = t11; + t9 = (t0 + 23228); + t14 = (t13 + 0U); + t15 = (t14 + 0U); + *((int *)t15) = 0; + t15 = (t14 + 4U); + *((int *)t15) = 7; + t15 = (t14 + 8U); + *((int *)t15) = 1; + t16 = (7 - 0); + t11 = (t16 * 1); + t11 = (t11 + 1); + t15 = (t14 + 12U); + *((unsigned int *)t15) = t11; + t17 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t2, t7, t9, t13); + if (t17 == 1) + goto LAB5; + +LAB6: t1 = (unsigned char)0; + +LAB7: if (t1 != 0) + goto LAB3; + +LAB4: +LAB8: t30 = (t0 + 13512); + t31 = (t30 + 56U); + t32 = *((char **)t31); + t33 = (t32 + 56U); + t34 = *((char **)t33); + *((unsigned char *)t34) = (unsigned char)2; + xsi_driver_first_trans_fast(t30); + +LAB2: t35 = (t0 + 13064); + *((int *)t35) = 1; + +LAB1: return; +LAB3: t23 = (t0 + 13512); + t26 = (t23 + 56U); + t27 = *((char **)t26); + t28 = (t27 + 56U); + t29 = *((char **)t28); + *((unsigned char *)t29) = (unsigned char)3; + xsi_driver_first_trans_fast(t23); + goto LAB2; + +LAB5: t15 = (t0 + 2152U); + t18 = *((char **)t15); + t15 = (t0 + 22456U); + t19 = (t0 + 23236); + t22 = (t21 + 0U); + t23 = (t22 + 0U); + *((int *)t23) = 0; + t23 = (t22 + 4U); + *((int *)t23) = 7; + t23 = (t22 + 8U); + *((int *)t23) = 1; + t24 = (7 - 0); + t11 = (t24 * 1); + t11 = (t11 + 1); + t23 = (t22 + 12U); + *((unsigned int *)t23) = t11; + t25 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t18, t15, t19, t21); + t1 = t25; + goto LAB7; + +LAB9: goto LAB2; + +} + +static void work_a_4150868852_3212880686_p_4(char *t0) { char t10[16]; char t19[16]; @@ -972,11 +1095,11 @@ static void work_a_4150868852_3212880686_p_3(char *t0) char *t66; char *t67; -LAB0: xsi_set_current_line(196, ng0); +LAB0: xsi_set_current_line(199, ng0); t6 = (t0 + 2152U); t7 = *((char **)t6); - t6 = (t0 + 21800U); - t8 = (t0 + 22571); + t6 = (t0 + 22456U); + t8 = (t0 + 23244); t11 = (t10 + 0U); t12 = (t11 + 0U); *((int *)t12) = 0; @@ -995,8 +1118,8 @@ LAB0: xsi_set_current_line(196, ng0); LAB18: t12 = (t0 + 2152U); t16 = *((char **)t12); - t12 = (t0 + 21800U); - t17 = (t0 + 22579); + t12 = (t0 + 22456U); + t17 = (t0 + 23252); t20 = (t19 + 0U); t21 = (t20 + 0U); *((int *)t21) = 0; @@ -1017,8 +1140,8 @@ LAB19: if (t5 == 1) LAB15: t21 = (t0 + 2152U); t24 = *((char **)t21); - t21 = (t0 + 21800U); - t25 = (t0 + 22587); + t21 = (t0 + 22456U); + t25 = (t0 + 23260); t28 = (t27 + 0U); t29 = (t28 + 0U); *((int *)t29) = 0; @@ -1039,8 +1162,8 @@ LAB16: if (t4 == 1) LAB12: t29 = (t0 + 2152U); t32 = *((char **)t29); - t29 = (t0 + 21800U); - t33 = (t0 + 22595); + t29 = (t0 + 22456U); + t33 = (t0 + 23268); t36 = (t35 + 0U); t37 = (t36 + 0U); *((int *)t37) = 0; @@ -1061,8 +1184,8 @@ LAB13: if (t3 == 1) LAB9: t37 = (t0 + 2152U); t40 = *((char **)t37); - t37 = (t0 + 21800U); - t41 = (t0 + 22603); + t37 = (t0 + 22456U); + t41 = (t0 + 23276); t44 = (t43 + 0U); t45 = (t44 + 0U); *((int *)t45) = 0; @@ -1083,8 +1206,8 @@ LAB10: if (t2 == 1) LAB6: t45 = (t0 + 2152U); t48 = *((char **)t45); - t45 = (t0 + 21800U); - t49 = (t0 + 22611); + t45 = (t0 + 22456U); + t49 = (t0 + 23284); t52 = (t51 + 0U); t53 = (t52 + 0U); *((int *)t53) = 0; @@ -1106,7 +1229,7 @@ LAB7: if (t1 != 0) LAB4: LAB20: t61 = (t0 + 2472U); t62 = *((char **)t61); - t61 = (t0 + 13088); + t61 = (t0 + 13576); t63 = (t61 + 56U); t64 = *((char **)t63); t65 = (t64 + 56U); @@ -1114,13 +1237,13 @@ LAB20: t61 = (t0 + 2472U); memcpy(t66, t62, 8U); xsi_driver_first_trans_fast(t61); -LAB2: t67 = (t0 + 12656); +LAB2: t67 = (t0 + 13080); *((int *)t67) = 1; LAB1: return; LAB3: t53 = (t0 + 1512U); t56 = *((char **)t53); - t53 = (t0 + 13088); + t53 = (t0 + 13576); t57 = (t53 + 56U); t58 = *((char **)t57); t59 = (t58 + 56U); @@ -1148,7 +1271,7 @@ LAB21: goto LAB2; } -static void work_a_4150868852_3212880686_p_4(char *t0) +static void work_a_4150868852_3212880686_p_5(char *t0) { char t5[16]; char t21[16]; @@ -1198,11 +1321,11 @@ static void work_a_4150868852_3212880686_p_4(char *t0) char *t53; char *t54; -LAB0: xsi_set_current_line(213, ng0); +LAB0: xsi_set_current_line(216, ng0); t1 = (t0 + 2792U); t2 = *((char **)t1); - t1 = (t0 + 21864U); - t3 = (t0 + 22619); + t1 = (t0 + 22520U); + t3 = (t0 + 23292); t6 = (t5 + 0U); t7 = (t6 + 0U); *((int *)t7) = 0; @@ -1221,8 +1344,8 @@ LAB0: xsi_set_current_line(213, ng0); LAB4: t17 = (t0 + 2792U); t18 = *((char **)t17); - t17 = (t0 + 21864U); - t19 = (t0 + 22630); + t17 = (t0 + 22520U); + t19 = (t0 + 23303); t22 = (t21 + 0U); t23 = (t22 + 0U); *((int *)t23) = 0; @@ -1241,8 +1364,8 @@ LAB4: t17 = (t0 + 2792U); LAB6: t32 = (t0 + 2792U); t33 = *((char **)t32); - t32 = (t0 + 21864U); - t34 = (t0 + 22641); + t32 = (t0 + 22520U); + t34 = (t0 + 23314); t37 = (t36 + 0U); t38 = (t37 + 0U); *((int *)t38) = 0; @@ -1260,8 +1383,8 @@ LAB6: t32 = (t0 + 2792U); goto LAB7; LAB8: -LAB9: t47 = (t0 + 22652); - t49 = (t0 + 13152); +LAB9: t47 = (t0 + 23325); + t49 = (t0 + 13640); t50 = (t49 + 56U); t51 = *((char **)t50); t52 = (t51 + 56U); @@ -1269,12 +1392,12 @@ LAB9: t47 = (t0 + 22652); memcpy(t53, t47, 3U); xsi_driver_first_trans_fast(t49); -LAB2: t54 = (t0 + 12672); +LAB2: t54 = (t0 + 13096); *((int *)t54) = 1; LAB1: return; -LAB3: t7 = (t0 + 22627); - t12 = (t0 + 13152); +LAB3: t7 = (t0 + 23300); + t12 = (t0 + 13640); t13 = (t12 + 56U); t14 = *((char **)t13); t15 = (t14 + 56U); @@ -1283,8 +1406,8 @@ LAB3: t7 = (t0 + 22627); xsi_driver_first_trans_fast(t12); goto LAB2; -LAB5: t23 = (t0 + 22638); - t27 = (t0 + 13152); +LAB5: t23 = (t0 + 23311); + t27 = (t0 + 13640); t28 = (t27 + 56U); t29 = *((char **)t28); t30 = (t29 + 56U); @@ -1293,8 +1416,8 @@ LAB5: t23 = (t0 + 22638); xsi_driver_first_trans_fast(t27); goto LAB2; -LAB7: t38 = (t0 + 22649); - t42 = (t0 + 13152); +LAB7: t38 = (t0 + 23322); + t42 = (t0 + 13640); t43 = (t42 + 56U); t44 = *((char **)t43); t45 = (t44 + 56U); @@ -1307,7 +1430,7 @@ LAB10: goto LAB2; } -static void work_a_4150868852_3212880686_p_5(char *t0) +static void work_a_4150868852_3212880686_p_6(char *t0) { char t6[16]; char t15[16]; @@ -1337,11 +1460,11 @@ static void work_a_4150868852_3212880686_p_5(char *t0) char *t28; char *t29; -LAB0: xsi_set_current_line(218, ng0); +LAB0: xsi_set_current_line(221, ng0); t2 = (t0 + 2152U); t3 = *((char **)t2); - t2 = (t0 + 21800U); - t4 = (t0 + 22655); + t2 = (t0 + 22456U); + t4 = (t0 + 23328); t7 = (t6 + 0U); t8 = (t7 + 0U); *((int *)t8) = 0; @@ -1360,8 +1483,8 @@ LAB0: xsi_set_current_line(218, ng0); LAB6: t8 = (t0 + 2152U); t12 = *((char **)t8); - t8 = (t0 + 21800U); - t13 = (t0 + 22663); + t8 = (t0 + 22456U); + t13 = (t0 + 23336); t16 = (t15 + 0U); t17 = (t16 + 0U); *((int *)t17) = 0; @@ -1381,7 +1504,7 @@ LAB7: if (t1 != 0) goto LAB3; LAB4: -LAB8: t24 = (t0 + 13216); +LAB8: t24 = (t0 + 13704); t25 = (t24 + 56U); t26 = *((char **)t25); t27 = (t26 + 56U); @@ -1389,11 +1512,11 @@ LAB8: t24 = (t0 + 13216); *((unsigned char *)t28) = (unsigned char)3; xsi_driver_first_trans_fast(t24); -LAB2: t29 = (t0 + 12688); +LAB2: t29 = (t0 + 13112); *((int *)t29) = 1; LAB1: return; -LAB3: t17 = (t0 + 13216); +LAB3: t17 = (t0 + 13704); t20 = (t17 + 56U); t21 = *((char **)t20); t22 = (t21 + 56U); @@ -1409,7 +1532,7 @@ LAB9: goto LAB2; } -static void work_a_4150868852_3212880686_p_6(char *t0) +static void work_a_4150868852_3212880686_p_7(char *t0) { char t7[16]; char t16[16]; @@ -1449,11 +1572,11 @@ static void work_a_4150868852_3212880686_p_6(char *t0) char *t39; char *t40; -LAB0: xsi_set_current_line(232, ng0); +LAB0: xsi_set_current_line(235, ng0); t3 = (t0 + 2792U); t4 = *((char **)t3); - t3 = (t0 + 21864U); - t5 = (t0 + 22671); + t3 = (t0 + 22520U); + t5 = (t0 + 23344); t8 = (t7 + 0U); t9 = (t8 + 0U); *((int *)t9) = 0; @@ -1472,8 +1595,8 @@ LAB0: xsi_set_current_line(232, ng0); LAB9: t9 = (t0 + 2792U); t13 = *((char **)t9); - t9 = (t0 + 21864U); - t14 = (t0 + 22679); + t9 = (t0 + 22520U); + t14 = (t0 + 23352); t17 = (t16 + 0U); t18 = (t17 + 0U); *((int *)t18) = 0; @@ -1494,8 +1617,8 @@ LAB10: if (t2 == 1) LAB6: t18 = (t0 + 2792U); t21 = *((char **)t18); - t18 = (t0 + 21864U); - t22 = (t0 + 22687); + t18 = (t0 + 22520U); + t22 = (t0 + 23360); t25 = (t24 + 0U); t26 = (t25 + 0U); *((int *)t26) = 0; @@ -1517,7 +1640,7 @@ LAB7: if (t1 != 0) LAB4: LAB11: t34 = (t0 + 3112U); t35 = *((char **)t34); - t34 = (t0 + 13280); + t34 = (t0 + 13768); t36 = (t34 + 56U); t37 = *((char **)t36); t38 = (t37 + 56U); @@ -1525,13 +1648,13 @@ LAB11: t34 = (t0 + 3112U); memcpy(t39, t35, 8U); xsi_driver_first_trans_fast(t34); -LAB2: t40 = (t0 + 12704); +LAB2: t40 = (t0 + 13128); *((int *)t40) = 1; LAB1: return; LAB3: t26 = (t0 + 6152U); t29 = *((char **)t26); - t26 = (t0 + 13280); + t26 = (t0 + 13768); t30 = (t26 + 56U); t31 = *((char **)t30); t32 = (t31 + 56U); @@ -1550,75 +1673,6 @@ LAB12: goto LAB2; } -static void work_a_4150868852_3212880686_p_7(char *t0) -{ - char t5[16]; - char *t1; - char *t2; - char *t3; - char *t6; - char *t7; - int t8; - unsigned int t9; - unsigned char t10; - char *t11; - char *t12; - char *t13; - char *t14; - char *t15; - char *t16; - char *t17; - char *t18; - char *t19; - char *t20; - -LAB0: xsi_set_current_line(250, ng0); - t1 = (t0 + 4392U); - t2 = *((char **)t1); - t1 = (t0 + 21960U); - t3 = (t0 + 22695); - t6 = (t5 + 0U); - t7 = (t6 + 0U); - *((int *)t7) = 0; - t7 = (t6 + 4U); - *((int *)t7) = 7; - t7 = (t6 + 8U); - *((int *)t7) = 1; - t8 = (7 - 0); - t9 = (t8 * 1); - t9 = (t9 + 1); - t7 = (t6 + 12U); - *((unsigned int *)t7) = t9; - t10 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t2, t1, t3, t5); - if (t10 != 0) - goto LAB3; - -LAB4: -LAB5: t15 = (t0 + 13344); - t16 = (t15 + 56U); - t17 = *((char **)t16); - t18 = (t17 + 56U); - t19 = *((char **)t18); - *((unsigned char *)t19) = (unsigned char)3; - xsi_driver_first_trans_fast(t15); - -LAB2: t20 = (t0 + 12720); - *((int *)t20) = 1; - -LAB1: return; -LAB3: t7 = (t0 + 13344); - t11 = (t7 + 56U); - t12 = *((char **)t11); - t13 = (t12 + 56U); - t14 = *((char **)t13); - *((unsigned char *)t14) = (unsigned char)2; - xsi_driver_first_trans_fast(t7); - goto LAB2; - -LAB6: goto LAB2; - -} - static void work_a_4150868852_3212880686_p_8(char *t0) { char t5[16]; @@ -1640,14 +1694,12 @@ static void work_a_4150868852_3212880686_p_8(char *t0) char *t18; char *t19; char *t20; - char *t21; - char *t22; -LAB0: xsi_set_current_line(252, ng0); +LAB0: xsi_set_current_line(253, ng0); t1 = (t0 + 4392U); t2 = *((char **)t1); - t1 = (t0 + 21960U); - t3 = (t0 + 22703); + t1 = (t0 + 22616U); + t3 = (t0 + 23368); t6 = (t5 + 0U); t7 = (t6 + 0U); *((int *)t7) = 0; @@ -1665,28 +1717,24 @@ LAB0: xsi_set_current_line(252, ng0); goto LAB3; LAB4: -LAB5: t16 = (t0 + 4072U); +LAB5: t15 = (t0 + 13832); + t16 = (t15 + 56U); t17 = *((char **)t16); - t16 = (t0 + 13408); - t18 = (t16 + 56U); + t18 = (t17 + 56U); t19 = *((char **)t18); - t20 = (t19 + 56U); - t21 = *((char **)t20); - memcpy(t21, t17, 8U); - xsi_driver_first_trans_fast(t16); + *((unsigned char *)t19) = (unsigned char)3; + xsi_driver_first_trans_fast(t15); -LAB2: t22 = (t0 + 12736); - *((int *)t22) = 1; +LAB2: t20 = (t0 + 13144); + *((int *)t20) = 1; LAB1: return; -LAB3: t7 = (t0 + 4232U); - t11 = *((char **)t7); - t7 = (t0 + 13408); - t12 = (t7 + 56U); - t13 = *((char **)t12); - t14 = (t13 + 56U); - t15 = *((char **)t14); - memcpy(t15, t11, 8U); +LAB3: t7 = (t0 + 13832); + t11 = (t7 + 56U); + t12 = *((char **)t11); + t13 = (t12 + 56U); + t14 = *((char **)t13); + *((unsigned char *)t14) = (unsigned char)2; xsi_driver_first_trans_fast(t7); goto LAB2; @@ -1711,12 +1759,18 @@ static void work_a_4150868852_3212880686_p_9(char *t0) char *t14; char *t15; char *t16; + char *t17; + char *t18; + char *t19; + char *t20; + char *t21; + char *t22; -LAB0: xsi_set_current_line(254, ng0); +LAB0: xsi_set_current_line(255, ng0); t1 = (t0 + 4392U); t2 = *((char **)t1); - t1 = (t0 + 21960U); - t3 = (t0 + 22711); + t1 = (t0 + 22616U); + t3 = (t0 + 23376); t6 = (t5 + 0U); t7 = (t6 + 0U); *((int *)t7) = 0; @@ -1734,13 +1788,82 @@ LAB0: xsi_set_current_line(254, ng0); goto LAB3; LAB4: -LAB2: t16 = (t0 + 12752); +LAB5: t16 = (t0 + 4072U); + t17 = *((char **)t16); + t16 = (t0 + 13896); + t18 = (t16 + 56U); + t19 = *((char **)t18); + t20 = (t19 + 56U); + t21 = *((char **)t20); + memcpy(t21, t17, 8U); + xsi_driver_first_trans_fast(t16); + +LAB2: t22 = (t0 + 13160); + *((int *)t22) = 1; + +LAB1: return; +LAB3: t7 = (t0 + 4232U); + t11 = *((char **)t7); + t7 = (t0 + 13896); + t12 = (t7 + 56U); + t13 = *((char **)t12); + t14 = (t13 + 56U); + t15 = *((char **)t14); + memcpy(t15, t11, 8U); + xsi_driver_first_trans_fast(t7); + goto LAB2; + +LAB6: goto LAB2; + +} + +static void work_a_4150868852_3212880686_p_10(char *t0) +{ + char t5[16]; + char *t1; + char *t2; + char *t3; + char *t6; + char *t7; + 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(257, ng0); + t1 = (t0 + 4392U); + t2 = *((char **)t1); + t1 = (t0 + 22616U); + t3 = (t0 + 23384); + t6 = (t5 + 0U); + t7 = (t6 + 0U); + *((int *)t7) = 0; + t7 = (t6 + 4U); + *((int *)t7) = 7; + t7 = (t6 + 8U); + *((int *)t7) = 1; + t8 = (7 - 0); + t9 = (t8 * 1); + t9 = (t9 + 1); + t7 = (t6 + 12U); + *((unsigned int *)t7) = t9; + t10 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t2, t1, t3, t5); + if (t10 != 0) + goto LAB3; + +LAB4: +LAB2: t16 = (t0 + 13176); *((int *)t16) = 1; LAB1: return; LAB3: t7 = (t0 + 4232U); t11 = *((char **)t7); - t7 = (t0 + 13472); + t7 = (t0 + 13960); t12 = (t7 + 56U); t13 = *((char **)t12); t14 = (t13 + 56U); @@ -1751,115 +1874,82 @@ LAB3: t7 = (t0 + 4232U); } -static void work_a_4150868852_3212880686_p_10(char *t0) +static void work_a_4150868852_3212880686_p_11(char *t0) { - char t6[16]; - char t15[16]; - unsigned char t1; + char t5[16]; + char *t1; char *t2; char *t3; - char *t4; + char *t6; char *t7; - char *t8; - int t9; - unsigned int t10; - unsigned char t11; + int t8; + unsigned int t9; + unsigned char t10; + char *t11; char *t12; char *t13; + char *t14; + char *t15; char *t16; char *t17; - int t18; - unsigned char t19; + char *t18; + char *t19; char *t20; char *t21; char *t22; - char *t23; - char *t24; - char *t25; - char *t26; - char *t27; - char *t28; - char *t29; - char *t30; - char *t31; -LAB0: xsi_set_current_line(255, ng0); - t2 = (t0 + 4392U); - t3 = *((char **)t2); - t2 = (t0 + 21960U); - t4 = (t0 + 22719); +LAB0: xsi_set_current_line(258, ng0); + t1 = (t0 + 4392U); + t2 = *((char **)t1); + t1 = (t0 + 22616U); + t3 = (t0 + 23392); + t6 = (t5 + 0U); t7 = (t6 + 0U); - t8 = (t7 + 0U); - *((int *)t8) = 0; - t8 = (t7 + 4U); - *((int *)t8) = 7; - t8 = (t7 + 8U); - *((int *)t8) = 1; - t9 = (7 - 0); - t10 = (t9 * 1); - t10 = (t10 + 1); - t8 = (t7 + 12U); - *((unsigned int *)t8) = t10; - t11 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t3, t2, t4, t6); - if (t11 == 1) - goto LAB5; - -LAB6: t8 = (t0 + 4392U); - t12 = *((char **)t8); - t8 = (t0 + 21960U); - t13 = (t0 + 22727); - t16 = (t15 + 0U); - t17 = (t16 + 0U); - *((int *)t17) = 0; - t17 = (t16 + 4U); - *((int *)t17) = 7; - t17 = (t16 + 8U); - *((int *)t17) = 1; - t18 = (7 - 0); - t10 = (t18 * 1); - t10 = (t10 + 1); - t17 = (t16 + 12U); - *((unsigned int *)t17) = t10; - t19 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t12, t8, t13, t15); - t1 = t19; - -LAB7: if (t1 != 0) + *((int *)t7) = 0; + t7 = (t6 + 4U); + *((int *)t7) = 7; + t7 = (t6 + 8U); + *((int *)t7) = 1; + t8 = (7 - 0); + t9 = (t8 * 1); + t9 = (t9 + 1); + t7 = (t6 + 12U); + *((unsigned int *)t7) = t9; + t10 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t2, t1, t3, t5); + if (t10 != 0) goto LAB3; LAB4: -LAB8: t25 = (t0 + 4232U); - t26 = *((char **)t25); - t25 = (t0 + 13536); - t27 = (t25 + 56U); - t28 = *((char **)t27); - t29 = (t28 + 56U); - t30 = *((char **)t29); - memcpy(t30, t26, 8U); - xsi_driver_first_trans_fast(t25); +LAB5: t16 = (t0 + 4232U); + t17 = *((char **)t16); + t16 = (t0 + 14024); + t18 = (t16 + 56U); + t19 = *((char **)t18); + t20 = (t19 + 56U); + t21 = *((char **)t20); + memcpy(t21, t17, 8U); + xsi_driver_first_trans_fast(t16); -LAB2: t31 = (t0 + 12768); - *((int *)t31) = 1; +LAB2: t22 = (t0 + 13192); + *((int *)t22) = 1; LAB1: return; -LAB3: t17 = (t0 + 5672U); - t20 = *((char **)t17); - t17 = (t0 + 13536); - t21 = (t17 + 56U); - t22 = *((char **)t21); - t23 = (t22 + 56U); - t24 = *((char **)t23); - memcpy(t24, t20, 8U); - xsi_driver_first_trans_fast(t17); +LAB3: t7 = (t0 + 5672U); + t11 = *((char **)t7); + t7 = (t0 + 14024); + t12 = (t7 + 56U); + t13 = *((char **)t12); + t14 = (t13 + 56U); + t15 = *((char **)t14); + memcpy(t15, t11, 8U); + xsi_driver_first_trans_fast(t7); goto LAB2; -LAB5: t1 = (unsigned char)1; - goto LAB7; - -LAB9: goto LAB2; +LAB6: goto LAB2; } -static void work_a_4150868852_3212880686_p_11(char *t0) +static void work_a_4150868852_3212880686_p_12(char *t0) { char t6[16]; char t15[16]; @@ -1889,11 +1979,11 @@ static void work_a_4150868852_3212880686_p_11(char *t0) char *t28; char *t29; -LAB0: xsi_set_current_line(259, ng0); +LAB0: xsi_set_current_line(262, ng0); t2 = (t0 + 2792U); t3 = *((char **)t2); - t2 = (t0 + 21864U); - t4 = (t0 + 22735); + t2 = (t0 + 22520U); + t4 = (t0 + 23400); t7 = (t6 + 0U); t8 = (t7 + 0U); *((int *)t8) = 0; @@ -1912,8 +2002,8 @@ LAB0: xsi_set_current_line(259, ng0); LAB6: t8 = (t0 + 2792U); t12 = *((char **)t8); - t8 = (t0 + 21864U); - t13 = (t0 + 22743); + t8 = (t0 + 22520U); + t13 = (t0 + 23408); t16 = (t15 + 0U); t17 = (t16 + 0U); *((int *)t17) = 0; @@ -1933,7 +2023,7 @@ LAB7: if (t1 != 0) goto LAB3; LAB4: -LAB8: t24 = (t0 + 13600); +LAB8: t24 = (t0 + 14088); t25 = (t24 + 56U); t26 = *((char **)t25); t27 = (t26 + 56U); @@ -1941,11 +2031,11 @@ LAB8: t24 = (t0 + 13600); *((unsigned char *)t28) = (unsigned char)3; xsi_driver_first_trans_fast(t24); -LAB2: t29 = (t0 + 12784); +LAB2: t29 = (t0 + 13208); *((int *)t29) = 1; LAB1: return; -LAB3: t17 = (t0 + 13600); +LAB3: t17 = (t0 + 14088); t20 = (t17 + 56U); t21 = *((char **)t20); t22 = (t21 + 56U); @@ -1961,106 +2051,127 @@ LAB9: goto LAB2; } -static void work_a_4150868852_3212880686_p_12(char *t0) +static void work_a_4150868852_3212880686_p_13(char *t0) { - char t17[16]; - char t36[16]; - char t55[16]; - char t74[16]; + char t18[16]; + char t37[16]; + char t56[16]; + char t75[16]; + char t90[16]; unsigned char t1; unsigned char t2; unsigned char t3; unsigned char t4; unsigned char t5; - char *t6; + unsigned char t6; char *t7; - unsigned char t8; + char *t8; unsigned char t9; - char *t10; - unsigned char t11; + unsigned char t10; + char *t11; unsigned char t12; - char *t13; - unsigned int t14; + unsigned char t13; + char *t14; unsigned int t15; unsigned int t16; - char *t18; + unsigned int t17; char *t19; - int t20; - unsigned int t21; - char *t22; - unsigned char t23; + char *t20; + int t21; + unsigned int t22; + char *t23; unsigned char t24; unsigned char t25; - char *t26; + unsigned char t26; char *t27; - unsigned char t28; + char *t28; unsigned char t29; - char *t30; - unsigned char t31; + unsigned char t30; + char *t31; unsigned char t32; - char *t33; - unsigned int t34; + unsigned char t33; + char *t34; unsigned int t35; - char *t37; + unsigned int t36; char *t38; - int t39; - unsigned int t40; - char *t41; - unsigned char t42; + char *t39; + int t40; + unsigned int t41; + char *t42; unsigned char t43; unsigned char t44; - char *t45; + unsigned char t45; char *t46; - unsigned char t47; + char *t47; unsigned char t48; - char *t49; - unsigned char t50; + unsigned char t49; + char *t50; unsigned char t51; - char *t52; - unsigned int t53; + unsigned char t52; + char *t53; unsigned int t54; - char *t56; + unsigned int t55; char *t57; - int t58; - unsigned int t59; - char *t60; - unsigned char t61; + char *t58; + int t59; + unsigned int t60; + char *t61; unsigned char t62; unsigned char t63; - char *t64; + unsigned char t64; char *t65; - unsigned char t66; + char *t66; unsigned char t67; - char *t68; - unsigned char t69; + unsigned char t68; + char *t69; unsigned char t70; - char *t71; - unsigned int t72; + unsigned char t71; + char *t72; unsigned int t73; - char *t75; + unsigned int t74; char *t76; - int t77; - unsigned int t78; - char *t79; - unsigned char t80; - char *t81; - char *t82; + char *t77; + int t78; + unsigned int t79; + char *t80; + unsigned char t81; + unsigned char t82; char *t83; char *t84; - char *t85; - char *t86; + unsigned char t85; + unsigned char t86; char *t87; - char *t88; - char *t89; - char *t90; + unsigned int t88; + unsigned int t89; char *t91; + char *t92; + int t93; + unsigned int t94; + char *t95; + unsigned char t96; + char *t97; + char *t98; + char *t99; + char *t100; + char *t101; + char *t102; + char *t103; + char *t104; + char *t105; + char *t106; + char *t107; -LAB0: xsi_set_current_line(285, ng0); - t6 = (t0 + 6472U); - t7 = *((char **)t6); - t8 = *((unsigned char *)t7); - t9 = (t8 == (unsigned char)3); - if (t9 == 1) +LAB0: xsi_set_current_line(288, ng0); + t7 = (t0 + 6472U); + t8 = *((char **)t7); + t9 = *((unsigned char *)t8); + t10 = (t9 == (unsigned char)3); + if (t10 == 1) + goto LAB20; + +LAB21: t6 = (unsigned char)0; + +LAB22: if (t6 == 1) goto LAB17; LAB18: t5 = (unsigned char)0; @@ -2068,88 +2179,97 @@ LAB18: t5 = (unsigned char)0; LAB19: if (t5 == 1) goto LAB14; -LAB15: t4 = (unsigned char)0; +LAB15: t27 = (t0 + 6632U); + t28 = *((char **)t27); + t29 = *((unsigned char *)t28); + t30 = (t29 == (unsigned char)3); + if (t30 == 1) + goto LAB26; -LAB16: if (t4 == 1) - goto LAB11; +LAB27: t26 = (unsigned char)0; -LAB12: t26 = (t0 + 6632U); - t27 = *((char **)t26); - t28 = *((unsigned char *)t27); - t29 = (t28 == (unsigned char)3); - if (t29 == 1) +LAB28: if (t26 == 1) goto LAB23; LAB24: t25 = (unsigned char)0; -LAB25: if (t25 == 1) - goto LAB20; +LAB25: t4 = t25; -LAB21: t24 = (unsigned char)0; +LAB16: if (t4 == 1) + goto LAB11; -LAB22: t3 = t24; +LAB12: t46 = (t0 + 6472U); + t47 = *((char **)t46); + t48 = *((unsigned char *)t47); + t49 = (t48 == (unsigned char)3); + if (t49 == 1) + goto LAB32; -LAB13: if (t3 == 1) - goto LAB8; +LAB33: t45 = (unsigned char)0; -LAB9: t45 = (t0 + 6472U); - t46 = *((char **)t45); - t47 = *((unsigned char *)t46); - t48 = (t47 == (unsigned char)3); - if (t48 == 1) +LAB34: if (t45 == 1) goto LAB29; LAB30: t44 = (unsigned char)0; -LAB31: if (t44 == 1) - goto LAB26; +LAB31: t3 = t44; -LAB27: t43 = (unsigned char)0; +LAB13: if (t3 == 1) + goto LAB8; -LAB28: t2 = t43; +LAB9: t65 = (t0 + 6632U); + t66 = *((char **)t65); + t67 = *((unsigned char *)t66); + t68 = (t67 == (unsigned char)3); + if (t68 == 1) + goto LAB38; -LAB10: if (t2 == 1) - goto LAB5; +LAB39: t64 = (unsigned char)0; -LAB6: t64 = (t0 + 6632U); - t65 = *((char **)t64); - t66 = *((unsigned char *)t65); - t67 = (t66 == (unsigned char)3); - if (t67 == 1) +LAB40: if (t64 == 1) goto LAB35; LAB36: t63 = (unsigned char)0; -LAB37: if (t63 == 1) - goto LAB32; +LAB37: t2 = t63; -LAB33: t62 = (unsigned char)0; +LAB10: if (t2 == 1) + goto LAB5; -LAB34: t1 = t62; +LAB6: t83 = (t0 + 7112U); + t84 = *((char **)t83); + t85 = *((unsigned char *)t84); + t86 = (t85 == (unsigned char)3); + if (t86 == 1) + goto LAB41; + +LAB42: t82 = (unsigned char)0; + +LAB43: t1 = t82; LAB7: if (t1 != 0) goto LAB3; LAB4: -LAB38: t86 = (t0 + 13664); - t87 = (t86 + 56U); - t88 = *((char **)t87); - t89 = (t88 + 56U); - t90 = *((char **)t89); - *((unsigned char *)t90) = (unsigned char)3; - xsi_driver_first_trans_fast(t86); +LAB44: t102 = (t0 + 14152); + t103 = (t102 + 56U); + t104 = *((char **)t103); + t105 = (t104 + 56U); + t106 = *((char **)t105); + *((unsigned char *)t106) = (unsigned char)3; + xsi_driver_first_trans_fast(t102); -LAB2: t91 = (t0 + 12800); - *((int *)t91) = 1; +LAB2: t107 = (t0 + 13224); + *((int *)t107) = 1; LAB1: return; -LAB3: t81 = (t0 + 13664); - t82 = (t81 + 56U); - t83 = *((char **)t82); - t84 = (t83 + 56U); - t85 = *((char **)t84); - *((unsigned char *)t85) = (unsigned char)2; - xsi_driver_first_trans_fast(t81); +LAB3: t97 = (t0 + 14152); + t98 = (t97 + 56U); + t99 = *((char **)t98); + t100 = (t99 + 56U); + t101 = *((char **)t100); + *((unsigned char *)t101) = (unsigned char)2; + xsi_driver_first_trans_fast(t97); goto LAB2; LAB5: t1 = (unsigned char)1; @@ -2161,139 +2281,167 @@ LAB8: t2 = (unsigned char)1; LAB11: t3 = (unsigned char)1; goto LAB13; -LAB14: t6 = (t0 + 1992U); - t13 = *((char **)t6); - t14 = (31 - 15); - t15 = (t14 * 1U); - t16 = (0 + t15); - t6 = (t13 + t16); - t18 = (t17 + 0U); - t19 = (t18 + 0U); - *((int *)t19) = 15; - t19 = (t18 + 4U); - *((int *)t19) = 8; - t19 = (t18 + 8U); - *((int *)t19) = -1; - t20 = (8 - 15); - t21 = (t20 * -1); - t21 = (t21 + 1); - t19 = (t18 + 12U); - *((unsigned int *)t19) = t21; - t19 = (t0 + 2312U); - t22 = *((char **)t19); - t19 = (t0 + 21816U); - t23 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t6, t17, t22, t19); - t4 = t23; +LAB14: t4 = (unsigned char)1; goto LAB16; -LAB17: t6 = (t0 + 6792U); - t10 = *((char **)t6); - t11 = *((unsigned char *)t10); - t12 = (t11 == (unsigned char)3); - t5 = t12; +LAB17: t7 = (t0 + 1992U); + t14 = *((char **)t7); + t15 = (31 - 15); + t16 = (t15 * 1U); + t17 = (0 + t16); + t7 = (t14 + t17); + t19 = (t18 + 0U); + t20 = (t19 + 0U); + *((int *)t20) = 15; + t20 = (t19 + 4U); + *((int *)t20) = 8; + t20 = (t19 + 8U); + *((int *)t20) = -1; + t21 = (8 - 15); + t22 = (t21 * -1); + t22 = (t22 + 1); + t20 = (t19 + 12U); + *((unsigned int *)t20) = t22; + t20 = (t0 + 2312U); + t23 = *((char **)t20); + t20 = (t0 + 22472U); + t24 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t7, t18, t23, t20); + t5 = t24; goto LAB19; -LAB20: t26 = (t0 + 1992U); - t33 = *((char **)t26); - t21 = (31 - 7); - t34 = (t21 * 1U); - t35 = (0 + t34); - t26 = (t33 + t35); - t37 = (t36 + 0U); - t38 = (t37 + 0U); - *((int *)t38) = 7; - t38 = (t37 + 4U); - *((int *)t38) = 0; - t38 = (t37 + 8U); - *((int *)t38) = -1; - t39 = (0 - 7); - t40 = (t39 * -1); - t40 = (t40 + 1); - t38 = (t37 + 12U); - *((unsigned int *)t38) = t40; - t38 = (t0 + 2312U); - t41 = *((char **)t38); - t38 = (t0 + 21816U); - t42 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t26, t36, t41, t38); - t24 = t42; +LAB20: t7 = (t0 + 6792U); + t11 = *((char **)t7); + t12 = *((unsigned char *)t11); + t13 = (t12 == (unsigned char)3); + t6 = t13; goto LAB22; -LAB23: t26 = (t0 + 6792U); - t30 = *((char **)t26); - t31 = *((unsigned char *)t30); - t32 = (t31 == (unsigned char)3); - t25 = t32; +LAB23: t27 = (t0 + 1992U); + t34 = *((char **)t27); + t22 = (31 - 7); + t35 = (t22 * 1U); + t36 = (0 + t35); + t27 = (t34 + t36); + t38 = (t37 + 0U); + t39 = (t38 + 0U); + *((int *)t39) = 7; + t39 = (t38 + 4U); + *((int *)t39) = 0; + t39 = (t38 + 8U); + *((int *)t39) = -1; + t40 = (0 - 7); + t41 = (t40 * -1); + t41 = (t41 + 1); + t39 = (t38 + 12U); + *((unsigned int *)t39) = t41; + t39 = (t0 + 2312U); + t42 = *((char **)t39); + t39 = (t0 + 22472U); + t43 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t27, t37, t42, t39); + t25 = t43; goto LAB25; -LAB26: t45 = (t0 + 1992U); - t52 = *((char **)t45); - t40 = (31 - 15); - t53 = (t40 * 1U); - t54 = (0 + t53); - t45 = (t52 + t54); - t56 = (t55 + 0U); - t57 = (t56 + 0U); - *((int *)t57) = 15; - t57 = (t56 + 4U); - *((int *)t57) = 8; - t57 = (t56 + 8U); - *((int *)t57) = -1; - t58 = (8 - 15); - t59 = (t58 * -1); - t59 = (t59 + 1); - t57 = (t56 + 12U); - *((unsigned int *)t57) = t59; - t57 = (t0 + 2952U); - t60 = *((char **)t57); - t57 = (t0 + 21880U); - t61 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t45, t55, t60, t57); - t43 = t61; +LAB26: t27 = (t0 + 6792U); + t31 = *((char **)t27); + t32 = *((unsigned char *)t31); + t33 = (t32 == (unsigned char)3); + t26 = t33; goto LAB28; -LAB29: t45 = (t0 + 6952U); - t49 = *((char **)t45); - t50 = *((unsigned char *)t49); - t51 = (t50 == (unsigned char)3); - t44 = t51; +LAB29: t46 = (t0 + 1992U); + t53 = *((char **)t46); + t41 = (31 - 15); + t54 = (t41 * 1U); + t55 = (0 + t54); + t46 = (t53 + t55); + t57 = (t56 + 0U); + t58 = (t57 + 0U); + *((int *)t58) = 15; + t58 = (t57 + 4U); + *((int *)t58) = 8; + t58 = (t57 + 8U); + *((int *)t58) = -1; + t59 = (8 - 15); + t60 = (t59 * -1); + t60 = (t60 + 1); + t58 = (t57 + 12U); + *((unsigned int *)t58) = t60; + t58 = (t0 + 2952U); + t61 = *((char **)t58); + t58 = (t0 + 22536U); + t62 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t46, t56, t61, t58); + t44 = t62; goto LAB31; -LAB32: t64 = (t0 + 1992U); - t71 = *((char **)t64); - t59 = (31 - 7); - t72 = (t59 * 1U); - t73 = (0 + t72); - t64 = (t71 + t73); - t75 = (t74 + 0U); - t76 = (t75 + 0U); - *((int *)t76) = 7; - t76 = (t75 + 4U); - *((int *)t76) = 0; - t76 = (t75 + 8U); - *((int *)t76) = -1; - t77 = (0 - 7); - t78 = (t77 * -1); - t78 = (t78 + 1); - t76 = (t75 + 12U); - *((unsigned int *)t76) = t78; - t76 = (t0 + 2952U); - t79 = *((char **)t76); - t76 = (t0 + 21880U); - t80 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t64, t74, t79, t76); - t62 = t80; +LAB32: t46 = (t0 + 6952U); + t50 = *((char **)t46); + t51 = *((unsigned char *)t50); + t52 = (t51 == (unsigned char)3); + t45 = t52; goto LAB34; -LAB35: t64 = (t0 + 6952U); - t68 = *((char **)t64); - t69 = *((unsigned char *)t68); - t70 = (t69 == (unsigned char)3); - t63 = t70; +LAB35: t65 = (t0 + 1992U); + t72 = *((char **)t65); + t60 = (31 - 7); + t73 = (t60 * 1U); + t74 = (0 + t73); + t65 = (t72 + t74); + t76 = (t75 + 0U); + t77 = (t76 + 0U); + *((int *)t77) = 7; + t77 = (t76 + 4U); + *((int *)t77) = 0; + t77 = (t76 + 8U); + *((int *)t77) = -1; + t78 = (0 - 7); + t79 = (t78 * -1); + t79 = (t79 + 1); + t77 = (t76 + 12U); + *((unsigned int *)t77) = t79; + t77 = (t0 + 2952U); + t80 = *((char **)t77); + t77 = (t0 + 22536U); + t81 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t65, t75, t80, t77); + t63 = t81; goto LAB37; -LAB39: goto LAB2; +LAB38: t65 = (t0 + 6952U); + t69 = *((char **)t65); + t70 = *((unsigned char *)t69); + t71 = (t70 == (unsigned char)3); + t64 = t71; + goto LAB40; + +LAB41: t83 = (t0 + 1992U); + t87 = *((char **)t83); + t79 = (31 - 15); + t88 = (t79 * 1U); + t89 = (0 + t88); + t83 = (t87 + t89); + t91 = (t90 + 0U); + t92 = (t91 + 0U); + *((int *)t92) = 15; + t92 = (t91 + 4U); + *((int *)t92) = 8; + t92 = (t91 + 8U); + *((int *)t92) = -1; + t93 = (8 - 15); + t94 = (t93 * -1); + t94 = (t94 + 1); + t92 = (t91 + 12U); + *((unsigned int *)t92) = t94; + t92 = (t0 + 2312U); + t95 = *((char **)t92); + t92 = (t0 + 22472U); + t96 = ieee_std_logic_unsigned_equal_stdv_stdv(IEEE_P_3620187407, t83, t90, t95, t92); + t82 = t96; + goto LAB43; + +LAB45: goto LAB2; } -static void work_a_4150868852_3212880686_p_13(char *t0) +static void work_a_4150868852_3212880686_p_14(char *t0) { char t12[16]; char t13[16]; @@ -2318,23 +2466,23 @@ static void work_a_4150868852_3212880686_p_13(char *t0) char *t21; char *t22; -LAB0: t1 = (t0 + 12288U); +LAB0: t1 = (t0 + 12696U); t2 = *((char **)t1); if (t2 == 0) goto LAB2; LAB3: goto *t2; -LAB2: xsi_set_current_line(293, ng0); +LAB2: xsi_set_current_line(297, ng0); -LAB6: t2 = (t0 + 12816); +LAB6: t2 = (t0 + 13240); *((int *)t2) = 1; *((char **)t1) = &&LAB7; LAB1: return; -LAB4: t5 = (t0 + 12816); +LAB4: t5 = (t0 + 13240); *((int *)t5) = 0; - xsi_set_current_line(294, ng0); + xsi_set_current_line(298, ng0); t2 = (t0 + 1192U); t3 = *((char **)t2); t4 = *((unsigned char *)t3); @@ -2342,8 +2490,8 @@ LAB4: t5 = (t0 + 12816); if (t6 != 0) goto LAB8; -LAB10: xsi_set_current_line(297, ng0); - t2 = (t0 + 7112U); +LAB10: xsi_set_current_line(301, ng0); + t2 = (t0 + 7272U); t3 = *((char **)t2); t4 = *((unsigned char *)t3); t6 = (t4 == (unsigned char)3); @@ -2363,9 +2511,9 @@ LAB5: t3 = (t0 + 992U); LAB7: goto LAB5; -LAB8: xsi_set_current_line(295, ng0); - t2 = (t0 + 22751); - t7 = (t0 + 13728); +LAB8: xsi_set_current_line(299, ng0); + t2 = (t0 + 23416); + t7 = (t0 + 14216); t8 = (t7 + 56U); t9 = *((char **)t8); t10 = (t9 + 56U); @@ -2374,11 +2522,11 @@ LAB8: xsi_set_current_line(295, ng0); xsi_driver_first_trans_fast(t7); goto LAB9; -LAB11: xsi_set_current_line(298, ng0); +LAB11: xsi_set_current_line(302, ng0); t2 = (t0 + 1352U); t5 = *((char **)t2); - t2 = (t0 + 21720U); - t7 = (t0 + 22759); + t2 = (t0 + 22376U); + t7 = (t0 + 23424); t9 = (t13 + 0U); t10 = (t9 + 0U); *((int *)t10) = 0; @@ -2399,7 +2547,7 @@ LAB11: xsi_set_current_line(298, ng0); if (t17 == 1) goto LAB14; -LAB15: t18 = (t0 + 13728); +LAB15: t18 = (t0 + 14216); t19 = (t18 + 56U); t20 = *((char **)t19); t21 = (t20 + 56U); @@ -2416,7 +2564,7 @@ LAB14: xsi_size_not_matching(8U, t16, 0); extern void work_a_4150868852_3212880686_init() { - static char *pe[] = {(void *)work_a_4150868852_3212880686_p_0,(void *)work_a_4150868852_3212880686_p_1,(void *)work_a_4150868852_3212880686_p_2,(void *)work_a_4150868852_3212880686_p_3,(void *)work_a_4150868852_3212880686_p_4,(void *)work_a_4150868852_3212880686_p_5,(void *)work_a_4150868852_3212880686_p_6,(void *)work_a_4150868852_3212880686_p_7,(void *)work_a_4150868852_3212880686_p_8,(void *)work_a_4150868852_3212880686_p_9,(void *)work_a_4150868852_3212880686_p_10,(void *)work_a_4150868852_3212880686_p_11,(void *)work_a_4150868852_3212880686_p_12,(void *)work_a_4150868852_3212880686_p_13}; + static char *pe[] = {(void *)work_a_4150868852_3212880686_p_0,(void *)work_a_4150868852_3212880686_p_1,(void *)work_a_4150868852_3212880686_p_2,(void *)work_a_4150868852_3212880686_p_3,(void *)work_a_4150868852_3212880686_p_4,(void *)work_a_4150868852_3212880686_p_5,(void *)work_a_4150868852_3212880686_p_6,(void *)work_a_4150868852_3212880686_p_7,(void *)work_a_4150868852_3212880686_p_8,(void *)work_a_4150868852_3212880686_p_9,(void *)work_a_4150868852_3212880686_p_10,(void *)work_a_4150868852_3212880686_p_11,(void *)work_a_4150868852_3212880686_p_12,(void *)work_a_4150868852_3212880686_p_13,(void *)work_a_4150868852_3212880686_p_14}; xsi_register_didat("work_a_4150868852_3212880686", "isim/process_test_isim_beh.exe.sim/work/a_4150868852_3212880686.didat"); xsi_register_executes(pe); } diff --git a/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_4150868852_3212880686.didat b/xilinx/ALU/isim/process_test_isim_beh.exe.sim/work/a_4150868852_3212880686.didat index 9f3b29b7b4b0ad3ec35bbe5df08ce983b4eeff56..ee7d67355fba068eb9387c688605d0644ac4378e 100644 GIT binary patch delta 2890 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 diff --git a/xilinx/ALU/isim/work/alu.vdb b/xilinx/ALU/isim/work/alu.vdb index 7fd0bbf432ab039bc6656db73cf18d46f10bdfd6..06d1901c2d14e795df04f99781e13fbfe628b0d6 100644 GIT binary patch delta 47 xcmZ2%x!6)fC`X=|je%hS0}wo^l4s^PdvVQ1kyLhOAicSUJ)a58c*nU_2mn(y5Xb-k delta 47 xcmZ2%x!6)fC`X=|je%hS0}wo^l4s`dKC^hENGdxskltLwp3ekkyyM&|1OPW%4;TOd diff --git a/xilinx/ALU/isim/work/bm_data.vdb b/xilinx/ALU/isim/work/bm_data.vdb index a700e50f260bd32e4b3e87843c060f6d17b9c0bf..88d09db847667693fa75ec93192904eeb61786c1 100644 GIT binary patch delta 47 xcmaE_{$5=~C`X=|je%hS0}wo^l4s^PdvVQ15jl2dAidd?-IfK+DCMr=003H>55fQd delta 47 xcmaE_{$5=~C`X=|je%hS0}wo^l4s`dKC^hEh#WgJklt*{Zp#8@lyX;b002I~4iW$W diff --git a/xilinx/ALU/isim/work/bm_instr.vdb b/xilinx/ALU/isim/work/bm_instr.vdb index 4e2ada01809240a270cb53b1ccb530a6ca2ebbeb..102e7159e82d437903ed8abf50629b659ac05cc8 100644 GIT binary patch delta 589 zcmX>oe_l~UC`X=|je%hS0}wo^l4s^PdvVQ1k#sg@AicScEr*%WdGc${OJME+E>6Y_ zXP`o6kZK@c1Y$N$28IR(h66BhkX%nk&tDE84Fofgq=5D?%tqpawAZ5XL3-wZ#3mc^ z$S^LN?8hUa3NspAJrhVV5Wv)n)-Qs9g>V|eYGwo~#b-0jLtvADCW81%K->&732NY? zMNk2lINW3xkS+xv0dpi+0LW(nVh{is?E>_a*yM#g@~SXdbk(d7#c99s YWnNT~HN1*wBDZ+u89g@t;yum?07@=`6aWAK delta 361 zcmX@Fcu-zMC`X=|je%hS0}wo^l4s`dKC^hENIDxckltL!mcz_wIr%l`B{25@7bjze zB~T$VNHq{J0x=sW149D?!vUB$NUo=&=Pw7427(!AQnQixAnmnie2|_wAhF4YJTi<6 zC;Rb8sKSg!SI-4f3gHDLX6In z4f#ZXq#K{QtTRv<$SWW_fj&F{<2QiVle_qoc~M1n@hPH-yx@~(bl%Ltf1D8jF26so diff --git a/xilinx/ALU/isim/work/br.vdb b/xilinx/ALU/isim/work/br.vdb index 93049cba3235bbf588b952e0bf7518a55ba12b38..714fcc058f4c90046d68386daf6a3b7a7cba4146 100644 GIT binary patch delta 47 xcmaED@Y+B`C`X=|je%hS0}wo^l4s^PdvVQ1k-hB9Kzj2Pc1sp8Lx3lm2LNu}5QhK& delta 47 xcmaED@Y+B`C`X=|je%hS0}wo^l4s`dKC^hE$X<44AientyCn;lA;1&O0{~M34%Ywx diff --git a/xilinx/ALU/isim/work/pipeline.vdb b/xilinx/ALU/isim/work/pipeline.vdb index e941c5e4125229a350db856df998b7090782478b..1f84779204a527044975555676b95930d855808f 100644 GIT binary patch delta 47 xcmcbqa8p4((e!&Q4M6vE=1v8|$(-{Hb CV-t!1 delta 56 zcmZpaY?Krc%8_SgV_;ao00d8} diff --git a/xilinx/ALU/isim/work/processeur.vdb b/xilinx/ALU/isim/work/processeur.vdb index 35fcc843b036c794cfab2e7f274edb5f29e3efed..6737783245f2d76581220ce03c59fbdd9a26d40d 100644 GIT binary patch delta 6185 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 delta 6057 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 Wr-$Ryrwnl;zJ$kxY+j7`_WuQ?1Yh+4 diff --git a/xilinx/ALU/processeur.vhd b/xilinx/ALU/processeur.vhd index 536a9c6..b1265ca 100644 --- a/xilinx/ALU/processeur.vhd +++ b/xilinx/ALU/processeur.vhd @@ -148,6 +148,7 @@ signal li_di_r_c : std_logic; signal di_ex_w_a : std_logic; signal ex_mem_w_a : std_logic; + signal store_load : std_logic; signal alea : std_logic; begin @@ -180,6 +181,8 @@ else '0'; li_di_r_c <= '1' when OUT_data(31 downto 24) = x"01" or OUT_data(31 downto 24) = x"02" or OUT_data(31 downto 24) = x"03" or OUT_data(31 downto 24) = x"04" else '0'; + store_load <= '1' when OUT_data(31 downto 24) = x"07" and OP_LIDI_OUT = x"08" + else '0'; -- Instanciate banc de registre banc_registres : br PORT MAP ( A_addr => B_LIDI_OUT(3 downto 0), @@ -194,7 +197,7 @@ ); B_DIEX_IN <= QA_IN_MUX when OP_LIDI_OUT = x"05" or OP_LIDI_OUT = x"01" or OP_LIDI_OUT = x"02" or OP_LIDI_OUT = x"03" or OP_LIDI_OUT = x"04" or OP_LIDI_OUT = x"08" else B_LIDI_OUT ; - + --B_DIEX_IN <= QA_IN_MUX when OP_LIDI_OUT = x"05" or OP_LIDI_OUT = x"01" or OP_LIDI_OUT = x"02" or OP_LIDI_OUT = x"03" or OP_LIDI_OUT = x"04" else B_LIDI_OUT ; -- Instantiate pipeline DI_EX DI_EX : pipeline PORT MAP ( @@ -252,7 +255,7 @@ addr_dm_MUX <= B_EXMem_OUT when OP_EXMem_OUT = x"07" else A_EXMem_OUT; in_dm_MUX <= B_EXMem_OUT when OP_EXMem_OUT = x"08"; - B_MemRE_IN <= out_dm_MUX when OP_EXMem_OUT = x"08" or OP_EXMem_OUT = x"07" else + B_MemRE_IN <= out_dm_MUX when OP_EXMem_OUT = x"07" else B_EXMem_OUT; -- alea ex_mem @@ -261,7 +264,7 @@ -- Instantiate banc de donnĂ©es data_memory: bm_data PORT MAP ( IN_addr => addr_dm_MUX, - IN_data => in_dm_MUX, + IN_data => B_EXMem_OUT, RW => RW_LC, RST => RST, CLK => CLK, @@ -285,7 +288,8 @@ alea <= '0' when (li_di_r_b = '1' and di_ex_w_a = '1' and OUT_data(15 downto 8) = A_LIDI_OUT) or (li_di_r_c = '1' and di_ex_w_a = '1' and OUT_data(7 downto 0) = A_LIDI_OUT) or (li_di_r_b = '1' and ex_mem_w_a = '1' and OUT_data(15 downto 8) = A_DIEX_OUT) or - (li_di_r_c = '1' and ex_mem_w_a = '1' and OUT_data(7 downto 0) = A_DIEX_OUT) else + (li_di_r_c = '1' and ex_mem_w_a = '1' and OUT_data(7 downto 0) = A_DIEX_OUT) or + (store_load = '1' and OUT_data(15 downto 8) = A_LIDI_OUT) else '1'; process diff --git a/xilinx/ALU/processeur_summary.html b/xilinx/ALU/processeur_summary.html index e983e48..a91716f 100644 --- a/xilinx/ALU/processeur_summary.html +++ b/xilinx/ALU/processeur_summary.html @@ -2,7 +2,7 @@ - + @@ -13,7 +13,7 @@ - + @@ -79,9 +79,9 @@ System Settings  
processeur Project Status (05/18/2021 - 16:15:09)
processeur Project Status
Project File: ALU.xiseModule Name: processeur Implementation State:Mapped (Failed)Mapped
Target Device:
- +
Secondary Reports [-]
Report NameStatusGenerated
ISIM Simulator LogOut of Datemar. mai 18 16:15:36 2021
ISIM Simulator LogCurrentmar. mai 18 16:20:52 2021
-

Date Generated: 05/18/2021 - 16:16:17
+
Date Generated: 05/25/2021 - 10:06:35
\ No newline at end of file diff --git a/xilinx/ALU/tests/demo.wcfg b/xilinx/ALU/tests/demo.wcfg new file mode 100644 index 0000000..a91cffa --- /dev/null +++ b/xilinx/ALU/tests/demo.wcfg @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + clk + clk + + + rst + rst + + + clk_period + clk_period + + + in_addr[7:0] + in_addr[7:0] + + + out_data[31:0] + out_data[31:0] + + + op_in[7:0] + op_in[7:0] + + + a_in[7:0] + a_in[7:0] + + + b_in[7:0] + b_in[7:0] + + + c_in[7:0] + c_in[7:0] + + + op_out[7:0] + op_out[7:0] + + + a_out[7:0] + a_out[7:0] + + + b_out[7:0] + b_out[7:0] + + + c_out[7:0] + c_out[7:0] + + + qa[7:0] + qa[7:0] + + + qb[7:0] + qb[7:0] + + + registres[0:15] + registres[0:15] + + + a_addr[3:0] + a_addr[3:0] + + + b_addr[3:0] + b_addr[3:0] + + + op_in[7:0] + op_in[7:0] + + + a_in[7:0] + a_in[7:0] + + + b_in[7:0] + b_in[7:0] + + + c_in[7:0] + c_in[7:0] + + + op_out[7:0] + op_out[7:0] + + + a_out[7:0] + a_out[7:0] + + + b_out[7:0] + b_out[7:0] + + + c_out[7:0] + c_out[7:0] + + + a[7:0] + a[7:0] + + + b[7:0] + b[7:0] + + + ctrl_alu[2:0] + ctrl_alu[2:0] + + + s[7:0] + s[7:0] + + + op_in[7:0] + op_in[7:0] + + + a_in[7:0] + a_in[7:0] + + + b_in[7:0] + b_in[7:0] + + + c_in[7:0] + c_in[7:0] + + + op_out[7:0] + op_out[7:0] + + + a_out[7:0] + a_out[7:0] + + + b_out[7:0] + b_out[7:0] + + + c_out[7:0] + c_out[7:0] + + + in_addr[7:0] + in_addr[7:0] + + + in_data[7:0] + in_data[7:0] + + + rw + rw + + + out_data[7:0] + out_data[7:0] + + + data_memory[0:255] + data_memory[0:255] + + + out_dm_mux[7:0] + out_dm_mux[7:0] + + + op_exmem_out[7:0] + op_exmem_out[7:0] + + + op_in[7:0] + op_in[7:0] + + + a_in[7:0] + a_in[7:0] + + + b_in[7:0] + b_in[7:0] + + + c_in[7:0] + c_in[7:0] + + + op_out[7:0] + op_out[7:0] + + + a_out[7:0] + a_out[7:0] + + + b_out[7:0] + b_out[7:0] + + + c_out[7:0] + c_out[7:0] + + + a_addr[3:0] + a_addr[3:0] + + + b_addr[3:0] + b_addr[3:0] + + + w_addr[3:0] + w_addr[3:0] + + + w + w + + + data[7:0] + data[7:0] + + + registres[0:15] + registres[0:15] + +