verilog_rename 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE.rtf +680 -0
- data/Rakefile +11 -0
- data/bin/rename-verilog +21 -0
- data/lib/verilog/path_files.rb +51 -0
- data/lib/verilog/prefix.rb +8 -0
- data/lib/verilog/rename-backup.rb +130 -0
- data/lib/verilog/rename-oldf.rb +195 -0
- data/lib/verilog/rename.rb +68 -0
- data/lib/verilog_rename.rb +10 -0
- data/spec/example1/TESTHARNESS.bh.v +8 -0
- data/spec/example1/beta.v +6 -0
- data/spec/example2/BETA.v +5 -0
- data/spec/example2/BETA_TH.v +360 -0
- data/spec/example2/BETA_TH_data.v +0 -0
- data/spec/example2/BETA_TH_pkg.v +0 -0
- data/spec/example2/BETA_TH_sim.do +1 -0
- data/spec/fixtures/test_four.vh +3 -0
- data/spec/fixtures/test_one.v +6 -0
- data/spec/fixtures/test_three.v +18 -0
- data/spec/run_examples1.sh +7 -0
- data/spec/run_examples2.sh +7 -0
- data/spec/scratch/fixtures/TEST_ONE.v +6 -0
- data/spec/scratch/fixtures/test_four.vh +3 -0
- data/spec/scratch/fixtures/test_three.v +18 -0
- data/spec/spec_helper.rb +5 -0
- data/spec/temp/BETA_R4.v +5 -0
- data/spec/temp/BETA_R4_TH.v +360 -0
- data/spec/temp/BETA_R4_TH_data.v +0 -0
- data/spec/temp/BETA_R4_TH_pkg.v +0 -0
- data/spec/temp/BETA_TH_sim.do +1 -0
- data/spec/verilog_rename_spec.rb +30 -0
- metadata +110 -0
@@ -0,0 +1,360 @@
|
|
1
|
+
// -------------------------------------------------------------
|
2
|
+
//
|
3
|
+
// Module: ISRC_ARIZONA_TH
|
4
|
+
// Simulink Path: ..\..\..\VerilogD\ISRC_ARIZONA_R3
|
5
|
+
// Created: 2011-01-26 18:45:11
|
6
|
+
// Generated by MATLAB 7.11 and Simulink HDL Coder 2.0
|
7
|
+
// Hierarchy Level: 1
|
8
|
+
//
|
9
|
+
//
|
10
|
+
// -------------------------------------------------------------
|
11
|
+
`timescale 1 ns / 1 ns
|
12
|
+
|
13
|
+
module BETA_TH;
|
14
|
+
|
15
|
+
`include "BETA_TH_pkg.v"
|
16
|
+
`include "BETA_TH_data.v"
|
17
|
+
|
18
|
+
parameter CLKRATE = 12; //uint32
|
19
|
+
parameter LATENCY = 12; //uint32
|
20
|
+
parameter INITIAL_LATENCY = 0; //uint32
|
21
|
+
parameter NO_OF_TESTS = 1667; //uint32
|
22
|
+
parameter MAX_TIMEOUT = 145; //uint32
|
23
|
+
parameter MAX_ERROR_COUNT = 5001; //uint32
|
24
|
+
|
25
|
+
|
26
|
+
// Signals
|
27
|
+
reg clk; // boolean
|
28
|
+
reg rst_an; // boolean
|
29
|
+
reg clk_enable; // boolean
|
30
|
+
reg signed [23:0] din; // sfix24_En20
|
31
|
+
reg notch_ena; // boolean
|
32
|
+
wire ce_out; // boolean
|
33
|
+
wire signed [23:0] dout; // sfix24_En20
|
34
|
+
|
35
|
+
integer txdataCnt; // uint32
|
36
|
+
integer rxdataCnt; // uint32
|
37
|
+
reg tb_enb; // boolean
|
38
|
+
wire srcDone; // boolean
|
39
|
+
wire snkDone; // boolean
|
40
|
+
wire testFailure; // boolean
|
41
|
+
reg tbenb_dly; // boolean
|
42
|
+
reg [3:0] counter; // ufix4
|
43
|
+
wire phase_2; // boolean
|
44
|
+
wire phase_1; // boolean
|
45
|
+
wire rdEnb_phase_1; // boolean
|
46
|
+
wire rdEnb_phase_2; // boolean
|
47
|
+
wire Data_Type_Conversion2_out1_rdenb; // boolean
|
48
|
+
reg [10:0] Data_Type_Conversion2_out1_addr; // ufix11
|
49
|
+
reg Data_Type_Conversion2_out1_done; // boolean
|
50
|
+
reg signed [23:0] holdData_din; // sfix24_En20
|
51
|
+
wire Data_Type_Conversion_notch_ena_out1_rdenb; // boolean
|
52
|
+
reg [13:0] Data_Type_Conversion_notch_ena_out1_addr; // ufix14
|
53
|
+
reg Data_Type_Conversion_notch_ena_out1_done; // boolean
|
54
|
+
reg holdData_notch_ena; // boolean
|
55
|
+
reg dout_testFailure; // boolean
|
56
|
+
integer dout_timeout; // uint32
|
57
|
+
integer dout_errCnt; // uint32
|
58
|
+
wire dout_rdenb; // boolean
|
59
|
+
reg [12:0] dout_addr; // ufix13
|
60
|
+
reg dout_done; // boolean
|
61
|
+
wire signed [23:0] dout_ref; // sfix24_En20
|
62
|
+
wire signed [23:0] dout_dataTable; // sfix24_En20
|
63
|
+
wire signed [23:0] dout_refTmp; // sfix24_En20
|
64
|
+
reg signed [23:0] regout; // sfix24_En20
|
65
|
+
reg check1_Done; // boolean
|
66
|
+
|
67
|
+
// Module Instances
|
68
|
+
BETA u_BETA
|
69
|
+
(
|
70
|
+
.clk(clk),
|
71
|
+
.rst_an(rst_an),
|
72
|
+
.clk_enable(clk_enable),
|
73
|
+
.din(din),
|
74
|
+
.notch_ena(notch_ena),
|
75
|
+
.ce_out(ce_out),
|
76
|
+
.dout(dout)
|
77
|
+
);
|
78
|
+
|
79
|
+
|
80
|
+
// Block Statements
|
81
|
+
// -------------------------------------------------------------
|
82
|
+
// Driving the test bench enable
|
83
|
+
// -------------------------------------------------------------
|
84
|
+
|
85
|
+
always @(rst_an, snkDone)
|
86
|
+
begin
|
87
|
+
if (rst_an == 1'b0)
|
88
|
+
tb_enb <= 1'b0;
|
89
|
+
else if (snkDone == 1'b0 )
|
90
|
+
tb_enb <= 1'b1;
|
91
|
+
else begin
|
92
|
+
# (clk_period * 2);
|
93
|
+
tb_enb <= 1'b0;
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
always @(posedge clk or negedge rst_an) //tb_enb_gen
|
98
|
+
begin
|
99
|
+
if (~rst_an) begin
|
100
|
+
// Nothing to reset.
|
101
|
+
end
|
102
|
+
else begin
|
103
|
+
if (snkDone == 1) begin
|
104
|
+
if (testFailure == 0 )
|
105
|
+
$display("**************TEST COMPLETED (PASSED)**************");
|
106
|
+
else
|
107
|
+
$display("**************TEST COMPLETED (FAILED)**************");
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end //tb_enb_gen;
|
111
|
+
|
112
|
+
// -------------------------------------------------------------
|
113
|
+
// System Clock (fast clock) and reset
|
114
|
+
// -------------------------------------------------------------
|
115
|
+
|
116
|
+
always // clock generation
|
117
|
+
begin // clk_gen
|
118
|
+
clk <= 1'b0;
|
119
|
+
# clk_low;
|
120
|
+
clk <= 1'b1;
|
121
|
+
# clk_high;
|
122
|
+
if (snkDone == 1) begin
|
123
|
+
clk <= 1'b0;
|
124
|
+
# clk_low;
|
125
|
+
clk <= 1'b1;
|
126
|
+
# clk_high;
|
127
|
+
$stop;
|
128
|
+
end
|
129
|
+
end // clk_gen
|
130
|
+
|
131
|
+
initial // reset block
|
132
|
+
begin // rst_an_gen
|
133
|
+
rst_an <= 1'b0;
|
134
|
+
# (clk_period * 2);
|
135
|
+
@ (posedge clk);
|
136
|
+
# (clk_hold);
|
137
|
+
rst_an <= 1'b1;
|
138
|
+
end // rst_an_gen
|
139
|
+
|
140
|
+
// -------------------------------------------------------------
|
141
|
+
// Global clock enable
|
142
|
+
// -------------------------------------------------------------
|
143
|
+
|
144
|
+
|
145
|
+
always @ (posedge clk or negedge rst_an)
|
146
|
+
begin: tb_enb_delay
|
147
|
+
if (rst_an == 1'b0) begin
|
148
|
+
tbenb_dly <= 1'b0;
|
149
|
+
end
|
150
|
+
else begin
|
151
|
+
if (tb_enb == 1'b1) begin
|
152
|
+
tbenb_dly <= tb_enb;
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end // tb_enb_delay
|
156
|
+
|
157
|
+
always @(snkDone, tbenb_dly)
|
158
|
+
begin
|
159
|
+
# clk_hold;
|
160
|
+
if (snkDone == 0)
|
161
|
+
clk_enable <= tbenb_dly;
|
162
|
+
else
|
163
|
+
clk_enable <= 0;
|
164
|
+
end
|
165
|
+
|
166
|
+
// -------------------------------------------------------------
|
167
|
+
// Slow Clock (clkenb)
|
168
|
+
// -------------------------------------------------------------
|
169
|
+
|
170
|
+
always @ (posedge clk or negedge rst_an)
|
171
|
+
begin: slow_clock_enable
|
172
|
+
if (rst_an == 1'b0) begin
|
173
|
+
counter <= 4'b0001;
|
174
|
+
end
|
175
|
+
else begin
|
176
|
+
if (tbenb_dly == 1'b1) begin
|
177
|
+
if (counter == 4'b1011) begin
|
178
|
+
counter <= 4'b0000;
|
179
|
+
end
|
180
|
+
else begin
|
181
|
+
counter <= counter + 1;
|
182
|
+
end
|
183
|
+
end
|
184
|
+
end
|
185
|
+
end // slow_clock_enable
|
186
|
+
|
187
|
+
assign phase_2 = (((counter == 4'b0001) ||
|
188
|
+
(counter == 4'b0011) ||
|
189
|
+
(counter == 4'b0101) ||
|
190
|
+
(counter == 4'b0111) ||
|
191
|
+
(counter == 4'b1001) ||
|
192
|
+
(counter == 4'b1011)) && tbenb_dly == 1'b1)? 1 : 0;
|
193
|
+
|
194
|
+
assign phase_1 = (counter == 4'b0001 && tbenb_dly == 1'b1)? 1 : 0;
|
195
|
+
|
196
|
+
assign rdEnb_phase_1 = phase_1;
|
197
|
+
|
198
|
+
assign rdEnb_phase_2 = phase_2;
|
199
|
+
|
200
|
+
// -------------------------------------------------------------
|
201
|
+
// Read the data and transmit it to the DUT
|
202
|
+
// -------------------------------------------------------------
|
203
|
+
|
204
|
+
always @(posedge clk or negedge rst_an)
|
205
|
+
begin
|
206
|
+
Data_Type_Conversion2_out1_task(clk,rst_an,
|
207
|
+
Data_Type_Conversion2_out1_rdenb,Data_Type_Conversion2_out1_addr,
|
208
|
+
Data_Type_Conversion2_out1_done);
|
209
|
+
end
|
210
|
+
|
211
|
+
assign Data_Type_Conversion2_out1_rdenb = rdEnb_phase_1;
|
212
|
+
|
213
|
+
always @ (posedge Data_Type_Conversion2_out1_rdenb or negedge rst_an)
|
214
|
+
begin // stimuli_Data_Type_Conversion2_out1_din_reg
|
215
|
+
if (~rst_an) begin
|
216
|
+
holdData_din <= 24'bx;
|
217
|
+
end
|
218
|
+
else begin
|
219
|
+
holdData_din <= Data_Type_Conversion2_out1_force[Data_Type_Conversion2_out1_addr];
|
220
|
+
end
|
221
|
+
end
|
222
|
+
|
223
|
+
always @ (Data_Type_Conversion2_out1_rdenb, Data_Type_Conversion2_out1_addr)
|
224
|
+
begin // stimuli_Data_Type_Conversion2_out1_din
|
225
|
+
if (Data_Type_Conversion2_out1_rdenb == 1) begin
|
226
|
+
din <= # clk_hold Data_Type_Conversion2_out1_force[Data_Type_Conversion2_out1_addr];
|
227
|
+
end
|
228
|
+
else begin
|
229
|
+
din <= # clk_hold holdData_din;
|
230
|
+
end
|
231
|
+
end // stimuli_Data_Type_Conversion2_out1_din
|
232
|
+
|
233
|
+
// -------------------------------------------------------------
|
234
|
+
// Read the data and transmit it to the DUT
|
235
|
+
// -------------------------------------------------------------
|
236
|
+
|
237
|
+
always @(posedge clk or negedge rst_an)
|
238
|
+
begin
|
239
|
+
Data_Type_Conversion_notch_ena_out1_task(clk,rst_an,
|
240
|
+
Data_Type_Conversion_notch_ena_out1_rdenb,Data_Type_Conversion_notch_ena_out1_addr,
|
241
|
+
Data_Type_Conversion_notch_ena_out1_done);
|
242
|
+
end
|
243
|
+
|
244
|
+
assign Data_Type_Conversion_notch_ena_out1_rdenb = rdEnb_phase_2;
|
245
|
+
|
246
|
+
always @ (posedge clk or negedge rst_an)
|
247
|
+
begin // stimuli_Data_Type_Conversion_notch_ena_out1_notch_ena_reg
|
248
|
+
if (~rst_an) begin
|
249
|
+
holdData_notch_ena <= 1'bx;
|
250
|
+
end
|
251
|
+
else begin
|
252
|
+
holdData_notch_ena <= Data_Type_Conversion_notch_ena_out1_force;
|
253
|
+
end
|
254
|
+
end
|
255
|
+
|
256
|
+
always @ (Data_Type_Conversion_notch_ena_out1_rdenb, Data_Type_Conversion_notch_ena_out1_addr)
|
257
|
+
begin // stimuli_Data_Type_Conversion_notch_ena_out1_notch_ena
|
258
|
+
if (Data_Type_Conversion_notch_ena_out1_rdenb == 1) begin
|
259
|
+
notch_ena <= # clk_hold Data_Type_Conversion_notch_ena_out1_force;
|
260
|
+
end
|
261
|
+
else begin
|
262
|
+
notch_ena <= # clk_hold holdData_notch_ena;
|
263
|
+
end
|
264
|
+
end // stimuli_Data_Type_Conversion_notch_ena_out1_notch_ena
|
265
|
+
|
266
|
+
// -------------------------------------------------------------
|
267
|
+
// Create done signal for Input data
|
268
|
+
// -------------------------------------------------------------
|
269
|
+
|
270
|
+
assign srcDone = Data_Type_Conversion2_out1_done && Data_Type_Conversion_notch_ena_out1_done;
|
271
|
+
|
272
|
+
// -------------------------------------------------------------
|
273
|
+
// Checker: Checking the data received from the DUT.
|
274
|
+
// -------------------------------------------------------------
|
275
|
+
|
276
|
+
always @(posedge clk or negedge rst_an)
|
277
|
+
begin
|
278
|
+
dout_task(clk,rst_an,
|
279
|
+
dout_rdenb,dout_addr,
|
280
|
+
dout_done);
|
281
|
+
end
|
282
|
+
|
283
|
+
assign dout_rdenb = ce_out;
|
284
|
+
|
285
|
+
assign # clk_hold dout_dataTable = dout_expected[dout_addr];
|
286
|
+
// ---- Bypass Register ----
|
287
|
+
always @ (posedge clk or negedge rst_an)
|
288
|
+
begin: DataHoldRegister_temp_process10
|
289
|
+
if (rst_an == 1'b0) begin
|
290
|
+
regout <= 0;
|
291
|
+
end
|
292
|
+
else begin
|
293
|
+
if (ce_out == 1'b1) begin
|
294
|
+
regout <= dout_dataTable;
|
295
|
+
end
|
296
|
+
end
|
297
|
+
end // DataHoldRegister_temp_process10
|
298
|
+
|
299
|
+
assign dout_refTmp = (ce_out == 1'b1) ? dout_dataTable :
|
300
|
+
regout;
|
301
|
+
|
302
|
+
|
303
|
+
assign dout_ref = dout_refTmp;
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
always @ (posedge clk or negedge rst_an) // checker_dout
|
308
|
+
begin
|
309
|
+
if (rst_an == 0) begin
|
310
|
+
dout_timeout <= 0;
|
311
|
+
dout_testFailure <= 0;
|
312
|
+
dout_errCnt <= 0;
|
313
|
+
end
|
314
|
+
else begin
|
315
|
+
if (dout_rdenb == 1 ) begin
|
316
|
+
dout_timeout <= 0;
|
317
|
+
|
318
|
+
if (dout !== dout_expected[dout_addr]) begin
|
319
|
+
dout_errCnt <= dout_errCnt + 1;
|
320
|
+
dout_testFailure <= 1;
|
321
|
+
$display("ERROR in dout at time %t : Expected '%h' Actual '%h'",
|
322
|
+
$time, dout_expected[dout_addr], dout);
|
323
|
+
if (dout_errCnt >= MAX_ERROR_COUNT)
|
324
|
+
$display("Warning: Number of errors for dout have exceeded the maximum error limit");
|
325
|
+
end
|
326
|
+
|
327
|
+
end
|
328
|
+
else if (dout_timeout > MAX_TIMEOUT && dout_rdenb == 1 ) begin
|
329
|
+
dout_errCnt <= dout_errCnt + 1;
|
330
|
+
dout_testFailure <= 1;
|
331
|
+
$display ("Error: Timeout - Data was not received for dout.");
|
332
|
+
$stop;
|
333
|
+
end
|
334
|
+
else if (dout_rdenb == 1) begin
|
335
|
+
dout_timeout <= dout_timeout + 1 ;
|
336
|
+
end
|
337
|
+
end
|
338
|
+
end // checker_dout
|
339
|
+
|
340
|
+
always @ (posedge clk or negedge rst_an) // checkDone_1
|
341
|
+
begin
|
342
|
+
if (rst_an == 0)
|
343
|
+
check1_Done <= 0;
|
344
|
+
else if ((check1_Done == 0) && (dout_done == 1) && (dout_rdenb == 1))
|
345
|
+
check1_Done <= 1;
|
346
|
+
end
|
347
|
+
|
348
|
+
// -------------------------------------------------------------
|
349
|
+
// Create done and test failure signal for output data
|
350
|
+
// -------------------------------------------------------------
|
351
|
+
|
352
|
+
assign snkDone = check1_Done;
|
353
|
+
|
354
|
+
assign testFailure = dout_testFailure;
|
355
|
+
|
356
|
+
// Assignment Statements
|
357
|
+
|
358
|
+
|
359
|
+
|
360
|
+
endmodule // ISRC_ARIZONA_TH
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
vsub vcs -R -PP -l run.log +notimingchecks +libext+.v+.bh.v -y ./ BETA_TH.v $*
|