From 9540811daaffad7811475ea584333ab633ba8508 Mon Sep 17 00:00:00 2001 From: Michael Abed Date: Thu, 29 Mar 2012 16:17:45 -0400 Subject: yay --- .gitignore | 3 + DisplayController.v | 2 +- DisplayController_summary.html | 6 +- FIRFilter.v | 22 +- TEST_Bin2BCD.v | 60 ++ TEST_Bin2BCD_isim_beh.exe | Bin 0 -> 21792 bytes TEST_DisplayController.v | 74 +++ TEST_DisplayController_isim_beh.exe | Bin 0 -> 21792 bytes TEST_FirFilter.v | 60 ++ TEST_FirFilter_beh.prj | 3 + TEST_FirFilter_isim_beh.exe | Bin 0 -> 21792 bytes TEST_FirFilter_isim_beh.wdb | Bin 0 -> 7604 bytes _xmsgs/pn_parser.xmsgs | 2 +- firfilter.wcfg | 38 ++ fuse.log | 23 + fuse.xmsgs | 12 + fuseRelaunch.cmd | 1 + iseconfig/FIRController.xreport | 6 +- iseconfig/lab5.projectmgr | 58 +- isim.cmd | 3 + isim.log | 38 ++ .../ISimEngine-DesignHierarchy.dbg | Bin 0 -> 4486 bytes .../TEST_Bin2BCD_isim_beh.exe | Bin 0 -> 16587 bytes isim/TEST_Bin2BCD_isim_beh.exe.sim/isimcrash.log | 0 isim/TEST_Bin2BCD_isim_beh.exe.sim/isimkernel.log | 29 + isim/TEST_Bin2BCD_isim_beh.exe.sim/netId.dat | Bin 0 -> 84 bytes isim/TEST_Bin2BCD_isim_beh.exe.sim/tmp_save/_1 | Bin 0 -> 2700 bytes .../work/TEST_Bin2BCD_isim_beh.exe_main.c | 36 ++ .../work/TEST_Bin2BCD_isim_beh.exe_main.lin64.o | Bin 0 -> 2432 bytes .../work/m_16012083836245549588_2618506667.c | 707 +++++++++++++++++++++ .../work/m_16012083836245549588_2618506667.didat | Bin 0 -> 2812 bytes .../work/m_16012083836245549588_2618506667.lin64.o | Bin 0 -> 8424 bytes .../work/m_16541823861846354283_2073120511.c | 337 ++++++++++ .../work/m_16541823861846354283_2073120511.didat | Bin 0 -> 5548 bytes .../work/m_16541823861846354283_2073120511.lin64.o | Bin 0 -> 5216 bytes .../work/m_17956504886923659924_0893867553.c | 108 ++++ .../work/m_17956504886923659924_0893867553.didat | Bin 0 -> 3276 bytes .../work/m_17956504886923659924_0893867553.lin64.o | Bin 0 -> 4072 bytes .../ISimEngine-DesignHierarchy.dbg | Bin 0 -> 7194 bytes .../TEST_DisplayController_isim_beh.exe | Bin 0 -> 18442 bytes .../isimcrash.log | 0 .../isimkernel.log | 29 + .../netId.dat | Bin 0 -> 116 bytes .../tmp_save/_1 | Bin 0 -> 4822 bytes .../TEST_DisplayController_isim_beh.exe_main.c | 38 ++ ...EST_DisplayController_isim_beh.exe_main.lin64.o | Bin 0 -> 2648 bytes .../work/m_00071202231550837446_1606112044.c | 205 ++++++ .../work/m_00071202231550837446_1606112044.didat | Bin 0 -> 2428 bytes .../work/m_00071202231550837446_1606112044.lin64.o | Bin 0 -> 5920 bytes .../work/m_07373066261735772851_1207358656.c | 201 ++++++ .../work/m_07373066261735772851_1207358656.didat | Bin 0 -> 3876 bytes .../work/m_07373066261735772851_1207358656.lin64.o | Bin 0 -> 4824 bytes .../work/m_09461933616065074075_2531671071.c | 274 ++++++++ .../work/m_09461933616065074075_2531671071.didat | Bin 0 -> 2680 bytes .../work/m_09461933616065074075_2531671071.lin64.o | Bin 0 -> 4160 bytes .../work/m_13807125322707046414_3845763652.c | 219 +++++++ .../work/m_13807125322707046414_3845763652.didat | Bin 0 -> 5568 bytes .../work/m_13807125322707046414_3845763652.lin64.o | Bin 0 -> 5552 bytes .../work/m_16541823861846354283_2073120511.c | 337 ++++++++++ .../work/m_16541823861846354283_2073120511.didat | Bin 0 -> 5564 bytes .../work/m_16541823861846354283_2073120511.lin64.o | Bin 0 -> 5216 bytes .../ISimEngine-DesignHierarchy.dbg | Bin 0 -> 4383 bytes .../TEST_FirFilter_isim_beh.exe | Bin 0 -> 15170 bytes isim/TEST_FirFilter_isim_beh.exe.sim/isimcrash.log | 0 .../TEST_FirFilter_isim_beh.exe.sim/isimkernel.log | 29 + isim/TEST_FirFilter_isim_beh.exe.sim/netId.dat | Bin 0 -> 84 bytes isim/TEST_FirFilter_isim_beh.exe.sim/tmp_save/_1 | Bin 0 -> 2527 bytes .../work/TEST_FirFilter_isim_beh.exe_main.c | 36 ++ .../work/TEST_FirFilter_isim_beh.exe_main.lin64.o | Bin 0 -> 2432 bytes .../work/m_05679693179034758439_1243158022.c | 171 +++++ .../work/m_05679693179034758439_1243158022.didat | Bin 0 -> 2932 bytes .../work/m_05679693179034758439_1243158022.lin64.o | Bin 0 -> 4216 bytes .../work/m_11346574241544900769_1316107190.c | 198 ++++++ .../work/m_11346574241544900769_1316107190.didat | Bin 0 -> 3084 bytes .../work/m_11346574241544900769_1316107190.lin64.o | Bin 0 -> 6600 bytes .../work/m_16541823861846354283_2073120511.c | 337 ++++++++++ .../work/m_16541823861846354283_2073120511.didat | Bin 0 -> 5556 bytes .../work/m_16541823861846354283_2073120511.lin64.o | Bin 0 -> 5216 bytes isim/isim_usage_statistics.html | 16 + isim/lockfile | 0 isim/pn_info | 1 + isim/work/@f@i@r@filter.sdb | Bin 0 -> 2571 bytes isim/work/@t@e@s@t_@fir@filter.sdb | Bin 0 -> 3162 bytes isim/work/glbl.sdb | Bin 0 -> 5172 bytes lab5.gise | 92 ++- lab5.xise | 79 +-- xilinxsim.ini | 1 + 87 files changed, 3818 insertions(+), 73 deletions(-) create mode 100644 .gitignore create mode 100644 TEST_Bin2BCD.v create mode 100755 TEST_Bin2BCD_isim_beh.exe create mode 100644 TEST_DisplayController.v create mode 100755 TEST_DisplayController_isim_beh.exe create mode 100644 TEST_FirFilter.v create mode 100644 TEST_FirFilter_beh.prj create mode 100755 TEST_FirFilter_isim_beh.exe create mode 100644 TEST_FirFilter_isim_beh.wdb create mode 100644 firfilter.wcfg 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/TEST_Bin2BCD_isim_beh.exe.sim/ISimEngine-DesignHierarchy.dbg create mode 100755 isim/TEST_Bin2BCD_isim_beh.exe.sim/TEST_Bin2BCD_isim_beh.exe create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/isimcrash.log create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/isimkernel.log create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/netId.dat create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/tmp_save/_1 create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/work/TEST_Bin2BCD_isim_beh.exe_main.c create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/work/TEST_Bin2BCD_isim_beh.exe_main.lin64.o create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16012083836245549588_2618506667.c create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16012083836245549588_2618506667.didat create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16012083836245549588_2618506667.lin64.o create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16541823861846354283_2073120511.c create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16541823861846354283_2073120511.didat create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16541823861846354283_2073120511.lin64.o create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_17956504886923659924_0893867553.c create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_17956504886923659924_0893867553.didat create mode 100644 isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_17956504886923659924_0893867553.lin64.o create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/ISimEngine-DesignHierarchy.dbg create mode 100755 isim/TEST_DisplayController_isim_beh.exe.sim/TEST_DisplayController_isim_beh.exe create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/isimcrash.log create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/isimkernel.log create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/netId.dat create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/tmp_save/_1 create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/TEST_DisplayController_isim_beh.exe_main.c create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/TEST_DisplayController_isim_beh.exe_main.lin64.o create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_00071202231550837446_1606112044.c create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_00071202231550837446_1606112044.didat create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_00071202231550837446_1606112044.lin64.o create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_07373066261735772851_1207358656.c create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_07373066261735772851_1207358656.didat create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_07373066261735772851_1207358656.lin64.o create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_09461933616065074075_2531671071.c create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_09461933616065074075_2531671071.didat create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_09461933616065074075_2531671071.lin64.o create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_13807125322707046414_3845763652.c create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_13807125322707046414_3845763652.didat create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_13807125322707046414_3845763652.lin64.o create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_16541823861846354283_2073120511.c create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_16541823861846354283_2073120511.didat create mode 100644 isim/TEST_DisplayController_isim_beh.exe.sim/work/m_16541823861846354283_2073120511.lin64.o create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/ISimEngine-DesignHierarchy.dbg create mode 100755 isim/TEST_FirFilter_isim_beh.exe.sim/TEST_FirFilter_isim_beh.exe create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/isimcrash.log create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/isimkernel.log create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/netId.dat create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/tmp_save/_1 create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/work/TEST_FirFilter_isim_beh.exe_main.c create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/work/TEST_FirFilter_isim_beh.exe_main.lin64.o create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/work/m_05679693179034758439_1243158022.c create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/work/m_05679693179034758439_1243158022.didat create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/work/m_05679693179034758439_1243158022.lin64.o create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/work/m_11346574241544900769_1316107190.c create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/work/m_11346574241544900769_1316107190.didat create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/work/m_11346574241544900769_1316107190.lin64.o create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/work/m_16541823861846354283_2073120511.c create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/work/m_16541823861846354283_2073120511.didat create mode 100644 isim/TEST_FirFilter_isim_beh.exe.sim/work/m_16541823861846354283_2073120511.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/work/@f@i@r@filter.sdb create mode 100644 isim/work/@t@e@s@t_@fir@filter.sdb create mode 100644 isim/work/glbl.sdb create mode 100644 xilinxsim.ini diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d40292e --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ + +*.un~ + diff --git a/DisplayController.v b/DisplayController.v index 6da8227..8d9a77a 100644 --- a/DisplayController.v +++ b/DisplayController.v @@ -36,7 +36,7 @@ reg [3:0] AN; wire clkdiv; reg [1:0] w = 2'd0; -ClockDivider cdiv(.clk_out(clkdiv), .rst(rst), .clk_in(clk), .count(500_000)); +ClockDivider cdiv(.clk_out(clkdiv), .rst(rst), .clk_in(clk), .count(10)); wire [6:0] o1, o2, o3, o4; diff --git a/DisplayController_summary.html b/DisplayController_summary.html index e3bd536..5983289 100644 --- a/DisplayController_summary.html +++ b/DisplayController_summary.html @@ -7,11 +7,11 @@ Project File: lab5.xise Parser Errors: -X 1 Error + No Errors Module Name: -DisplayController +FIRController Implementation State: New @@ -75,5 +75,5 @@ -
Date Generated: 03/27/2012 - 16:53:37
+
Date Generated: 03/29/2012 - 15:16:18
\ No newline at end of file diff --git a/FIRFilter.v b/FIRFilter.v index dada832..61c0ef8 100644 --- a/FIRFilter.v +++ b/FIRFilter.v @@ -27,16 +27,24 @@ module FIRFilter( reg [15:0] yout; -reg [15:0] yold1; -reg [15:0] yold2; +reg [15:0] yold1=0; +reg [15:0] yold2=0; -always @(*) begin - yout = 20*yin + 15*yold1 + 10*yold2; +always @(yin, yold1, yold2, rst) begin + if (rst) + yout = 0; + else + yout = 20*yin + 15*yold1 + 10*yold2; end -always @(load) begin - yold2 = yold1; - yold1 = yin; +always @(posedge load, posedge rst) begin + if (rst) begin + yold1 = 0; + yold2 = 0; + end else begin + yold2 = yold1; + yold1 = yin; + end end endmodule diff --git a/TEST_Bin2BCD.v b/TEST_Bin2BCD.v new file mode 100644 index 0000000..7561bf6 --- /dev/null +++ b/TEST_Bin2BCD.v @@ -0,0 +1,60 @@ +`timescale 1ns / 1ps + +//////////////////////////////////////////////////////////////////////////////// +// Company: +// Engineer: +// +// Create Date: 15:26:38 03/29/2012 +// Design Name: Bin2BCD +// Module Name: /home/michael/Documents/School/EC311/lab5/TEST_Bin2BCD.v +// Project Name: lab5 +// Target Device: +// Tool versions: +// Description: +// +// Verilog Test Fixture created by ISE for module: Bin2BCD +// +// Dependencies: +// +// Revision: +// Revision 0.01 - File Created +// Additional Comments: +// +//////////////////////////////////////////////////////////////////////////////// + +module TEST_Bin2BCD; + + // Inputs + reg [15:0] bin; + + // Outputs + wire [3:0] one; + wire [3:0] ten; + wire [3:0] hun; + wire [3:0] thous; + + // Instantiate the Unit Under Test (UUT) + Bin2BCD uut ( + .bin(bin), + .one(one), + .ten(ten), + .hun(hun), + .thous(thous) + ); + + initial begin + // Initialize Inputs + bin = 0; + + // Wait 100 ns for global reset to finish + #100; + bin = 7; #50; + bin = 16;#50; + bin = 217;#50; + bin = 1839; #50; + // Add stimulus here + + end + +endmodule + diff --git a/TEST_Bin2BCD_isim_beh.exe b/TEST_Bin2BCD_isim_beh.exe new file mode 100755 index 0000000..beb9ccd Binary files /dev/null and b/TEST_Bin2BCD_isim_beh.exe differ diff --git a/TEST_DisplayController.v b/TEST_DisplayController.v new file mode 100644 index 0000000..c2c7271 --- /dev/null +++ b/TEST_DisplayController.v @@ -0,0 +1,74 @@ +`timescale 1ns / 1ps + +//////////////////////////////////////////////////////////////////////////////// +// Company: +// Engineer: +// +// Create Date: 15:17:59 03/29/2012 +// Design Name: DisplayController +// Module Name: /home/michael/Documents/School/EC311/lab5/TEST_DisplayController.v +// Project Name: lab5 +// Target Device: +// Tool versions: +// Description: +// +// Verilog Test Fixture created by ISE for module: DisplayController +// +// Dependencies: +// +// Revision: +// Revision 0.01 - File Created +// Additional Comments: +// +//////////////////////////////////////////////////////////////////////////////// + +module TEST_DisplayController; + + // Inputs + reg [3:0] A; + reg [3:0] B; + reg [3:0] C; + reg [3:0] D; + reg clk; + reg rst; + + // Outputs + wire [6:0] ssd; + wire [3:0] AN; + + // Instantiate the Unit Under Test (UUT) + DisplayController uut ( + .A(A), + .B(B), + .C(C), + .D(D), + .clk(clk), + .rst(rst), + .ssd(ssd), + .AN(AN) + ); + + initial begin + // Initialize Inputs + A = 0; + B = 0; + C = 0; + D = 0; + clk = 0; + rst = 0; + + // Wait 100 ns for global reset to finish + #100; + A=4'd3; + B=4'd0; + C=4'd7; + D=4'd9; + while (1) begin + clk = ~clk; #1; + end + // Add stimulus here + + end + +endmodule + diff --git a/TEST_DisplayController_isim_beh.exe b/TEST_DisplayController_isim_beh.exe new file mode 100755 index 0000000..beb9ccd Binary files /dev/null and b/TEST_DisplayController_isim_beh.exe differ diff --git a/TEST_FirFilter.v b/TEST_FirFilter.v new file mode 100644 index 0000000..fd8454a --- /dev/null +++ b/TEST_FirFilter.v @@ -0,0 +1,60 @@ +`timescale 1ns / 1ps + +//////////////////////////////////////////////////////////////////////////////// +// Company: +// Engineer: +// +// Create Date: 15:29:29 03/29/2012 +// Design Name: FIRFilter +// Module Name: /home/michael/Documents/School/EC311/lab5/TEST_FirFilter.v +// Project Name: lab5 +// Target Device: +// Tool versions: +// Description: +// +// Verilog Test Fixture created by ISE for module: FIRFilter +// +// Dependencies: +// +// Revision: +// Revision 0.01 - File Created +// Additional Comments: +// +//////////////////////////////////////////////////////////////////////////////// + +module TEST_FirFilter; + + // Inputs + reg [7:0] yin; + reg load; + reg rst; + + // Outputs + wire [15:0] yout; + + // Instantiate the Unit Under Test (UUT) + FIRFilter uut ( + .yin(yin), + .yout(yout), + .load(load), + .rst(rst) + ); + + initial begin + // Initialize Inputs + yin = 0; + load = 0; + rst = 0; + + // Wait 100 ns for global reset to finish + #100; + + // Add stimulus here + yin = 100; #10; load = 1; #10 load = 0; #10; + yin = 12; #10; load = 1; #10 load = 0; #10; + yin = 157; #10; load = 1; #10 load = 0; #10; + yin = 56; #10; load = 1; #10 load = 0; #10; + end + +endmodule + diff --git a/TEST_FirFilter_beh.prj b/TEST_FirFilter_beh.prj new file mode 100644 index 0000000..ef59f44 --- /dev/null +++ b/TEST_FirFilter_beh.prj @@ -0,0 +1,3 @@ +verilog work "FIRFilter.v" +verilog work "TEST_FirFilter.v" +verilog work "/home/michael/opt/Xilinx/13.4/ISE_DS/ISE//verilog/src/glbl.v" diff --git a/TEST_FirFilter_isim_beh.exe b/TEST_FirFilter_isim_beh.exe new file mode 100755 index 0000000..beb9ccd Binary files /dev/null and b/TEST_FirFilter_isim_beh.exe differ diff --git a/TEST_FirFilter_isim_beh.wdb b/TEST_FirFilter_isim_beh.wdb new file mode 100644 index 0000000..5755f5a Binary files /dev/null and b/TEST_FirFilter_isim_beh.wdb differ diff --git a/_xmsgs/pn_parser.xmsgs b/_xmsgs/pn_parser.xmsgs index 278dafe..4c3d12b 100644 --- a/_xmsgs/pn_parser.xmsgs +++ b/_xmsgs/pn_parser.xmsgs @@ -8,7 +8,7 @@ -Analyzing Verilog file "/home/michael/Documents/School/EC311/lab5/DisplayController.v" into library work +Analyzing Verilog file "/home/michael/Documents/School/EC311/lab5/FIRFilter.v" into library work diff --git a/firfilter.wcfg b/firfilter.wcfg new file mode 100644 index 0000000..0facbc5 --- /dev/null +++ b/firfilter.wcfg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + yout[15:0] + yout[15:0] + + + yin[7:0] + yin[7:0] + + + load + load + + + rst + rst + + + yold1[15:0] + yold1[15:0] + + + yold2[15:0] + yold2[15:0] + + diff --git a/fuse.log b/fuse.log new file mode 100644 index 0000000..cfaf0da --- /dev/null +++ b/fuse.log @@ -0,0 +1,23 @@ +Running: /home/michael/opt/Xilinx/13.4/ISE_DS/ISE/bin/lin64/unwrapped/fuse -relaunch -intstyle "ise" -incremental -lib "unisims_ver" -lib "unimacro_ver" -lib "xilinxcorelib_ver" -lib "secureip" -o "/home/michael/Documents/School/EC311/lab5/TEST_FirFilter_isim_beh.exe" -prj "/home/michael/Documents/School/EC311/lab5/TEST_FirFilter_beh.prj" "work.TEST_FirFilter" "work.glbl" +ISim O.87xd (signature 0x8ddf5b5d) +Number of CPUs detected in this system: 2 +Turning on mult-threading, number of parallel sub-compilation jobs: 4 +Determining compilation order of HDL files +Analyzing Verilog file "/home/michael/Documents/School/EC311/lab5/FIRFilter.v" into library work +WARNING:HDLCompiler:751 - "/home/michael/Documents/School/EC311/lab5/FIRFilter.v" Line 28: Redeclaration of ansi port yout is not allowed +Analyzing Verilog file "/home/michael/Documents/School/EC311/lab5/TEST_FirFilter.v" into library work +Analyzing Verilog file "/home/michael/opt/Xilinx/13.4/ISE_DS/ISE//verilog/src/glbl.v" into library work +Starting static elaboration +Completed static elaboration +Fuse Memory Usage: 94996 KB +Fuse CPU Usage: 1620 ms +Compiling module FIRFilter +Compiling module TEST_FirFilter +Compiling module glbl +Time Resolution for simulation is 1ps. +Waiting for 1 sub-compilation(s) to finish... +Compiled 3 Verilog Units +Built simulation executable /home/michael/Documents/School/EC311/lab5/TEST_FirFilter_isim_beh.exe +Fuse Memory Usage: 393012 KB +Fuse CPU Usage: 1640 ms +GCC CPU Usage: 300 ms diff --git a/fuse.xmsgs b/fuse.xmsgs new file mode 100644 index 0000000..ec4f168 --- /dev/null +++ b/fuse.xmsgs @@ -0,0 +1,12 @@ + + + +"/home/michael/Documents/School/EC311/lab5/FIRFilter.v" Line 28: Redeclaration of ansi port yout is not allowed + + + + diff --git a/fuseRelaunch.cmd b/fuseRelaunch.cmd new file mode 100644 index 0000000..8390901 --- /dev/null +++ b/fuseRelaunch.cmd @@ -0,0 +1 @@ +-intstyle "ise" -incremental -lib "unisims_ver" -lib "unimacro_ver" -lib "xilinxcorelib_ver" -lib "secureip" -o "/home/michael/Documents/School/EC311/lab5/TEST_FirFilter_isim_beh.exe" -prj "/home/michael/Documents/School/EC311/lab5/TEST_FirFilter_beh.prj" "work.TEST_FirFilter" "work.glbl" diff --git a/iseconfig/FIRController.xreport b/iseconfig/FIRController.xreport index 80763e1..70ab327 100644 --- a/iseconfig/FIRController.xreport +++ b/iseconfig/FIRController.xreport @@ -1,11 +1,11 @@
- 2012-03-27T16:33:33 - DisplayController + 2012-03-29T15:16:18 + FIRController Unknown /home/michael/Documents/School/EC311/lab5/iseconfig/FIRController.xreport - /home/michael/Documents/School/EC311/lab5 + /home/michael/Documents/School/EC311/lab5/ 2012-03-27T16:33:33 false
diff --git a/iseconfig/lab5.projectmgr b/iseconfig/lab5.projectmgr index ce403c0..5788bca 100644 --- a/iseconfig/lab5.projectmgr +++ b/iseconfig/lab5.projectmgr @@ -1,4 +1,4 @@ - + @@ -9,13 +9,13 @@ 2 - dc - DisplayController (/home/michael/Documents/School/EC311/lab5/DisplayController.v) + ff - FIRFilter (/home/michael/Documents/School/EC311/lab5/FIRFilter.v) - 1 + 0 0 000000ff00000000000000010000000100000000000000000000000000000000020200000001000000010000006400000155000000020000000000000000000000000200000064ffffffff000000810000000300000002000001550000000100000003000000000000000100000003 true - dc - DisplayController (/home/michael/Documents/School/EC311/lab5/DisplayController.v) + ff - FIRFilter (/home/michael/Documents/School/EC311/lab5/FIRFilter.v) @@ -23,13 +23,13 @@ Design Utilities - + 0 0 000000ff00000000000000010000000100000000000000000000000000000000000000000000000154000000010000000100000000000000000000000064ffffffff000000810000000000000001000001540000000100000000 false - + @@ -73,5 +73,49 @@ 000000ff00000000000000020000013f0000012001000000060100000002 - Implementation + Behavioral Simulation + + + 2 + /FIRController |home|michael|Documents|School|EC311|lab5|FIRController.v/dc - DisplayController + /TEST_Bin2BCD |home|michael|Documents|School|EC311|lab5|TEST_Bin2BCD.v + /TEST_DisplayController |home|michael|Documents|School|EC311|lab5|TEST_DisplayController.v + /TEST_FirFilter |home|michael|Documents|School|EC311|lab5|TEST_FirFilter.v + + + TEST_FirFilter (/home/michael/Documents/School/EC311/lab5/TEST_FirFilter.v) + + 0 + 0 + 000000ff0000000000000001000000010000000000000000000000000000000002020000000100000001000000640000016e000000020000000000000000000000000200000064ffffffff0000008100000003000000020000016e0000000100000003000000000000000100000003 + false + TEST_FirFilter (/home/michael/Documents/School/EC311/lab5/TEST_FirFilter.v) + + + + 1 + Design Utilities + + + + + 0 + 0 + 000000ff00000000000000010000000100000000000000000000000000000000000000000000000154000000010000000100000000000000000000000064ffffffff000000810000000000000001000001540000000100000000 + false + + + + + 1 + + + + + 0 + 0 + 000000ff00000000000000010000000100000000000000000000000000000000000000000000000154000000010000000100000000000000000000000064ffffffff000000810000000000000001000001540000000100000000 + 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..5611dad --- /dev/null +++ b/isim.log @@ -0,0 +1,38 @@ +ISim log file +Running: /home/michael/Documents/School/EC311/lab5/TEST_FirFilter_isim_beh.exe -intstyle ise -gui -tclbatch isim.cmd -wdb /home/michael/Documents/School/EC311/lab5/TEST_FirFilter_isim_beh.wdb +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. +Time resolution is 1 ps +# onerror resume +# wave add / +# run 1000 ns +Simulator is doing circuit initialization process. +Finished circuit initialization process. +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. +Finished circuit initialization process. +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. +Finished circuit initialization process. +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. +Finished circuit initialization process. +# exit 0 diff --git a/isim/TEST_Bin2BCD_isim_beh.exe.sim/ISimEngine-DesignHierarchy.dbg b/isim/TEST_Bin2BCD_isim_beh.exe.sim/ISimEngine-DesignHierarchy.dbg new file mode 100644 index 0000000..e4626e0 Binary files /dev/null and b/isim/TEST_Bin2BCD_isim_beh.exe.sim/ISimEngine-DesignHierarchy.dbg differ diff --git a/isim/TEST_Bin2BCD_isim_beh.exe.sim/TEST_Bin2BCD_isim_beh.exe b/isim/TEST_Bin2BCD_isim_beh.exe.sim/TEST_Bin2BCD_isim_beh.exe new file mode 100755 index 0000000..fa04231 Binary files /dev/null and b/isim/TEST_Bin2BCD_isim_beh.exe.sim/TEST_Bin2BCD_isim_beh.exe differ diff --git a/isim/TEST_Bin2BCD_isim_beh.exe.sim/isimcrash.log b/isim/TEST_Bin2BCD_isim_beh.exe.sim/isimcrash.log new file mode 100644 index 0000000..e69de29 diff --git a/isim/TEST_Bin2BCD_isim_beh.exe.sim/isimkernel.log b/isim/TEST_Bin2BCD_isim_beh.exe.sim/isimkernel.log new file mode 100644 index 0000000..04dde27 --- /dev/null +++ b/isim/TEST_Bin2BCD_isim_beh.exe.sim/isimkernel.log @@ -0,0 +1,29 @@ +Command line: + TEST_Bin2BCD_isim_beh.exe + -simmode gui + -simrunnum 0 + -socket 36066 + +Thu Mar 29 15:27:41 2012 + + + Elaboration Time: 0.02 sec + + Current Memory Usage: 181.277 Meg + + Total Signals : 18 + Total Nets : 45 + Total Signal Drivers : 10 + Total Blocks : 3 + Total Primitive Blocks : 2 + Total Processes : 13 + Total Traceable Variables : 25 + Total Scalar Nets and Variables : 193 +Total Line Count : 39 + + Total Simulation Time: 0.04 sec + + Current Memory Usage: 256.778 Meg + +Thu Mar 29 15:28:03 2012 + diff --git a/isim/TEST_Bin2BCD_isim_beh.exe.sim/netId.dat b/isim/TEST_Bin2BCD_isim_beh.exe.sim/netId.dat new file mode 100644 index 0000000..9ecf9af Binary files /dev/null and b/isim/TEST_Bin2BCD_isim_beh.exe.sim/netId.dat differ diff --git a/isim/TEST_Bin2BCD_isim_beh.exe.sim/tmp_save/_1 b/isim/TEST_Bin2BCD_isim_beh.exe.sim/tmp_save/_1 new file mode 100644 index 0000000..def0567 Binary files /dev/null and b/isim/TEST_Bin2BCD_isim_beh.exe.sim/tmp_save/_1 differ diff --git a/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/TEST_Bin2BCD_isim_beh.exe_main.c b/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/TEST_Bin2BCD_isim_beh.exe_main.c new file mode 100644 index 0000000..e214f38 --- /dev/null +++ b/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/TEST_Bin2BCD_isim_beh.exe_main.c @@ -0,0 +1,36 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2009 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/***********************************************************************/ + +#include "xsi.h" + +struct XSI_INFO xsi_info; + + + +int main(int argc, char **argv) +{ + xsi_init_design(argc, argv); + xsi_register_info(&xsi_info); + + xsi_register_min_prec_unit(-12); + work_m_16012083836245549588_2618506667_init(); + work_m_17956504886923659924_0893867553_init(); + work_m_16541823861846354283_2073120511_init(); + + + xsi_register_tops("work_m_17956504886923659924_0893867553"); + xsi_register_tops("work_m_16541823861846354283_2073120511"); + + + return xsi_run_simulation(argc, argv); + +} diff --git a/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/TEST_Bin2BCD_isim_beh.exe_main.lin64.o b/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/TEST_Bin2BCD_isim_beh.exe_main.lin64.o new file mode 100644 index 0000000..901350c Binary files /dev/null and b/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/TEST_Bin2BCD_isim_beh.exe_main.lin64.o differ diff --git a/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16012083836245549588_2618506667.c b/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16012083836245549588_2618506667.c new file mode 100644 index 0000000..d490288 --- /dev/null +++ b/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16012083836245549588_2618506667.c @@ -0,0 +1,707 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2009 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/***********************************************************************/ + +/* This file is designed for use with ISim build 0x8ddf5b5d */ + +#define XSI_HIDE_SYMBOL_SPEC true +#include "xsi.h" +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +static const char *ng0 = "/home/michael/Documents/School/EC311/lab5/Bin2BCD.v"; +static int ng1[] = {0, 0}; +static int ng2[] = {15, 0}; +static int ng3[] = {1, 0}; +static int ng4[] = {5, 0}; +static unsigned int ng5[] = {3U, 0U}; +static int ng6[] = {31, 0}; +static int ng7[] = {28, 0}; +static int ng8[] = {27, 0}; +static int ng9[] = {24, 0}; +static int ng10[] = {23, 0}; +static int ng11[] = {20, 0}; +static int ng12[] = {19, 0}; +static int ng13[] = {16, 0}; + + + +static void Always_33_0(char *t0) +{ + char t6[8]; + char t22[8]; + char t29[8]; + char t38[8]; + char t40[8]; + char t41[8]; + char t42[8]; + char *t1; + char *t2; + char *t3; + char *t4; + char *t5; + char *t7; + char *t8; + char *t9; + char *t10; + char *t11; + char *t12; + char *t13; + char *t14; + char *t15; + char *t16; + unsigned int t17; + unsigned int t18; + unsigned int t19; + unsigned int t20; + unsigned int t21; + unsigned int t23; + unsigned int t24; + unsigned int t25; + unsigned int t26; + unsigned int t27; + unsigned int t28; + char *t30; + unsigned int t31; + unsigned int t32; + unsigned int t33; + unsigned int t34; + unsigned int t35; + unsigned int t36; + char *t37; + char *t39; + char *t43; + char *t44; + char *t45; + char *t46; + char *t47; + char *t48; + unsigned int t49; + int t50; + char *t51; + unsigned int t52; + int t53; + int t54; + char *t55; + unsigned int t56; + int t57; + int t58; + unsigned int t59; + int t60; + unsigned int t61; + unsigned int t62; + int t63; + int t64; + +LAB0: t1 = (t0 + 3160U); + t2 = *((char **)t1); + if (t2 == 0) + goto LAB2; + +LAB3: goto *t2; + +LAB2: xsi_set_current_line(33, ng0); + t2 = (t0 + 3480); + *((int *)t2) = 1; + t3 = (t0 + 3192); + *((char **)t3) = t2; + *((char **)t1) = &&LAB4; + +LAB1: return; +LAB4: xsi_set_current_line(33, ng0); + +LAB5: xsi_set_current_line(34, ng0); + t4 = ((char*)((ng1))); + t5 = (t0 + 1768); + xsi_vlogvar_assign_value(t5, t4, 0, 0, 4); + xsi_set_current_line(34, ng0); + t2 = ((char*)((ng1))); + t3 = (t0 + 1608); + xsi_vlogvar_assign_value(t3, t2, 0, 0, 4); + xsi_set_current_line(34, ng0); + t2 = ((char*)((ng1))); + t3 = (t0 + 1448); + xsi_vlogvar_assign_value(t3, t2, 0, 0, 4); + xsi_set_current_line(35, ng0); + t2 = (t0 + 1048U); + t3 = *((char **)t2); + t2 = (t0 + 1448); + t4 = (t2 + 56U); + t5 = *((char **)t4); + t7 = (t0 + 1608); + t8 = (t7 + 56U); + t9 = *((char **)t8); + t10 = (t0 + 1768); + t11 = (t10 + 56U); + t12 = *((char **)t11); + t13 = (t0 + 1928); + t14 = (t13 + 56U); + t15 = *((char **)t14); + xsi_vlogtype_concat(t6, 32, 32, 5U, t15, 4, t12, 4, t9, 4, t5, 4, t3, 16); + t16 = (t0 + 2088); + xsi_vlogvar_assign_value(t16, t6, 0, 0, 32); + xsi_set_current_line(37, ng0); + xsi_set_current_line(37, ng0); + t2 = ((char*)((ng1))); + t3 = (t0 + 2248); + xsi_vlogvar_assign_value(t3, t2, 0, 0, 4); + +LAB6: t2 = (t0 + 2248); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = ((char*)((ng2))); + memset(t6, 0, 8); + t7 = (t4 + 4); + if (*((unsigned int *)t7) != 0) + goto LAB8; + +LAB7: t8 = (t5 + 4); + if (*((unsigned int *)t8) != 0) + goto LAB8; + +LAB11: if (*((unsigned int *)t4) < *((unsigned int *)t5)) + goto LAB9; + +LAB10: t10 = (t6 + 4); + t17 = *((unsigned int *)t10); + t18 = (~(t17)); + t19 = *((unsigned int *)t6); + t20 = (t19 & t18); + t21 = (t20 != 0); + if (t21 > 0) + goto LAB12; + +LAB13: xsi_set_current_line(49, ng0); + t2 = (t0 + 2088); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = ((char*)((ng3))); + memset(t6, 0, 8); + xsi_vlog_unsigned_lshift(t6, 32, t4, 32, t5, 32); + t7 = (t0 + 2088); + xsi_vlogvar_assign_value(t7, t6, 0, 0, 32); + xsi_set_current_line(51, ng0); + t2 = (t0 + 2088); + t3 = (t2 + 56U); + t4 = *((char **)t3); + memset(t6, 0, 8); + t5 = (t6 + 4); + t7 = (t4 + 4); + t17 = *((unsigned int *)t4); + t18 = (t17 >> 28); + *((unsigned int *)t6) = t18; + t19 = *((unsigned int *)t7); + t20 = (t19 >> 28); + *((unsigned int *)t5) = t20; + t21 = *((unsigned int *)t6); + *((unsigned int *)t6) = (t21 & 15U); + t23 = *((unsigned int *)t5); + *((unsigned int *)t5) = (t23 & 15U); + t8 = (t0 + 1928); + xsi_vlogvar_assign_value(t8, t6, 0, 0, 4); + xsi_set_current_line(52, ng0); + t2 = (t0 + 2088); + t3 = (t2 + 56U); + t4 = *((char **)t3); + memset(t6, 0, 8); + t5 = (t6 + 4); + t7 = (t4 + 4); + t17 = *((unsigned int *)t4); + t18 = (t17 >> 24); + *((unsigned int *)t6) = t18; + t19 = *((unsigned int *)t7); + t20 = (t19 >> 24); + *((unsigned int *)t5) = t20; + t21 = *((unsigned int *)t6); + *((unsigned int *)t6) = (t21 & 15U); + t23 = *((unsigned int *)t5); + *((unsigned int *)t5) = (t23 & 15U); + t8 = (t0 + 1768); + xsi_vlogvar_assign_value(t8, t6, 0, 0, 4); + xsi_set_current_line(53, ng0); + t2 = (t0 + 2088); + t3 = (t2 + 56U); + t4 = *((char **)t3); + memset(t6, 0, 8); + t5 = (t6 + 4); + t7 = (t4 + 4); + t17 = *((unsigned int *)t4); + t18 = (t17 >> 20); + *((unsigned int *)t6) = t18; + t19 = *((unsigned int *)t7); + t20 = (t19 >> 20); + *((unsigned int *)t5) = t20; + t21 = *((unsigned int *)t6); + *((unsigned int *)t6) = (t21 & 15U); + t23 = *((unsigned int *)t5); + *((unsigned int *)t5) = (t23 & 15U); + t8 = (t0 + 1608); + xsi_vlogvar_assign_value(t8, t6, 0, 0, 4); + xsi_set_current_line(54, ng0); + t2 = (t0 + 2088); + t3 = (t2 + 56U); + t4 = *((char **)t3); + memset(t6, 0, 8); + t5 = (t6 + 4); + t7 = (t4 + 4); + t17 = *((unsigned int *)t4); + t18 = (t17 >> 16); + *((unsigned int *)t6) = t18; + t19 = *((unsigned int *)t7); + t20 = (t19 >> 16); + *((unsigned int *)t5) = t20; + t21 = *((unsigned int *)t6); + *((unsigned int *)t6) = (t21 & 15U); + t23 = *((unsigned int *)t5); + *((unsigned int *)t5) = (t23 & 15U); + t8 = (t0 + 1448); + xsi_vlogvar_assign_value(t8, t6, 0, 0, 4); + goto LAB2; + +LAB8: t9 = (t6 + 4); + *((unsigned int *)t6) = 1; + *((unsigned int *)t9) = 1; + goto LAB10; + +LAB9: *((unsigned int *)t6) = 1; + goto LAB10; + +LAB12: xsi_set_current_line(37, ng0); + +LAB14: xsi_set_current_line(38, ng0); + t11 = (t0 + 2088); + t12 = (t11 + 56U); + t13 = *((char **)t12); + t14 = ((char*)((ng3))); + memset(t22, 0, 8); + xsi_vlog_unsigned_lshift(t22, 32, t13, 32, t14, 32); + t15 = (t0 + 2088); + xsi_vlogvar_assign_value(t15, t22, 0, 0, 32); + xsi_set_current_line(39, ng0); + t2 = (t0 + 2088); + t3 = (t2 + 56U); + t4 = *((char **)t3); + memset(t6, 0, 8); + t5 = (t6 + 4); + t7 = (t4 + 4); + t17 = *((unsigned int *)t4); + t18 = (t17 >> 28); + *((unsigned int *)t6) = t18; + t19 = *((unsigned int *)t7); + t20 = (t19 >> 28); + *((unsigned int *)t5) = t20; + t21 = *((unsigned int *)t6); + *((unsigned int *)t6) = (t21 & 15U); + t23 = *((unsigned int *)t5); + *((unsigned int *)t5) = (t23 & 15U); + t8 = ((char*)((ng4))); + memset(t22, 0, 8); + t9 = (t6 + 4); + if (*((unsigned int *)t9) != 0) + goto LAB16; + +LAB15: t10 = (t8 + 4); + if (*((unsigned int *)t10) != 0) + goto LAB16; + +LAB19: if (*((unsigned int *)t6) < *((unsigned int *)t8)) + goto LAB18; + +LAB17: *((unsigned int *)t22) = 1; + +LAB18: t12 = (t22 + 4); + t24 = *((unsigned int *)t12); + t25 = (~(t24)); + t26 = *((unsigned int *)t22); + t27 = (t26 & t25); + t28 = (t27 != 0); + if (t28 > 0) + goto LAB20; + +LAB21: +LAB22: xsi_set_current_line(41, ng0); + t2 = (t0 + 2088); + t3 = (t2 + 56U); + t4 = *((char **)t3); + memset(t6, 0, 8); + t5 = (t6 + 4); + t7 = (t4 + 4); + t17 = *((unsigned int *)t4); + t18 = (t17 >> 24); + *((unsigned int *)t6) = t18; + t19 = *((unsigned int *)t7); + t20 = (t19 >> 24); + *((unsigned int *)t5) = t20; + t21 = *((unsigned int *)t6); + *((unsigned int *)t6) = (t21 & 15U); + t23 = *((unsigned int *)t5); + *((unsigned int *)t5) = (t23 & 15U); + t8 = ((char*)((ng4))); + memset(t22, 0, 8); + t9 = (t6 + 4); + if (*((unsigned int *)t9) != 0) + goto LAB26; + +LAB25: t10 = (t8 + 4); + if (*((unsigned int *)t10) != 0) + goto LAB26; + +LAB29: if (*((unsigned int *)t6) < *((unsigned int *)t8)) + goto LAB28; + +LAB27: *((unsigned int *)t22) = 1; + +LAB28: t12 = (t22 + 4); + t24 = *((unsigned int *)t12); + t25 = (~(t24)); + t26 = *((unsigned int *)t22); + t27 = (t26 & t25); + t28 = (t27 != 0); + if (t28 > 0) + goto LAB30; + +LAB31: +LAB32: xsi_set_current_line(43, ng0); + t2 = (t0 + 2088); + t3 = (t2 + 56U); + t4 = *((char **)t3); + memset(t6, 0, 8); + t5 = (t6 + 4); + t7 = (t4 + 4); + t17 = *((unsigned int *)t4); + t18 = (t17 >> 20); + *((unsigned int *)t6) = t18; + t19 = *((unsigned int *)t7); + t20 = (t19 >> 20); + *((unsigned int *)t5) = t20; + t21 = *((unsigned int *)t6); + *((unsigned int *)t6) = (t21 & 15U); + t23 = *((unsigned int *)t5); + *((unsigned int *)t5) = (t23 & 15U); + t8 = ((char*)((ng4))); + memset(t22, 0, 8); + t9 = (t6 + 4); + if (*((unsigned int *)t9) != 0) + goto LAB36; + +LAB35: t10 = (t8 + 4); + if (*((unsigned int *)t10) != 0) + goto LAB36; + +LAB39: if (*((unsigned int *)t6) < *((unsigned int *)t8)) + goto LAB38; + +LAB37: *((unsigned int *)t22) = 1; + +LAB38: t12 = (t22 + 4); + t24 = *((unsigned int *)t12); + t25 = (~(t24)); + t26 = *((unsigned int *)t22); + t27 = (t26 & t25); + t28 = (t27 != 0); + if (t28 > 0) + goto LAB40; + +LAB41: +LAB42: xsi_set_current_line(45, ng0); + t2 = (t0 + 2088); + t3 = (t2 + 56U); + t4 = *((char **)t3); + memset(t6, 0, 8); + t5 = (t6 + 4); + t7 = (t4 + 4); + t17 = *((unsigned int *)t4); + t18 = (t17 >> 16); + *((unsigned int *)t6) = t18; + t19 = *((unsigned int *)t7); + t20 = (t19 >> 16); + *((unsigned int *)t5) = t20; + t21 = *((unsigned int *)t6); + *((unsigned int *)t6) = (t21 & 15U); + t23 = *((unsigned int *)t5); + *((unsigned int *)t5) = (t23 & 15U); + t8 = ((char*)((ng4))); + memset(t22, 0, 8); + t9 = (t6 + 4); + if (*((unsigned int *)t9) != 0) + goto LAB46; + +LAB45: t10 = (t8 + 4); + if (*((unsigned int *)t10) != 0) + goto LAB46; + +LAB49: if (*((unsigned int *)t6) < *((unsigned int *)t8)) + goto LAB48; + +LAB47: *((unsigned int *)t22) = 1; + +LAB48: t12 = (t22 + 4); + t24 = *((unsigned int *)t12); + t25 = (~(t24)); + t26 = *((unsigned int *)t22); + t27 = (t26 & t25); + t28 = (t27 != 0); + if (t28 > 0) + goto LAB50; + +LAB51: +LAB52: xsi_set_current_line(37, ng0); + t2 = (t0 + 2248); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = ((char*)((ng3))); + memset(t6, 0, 8); + xsi_vlog_unsigned_add(t6, 32, t4, 4, t5, 32); + t7 = (t0 + 2248); + xsi_vlogvar_assign_value(t7, t6, 0, 0, 4); + goto LAB6; + +LAB16: t11 = (t22 + 4); + *((unsigned int *)t22) = 1; + *((unsigned int *)t11) = 1; + goto LAB18; + +LAB20: xsi_set_current_line(40, ng0); + t13 = (t0 + 2088); + t14 = (t13 + 56U); + t15 = *((char **)t14); + memset(t29, 0, 8); + t16 = (t29 + 4); + t30 = (t15 + 4); + t31 = *((unsigned int *)t15); + t32 = (t31 >> 28); + *((unsigned int *)t29) = t32; + t33 = *((unsigned int *)t30); + t34 = (t33 >> 28); + *((unsigned int *)t16) = t34; + t35 = *((unsigned int *)t29); + *((unsigned int *)t29) = (t35 & 15U); + t36 = *((unsigned int *)t16); + *((unsigned int *)t16) = (t36 & 15U); + t37 = ((char*)((ng5))); + memset(t38, 0, 8); + xsi_vlog_unsigned_add(t38, 4, t29, 4, t37, 4); + t39 = (t0 + 2088); + t43 = (t0 + 2088); + t44 = (t43 + 72U); + t45 = *((char **)t44); + t46 = ((char*)((ng6))); + t47 = ((char*)((ng7))); + xsi_vlog_convert_partindices(t40, t41, t42, ((int*)(t45)), 2, t46, 32, 1, t47, 32, 1); + t48 = (t40 + 4); + t49 = *((unsigned int *)t48); + t50 = (!(t49)); + t51 = (t41 + 4); + t52 = *((unsigned int *)t51); + t53 = (!(t52)); + t54 = (t50 && t53); + t55 = (t42 + 4); + t56 = *((unsigned int *)t55); + t57 = (!(t56)); + t58 = (t54 && t57); + if (t58 == 1) + goto LAB23; + +LAB24: goto LAB22; + +LAB23: t59 = *((unsigned int *)t42); + t60 = (t59 + 0); + t61 = *((unsigned int *)t40); + t62 = *((unsigned int *)t41); + t63 = (t61 - t62); + t64 = (t63 + 1); + xsi_vlogvar_assign_value(t39, t38, t60, *((unsigned int *)t41), t64); + goto LAB24; + +LAB26: t11 = (t22 + 4); + *((unsigned int *)t22) = 1; + *((unsigned int *)t11) = 1; + goto LAB28; + +LAB30: xsi_set_current_line(42, ng0); + t13 = (t0 + 2088); + t14 = (t13 + 56U); + t15 = *((char **)t14); + memset(t29, 0, 8); + t16 = (t29 + 4); + t30 = (t15 + 4); + t31 = *((unsigned int *)t15); + t32 = (t31 >> 24); + *((unsigned int *)t29) = t32; + t33 = *((unsigned int *)t30); + t34 = (t33 >> 24); + *((unsigned int *)t16) = t34; + t35 = *((unsigned int *)t29); + *((unsigned int *)t29) = (t35 & 15U); + t36 = *((unsigned int *)t16); + *((unsigned int *)t16) = (t36 & 15U); + t37 = ((char*)((ng5))); + memset(t38, 0, 8); + xsi_vlog_unsigned_add(t38, 4, t29, 4, t37, 4); + t39 = (t0 + 2088); + t43 = (t0 + 2088); + t44 = (t43 + 72U); + t45 = *((char **)t44); + t46 = ((char*)((ng8))); + t47 = ((char*)((ng9))); + xsi_vlog_convert_partindices(t40, t41, t42, ((int*)(t45)), 2, t46, 32, 1, t47, 32, 1); + t48 = (t40 + 4); + t49 = *((unsigned int *)t48); + t50 = (!(t49)); + t51 = (t41 + 4); + t52 = *((unsigned int *)t51); + t53 = (!(t52)); + t54 = (t50 && t53); + t55 = (t42 + 4); + t56 = *((unsigned int *)t55); + t57 = (!(t56)); + t58 = (t54 && t57); + if (t58 == 1) + goto LAB33; + +LAB34: goto LAB32; + +LAB33: t59 = *((unsigned int *)t42); + t60 = (t59 + 0); + t61 = *((unsigned int *)t40); + t62 = *((unsigned int *)t41); + t63 = (t61 - t62); + t64 = (t63 + 1); + xsi_vlogvar_assign_value(t39, t38, t60, *((unsigned int *)t41), t64); + goto LAB34; + +LAB36: t11 = (t22 + 4); + *((unsigned int *)t22) = 1; + *((unsigned int *)t11) = 1; + goto LAB38; + +LAB40: xsi_set_current_line(44, ng0); + t13 = (t0 + 2088); + t14 = (t13 + 56U); + t15 = *((char **)t14); + memset(t29, 0, 8); + t16 = (t29 + 4); + t30 = (t15 + 4); + t31 = *((unsigned int *)t15); + t32 = (t31 >> 20); + *((unsigned int *)t29) = t32; + t33 = *((unsigned int *)t30); + t34 = (t33 >> 20); + *((unsigned int *)t16) = t34; + t35 = *((unsigned int *)t29); + *((unsigned int *)t29) = (t35 & 15U); + t36 = *((unsigned int *)t16); + *((unsigned int *)t16) = (t36 & 15U); + t37 = ((char*)((ng5))); + memset(t38, 0, 8); + xsi_vlog_unsigned_add(t38, 4, t29, 4, t37, 4); + t39 = (t0 + 2088); + t43 = (t0 + 2088); + t44 = (t43 + 72U); + t45 = *((char **)t44); + t46 = ((char*)((ng10))); + t47 = ((char*)((ng11))); + xsi_vlog_convert_partindices(t40, t41, t42, ((int*)(t45)), 2, t46, 32, 1, t47, 32, 1); + t48 = (t40 + 4); + t49 = *((unsigned int *)t48); + t50 = (!(t49)); + t51 = (t41 + 4); + t52 = *((unsigned int *)t51); + t53 = (!(t52)); + t54 = (t50 && t53); + t55 = (t42 + 4); + t56 = *((unsigned int *)t55); + t57 = (!(t56)); + t58 = (t54 && t57); + if (t58 == 1) + goto LAB43; + +LAB44: goto LAB42; + +LAB43: t59 = *((unsigned int *)t42); + t60 = (t59 + 0); + t61 = *((unsigned int *)t40); + t62 = *((unsigned int *)t41); + t63 = (t61 - t62); + t64 = (t63 + 1); + xsi_vlogvar_assign_value(t39, t38, t60, *((unsigned int *)t41), t64); + goto LAB44; + +LAB46: t11 = (t22 + 4); + *((unsigned int *)t22) = 1; + *((unsigned int *)t11) = 1; + goto LAB48; + +LAB50: xsi_set_current_line(46, ng0); + t13 = (t0 + 2088); + t14 = (t13 + 56U); + t15 = *((char **)t14); + memset(t29, 0, 8); + t16 = (t29 + 4); + t30 = (t15 + 4); + t31 = *((unsigned int *)t15); + t32 = (t31 >> 16); + *((unsigned int *)t29) = t32; + t33 = *((unsigned int *)t30); + t34 = (t33 >> 16); + *((unsigned int *)t16) = t34; + t35 = *((unsigned int *)t29); + *((unsigned int *)t29) = (t35 & 15U); + t36 = *((unsigned int *)t16); + *((unsigned int *)t16) = (t36 & 15U); + t37 = ((char*)((ng5))); + memset(t38, 0, 8); + xsi_vlog_unsigned_add(t38, 4, t29, 4, t37, 4); + t39 = (t0 + 2088); + t43 = (t0 + 2088); + t44 = (t43 + 72U); + t45 = *((char **)t44); + t46 = ((char*)((ng12))); + t47 = ((char*)((ng13))); + xsi_vlog_convert_partindices(t40, t41, t42, ((int*)(t45)), 2, t46, 32, 1, t47, 32, 1); + t48 = (t40 + 4); + t49 = *((unsigned int *)t48); + t50 = (!(t49)); + t51 = (t41 + 4); + t52 = *((unsigned int *)t51); + t53 = (!(t52)); + t54 = (t50 && t53); + t55 = (t42 + 4); + t56 = *((unsigned int *)t55); + t57 = (!(t56)); + t58 = (t54 && t57); + if (t58 == 1) + goto LAB53; + +LAB54: goto LAB52; + +LAB53: t59 = *((unsigned int *)t42); + t60 = (t59 + 0); + t61 = *((unsigned int *)t40); + t62 = *((unsigned int *)t41); + t63 = (t61 - t62); + t64 = (t63 + 1); + xsi_vlogvar_assign_value(t39, t38, t60, *((unsigned int *)t41), t64); + goto LAB54; + +} + + +extern void work_m_16012083836245549588_2618506667_init() +{ + static char *pe[] = {(void *)Always_33_0}; + xsi_register_didat("work_m_16012083836245549588_2618506667", "isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16012083836245549588_2618506667.didat"); + xsi_register_executes(pe); +} diff --git a/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16012083836245549588_2618506667.didat b/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16012083836245549588_2618506667.didat new file mode 100644 index 0000000..59fe66b Binary files /dev/null and b/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16012083836245549588_2618506667.didat differ diff --git a/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16012083836245549588_2618506667.lin64.o b/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16012083836245549588_2618506667.lin64.o new file mode 100644 index 0000000..fb68158 Binary files /dev/null and b/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16012083836245549588_2618506667.lin64.o differ diff --git a/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16541823861846354283_2073120511.c b/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16541823861846354283_2073120511.c new file mode 100644 index 0000000..2eba636 --- /dev/null +++ b/isim/TEST_Bin2BCD_isim_beh.exe.sim/work/m_16541823861846354283_2073120511.c @@ -0,0 +1,337 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2009 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/***********************************************************************/ + +/* This file is designed for use with ISim build 0x8ddf5b5d */ + +#define XSI_HIDE_SYMBOL_SPEC true +#include "xsi.h" +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +static const char *ng0 = "/home/michael/opt/Xilinx/13.4/ISE_DS/ISE/verilog/src/glbl.v"; +static unsigned int ng1[] = {1U, 0U}; +static unsigned int ng2[] = {0U, 0U}; + + + +static void NetDecl_16_0(char *t0) +{ + char *t1; + char *t2; + char *t3; + char *t4; + char *t5; + char *t6; + char *t7; + unsigned int t8; + unsigned int t9; + char *t10; + unsigned int t11; + unsigned int t12; + char *t13; + unsigned int t14; + unsigned int t15; + char *t16; + +LAB0: t1 = (t0 + 6952U); + t2 = *((char **)t1); + if (t2 == 0) + goto LAB2; + +LAB3: goto *t2; + +LAB2: xsi_set_current_line(16, ng0); + t2 = (t0 + 1960U); + t3 = *((char **)t2); + t2 = (t0 + 8640); + t4 = (t2 + 56U); + t5 = *((char **)t4); + t6 = (t5 + 56U); + t7 = *((char **)t6); + memset(t7, 0, 8); + t8 = 1U; + t9 = t8; + t10 = (t3 + 4); + t11 = *((unsigned int *)t3); + t8 = (t8 & t11); + t12 = *((unsigned int *)t10); + t9 = (t9 & t12); + t13 = (t7 + 4); + t14 = *((unsigned int *)t7); + *((unsigned int *)t7) = (t14 | t8); + t15 = *((unsigned int *)t13); + *((unsigned int *)t13) = (t15 | t9); + xsi_driver_vfirst_trans(t2, 0, 0U); + t16 = (t0 + 8512); + *((int *)t16) = 1; + +LAB1: return; +} + +static void Cont_48_1(char *t0) +{ + char *t1; + char *t2; + char *t3; + char *t4; + char *t5; + char *t6; + char *t7; + char *t8; + char *t9; + unsigned int t10; + unsigned int t11; + char *t12; + unsigned int t13; + unsigned int t14; + char *t15; + unsigned int t16; + unsigned int t17; + char *t18; + +LAB0: t1 = (t0 + 7200U); + t2 = *((char **)t1); + if (t2 == 0) + goto LAB2; + +LAB3: goto *t2; + +LAB2: xsi_set_current_line(48, ng0); + t2 = (t0 + 3640); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t0 + 8704); + t6 = (t5 + 56U); + t7 = *((char **)t6); + t8 = (t7 + 56U); + t9 = *((char **)t8); + memset(t9, 0, 8); + t10 = 1U; + t11 = t10; + t12 = (t4 + 4); + t13 = *((unsigned int *)t4); + t10 = (t10 & t13); + t14 = *((unsigned int *)t12); + t11 = (t11 & t14); + t15 = (t9 + 4); + t16 = *((unsigned int *)t9); + *((unsigned int *)t9) = (t16 | t10); + t17 = *((unsigned int *)t15); + *((unsigned int *)t15) = (t17 | t11); + xsi_driver_vfirst_trans(t5, 0, 0); + t18 = (t0 + 8528); + *((int *)t18) = 1; + +LAB1: return; +} + +static void Cont_49_2(char *t0) +{ + char *t1; + char *t2; + char *t3; + char *t4; + char *t5; + char *t6; + char *t7; + char *t8; + char *t9; + unsigned int t10; + unsigned int t11; + char *t12; + unsigned int t13; + unsigned int t14; + char *t15; + unsigned int t16; + unsigned int t17; + char *t18; + +LAB0: t1 = (t0 + 7448U); + t2 = *((char **)t1); + if (t2 == 0) + goto LAB2; + +LAB3: goto *t2; + +LAB2: xsi_set_current_line(49, ng0); + t2 = (t0 + 3800); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t0 + 8768); + t6 = (t5 + 56U); + t7 = *((char **)t6); + t8 = (t7 + 56U); + t9 = *((char **)t8); + memset(t9, 0, 8); + t10 = 1U; + t11 = t10; + t12 = (t4 + 4); + t13 = *((unsigned int *)t4); + t10 = (t10 & t13); + t14 = *((unsigned int *)t12); + t11 = (t11 & t14); + t15 = (t9 + 4); + t16 = *((unsigned int *)t9); + *((unsigned int *)t9) = (t16 | t10); + t17 = *((unsigned int *)t15); + *((unsigned int *)t15) = (t17 | t11); + xsi_driver_vfirst_trans(t5, 0, 0); + t18 = (t0 + 8544); + *((int *)t18) = 1; + +LAB1: return; +} + +static void Cont_50_3(char *t0) +{ + char *t1; + char *t2; + char *t3; + char *t4; + char *t5; + char *t6; + char *t7; + char *t8; + char *t9; + unsigned int t10; + unsigned int t11; + char *t12; + unsigned int t13; + unsigned int t14; + char *t15; + unsigned int t16; + unsigned int t17; + char *t18; + +LAB0: t1 = (t0 + 7696U); + t2 = *((char **)t1); + if (t2 == 0) + goto LAB2; + +LAB3: goto *t2; + +LAB2: xsi_set_current_line(50, ng0); + t2 = (t0 + 3960); + t3 = (t2 + 56U); + t4 = *((char **)t3); + t5 = (t0 + 8832); + t6 = (t5 + 56U); + t7 = *((char **)t6); + t8 = (t7 + 56U); + t9 = *((char **)t8); + memset(t9, 0, 8); + t10 = 1U; + t11 = t10; + t12 = (t4 + 4); + t13 = *((unsigned int *)t4); + t10 = (t10 & t13); + t14 = *((unsigned int *)t12); + t11 = (t11 & t14); + t15 = (t9 + 4); + t16 = *((unsigned int *)t9); + *((unsigned int *)t9) = (t16 | t10); + t17 = *((unsigned int *)t15); + *((unsigned int *)t15) = (t17 | t11); + xsi_driver_vfirst_trans(t5, 0, 0); + t18 = (t0 + 8560); + *((int *)t18) = 1; + +LAB1: return; +} + +static void Initial_52_4(char *t0) +{ + char *t1; + char *t2; + char *t3; +