193 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			193 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #! /usr/bin/vvp
 | |
| :ivl_version "11.0 (stable)";
 | |
| :ivl_delay_selection "TYPICAL";
 | |
| :vpi_time_precision + 0;
 | |
| :vpi_module "/usr/lib/x86_64-linux-gnu/ivl/system.vpi";
 | |
| :vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_sys.vpi";
 | |
| :vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_textio.vpi";
 | |
| :vpi_module "/usr/lib/x86_64-linux-gnu/ivl/v2005_math.vpi";
 | |
| :vpi_module "/usr/lib/x86_64-linux-gnu/ivl/va_math.vpi";
 | |
| S_0x5635a3500ed0 .scope module, "bit3AdderTB" "bit3AdderTB" 2 1;
 | |
|  .timescale 0 0;
 | |
| v0x5635a352f990_0 .var "A", 2 0;
 | |
| v0x5635a352fa50_0 .var "B", 2 0;
 | |
| v0x5635a352fb20_0 .net "Sum", 3 0, L_0x5635a3531200;  1 drivers
 | |
| S_0x5635a350cec0 .scope module, "uut" "bit3Adder" 2 7, 3 1 0, S_0x5635a3500ed0;
 | |
|  .timescale 0 0;
 | |
|     .port_info 0 /INPUT 3 "A";
 | |
|     .port_info 1 /INPUT 3 "B";
 | |
|     .port_info 2 /OUTPUT 4 "Sum";
 | |
| v0x5635a352f460_0 .net "A", 2 0, v0x5635a352f990_0;  1 drivers
 | |
| v0x5635a352f560_0 .net "B", 2 0, v0x5635a352fa50_0;  1 drivers
 | |
| v0x5635a352f640_0 .net "Carry3", 2 0, L_0x5635a35312a0;  1 drivers
 | |
| v0x5635a352f700_0 .net "Sum", 3 0, L_0x5635a3531200;  alias, 1 drivers
 | |
| o0x7f05b0813a38 .functor BUFZ 1, C4<z>; HiZ drive
 | |
| ; Elide local net with no drivers, v0x5635a352f7e0_0 name=_ivl_31
 | |
| L_0x5635a352fe60 .part v0x5635a352f990_0, 0, 1;
 | |
| L_0x5635a352ff50 .part v0x5635a352fa50_0, 0, 1;
 | |
| L_0x5635a3530530 .part v0x5635a352f990_0, 1, 1;
 | |
| L_0x5635a3530660 .part v0x5635a352fa50_0, 1, 1;
 | |
| L_0x5635a3530790 .part L_0x5635a35312a0, 0, 1;
 | |
| L_0x5635a3530cc0 .part v0x5635a352f990_0, 2, 1;
 | |
| L_0x5635a3530ec0 .part v0x5635a352fa50_0, 2, 1;
 | |
| L_0x5635a3531080 .part L_0x5635a35312a0, 1, 1;
 | |
| L_0x5635a3531200 .concat8 [ 1 1 1 1], L_0x5635a352fc20, L_0x5635a3530230, L_0x5635a35309c0, L_0x5635a3530c30;
 | |
| L_0x5635a35312a0 .concat [ 1 1 1 0], L_0x5635a352fd20, L_0x5635a35304a0, o0x7f05b0813a38;
 | |
| S_0x5635a350d050 .scope module, "f1" "fulladder" 3 10, 4 1 0, S_0x5635a350cec0;
 | |
|  .timescale 0 0;
 | |
|     .port_info 0 /INPUT 1 "A";
 | |
|     .port_info 1 /INPUT 1 "B";
 | |
|     .port_info 2 /INPUT 1 "CarryIn";
 | |
|     .port_info 3 /OUTPUT 1 "Sum";
 | |
|     .port_info 4 /OUTPUT 1 "CarryOut";
 | |
| L_0x5635a35304a0 .functor OR 1, L_0x5635a3530150, L_0x5635a35303c0, C4<0>, C4<0>;
 | |
| v0x5635a352d3d0_0 .net "A", 0 0, L_0x5635a3530530;  1 drivers
 | |
| v0x5635a352d490_0 .net "ABandCIn", 0 0, L_0x5635a35303c0;  1 drivers
 | |
| v0x5635a352d560_0 .net "AandB", 0 0, L_0x5635a3530150;  1 drivers
 | |
| v0x5635a352d660_0 .net "AxorB", 0 0, L_0x5635a3530040;  1 drivers
 | |
| v0x5635a352d750_0 .net "B", 0 0, L_0x5635a3530660;  1 drivers
 | |
| v0x5635a352d840_0 .net "CarryIn", 0 0, L_0x5635a3530790;  1 drivers
 | |
| v0x5635a352d8e0_0 .net "CarryOut", 0 0, L_0x5635a35304a0;  1 drivers
 | |
| v0x5635a352d980_0 .net "Sum", 0 0, L_0x5635a3530230;  1 drivers
 | |
| S_0x5635a35114b0 .scope module, "h1" "halfadder" 4 8, 5 1 0, S_0x5635a350d050;
 | |
|  .timescale 0 0;
 | |
|     .port_info 0 /INPUT 1 "A";
 | |
|     .port_info 1 /INPUT 1 "B";
 | |
|     .port_info 2 /OUTPUT 1 "Sum";
 | |
|     .port_info 3 /OUTPUT 1 "CarryOut";
 | |
| L_0x5635a3530040 .functor XOR 1, L_0x5635a3530530, L_0x5635a3530660, C4<0>, C4<0>;
 | |
| L_0x5635a3530150 .functor AND 1, L_0x5635a3530530, L_0x5635a3530660, C4<1>, C4<1>;
 | |
| v0x5635a3501500_0 .net "A", 0 0, L_0x5635a3530530;  alias, 1 drivers
 | |
| v0x5635a34ffa60_0 .net "B", 0 0, L_0x5635a3530660;  alias, 1 drivers
 | |
| v0x5635a34fdfe0_0 .net "CarryOut", 0 0, L_0x5635a3530150;  alias, 1 drivers
 | |
| v0x5635a3501270_0 .net "Sum", 0 0, L_0x5635a3530040;  alias, 1 drivers
 | |
| S_0x5635a352cf90 .scope module, "h2" "halfadder" 4 9, 5 1 0, S_0x5635a350d050;
 | |
|  .timescale 0 0;
 | |
|     .port_info 0 /INPUT 1 "A";
 | |
|     .port_info 1 /INPUT 1 "B";
 | |
|     .port_info 2 /OUTPUT 1 "Sum";
 | |
|     .port_info 3 /OUTPUT 1 "CarryOut";
 | |
| L_0x5635a3530230 .functor XOR 1, L_0x5635a3530040, L_0x5635a3530790, C4<0>, C4<0>;
 | |
| L_0x5635a35303c0 .functor AND 1, L_0x5635a3530040, L_0x5635a3530790, C4<1>, C4<1>;
 | |
| v0x5635a34ff7d0_0 .net "A", 0 0, L_0x5635a3530040;  alias, 1 drivers
 | |
| v0x5635a34fdcf0_0 .net "B", 0 0, L_0x5635a3530790;  alias, 1 drivers
 | |
| v0x5635a352d190_0 .net "CarryOut", 0 0, L_0x5635a35303c0;  alias, 1 drivers
 | |
| v0x5635a352d260_0 .net "Sum", 0 0, L_0x5635a3530230;  alias, 1 drivers
 | |
| S_0x5635a352da80 .scope module, "f2" "fulladder" 3 11, 4 1 0, S_0x5635a350cec0;
 | |
|  .timescale 0 0;
 | |
|     .port_info 0 /INPUT 1 "A";
 | |
|     .port_info 1 /INPUT 1 "B";
 | |
|     .port_info 2 /INPUT 1 "CarryIn";
 | |
|     .port_info 3 /OUTPUT 1 "Sum";
 | |
|     .port_info 4 /OUTPUT 1 "CarryOut";
 | |
| L_0x5635a3530c30 .functor OR 1, L_0x5635a3530930, L_0x5635a3530b50, C4<0>, C4<0>;
 | |
| v0x5635a352e800_0 .net "A", 0 0, L_0x5635a3530cc0;  1 drivers
 | |
| v0x5635a352e8c0_0 .net "ABandCIn", 0 0, L_0x5635a3530b50;  1 drivers
 | |
| v0x5635a352e990_0 .net "AandB", 0 0, L_0x5635a3530930;  1 drivers
 | |
| v0x5635a352ea90_0 .net "AxorB", 0 0, L_0x5635a35308c0;  1 drivers
 | |
| v0x5635a352eb80_0 .net "B", 0 0, L_0x5635a3530ec0;  1 drivers
 | |
| v0x5635a352ec70_0 .net "CarryIn", 0 0, L_0x5635a3531080;  1 drivers
 | |
| v0x5635a352ed10_0 .net "CarryOut", 0 0, L_0x5635a3530c30;  1 drivers
 | |
| v0x5635a352edb0_0 .net "Sum", 0 0, L_0x5635a35309c0;  1 drivers
 | |
| S_0x5635a352dc60 .scope module, "h1" "halfadder" 4 8, 5 1 0, S_0x5635a352da80;
 | |
|  .timescale 0 0;
 | |
|     .port_info 0 /INPUT 1 "A";
 | |
|     .port_info 1 /INPUT 1 "B";
 | |
|     .port_info 2 /OUTPUT 1 "Sum";
 | |
|     .port_info 3 /OUTPUT 1 "CarryOut";
 | |
| L_0x5635a35308c0 .functor XOR 1, L_0x5635a3530cc0, L_0x5635a3530ec0, C4<0>, C4<0>;
 | |
| L_0x5635a3530930 .functor AND 1, L_0x5635a3530cc0, L_0x5635a3530ec0, C4<1>, C4<1>;
 | |
| v0x5635a352de70_0 .net "A", 0 0, L_0x5635a3530cc0;  alias, 1 drivers
 | |
| v0x5635a352df50_0 .net "B", 0 0, L_0x5635a3530ec0;  alias, 1 drivers
 | |
| v0x5635a352e010_0 .net "CarryOut", 0 0, L_0x5635a3530930;  alias, 1 drivers
 | |
| v0x5635a352e0e0_0 .net "Sum", 0 0, L_0x5635a35308c0;  alias, 1 drivers
 | |
| S_0x5635a352e250 .scope module, "h2" "halfadder" 4 9, 5 1 0, S_0x5635a352da80;
 | |
|  .timescale 0 0;
 | |
|     .port_info 0 /INPUT 1 "A";
 | |
|     .port_info 1 /INPUT 1 "B";
 | |
|     .port_info 2 /OUTPUT 1 "Sum";
 | |
|     .port_info 3 /OUTPUT 1 "CarryOut";
 | |
| L_0x5635a35309c0 .functor XOR 1, L_0x5635a35308c0, L_0x5635a3531080, C4<0>, C4<0>;
 | |
| L_0x5635a3530b50 .functor AND 1, L_0x5635a35308c0, L_0x5635a3531080, C4<1>, C4<1>;
 | |
| v0x5635a352e450_0 .net "A", 0 0, L_0x5635a35308c0;  alias, 1 drivers
 | |
| v0x5635a352e520_0 .net "B", 0 0, L_0x5635a3531080;  alias, 1 drivers
 | |
| v0x5635a352e5c0_0 .net "CarryOut", 0 0, L_0x5635a3530b50;  alias, 1 drivers
 | |
| v0x5635a352e690_0 .net "Sum", 0 0, L_0x5635a35309c0;  alias, 1 drivers
 | |
| S_0x5635a352eeb0 .scope module, "h1" "halfadder" 3 9, 5 1 0, S_0x5635a350cec0;
 | |
|  .timescale 0 0;
 | |
|     .port_info 0 /INPUT 1 "A";
 | |
|     .port_info 1 /INPUT 1 "B";
 | |
|     .port_info 2 /OUTPUT 1 "Sum";
 | |
|     .port_info 3 /OUTPUT 1 "CarryOut";
 | |
| L_0x5635a352fc20 .functor XOR 1, L_0x5635a352fe60, L_0x5635a352ff50, C4<0>, C4<0>;
 | |
| L_0x5635a352fd20 .functor AND 1, L_0x5635a352fe60, L_0x5635a352ff50, C4<1>, C4<1>;
 | |
| v0x5635a352f0c0_0 .net "A", 0 0, L_0x5635a352fe60;  1 drivers
 | |
| v0x5635a352f160_0 .net "B", 0 0, L_0x5635a352ff50;  1 drivers
 | |
| v0x5635a352f220_0 .net "CarryOut", 0 0, L_0x5635a352fd20;  1 drivers
 | |
| v0x5635a352f2f0_0 .net "Sum", 0 0, L_0x5635a352fc20;  1 drivers
 | |
|     .scope S_0x5635a3500ed0;
 | |
| T_0 ;
 | |
|     %vpi_call 2 14 "$dumpfile", "bit3Adder.vcd" {0 0 0};
 | |
|     %vpi_call 2 15 "$dumpvars" {0 0 0};
 | |
|     %pushi/vec4 0, 0, 3;
 | |
|     %store/vec4 v0x5635a352f990_0, 0, 3;
 | |
|     %pushi/vec4 0, 0, 3;
 | |
|     %store/vec4 v0x5635a352fa50_0, 0, 3;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 0, 0, 3;
 | |
|     %store/vec4 v0x5635a352f990_0, 0, 3;
 | |
|     %pushi/vec4 1, 0, 3;
 | |
|     %store/vec4 v0x5635a352fa50_0, 0, 3;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 1, 0, 3;
 | |
|     %store/vec4 v0x5635a352f990_0, 0, 3;
 | |
|     %pushi/vec4 1, 0, 3;
 | |
|     %store/vec4 v0x5635a352fa50_0, 0, 3;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 2, 0, 3;
 | |
|     %store/vec4 v0x5635a352f990_0, 0, 3;
 | |
|     %pushi/vec4 2, 0, 3;
 | |
|     %store/vec4 v0x5635a352fa50_0, 0, 3;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 2, 0, 3;
 | |
|     %store/vec4 v0x5635a352f990_0, 0, 3;
 | |
|     %pushi/vec4 3, 0, 3;
 | |
|     %store/vec4 v0x5635a352fa50_0, 0, 3;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 6, 0, 3;
 | |
|     %store/vec4 v0x5635a352f990_0, 0, 3;
 | |
|     %pushi/vec4 2, 0, 3;
 | |
|     %store/vec4 v0x5635a352fa50_0, 0, 3;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 5, 0, 3;
 | |
|     %store/vec4 v0x5635a352f990_0, 0, 3;
 | |
|     %pushi/vec4 4, 0, 3;
 | |
|     %store/vec4 v0x5635a352fa50_0, 0, 3;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 7, 0, 3;
 | |
|     %store/vec4 v0x5635a352f990_0, 0, 3;
 | |
|     %pushi/vec4 4, 0, 3;
 | |
|     %store/vec4 v0x5635a352fa50_0, 0, 3;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 7, 0, 3;
 | |
|     %store/vec4 v0x5635a352f990_0, 0, 3;
 | |
|     %pushi/vec4 6, 0, 3;
 | |
|     %store/vec4 v0x5635a352fa50_0, 0, 3;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 7, 0, 3;
 | |
|     %store/vec4 v0x5635a352f990_0, 0, 3;
 | |
|     %pushi/vec4 7, 0, 3;
 | |
|     %store/vec4 v0x5635a352fa50_0, 0, 3;
 | |
|     %delay 10, 0;
 | |
|     %vpi_call 2 26 "$finish" {0 0 0};
 | |
|     %end;
 | |
|     .thread T_0;
 | |
| # The file index is used to find the file name in the following table.
 | |
| :file_names 6;
 | |
|     "N/A";
 | |
|     "<interactive>";
 | |
|     "bit3AdderTB.v";
 | |
|     "bit3Adder.v";
 | |
|     "fulladder.v";
 | |
|     "halfadder.v";
 |