verilog_rename 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,10 @@
1
+
2
+ module VerilogRename
3
+ VERSION = '0.0.1'
4
+ end
5
+
6
+ require 'verilog'
7
+
8
+ require 'verilog/rename'
9
+ require 'verilog/prefix'
10
+ require 'verilog/path_files'
@@ -0,0 +1,8 @@
1
+
2
+ module TESTHARNESS();
3
+
4
+ beta beta_i0();
5
+
6
+ beta beta_i1();
7
+
8
+ endmodule
@@ -0,0 +1,6 @@
1
+ module beta(
2
+
3
+ input x,
4
+ input y );
5
+
6
+ endmodule
@@ -0,0 +1,5 @@
1
+ module BETA ( input x,
2
+ input y
3
+ );
4
+
5
+ endmodule
@@ -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 $*
@@ -0,0 +1,3 @@
1
+
2
+ `include 'test_one.v'
3
+ `include 'test_three.v'
@@ -0,0 +1,6 @@
1
+ module TEST_ONE(
2
+ input rx,
3
+ output tx
4
+ );
5
+
6
+ endmodule
@@ -0,0 +1,18 @@
1
+ module TEST_THREE(
2
+ input rx,
3
+ output tx
4
+ );
5
+
6
+
7
+ TEST_ONE test_one_i0(
8
+ .rx (rx),
9
+ .tx (tx)
10
+ );
11
+
12
+ TEST_TWO test_two_i0;
13
+
14
+ TEST_FOUR test_four_i0();
15
+
16
+ TEST_FIVE test_five_i0 ();
17
+
18
+ endmodule
@@ -0,0 +1,7 @@
1
+ #!/bin/sh
2
+
3
+ rm -rf ./temp/*.*
4
+ cp ./example1/*.* ./temp
5
+
6
+ cd temp
7
+ ruby ../../prefix_verilog.rb beta_4
@@ -0,0 +1,7 @@
1
+ #!/bin/sh
2
+
3
+ rm -rf ./temp/*.*
4
+ cp ./example2/*.* ./temp
5
+
6
+ cd temp
7
+ ruby ../../prefix_verilog.rb BETA_R4