-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsimv
More file actions
190 lines (190 loc) · 4.99 KB
/
simv
File metadata and controls
190 lines (190 loc) · 4.99 KB
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
#! /c/Source/iverilog-install/bin/vvp
:ivl_version "12.0 (devel)" "(s20150603-1539-g2693dd32b)";
:ivl_delay_selection "TYPICAL";
:vpi_time_precision - 9;
:vpi_module "C:\iverilog\lib\ivl\system.vpi";
:vpi_module "C:\iverilog\lib\ivl\vhdl_sys.vpi";
:vpi_module "C:\iverilog\lib\ivl\vhdl_textio.vpi";
:vpi_module "C:\iverilog\lib\ivl\v2005_math.vpi";
:vpi_module "C:\iverilog\lib\ivl\va_math.vpi";
S_0000021fc7a0b0f0 .scope module, "mux" "mux" 2 15;
.timescale -9 -9;
.port_info 0 /OUTPUT 1 "z";
.port_info 1 /INPUT 3 "y";
.port_info 2 /INPUT 2 "s";
o0000021fc7a5afa8 .functor BUFZ 2, C4<zz>; HiZ drive
v0000021fc7a0e670_0 .net "s", 1 0, o0000021fc7a5afa8; 0 drivers
o0000021fc7a5afd8 .functor BUFZ 3, C4<zzz>; HiZ drive
v0000021fc7a0e710_0 .net "y", 2 0, o0000021fc7a5afd8; 0 drivers
v0000021fc7a0e7b0_0 .var "z", 0 0;
E_0000021fc7a44940 .event anyedge, v0000021fc7a0e670_0, v0000021fc7a0e710_0;
S_0000021fc7a0e4e0 .scope module, "testbench" "testbench" 3 2;
.timescale -9 -9;
v0000021fc7a22740_0 .var "x", 6 0;
v0000021fc7a227e0_0 .net "yy", 2 0, v0000021fc7a226a0_0; 1 drivers
S_0000021fc7a22510 .scope module, "enc" "encoder" 3 7, 2 3 0, S_0000021fc7a0e4e0;
.timescale -9 -9;
.port_info 0 /OUTPUT 3 "y";
.port_info 1 /INPUT 7 "x";
v0000021fc7a0e850_0 .net "x", 6 0, v0000021fc7a22740_0; 1 drivers
v0000021fc7a226a0_0 .var "y", 2 0;
E_0000021fc7a44f40 .event anyedge, v0000021fc7a0e850_0;
.scope S_0000021fc7a0b0f0;
T_0 ;
%wait E_0000021fc7a44940;
%load/vec4 v0000021fc7a0e670_0;
%dup/vec4;
%pushi/vec4 0, 0, 2;
%cmp/u;
%jmp/1 T_0.0, 6;
%dup/vec4;
%pushi/vec4 1, 0, 2;
%cmp/u;
%jmp/1 T_0.1, 6;
%dup/vec4;
%pushi/vec4 2, 0, 2;
%cmp/u;
%jmp/1 T_0.2, 6;
%dup/vec4;
%pushi/vec4 3, 0, 2;
%cmp/u;
%jmp/1 T_0.3, 6;
%jmp T_0.4;
T_0.0 ;
%load/vec4 v0000021fc7a0e710_0;
%cmpi/e 0, 0, 3;
%flag_mov 8, 4;
%jmp/0 T_0.5, 8;
%pushi/vec4 1, 0, 2;
%jmp/1 T_0.6, 8;
T_0.5 ; End of true expr.
%pushi/vec4 0, 0, 2;
%jmp/0 T_0.6, 8;
; End of false expr.
%blend;
T_0.6;
%pad/s 1;
%store/vec4 v0000021fc7a0e7b0_0, 0, 1;
%jmp T_0.4;
T_0.1 ;
%load/vec4 v0000021fc7a0e710_0;
%cmpi/e 1, 0, 3;
%flag_mov 8, 4;
%jmp/0 T_0.7, 8;
%pushi/vec4 1, 0, 2;
%jmp/1 T_0.8, 8;
T_0.7 ; End of true expr.
%pushi/vec4 0, 0, 2;
%jmp/0 T_0.8, 8;
; End of false expr.
%blend;
T_0.8;
%pad/s 1;
%store/vec4 v0000021fc7a0e7b0_0, 0, 1;
%jmp T_0.4;
T_0.2 ;
%load/vec4 v0000021fc7a0e710_0;
%cmpi/e 2, 0, 3;
%flag_mov 8, 4;
%jmp/0 T_0.9, 8;
%pushi/vec4 1, 0, 2;
%jmp/1 T_0.10, 8;
T_0.9 ; End of true expr.
%pushi/vec4 0, 0, 2;
%jmp/0 T_0.10, 8;
; End of false expr.
%blend;
T_0.10;
%pad/s 1;
%store/vec4 v0000021fc7a0e7b0_0, 0, 1;
%jmp T_0.4;
T_0.3 ;
%load/vec4 v0000021fc7a0e710_0;
%cmpi/e 3, 0, 3;
%flag_mov 8, 4;
%jmp/0 T_0.11, 8;
%pushi/vec4 1, 0, 2;
%jmp/1 T_0.12, 8;
T_0.11 ; End of true expr.
%pushi/vec4 0, 0, 2;
%jmp/0 T_0.12, 8;
; End of false expr.
%blend;
T_0.12;
%pad/s 1;
%store/vec4 v0000021fc7a0e7b0_0, 0, 1;
%jmp T_0.4;
T_0.4 ;
%pop/vec4 1;
%jmp T_0;
.thread T_0, $push;
.scope S_0000021fc7a22510;
T_1 ;
%wait E_0000021fc7a44f40;
%load/vec4 v0000021fc7a0e850_0;
%parti/s 1, 6, 4;
%pad/u 3;
%load/vec4 v0000021fc7a0e850_0;
%parti/s 1, 5, 4;
%pad/u 3;
%add;
%load/vec4 v0000021fc7a0e850_0;
%parti/s 1, 4, 4;
%pad/u 3;
%add;
%load/vec4 v0000021fc7a0e850_0;
%parti/s 1, 3, 3;
%pad/u 3;
%add;
%load/vec4 v0000021fc7a0e850_0;
%parti/s 1, 2, 3;
%pad/u 3;
%add;
%load/vec4 v0000021fc7a0e850_0;
%parti/s 1, 1, 2;
%pad/u 3;
%add;
%load/vec4 v0000021fc7a0e850_0;
%parti/s 1, 0, 2;
%pad/u 3;
%add;
%store/vec4 v0000021fc7a226a0_0, 0, 3;
%jmp T_1;
.thread T_1, $push;
.scope S_0000021fc7a0e4e0;
T_2 ;
%vpi_call 3 10 "$dumpfile", "TimingDiagramEncoder.vcd" {0 0 0};
%vpi_call 3 11 "$dumpvars", 32'sb00000000000000000000000000000000, v0000021fc7a227e0_0, v0000021fc7a22740_0 {0 0 0};
%pushi/vec4 0, 0, 7;
%store/vec4 v0000021fc7a22740_0, 0, 7;
%delay 20, 0;
%pushi/vec4 1, 0, 7;
%store/vec4 v0000021fc7a22740_0, 0, 7;
%delay 20, 0;
%pushi/vec4 18, 0, 7;
%store/vec4 v0000021fc7a22740_0, 0, 7;
%delay 20, 0;
%pushi/vec4 81, 0, 7;
%store/vec4 v0000021fc7a22740_0, 0, 7;
%delay 20, 0;
%pushi/vec4 15, 0, 7;
%store/vec4 v0000021fc7a22740_0, 0, 7;
%delay 20, 0;
%pushi/vec4 79, 0, 7;
%store/vec4 v0000021fc7a22740_0, 0, 7;
%delay 20, 0;
%pushi/vec4 125, 0, 7;
%store/vec4 v0000021fc7a22740_0, 0, 7;
%delay 20, 0;
%pushi/vec4 127, 0, 7;
%store/vec4 v0000021fc7a22740_0, 0, 7;
%delay 20, 0;
%vpi_call 3 29 "$finish" {0 0 0};
%end;
.thread T_2;
# The file index is used to find the file name in the following table.
:file_names 4;
"N/A";
"<interactive>";
"source.v";
"testbenchEncoder.v";