Verilog Compiler
Goal
A verilog macro preprocessor, we are designing our own marco to support our RISC-V cpu development
Macro
Auto wire two modules, need to base on the wire name standard
@{connect(moduleA, module B)}
Generate code to dump pin 1 information into our own trace format file
<@{dump(moduleA.pin1)}>
CLI Usage
usage: java -jar verilog-compiler-xx.jar [OPTION] <input file>
-h,--help help
-j,--json <.v file> verilog to json
-m,--macro <.v file> process macro in verilog file
-o,--macro <output file>
-p,--json <folder, top module .v file> parse topmodule and return json
-t <.v file or folder> compile verilog file,
post-process it for our debugger
-tvh <verilog heading statements> work with -t option to
post-process and inject verilog
statement
-tvs <verilog statements> work with -t option to
post-process and inject verilog
statement
-v,--version display version
Examples:
1. java -jar target/verilog-compiler-2.0.jar -j ex.v
1. java -jar target/verilog-compiler-2.0.jar -p ex.v
1. java -jar target/verilog-compiler-2.0.jar -t src -tvh '' -o src-output
java -jar verilogcompiler-xx.jar -j quantr_i.v
Result:
[ {
"name" : "quantr_i",
"inputs" : [ {
"direction" : "input",
"name" : "clk"
}, {
"direction" : "input",
"name" : "rst"
} ],
"outputs" : [ {
"direction" : "output",
"range" : "[`MXLEN]",
"name" : "pc"
} ]
} ]
Source code explain
Verilog preprocess is complex, here is the flow
- run the verilog by -t command
- VerilogHelper.preProcess()
- String sourceContent = VerilogHelper.getContentReplacedWithMacro(1, content, VerilogHelper.scanMacroDefinitions(file, file.getParentFile()), ps);
- ps.fatternMacroListing()

Administrator

Peter
Developer performance
Status | Job | Pipeline | Stage | Commit Msg | Timing |
---|---|---|---|---|---|
success |
#5302
main
d04ef3fa
|
#2626
|
deploy |
Add LICENSE |
0:17 2 years, 3 months |
success |
#5301
main
d04ef3fa
|
#2626
|
build |
Add LICENSE |
0:11 2 years, 3 months |
success |
#5300
main
d32e5d37
|
#2625
|
deploy |
dev |
0:29 2 years, 9 months |
success |
#5299
main
d32e5d37
|
#2625
|
build |
dev |
0:21 2 years, 9 months |
success |
#5298
main
fa552ed8
|
#2624
|
deploy |
dev |
0:15 2 years, 9 months |
success |
#5297
main
fa552ed8
|
#2624
|
build |
dev |
0:12 2 years, 9 months |
success |
#5296
main
7fb6b835
|
#2623
|
deploy |
dev |
0:15 2 years, 9 months |
success |
#5295
main
7fb6b835
|
#2623
|
build |
dev |
0:10 2 years, 9 months |
success |
#5294
main
3b5ea67f
|
#2622
|
deploy |
dev |
0:19 2 years, 9 months |
success |
#5293
main
3b5ea67f
|
#2622
|
build |
dev |
0:12 2 years, 9 months |
success |
#5292
main
a8e7d1f8
|
#2621
|
deploy |
making the debugger hook to file quantr.profiling |
0:14 2 years, 9 months |
success |
#5291
main
a8e7d1f8
|
#2621
|
build |
making the debugger hook to file quantr.profiling |
0:10 2 years, 9 months |
success |
#5290
main
1eed9ce5
|
#2620
|
deploy |
dev |
0:14 2 years, 9 months |
success |
#5289
main
1eed9ce5
|
#2620
|
build |
dev |
0:9 2 years, 9 months |
canceled |
#5288
main
1d605807
|
#2619
|
deploy |
dev |
0:0 2 years, 9 months |
canceled |
#5287
main
1d605807
|
#2619
|
build |
dev |
0:0 2 years, 9 months |
success |
#5286
main
d94f4a03
|
#2618
|
deploy |
dev |
0:14 2 years, 9 months |
success |
#5285
main
d94f4a03
|
#2618
|
build |
dev |
0:10 2 years, 9 months |
canceled |
#5284
main
0188d587
|
#2617
|
deploy |
dev |
0:0 2 years, 9 months |
canceled |
#5283
main
0188d587
|
#2617
|
build |
dev |
0:0 2 years, 9 months |
success |
#5282
main
1e7fcbc4
|
#2616
|
deploy |
dev |
0:14 2 years, 9 months |
success |
#5281
main
1e7fcbc4
|
#2616
|
build |
dev |
0:11 2 years, 9 months |
success |
#5280
main
37e59206
|
#2615
|
deploy |
dev |
0:14 2 years, 10 months |
success |
#5279
main
37e59206
|
#2615
|
build |
dev |
0:10 2 years, 10 months |
canceled |
#5278
main
fe09110d
|
#2614
|
deploy |
dev |
0:0 2 years, 10 months |
canceled |
#5277
main
fe09110d
|
#2614
|
build |
dev |
0:0 2 years, 10 months |
success |
#5276
main
d3c000ac
|
#2613
|
deploy |
dev |
0:15 2 years, 10 months |
success |
#5275
main
d3c000ac
|
#2613
|
build |
dev |
0:9 2 years, 10 months |
success |
#5274
main
7173129e
|
#2612
|
deploy |
dev |
0:14 2 years, 10 months |
success |
#5273
main
7173129e
|
#2612
|
build |
dev |
0:10 2 years, 10 months |
success |
#5272
main
23646028
|
#2611
|
deploy |
dev |
0:15 2 years, 10 months |
success |
#5271
main
23646028
|
#2611
|
build |
dev |
0:11 2 years, 10 months |
success |
#5270
main
8cd36fc4
|
#2610
|
deploy |
dev |
0:14 2 years, 11 months |
success |
#5269
main
8cd36fc4
|
#2610
|
build |
dev |
0:9 2 years, 11 months |
success |
#5268
main
83095441
|
#2609
|
deploy |
dev |
0:15 2 years, 11 months |
success |
#5267
main
83095441
|
#2609
|
build |
dev |
0:12 2 years, 11 months |
success |
#5266
main
a7696978
|
#2608
|
deploy |
dev |
0:13 2 years, 11 months |
success |
#5265
main
a7696978
|
#2608
|
build |
dev |
0:9 2 years, 11 months |
success |
#5264
main
f8df417c
|
#2607
|
deploy |
dev |
0:12 2 years, 11 months |
success |
#5263
main
f8df417c
|
#2607
|
build |
dev |
0:9 2 years, 11 months |
success |
#5262
main
91e3a5b4
|
#2606
|
deploy |
dev |
0:13 2 years, 11 months |
success |
#5261
main
91e3a5b4
|
#2606
|
build |
dev |
0:9 2 years, 11 months |
success |
#5260
main
577e37f6
|
#2605
|
deploy |
dev |
0:15 3 years, 8 days |
success |
#5259
main
577e37f6
|
#2605
|
build |
dev |
0:10 3 years, 8 days |
success |
#5258
main
092efa17
|
#2604
|
deploy |
Proecess for $display now working !!! |
0:13 3 years, 9 days |
success |
#5257
main
092efa17
|
#2604
|
build |
Proecess for $display now working !!! |
0:9 3 years, 9 days |
success |
#5256
main
2d152ab0
|
#2603
|
deploy |
dev |
0:30 3 years, 9 days |
success |
#5255
main
2d152ab0
|
#2603
|
build |
dev |
0:15 3 years, 9 days |
success |
#5254
main
53ccc27b
|
#2602
|
deploy |
$display placed to correct position in MarcoListing now |
0:15 3 years, 10 days |
success |
#5253
main
53ccc27b
|
#2602
|
build |
$display placed to correct position in MarcoListing now |
0:10 3 years, 10 days |
success |
#5252
main
dfa62f13
|
#2601
|
deploy |
dev |
0:16 3 years, 10 days |
success |
#5251
main
dfa62f13
|
#2601
|
build |
dev |
0:10 3 years, 10 days |
success |
#5250
main
70ff03f6
|
#2600
|
deploy |
dev |
0:16 3 years, 10 days |
success |
#5249
main
70ff03f6
|
#2600
|
build |
dev |
0:11 3 years, 10 days |
success |
#5248
main
4447b462
|
#2599
|
deploy |
dev |
0:14 3 years, 10 days |
success |
#5247
main
4447b462
|
#2599
|
build |
dev |
0:9 3 years, 10 days |
canceled |
#5246
main
e3c061b9
|
#2598
|
deploy |
dev |
0:0 3 years, 10 days |
canceled |
#5245
main
e3c061b9
|
#2598
|
build |
dev |
0:0 3 years, 10 days |
success |
#5244
main
90eb4ddb
|
#2597
|
deploy |
dev |
0:50 3 years, 11 days |
success |
#5243
main
90eb4ddb
|
#2597
|
build |
dev |
0:37 3 years, 11 days |
success |
#5242
main
598e9753
|
#2596
|
deploy |
done, can parse the whole quantr-i/src, verilator compile ok |
0:12 3 years, 12 days |
success |
#5241
main
598e9753
|
#2596
|
build |
done, can parse the whole quantr-i/src, verilator compile ok |
0:8 3 years, 12 days |
success |
#5240
main
fe2eaebf
|
#2595
|
deploy |
dev |
0:13 3 years, 14 days |
success |
#5239
main
fe2eaebf
|
#2595
|
build |
dev |
0:9 3 years, 14 days |
success |
#5238
main
a0c5a3a2
|
#2594
|
deploy |
Merge origin/main into main |
0:15 3 years, 14 days |
success |
#5237
main
a0c5a3a2
|
#2594
|
build |
Merge origin/main into main |
0:9 3 years, 14 days |
success |
#5236
main
b99084f9
|
#2593
|
deploy |
dev |
0:13 3 years, 15 days |
success |
#5235
main
b99084f9
|
#2593
|
build |
dev |
0:8 3 years, 15 days |
success |
#5234
main
daf1fb1e
|
#2592
|
deploy |
dev |
0:12 3 years, 15 days |
success |
#5233
main
daf1fb1e
|
#2592
|
build |
dev |
0:9 3 years, 15 days |
success |
#5232
main
3429f4a6
|
#2591
|
deploy |
dev |
0:12 3 years, 15 days |
success |
#5231
main
3429f4a6
|
#2591
|
build |
dev |
0:9 3 years, 15 days |
success |
#5230
main
de161611
|
#2590
|
deploy |
dev |
0:14 3 years, 15 days |
success |
#5229
main
de161611
|
#2590
|
build |
dev |
0:10 3 years, 15 days |
success |
#5228
main
026cbc58
|
#2589
|
deploy |
dev |
0:13 3 years, 15 days |
success |
#5227
main
026cbc58
|
#2589
|
build |
dev |
0:9 3 years, 15 days |
success |
#5226
main
8c1eaabd
|
#2588
|
deploy |
dev |
0:15 3 years, 16 days |
success |
#5225
main
8c1eaabd
|
#2588
|
build |
dev |
0:9 3 years, 16 days |
success |
#5224
main
7cf0c2fb
|
#2587
|
deploy |
dev |
0:12 3 years, 16 days |
success |
#5223
main
7cf0c2fb
|
#2587
|
build |
dev |
0:9 3 years, 16 days |
success |
#5222
main
d11e644a
|
#2586
|
deploy |
dev |
0:15 3 years, 16 days |
success |
#5221
main
d11e644a
|
#2586
|
build |
dev |
0:9 3 years, 16 days |
success |
#5220
main
a2d37666
|
#2585
|
deploy |
dev |
0:13 3 years, 16 days |
success |
#5219
main
a2d37666
|
#2585
|
build |
dev |
0:9 3 years, 16 days |
success |
#5218
main
b599e10b
|
#2584
|
deploy |
dev |
0:13 3 years, 17 days |
success |
#5217
main
b599e10b
|
#2584
|
build |
dev |
0:9 3 years, 17 days |
success |
#5216
main
e3aa827d
|
#2583
|
deploy |
dev |
0:13 3 years, 18 days |
success |
#5214
main
e3aa827d
|
#2583
|
build |
dev |
0:9 3 years, 18 days |
success |
#5211
main
741ebfad
|
#2580
|
deploy |
dev |
0:12 3 years, 18 days |
success |
#5209
main
741ebfad
|
#2580
|
build |
dev |
0:9 3 years, 18 days |
success |
#5206
main
22734224
|
#2578
|
deploy |
dev |
0:14 3 years, 18 days |
success |
#5205
main
22734224
|
#2578
|
build |
dev |
0:9 3 years, 18 days |
success |
#5202
main
66d83fd2
|
#2576
|
deploy |
dev |
0:12 3 years, 18 days |
success |
#5201
main
66d83fd2
|
#2576
|
build |
dev |
0:9 3 years, 18 days |
success |
#5198
main
07f59a39
|
#2574
|
deploy |
dev |
0:12 3 years, 18 days |
success |
#5197
main
07f59a39
|
#2574
|
build |
dev |
0:9 3 years, 18 days |
success |
#5194
main
32c7df76
|
#2572
|
deploy |
dev |
0:21 3 years, 19 days |
success |
#5193
main
32c7df76
|
#2572
|
build |
dev |
0:9 3 years, 19 days |
success |
#5190
main
97362b31
|
#2570
|
deploy |
dev |
0:12 3 years, 20 days |
success |
#5189
main
97362b31
|
#2570
|
build |
dev |
0:9 3 years, 20 days |