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.
@@ -0,0 +1,6 @@
1
+ module TEST_ONE(
2
+ input rx,
3
+ output tx
4
+ );
5
+
6
+ endmodule
@@ -0,0 +1,3 @@
1
+
2
+ `include 'TEST_ONE.v'
3
+ `include 'test_three.v'
@@ -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_ONE test_two_i0;
13
+
14
+ TEST_FOUR test_four_i0();
15
+
16
+ TEST_FIVE test_five_i0 ();
17
+
18
+ endmodule
@@ -0,0 +1,5 @@
1
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
2
+
3
+ require 'rspec'
4
+ require 'verilog'
5
+ require 'verilog_rename'
@@ -0,0 +1,5 @@
1
+ module BETA_R4 ( 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_R4_TH;
14
+
15
+ `include "BETA_R4_TH_pkg.v"
16
+ `include "BETA_R4_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_R4 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,30 @@
1
+ require 'spec_helper'
2
+ require 'fileutils'
3
+ require 'pp'
4
+
5
+ describe VerilogRename do
6
+
7
+ it "Open file" do
8
+ path = File.dirname( __FILE__ )
9
+
10
+ ## Git cant have empty folders, so create in test
11
+ FileUtils.mkdir_p( ::File.join( path, 'scratch') )
12
+
13
+ ## Clean Scratch Area
14
+ FileUtils.rm( Dir.glob( ::File.join( path, 'scratch', '*.*') ) )
15
+
16
+ ## Copy files from fixtures to scratch
17
+ FileUtils.cp_r( ::File.join( path, 'fixtures'), ::File.join( path, 'scratch' ) )
18
+
19
+
20
+ path_files = Verilog::PathFiles.new( File.join( path, 'scratch', 'fixtures') )
21
+ path_files.read_all
22
+
23
+ rename = Verilog::Rename.new('TEST_ONE', 'TEST_TWO', path_files)
24
+ rename.rename_module
25
+
26
+ end
27
+
28
+
29
+
30
+ end
metadata ADDED
@@ -0,0 +1,110 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: verilog_rename
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Morgan Prior
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-07-03 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: verilog
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 27
29
+ segments:
30
+ - 0
31
+ - 0
32
+ - 2
33
+ version: 0.0.2
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ description: Extension to the verilog gem, adds rename functionality and updates instatiations
37
+ email: verilog_rename_gem@amaras-tech.co.uk
38
+ executables: []
39
+
40
+ extensions: []
41
+
42
+ extra_rdoc_files: []
43
+
44
+ files:
45
+ - LICENSE.rtf
46
+ - Rakefile
47
+ - bin/rename-verilog
48
+ - lib/verilog/path_files.rb
49
+ - lib/verilog/prefix.rb
50
+ - lib/verilog/rename-backup.rb
51
+ - lib/verilog/rename-oldf.rb
52
+ - lib/verilog/rename.rb
53
+ - lib/verilog_rename.rb
54
+ - spec/example1/beta.v
55
+ - spec/example1/TESTHARNESS.bh.v
56
+ - spec/example2/BETA.v
57
+ - spec/example2/BETA_TH.v
58
+ - spec/example2/BETA_TH_data.v
59
+ - spec/example2/BETA_TH_pkg.v
60
+ - spec/example2/BETA_TH_sim.do
61
+ - spec/fixtures/test_four.vh
62
+ - spec/fixtures/test_one.v
63
+ - spec/fixtures/test_three.v
64
+ - spec/run_examples1.sh
65
+ - spec/run_examples2.sh
66
+ - spec/scratch/fixtures/test_four.vh
67
+ - spec/scratch/fixtures/TEST_ONE.v
68
+ - spec/scratch/fixtures/test_three.v
69
+ - spec/spec_helper.rb
70
+ - spec/temp/BETA_R4.v
71
+ - spec/temp/BETA_R4_TH.v
72
+ - spec/temp/BETA_R4_TH_data.v
73
+ - spec/temp/BETA_R4_TH_pkg.v
74
+ - spec/temp/BETA_TH_sim.do
75
+ - spec/verilog_rename_spec.rb
76
+ homepage: http://amaras-tech.co.uk/software/verilog_rename
77
+ licenses: []
78
+
79
+ post_install_message:
80
+ rdoc_options: []
81
+
82
+ require_paths:
83
+ - lib
84
+ required_ruby_version: !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ hash: 3
90
+ segments:
91
+ - 0
92
+ version: "0"
93
+ required_rubygems_version: !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ hash: 3
99
+ segments:
100
+ - 0
101
+ version: "0"
102
+ requirements: []
103
+
104
+ rubyforge_project:
105
+ rubygems_version: 1.8.5
106
+ signing_key:
107
+ specification_version: 3
108
+ summary: Extension to the verilog gem for renaming verilog files
109
+ test_files: []
110
+