127 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			5.0 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_0x5596b8f24c90 .scope module, "fulladderTB" "fulladderTB" 2 1;
 | |
|  .timescale 0 0;
 | |
| v0x5596b8f38c50_0 .var "A", 0 0;
 | |
| v0x5596b8f38d40_0 .var "B", 0 0;
 | |
| v0x5596b8f38e50_0 .var "CarryIn", 0 0;
 | |
| v0x5596b8f38f40_0 .net "CarryOut", 0 0, L_0x5596b8f394b0;  1 drivers
 | |
| v0x5596b8f38fe0_0 .net "Sum", 0 0, L_0x5596b8f39250;  1 drivers
 | |
| S_0x5596b8f24e20 .scope module, "uut" "fulladder" 2 6, 3 1 0, S_0x5596b8f24c90;
 | |
|  .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_0x5596b8f394b0 .functor OR 1, L_0x5596b8f39190, L_0x5596b8f39390, C4<0>, C4<0>;
 | |
| v0x5596b8f385a0_0 .net "A", 0 0, v0x5596b8f38c50_0;  1 drivers
 | |
| v0x5596b8f38660_0 .net "ABandCIn", 0 0, L_0x5596b8f39390;  1 drivers
 | |
| v0x5596b8f38730_0 .net "AandB", 0 0, L_0x5596b8f39190;  1 drivers
 | |
| v0x5596b8f38830_0 .net "AxorB", 0 0, L_0x5596b8f39120;  1 drivers
 | |
| v0x5596b8f38920_0 .net "B", 0 0, v0x5596b8f38d40_0;  1 drivers
 | |
| v0x5596b8f38a10_0 .net "CarryIn", 0 0, v0x5596b8f38e50_0;  1 drivers
 | |
| v0x5596b8f38ab0_0 .net "CarryOut", 0 0, L_0x5596b8f394b0;  alias, 1 drivers
 | |
| v0x5596b8f38b50_0 .net "Sum", 0 0, L_0x5596b8f39250;  alias, 1 drivers
 | |
| S_0x5596b8f1ff80 .scope module, "h1" "halfadder" 3 8, 4 1 0, S_0x5596b8f24e20;
 | |
|  .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_0x5596b8f39120 .functor XOR 1, v0x5596b8f38c50_0, v0x5596b8f38d40_0, C4<0>, C4<0>;
 | |
| L_0x5596b8f39190 .functor AND 1, v0x5596b8f38c50_0, v0x5596b8f38d40_0, C4<1>, C4<1>;
 | |
| v0x5596b8f20200_0 .net "A", 0 0, v0x5596b8f38c50_0;  alias, 1 drivers
 | |
| v0x5596b8f37c80_0 .net "B", 0 0, v0x5596b8f38d40_0;  alias, 1 drivers
 | |
| v0x5596b8f37d40_0 .net "CarryOut", 0 0, L_0x5596b8f39190;  alias, 1 drivers
 | |
| v0x5596b8f37e10_0 .net "Sum", 0 0, L_0x5596b8f39120;  alias, 1 drivers
 | |
| S_0x5596b8f37f80 .scope module, "h2" "halfadder" 3 9, 4 1 0, S_0x5596b8f24e20;
 | |
|  .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_0x5596b8f39250 .functor XOR 1, L_0x5596b8f39120, v0x5596b8f38e50_0, C4<0>, C4<0>;
 | |
| L_0x5596b8f39390 .functor AND 1, L_0x5596b8f39120, v0x5596b8f38e50_0, C4<1>, C4<1>;
 | |
| v0x5596b8f381f0_0 .net "A", 0 0, L_0x5596b8f39120;  alias, 1 drivers
 | |
| v0x5596b8f382c0_0 .net "B", 0 0, v0x5596b8f38e50_0;  alias, 1 drivers
 | |
| v0x5596b8f38360_0 .net "CarryOut", 0 0, L_0x5596b8f39390;  alias, 1 drivers
 | |
| v0x5596b8f38430_0 .net "Sum", 0 0, L_0x5596b8f39250;  alias, 1 drivers
 | |
|     .scope S_0x5596b8f24c90;
 | |
| T_0 ;
 | |
|     %vpi_call 2 15 "$dumpfile", "fulladder.vcd" {0 0 0};
 | |
|     %vpi_call 2 16 "$dumpvars" {0 0 0};
 | |
|     %pushi/vec4 0, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38c50_0, 0, 1;
 | |
|     %pushi/vec4 0, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38d40_0, 0, 1;
 | |
|     %pushi/vec4 0, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38e50_0, 0, 1;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 0, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38c50_0, 0, 1;
 | |
|     %pushi/vec4 0, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38d40_0, 0, 1;
 | |
|     %pushi/vec4 1, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38e50_0, 0, 1;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 0, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38c50_0, 0, 1;
 | |
|     %pushi/vec4 1, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38d40_0, 0, 1;
 | |
|     %pushi/vec4 0, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38e50_0, 0, 1;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 0, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38c50_0, 0, 1;
 | |
|     %pushi/vec4 1, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38d40_0, 0, 1;
 | |
|     %pushi/vec4 1, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38e50_0, 0, 1;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 1, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38c50_0, 0, 1;
 | |
|     %pushi/vec4 0, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38d40_0, 0, 1;
 | |
|     %pushi/vec4 0, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38e50_0, 0, 1;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 1, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38c50_0, 0, 1;
 | |
|     %pushi/vec4 0, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38d40_0, 0, 1;
 | |
|     %pushi/vec4 1, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38e50_0, 0, 1;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 1, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38c50_0, 0, 1;
 | |
|     %pushi/vec4 1, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38d40_0, 0, 1;
 | |
|     %pushi/vec4 0, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38e50_0, 0, 1;
 | |
|     %delay 10, 0;
 | |
|     %pushi/vec4 1, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38c50_0, 0, 1;
 | |
|     %pushi/vec4 1, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38d40_0, 0, 1;
 | |
|     %pushi/vec4 1, 0, 1;
 | |
|     %store/vec4 v0x5596b8f38e50_0, 0, 1;
 | |
|     %delay 10, 0;
 | |
|     %vpi_call 2 25 "$finish" {0 0 0};
 | |
|     %end;
 | |
|     .thread T_0;
 | |
| # The file index is used to find the file name in the following table.
 | |
| :file_names 5;
 | |
|     "N/A";
 | |
|     "<interactive>";
 | |
|     "fulladderTB.v";
 | |
|     "fulladder.v";
 | |
|     "halfadder.v";
 |