-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMycounter
executable file
·77 lines (77 loc) · 2.37 KB
/
Mycounter
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#! /usr/local/bin/vvp
:ivl_version "12.0 (stable)";
:ivl_delay_selection "TYPICAL";
:vpi_time_precision + 0;
:vpi_module "/usr/local/lib/ivl/system.vpi";
:vpi_module "/usr/local/lib/ivl/vhdl_sys.vpi";
:vpi_module "/usr/local/lib/ivl/vhdl_textio.vpi";
:vpi_module "/usr/local/lib/ivl/v2005_math.vpi";
:vpi_module "/usr/local/lib/ivl/va_math.vpi";
S_0x5f3448e99ac0 .scope module, "Testbench" "Testbench" 2 2;
.timescale 0 0;
v0x5f3448eac6c0_0 .var "Clock", 0 0;
v0x5f3448eac790_0 .net "Count", 3 0, v0x5f3448eac4c0_0; 1 drivers
v0x5f3448eac860_0 .var "Reset", 0 0;
S_0x5f3448e99c50 .scope module, "I1" "Mycounter" 2 7, 3 2 0, S_0x5f3448e99ac0;
.timescale 0 0;
.port_info 0 /INPUT 1 "CLK";
.port_info 1 /INPUT 1 "RST";
.port_info 2 /OUTPUT 4 "OUT";
v0x5f3448e60cf0_0 .net "CLK", 0 0, v0x5f3448eac6c0_0; 1 drivers
v0x5f3448eac4c0_0 .var "OUT", 3 0;
v0x5f3448eac5a0_0 .net "RST", 0 0, v0x5f3448eac860_0; 1 drivers
E_0x5f3448e61360 .event posedge, v0x5f3448e60cf0_0;
.scope S_0x5f3448e99c50;
T_0 ;
%wait E_0x5f3448e61360;
%load/vec4 v0x5f3448eac5a0_0;
%cmpi/e 1, 0, 1;
%jmp/0xz T_0.0, 4;
%pushi/vec4 0, 0, 4;
%assign/vec4 v0x5f3448eac4c0_0, 0;
%jmp T_0.1;
T_0.0 ;
%load/vec4 v0x5f3448eac4c0_0;
%addi 1, 0, 4;
%assign/vec4 v0x5f3448eac4c0_0, 0;
T_0.1 ;
%jmp T_0;
.thread T_0;
.scope S_0x5f3448e99ac0;
T_1 ;
%vpi_call 2 11 "$display", " Starting simulation ..." {0 0 0};
%pushi/vec4 0, 0, 1;
%store/vec4 v0x5f3448eac6c0_0, 0, 1;
%pushi/vec4 1, 0, 1;
%store/vec4 v0x5f3448eac860_0, 0, 1;
%delay 100, 0;
%pushi/vec4 0, 0, 1;
%store/vec4 v0x5f3448eac860_0, 0, 1;
%delay 2000, 0;
%pushi/vec4 1, 0, 1;
%store/vec4 v0x5f3448eac860_0, 0, 1;
%delay 400, 0;
%vpi_call 2 16 "$finish" {0 0 0};
%end;
.thread T_1;
.scope S_0x5f3448e99ac0;
T_2 ;
%delay 50, 0;
%load/vec4 v0x5f3448eac6c0_0;
%inv;
%store/vec4 v0x5f3448eac6c0_0, 0, 1;
%jmp T_2;
.thread T_2;
.scope S_0x5f3448e99ac0;
T_3 ;
%vpi_call 2 25 "$dumpfile", "count.vcd" {0 0 0};
%vpi_call 2 26 "$dumpvars" {0 0 0};
%vpi_call 2 27 "$monitor", "%d ,%b ,%b ,%d", $time, v0x5f3448eac6c0_0, v0x5f3448eac860_0, v0x5f3448eac790_0 {0 0 0};
%end;
.thread T_3;
# The file index is used to find the file name in the following table.
:file_names 4;
"N/A";
"<interactive>";
"Testbench.v";
"Mycounter.v";