opencos-eda 0.3.10__py3-none-any.whl → 0.3.12__py3-none-any.whl
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.
- opencos/commands/deps_help.py +63 -113
- opencos/commands/export.py +7 -2
- opencos/commands/multi.py +4 -4
- opencos/commands/sim.py +14 -15
- opencos/commands/sweep.py +1 -1
- opencos/commands/synth.py +1 -2
- opencos/commands/upload.py +192 -4
- opencos/commands/waves.py +52 -8
- opencos/deps/deps_commands.py +6 -6
- opencos/deps/deps_processor.py +129 -50
- opencos/docs/Architecture.md +45 -0
- opencos/docs/ConnectingApps.md +29 -0
- opencos/docs/DEPS.md +199 -0
- opencos/docs/Debug.md +77 -0
- opencos/docs/DirectoryStructure.md +22 -0
- opencos/docs/Installation.md +117 -0
- opencos/docs/OcVivadoTcl.md +63 -0
- opencos/docs/OpenQuestions.md +7 -0
- opencos/docs/README.md +13 -0
- opencos/docs/RtlCodingStyle.md +54 -0
- opencos/docs/eda.md +147 -0
- opencos/docs/oc_cli.md +135 -0
- opencos/eda.py +358 -155
- opencos/eda_base.py +187 -60
- opencos/eda_config.py +70 -35
- opencos/eda_config_defaults.yml +310 -186
- opencos/eda_config_reduced.yml +19 -39
- opencos/eda_tool_helper.py +190 -21
- opencos/files.py +26 -1
- opencos/tools/cocotb.py +11 -23
- opencos/tools/invio.py +2 -2
- opencos/tools/invio_yosys.py +2 -1
- opencos/tools/iverilog.py +3 -3
- opencos/tools/modelsim_ase.py +1 -1
- opencos/tools/quartus.py +172 -137
- opencos/tools/questa_common.py +50 -9
- opencos/tools/riviera.py +5 -4
- opencos/tools/slang.py +14 -10
- opencos/tools/slang_yosys.py +1 -0
- opencos/tools/surelog.py +7 -6
- opencos/tools/verilator.py +9 -7
- opencos/tools/vivado.py +315 -180
- opencos/tools/yosys.py +5 -5
- opencos/util.py +6 -3
- opencos/utils/dict_helpers.py +31 -0
- opencos/utils/markup_helpers.py +2 -2
- opencos/utils/str_helpers.py +38 -0
- opencos/utils/subprocess_helpers.py +3 -3
- opencos/utils/vscode_helper.py +2 -2
- opencos/utils/vsim_helper.py +16 -5
- {opencos_eda-0.3.10.dist-info → opencos_eda-0.3.12.dist-info}/METADATA +1 -1
- opencos_eda-0.3.12.dist-info/RECORD +93 -0
- opencos/eda_config_max_verilator_waivers.yml +0 -39
- opencos_eda-0.3.10.dist-info/RECORD +0 -81
- {opencos_eda-0.3.10.dist-info → opencos_eda-0.3.12.dist-info}/WHEEL +0 -0
- {opencos_eda-0.3.10.dist-info → opencos_eda-0.3.12.dist-info}/entry_points.txt +0 -0
- {opencos_eda-0.3.10.dist-info → opencos_eda-0.3.12.dist-info}/licenses/LICENSE +0 -0
- {opencos_eda-0.3.10.dist-info → opencos_eda-0.3.12.dist-info}/licenses/LICENSE.spdx +0 -0
- {opencos_eda-0.3.10.dist-info → opencos_eda-0.3.12.dist-info}/top_level.txt +0 -0
opencos/eda_config_defaults.yml
CHANGED
|
@@ -12,7 +12,6 @@ DEFAULT_HANDLERS:
|
|
|
12
12
|
synth : opencos.commands.CommandSynth
|
|
13
13
|
proj : opencos.commands.CommandProj
|
|
14
14
|
build : opencos.commands.CommandBuild
|
|
15
|
-
upload : opencos.commands.CommandUpload
|
|
16
15
|
open : opencos.commands.CommandOpen
|
|
17
16
|
lec : opencos.commands.CommandLec
|
|
18
17
|
# These commands don't necessarily require a tool
|
|
@@ -22,6 +21,7 @@ DEFAULT_HANDLERS:
|
|
|
22
21
|
flist : opencos.commands.CommandFList
|
|
23
22
|
# These commands (waves, export, targets) do not require a tool, or
|
|
24
23
|
# will self determine the tool. See command_tool_is_optional in this config file.
|
|
24
|
+
upload : opencos.commands.CommandUpload
|
|
25
25
|
waves : opencos.commands.CommandWaves
|
|
26
26
|
export : opencos.commands.CommandExport
|
|
27
27
|
shell : opencos.commands.CommandShell
|
|
@@ -73,6 +73,8 @@ dep_tags_enables:
|
|
|
73
73
|
deps_markup_supported: true # Support DEPS.yml files (also .yaml, .toml, .json)
|
|
74
74
|
deps_subprocess_shell: true # Support subprocess commands using shell=True
|
|
75
75
|
bare_plusarg_supported: true # Support for CLI, DEPS args or deps: +<string> that isn't +define or +incdirs
|
|
76
|
+
deps_expandvars_enable : true # Support env $VAR replacement on targets or files in DEPS.yml
|
|
77
|
+
show_tool_versions: true # Set to false for tiny performance tweak if --tool arg not supplied
|
|
76
78
|
|
|
77
79
|
dep_sub: [ ] # Legacy, no longer supported.
|
|
78
80
|
vars: { } # Legacy, no longer supported.
|
|
@@ -110,6 +112,7 @@ file_extensions:
|
|
|
110
112
|
command_determines_tool:
|
|
111
113
|
# eda commands that will self-determine the tool to use
|
|
112
114
|
- waves
|
|
115
|
+
- upload
|
|
113
116
|
|
|
114
117
|
command_tool_is_optional:
|
|
115
118
|
# eda commands that may not need to use a tool at all, will skip auto_tools_order if --tool=None (default)
|
|
@@ -118,10 +121,94 @@ command_tool_is_optional:
|
|
|
118
121
|
- targets
|
|
119
122
|
- deps-help
|
|
120
123
|
|
|
124
|
+
command_has_subcommands:
|
|
125
|
+
- multi
|
|
126
|
+
- tools-multi
|
|
127
|
+
- sweep
|
|
128
|
+
|
|
129
|
+
#
|
|
130
|
+
# auto_tools_order
|
|
131
|
+
# -- Is only used when arg --tool is not set, on command line or via -f, --input-file, or DEPS
|
|
132
|
+
# -- This table should be modified when a new tool is added, if you'd like it to be chosen without
|
|
133
|
+
# --tool arg.
|
|
134
|
+
# -- Is in-order for the handlers, so Verilator is the default simulator if
|
|
135
|
+
# verilator is installed and the eda command is "sim".
|
|
136
|
+
# -- Each key: [list-of-strings] is a list so config changes use Strategy.REPLACE to replace it
|
|
137
|
+
# meaning if a user brings their own auto_tools_order for 'lint' they must define the complete
|
|
138
|
+
# auto order when --tool is not specified
|
|
139
|
+
#
|
|
140
|
+
auto_tools_order:
|
|
141
|
+
lint:
|
|
142
|
+
- slang
|
|
143
|
+
- surelog
|
|
144
|
+
- verilator
|
|
145
|
+
- vivado
|
|
146
|
+
- modelsim_ase
|
|
147
|
+
- questa_fse
|
|
148
|
+
- questa_fe
|
|
149
|
+
- questa
|
|
150
|
+
- riviera
|
|
151
|
+
- iverilog
|
|
152
|
+
- invio
|
|
153
|
+
elab:
|
|
154
|
+
- slang
|
|
155
|
+
- surelog
|
|
156
|
+
- verilator
|
|
157
|
+
- vivado
|
|
158
|
+
- modelsim_ase
|
|
159
|
+
- questa_fse
|
|
160
|
+
- questa_fe
|
|
161
|
+
- questa
|
|
162
|
+
- slang_yosys
|
|
163
|
+
- riviera
|
|
164
|
+
- iverilog
|
|
165
|
+
- invio
|
|
166
|
+
- invio_yosys
|
|
167
|
+
sim:
|
|
168
|
+
- verilator
|
|
169
|
+
- vivado
|
|
170
|
+
- modelsim_ase
|
|
171
|
+
- questa_fse
|
|
172
|
+
- questa_fe
|
|
173
|
+
- questa
|
|
174
|
+
- riviera
|
|
175
|
+
- iverilog
|
|
176
|
+
synth:
|
|
177
|
+
- slang_yosys
|
|
178
|
+
- vivado
|
|
179
|
+
- quartus
|
|
180
|
+
- tabbycad_yosys
|
|
181
|
+
- invio_yosys
|
|
182
|
+
- yosys
|
|
183
|
+
proj:
|
|
184
|
+
- vivado
|
|
185
|
+
- quartus
|
|
186
|
+
build:
|
|
187
|
+
- vivado
|
|
188
|
+
- quartus
|
|
189
|
+
open:
|
|
190
|
+
- vivado
|
|
191
|
+
- quartus
|
|
192
|
+
lec:
|
|
193
|
+
- slang_yosys
|
|
194
|
+
- yosys
|
|
195
|
+
|
|
121
196
|
|
|
122
197
|
tools:
|
|
123
198
|
|
|
124
199
|
# <tool-name>:
|
|
200
|
+
# exe: <Array of strings, or single string, required exe>
|
|
201
|
+
# requires_cmd: <Array of shell commands that must complete with rc=0 for tool to work>
|
|
202
|
+
# requires_py: <Array of strings, python packages requires for tool to work>
|
|
203
|
+
# requires_vscode_extension: <Array of strings, vscode extensions that must be present for
|
|
204
|
+
# tool to work>
|
|
205
|
+
# requires_vsim_helper: <Bool, if True we will determine which vsim exe(s) are present in PATH
|
|
206
|
+
# for tool to work, such that Modelsim, Questa, Riviera can all be
|
|
207
|
+
# present in PATH and each tool can still be chosen>
|
|
208
|
+
# handlers: <Table of {command, python package class name}, for how this tool
|
|
209
|
+
# will run an eda command>
|
|
210
|
+
# disable-auto: <Bool, if True do not allow this to run `eda [command]` with --tool
|
|
211
|
+
# not set>
|
|
125
212
|
# defines: <Table, macroName: <value|null|> >
|
|
126
213
|
# log-bad-strings: <Array of strings>
|
|
127
214
|
# log-must-strings: <Array of strings>
|
|
@@ -137,7 +224,34 @@ tools:
|
|
|
137
224
|
# simulate-waivers: <Array of strings, no spaces>
|
|
138
225
|
# coverage-args: <string space separated>
|
|
139
226
|
|
|
227
|
+
|
|
228
|
+
vaporview:
|
|
229
|
+
exe: code
|
|
230
|
+
requires_vscode_extension:
|
|
231
|
+
- lramseyer.vaporview
|
|
232
|
+
handlers:
|
|
233
|
+
waves: opencos.commands.waves.CommandWaves
|
|
234
|
+
|
|
235
|
+
surfer:
|
|
236
|
+
exe: code
|
|
237
|
+
requires_vscode_extension:
|
|
238
|
+
- surfer-project.surfer
|
|
239
|
+
handlers:
|
|
240
|
+
waves: opencos.commands.waves.CommandWaves
|
|
241
|
+
|
|
242
|
+
gtkwave:
|
|
243
|
+
exe: gtkwave
|
|
244
|
+
handlers:
|
|
245
|
+
waves: opencos.commands.waves.CommandWaves
|
|
246
|
+
|
|
140
247
|
slang:
|
|
248
|
+
exe: slang
|
|
249
|
+
requires_cmd:
|
|
250
|
+
- slang --version
|
|
251
|
+
handlers:
|
|
252
|
+
lint: opencos.tools.slang.CommandLintSlang
|
|
253
|
+
elab: opencos.tools.slang.CommandElabSlang
|
|
254
|
+
|
|
141
255
|
defines:
|
|
142
256
|
OC_TOOL_SLANG: null
|
|
143
257
|
log-bad-strings:
|
|
@@ -153,6 +267,12 @@ tools:
|
|
|
153
267
|
compile-waivers: []
|
|
154
268
|
|
|
155
269
|
verilator:
|
|
270
|
+
exe: verilator
|
|
271
|
+
handlers:
|
|
272
|
+
lint: opencos.tools.verilator.VerilatorLint
|
|
273
|
+
elab: opencos.tools.verilator.VerilatorElab
|
|
274
|
+
sim: opencos.tools.verilator.VerilatorSim
|
|
275
|
+
|
|
156
276
|
defines: { }
|
|
157
277
|
log-warning-strings:
|
|
158
278
|
- "%Warning"
|
|
@@ -224,6 +344,13 @@ tools:
|
|
|
224
344
|
|
|
225
345
|
|
|
226
346
|
surelog:
|
|
347
|
+
exe: surelog
|
|
348
|
+
requires_cmd:
|
|
349
|
+
- surelog --version
|
|
350
|
+
handlers:
|
|
351
|
+
lint: opencos.tools.surelog.CommandLintSurelog
|
|
352
|
+
elab: opencos.tools.surelog.CommandElabSurelog
|
|
353
|
+
|
|
227
354
|
defines:
|
|
228
355
|
OC_TOOL_SURELOG: null
|
|
229
356
|
compile-args: |
|
|
@@ -231,6 +358,15 @@ tools:
|
|
|
231
358
|
-timescale=1ns/1ns
|
|
232
359
|
|
|
233
360
|
invio:
|
|
361
|
+
exe: python3
|
|
362
|
+
requires_cmd:
|
|
363
|
+
- python -c "import invio"
|
|
364
|
+
requires_py:
|
|
365
|
+
- invio
|
|
366
|
+
handlers:
|
|
367
|
+
lint: opencos.tools.invio.CommandLintInvio
|
|
368
|
+
elab: opencos.tools.invio.CommandElabInvio
|
|
369
|
+
|
|
234
370
|
defines:
|
|
235
371
|
OC_TOOL_INVIO: null
|
|
236
372
|
INVIO: null
|
|
@@ -238,6 +374,16 @@ tools:
|
|
|
238
374
|
|
|
239
375
|
|
|
240
376
|
riviera:
|
|
377
|
+
exe: vsim
|
|
378
|
+
requires_cmd:
|
|
379
|
+
- which riviera # Do not run it, make sure it's in PATH
|
|
380
|
+
requires_vsim_helper: True
|
|
381
|
+
handlers:
|
|
382
|
+
lint: opencos.tools.riviera.CommandLintRiviera
|
|
383
|
+
elab: opencos.tools.riviera.CommandElabRiviera
|
|
384
|
+
sim: opencos.tools.riviera.CommandSimRiviera
|
|
385
|
+
waves: opencos.commands.waves.CommandWaves
|
|
386
|
+
|
|
241
387
|
defines:
|
|
242
388
|
OC_TOOL_RIVIERA: 1
|
|
243
389
|
RIVIERA: 1
|
|
@@ -246,6 +392,7 @@ tools:
|
|
|
246
392
|
log-bad-strings:
|
|
247
393
|
- "Error: "
|
|
248
394
|
- "Fatal: "
|
|
395
|
+
- "You do not have a valid license to run"
|
|
249
396
|
log-must-strings:
|
|
250
397
|
- "VSIM: Simulation has finished"
|
|
251
398
|
compile-args: |
|
|
@@ -263,6 +410,14 @@ tools:
|
|
|
263
410
|
|
|
264
411
|
|
|
265
412
|
modelsim_ase:
|
|
413
|
+
exe: vsim
|
|
414
|
+
requires_vsim_helper: True
|
|
415
|
+
handlers:
|
|
416
|
+
lint: opencos.tools.modelsim_ase.CommandLintModelsimAse
|
|
417
|
+
elab: opencos.tools.modelsim_ase.CommandElabModelsimAse
|
|
418
|
+
sim: opencos.tools.modelsim_ase.CommandSimModelsimAse
|
|
419
|
+
waves: opencos.commands.waves.CommandWaves
|
|
420
|
+
|
|
266
421
|
defines:
|
|
267
422
|
OC_ASSERT_PROPERTY_NOT_SUPPORTED: 1
|
|
268
423
|
OC_TOOL_MODELSIM_ASE: 1
|
|
@@ -291,7 +446,90 @@ tools:
|
|
|
291
446
|
+acc
|
|
292
447
|
|
|
293
448
|
|
|
294
|
-
|
|
449
|
+
questa_fe: # FPGA edition
|
|
450
|
+
exe: vsim
|
|
451
|
+
requires_vsim_helper: True
|
|
452
|
+
handlers:
|
|
453
|
+
lint: opencos.tools.questa_fe.CommandLintQuestaFe
|
|
454
|
+
elab: opencos.tools.questa_fe.CommandElabQuestaFe
|
|
455
|
+
sim: opencos.tools.questa_fe.CommandSimQuestaFe
|
|
456
|
+
flist: opencos.tools.questa_fe.CommandFListQuestaFe
|
|
457
|
+
waves: opencos.commands.waves.CommandWaves
|
|
458
|
+
|
|
459
|
+
defines:
|
|
460
|
+
OC_TOOL_QUESTA_FSE: 1
|
|
461
|
+
log-warning-strings:
|
|
462
|
+
- "Warning: "
|
|
463
|
+
log-bad-strings:
|
|
464
|
+
- "Error: "
|
|
465
|
+
- "Fatal: "
|
|
466
|
+
log-must-strings:
|
|
467
|
+
- " vsim "
|
|
468
|
+
- "Errors: 0"
|
|
469
|
+
compile-args: |
|
|
470
|
+
-sv -svinputport=net -lint
|
|
471
|
+
compile-waivers:
|
|
472
|
+
- 2275 # 2275 - Existing package 'myname_pkg' will be overwritten.
|
|
473
|
+
- 2555 # 2555 - assignment to input port myname
|
|
474
|
+
- 2583 # 2583 - [SVCHK] - Extra checking for conflicts with always_comb and
|
|
475
|
+
# always_latch variables is done at vopt time.
|
|
476
|
+
- 13159 # 13159, 2685, 2718 are all related to module instance port default values.
|
|
477
|
+
- 2685
|
|
478
|
+
- 2718
|
|
479
|
+
simulate-waivers:
|
|
480
|
+
- 3009 # 3009: [TSCALE] - Module 'myname' does not have a timeunit/timeprecision
|
|
481
|
+
# specification in effect, but other modules do.
|
|
482
|
+
simulate-waves-args: |
|
|
483
|
+
-voptargs=+acc=bcnprst
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
questa_fse: # FPGA starter edition
|
|
487
|
+
exe: vsim
|
|
488
|
+
requires_vsim_helper: True
|
|
489
|
+
handlers:
|
|
490
|
+
lint: opencos.tools.questa_fse.CommandLintQuestaFse
|
|
491
|
+
elab: opencos.tools.questa_fse.CommandElabQuestaFse
|
|
492
|
+
sim: opencos.tools.questa_fse.CommandSimQuestaFse
|
|
493
|
+
flist: opencos.tools.questa_fse.CommandFListQuestaFse
|
|
494
|
+
waves: opencos.commands.waves.CommandWaves
|
|
495
|
+
|
|
496
|
+
defines:
|
|
497
|
+
OC_TOOL_QUESTA_FSE: 1
|
|
498
|
+
log-warning-strings:
|
|
499
|
+
- "Warning: "
|
|
500
|
+
log-bad-strings:
|
|
501
|
+
- "Error: "
|
|
502
|
+
- "Fatal: "
|
|
503
|
+
log-must-strings:
|
|
504
|
+
- " vsim "
|
|
505
|
+
- "Errors: 0"
|
|
506
|
+
compile-args: |
|
|
507
|
+
-sv -svinputport=net -lint
|
|
508
|
+
compile-waivers:
|
|
509
|
+
- 2275 # 2275 - Existing package 'myname_pkg' will be overwritten.
|
|
510
|
+
- 2555 # 2555 - assignment to input port myname
|
|
511
|
+
- 2583 # 2583 - [SVCHK] - Extra checking for conflicts with always_comb and
|
|
512
|
+
# always_latch variables is done at vopt time.
|
|
513
|
+
- 13159 # 13159, 2685, 2718 are all related to module instance port default values.
|
|
514
|
+
- 2685
|
|
515
|
+
- 2718
|
|
516
|
+
simulate-waivers:
|
|
517
|
+
- 3009 # 3009: [TSCALE] - Module 'myname' does not have a timeunit/timeprecision
|
|
518
|
+
# specification in effect, but other modules do.
|
|
519
|
+
simulate-waves-args: |
|
|
520
|
+
-voptargs=+acc=bcnprst
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
questa: # Questa
|
|
524
|
+
exe: vsim
|
|
525
|
+
requires_vsim_helper: True
|
|
526
|
+
handlers:
|
|
527
|
+
lint: opencos.tools.questa.CommandLintQuesta
|
|
528
|
+
elab: opencos.tools.questa.CommandElabQuesta
|
|
529
|
+
sim: opencos.tools.questa.CommandSimQuesta
|
|
530
|
+
flist: opencos.tools.questa.CommandFListQuesta
|
|
531
|
+
waves: opencos.commands.waves.CommandWaves
|
|
532
|
+
|
|
295
533
|
defines:
|
|
296
534
|
OC_TOOL_QUESTA_FSE: 1
|
|
297
535
|
log-warning-strings:
|
|
@@ -320,6 +558,12 @@ tools:
|
|
|
320
558
|
|
|
321
559
|
|
|
322
560
|
iverilog:
|
|
561
|
+
exe: iverilog
|
|
562
|
+
handlers:
|
|
563
|
+
lint: opencos.tools.iverilog.CommandLintIverilog
|
|
564
|
+
elab: opencos.tools.iverilog.CommandElabIverilog
|
|
565
|
+
sim: opencos.tools.iverilog.CommandSimIverilog
|
|
566
|
+
|
|
323
567
|
log-warning-strings:
|
|
324
568
|
- "Warning:"
|
|
325
569
|
- "WARNING:"
|
|
@@ -340,6 +584,15 @@ tools:
|
|
|
340
584
|
+trace
|
|
341
585
|
|
|
342
586
|
cocotb:
|
|
587
|
+
disable-auto: True # do not allow this to run `eda sim` with --tool not set
|
|
588
|
+
exe: python
|
|
589
|
+
requires_cmd:
|
|
590
|
+
- python -c "import cocotb; print(cocotb.__version__)"
|
|
591
|
+
requires_py:
|
|
592
|
+
- cocotb
|
|
593
|
+
handlers:
|
|
594
|
+
sim: opencos.tools.cocotb.CommandSimCocotb
|
|
595
|
+
|
|
343
596
|
defines:
|
|
344
597
|
OC_TOOL_COCOTB: null
|
|
345
598
|
log-warning-strings:
|
|
@@ -357,10 +610,32 @@ tools:
|
|
|
357
610
|
|
|
358
611
|
|
|
359
612
|
quartus:
|
|
613
|
+
exe: quartus_sh
|
|
614
|
+
handlers:
|
|
615
|
+
synth: opencos.tools.quartus.CommandSynthQuartus
|
|
616
|
+
build: opencos.tools.quartus.CommandBuildQuartus
|
|
617
|
+
flist: opencos.tools.quartus.CommandFListQuartus
|
|
618
|
+
proj: opencos.tools.quartus.CommandProjQuartus
|
|
619
|
+
upload: opencos.tools.quartus.CommandUploadQuartus
|
|
620
|
+
open: opencos.tools.quartus.CommandOpenQuartus
|
|
621
|
+
|
|
360
622
|
defines:
|
|
361
623
|
OC_TOOL_QUARTUS: null
|
|
362
624
|
|
|
363
625
|
vivado:
|
|
626
|
+
exe: vivado
|
|
627
|
+
handlers:
|
|
628
|
+
lint: opencos.tools.vivado.CommandLintVivado
|
|
629
|
+
elab: opencos.tools.vivado.CommandElabVivado
|
|
630
|
+
sim: opencos.tools.vivado.CommandSimVivado
|
|
631
|
+
synth: opencos.tools.vivado.CommandSynthVivado
|
|
632
|
+
proj: opencos.tools.vivado.CommandProjVivado
|
|
633
|
+
upload: opencos.tools.vivado.CommandUploadVivado
|
|
634
|
+
open: opencos.tools.vivado.CommandOpenVivado
|
|
635
|
+
flist: opencos.tools.vivado.CommandFListVivado
|
|
636
|
+
build: opencos.tools.vivado.CommandBuildVivado
|
|
637
|
+
waves: opencos.commands.waves.CommandWaves
|
|
638
|
+
|
|
364
639
|
log-warning-strings:
|
|
365
640
|
- "WARNING: "
|
|
366
641
|
- "Warning: "
|
|
@@ -386,187 +661,36 @@ tools:
|
|
|
386
661
|
simulate-args: |
|
|
387
662
|
snapshot --stats --onerror quit
|
|
388
663
|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
exe: surelog
|
|
423
|
-
requires_cmd:
|
|
424
|
-
- surelog --version
|
|
425
|
-
handlers:
|
|
426
|
-
lint: opencos.tools.surelog.CommandLintSurelog
|
|
427
|
-
elab: opencos.tools.surelog.CommandElabSurelog
|
|
428
|
-
|
|
429
|
-
invio:
|
|
430
|
-
exe: python3
|
|
431
|
-
requires_cmd:
|
|
432
|
-
- python -c "import invio"
|
|
433
|
-
requires_py:
|
|
434
|
-
- invio
|
|
435
|
-
handlers:
|
|
436
|
-
lint: opencos.tools.invio.CommandLintInvio
|
|
437
|
-
elab: opencos.tools.invio.CommandElabInvio
|
|
438
|
-
|
|
439
|
-
vaporview:
|
|
440
|
-
exe: code
|
|
441
|
-
requires_vscode_extension:
|
|
442
|
-
- lramseyer.vaporview
|
|
443
|
-
handlers: { }
|
|
444
|
-
|
|
445
|
-
surfer:
|
|
446
|
-
exe: code
|
|
447
|
-
requires_vscode_extension:
|
|
448
|
-
- surfer-project.surfer
|
|
449
|
-
handlers: { }
|
|
450
|
-
|
|
451
|
-
gtkwave:
|
|
452
|
-
exe: gtkwave
|
|
453
|
-
handlers: { }
|
|
454
|
-
|
|
455
|
-
quartus:
|
|
456
|
-
exe: quartus_sh
|
|
457
|
-
handlers:
|
|
458
|
-
synth: opencos.tools.quartus.CommandSynthQuartus
|
|
459
|
-
build: opencos.tools.quartus.CommandBuildQuartus
|
|
460
|
-
flist: opencos.tools.quartus.CommandFListQuartus
|
|
461
|
-
proj: opencos.tools.quartus.CommandProjQuartus
|
|
462
|
-
upload: opencos.tools.quartus.CommandUploadQuartus
|
|
463
|
-
open: opencos.tools.quartus.CommandOpenQuartus
|
|
464
|
-
|
|
465
|
-
vivado:
|
|
466
|
-
exe: vivado
|
|
467
|
-
handlers:
|
|
468
|
-
lint: opencos.tools.vivado.CommandLintVivado
|
|
469
|
-
elab: opencos.tools.vivado.CommandElabVivado
|
|
470
|
-
sim: opencos.tools.vivado.CommandSimVivado
|
|
471
|
-
synth: opencos.tools.vivado.CommandSynthVivado
|
|
472
|
-
proj: opencos.tools.vivado.CommandProjVivado
|
|
473
|
-
upload: opencos.tools.vivado.CommandUploadVivado
|
|
474
|
-
open: opencos.tools.vivado.CommandOpenVivado
|
|
475
|
-
flist: opencos.tools.vivado.CommandFListVivado
|
|
476
|
-
build: opencos.tools.vivado.CommandBuildVivado
|
|
477
|
-
|
|
478
|
-
slang_yosys:
|
|
479
|
-
exe: yosys
|
|
480
|
-
requires_cmd:
|
|
481
|
-
- yosys -m slang
|
|
482
|
-
handlers:
|
|
483
|
-
elab: opencos.tools.slang_yosys.CommandElabSlangYosys
|
|
484
|
-
synth: opencos.tools.slang_yosys.CommandSynthSlangYosys
|
|
485
|
-
lec: opencos.tools.slang_yosys.CommandLecSlangYosys
|
|
486
|
-
|
|
487
|
-
tabbycad_yosys:
|
|
488
|
-
exe: yosys
|
|
489
|
-
requires_env:
|
|
490
|
-
- YOSYSHQ_LICENSE
|
|
491
|
-
handlers:
|
|
492
|
-
synth: opencos.tools.tabbycad_yosys.CommandSynthTabbyCadYosys
|
|
493
|
-
|
|
494
|
-
invio_yosys:
|
|
495
|
-
exe: yosys
|
|
496
|
-
requires_cmd:
|
|
497
|
-
- python -c "import invio"
|
|
498
|
-
requires_py:
|
|
499
|
-
- invio
|
|
500
|
-
handlers:
|
|
501
|
-
elab: opencos.tools.invio_yosys.CommandElabInvioYosys
|
|
502
|
-
synth: opencos.tools.invio_yosys.CommandSynthInvioYosys
|
|
503
|
-
|
|
504
|
-
yosys:
|
|
505
|
-
exe: yosys
|
|
506
|
-
requires_cmd:
|
|
507
|
-
- yosys
|
|
508
|
-
handlers:
|
|
509
|
-
synth: opencos.tools.slang_yosys.CommonSynthYosys
|
|
510
|
-
lec: opencos.tools.slang_yosys.CommandLecYosys
|
|
511
|
-
|
|
512
|
-
questa:
|
|
513
|
-
exe: vsim
|
|
514
|
-
requires_vsim_helper: True
|
|
515
|
-
handlers:
|
|
516
|
-
lint: opencos.tools.questa.CommandLintQuesta
|
|
517
|
-
elab: opencos.tools.questa.CommandElabQuesta
|
|
518
|
-
sim: opencos.tools.questa.CommandSimQuesta
|
|
519
|
-
flist: opencos.tools.questa.CommandFListQuesta
|
|
520
|
-
|
|
521
|
-
riviera:
|
|
522
|
-
exe: vsim
|
|
523
|
-
requires_cmd:
|
|
524
|
-
- which riviera # Do not run it, make sure it's in PATH
|
|
525
|
-
requires_vsim_helper: True
|
|
526
|
-
handlers:
|
|
527
|
-
lint: opencos.tools.riviera.CommandLintRiviera
|
|
528
|
-
elab: opencos.tools.riviera.CommandElabRiviera
|
|
529
|
-
sim: opencos.tools.riviera.CommandSimRiviera
|
|
530
|
-
|
|
531
|
-
questa_fe:
|
|
532
|
-
exe: vsim
|
|
533
|
-
requires_vsim_helper: True
|
|
534
|
-
handlers:
|
|
535
|
-
lint: opencos.tools.questa_fe.CommandLintQuestaFe
|
|
536
|
-
elab: opencos.tools.questa_fe.CommandElabQuestaFe
|
|
537
|
-
sim: opencos.tools.questa_fe.CommandSimQuestaFe
|
|
538
|
-
flist: opencos.tools.questa_fe.CommandFListQuestaFe
|
|
539
|
-
|
|
540
|
-
questa_fse: # free student edition, works similar to modelsim_ase
|
|
541
|
-
exe: vsim
|
|
542
|
-
requires_vsim_helper: True
|
|
543
|
-
handlers:
|
|
544
|
-
lint: opencos.tools.questa_fse.CommandLintQuestaFse
|
|
545
|
-
elab: opencos.tools.questa_fse.CommandElabQuestaFse
|
|
546
|
-
sim: opencos.tools.questa_fse.CommandSimQuestaFse
|
|
547
|
-
flist: opencos.tools.questa_fse.CommandFListQuestaFse
|
|
548
|
-
|
|
549
|
-
modelsim_ase:
|
|
550
|
-
exe: vsim
|
|
551
|
-
requires_vsim_helper: True
|
|
552
|
-
handlers:
|
|
553
|
-
lint: opencos.tools.modelsim_ase.CommandLintModelsimAse
|
|
554
|
-
elab: opencos.tools.modelsim_ase.CommandElabModelsimAse
|
|
555
|
-
sim: opencos.tools.modelsim_ase.CommandSimModelsimAse
|
|
556
|
-
|
|
557
|
-
iverilog:
|
|
558
|
-
exe: iverilog
|
|
559
|
-
handlers:
|
|
560
|
-
lint: opencos.tools.iverilog.CommandLintIverilog
|
|
561
|
-
elab: opencos.tools.iverilog.CommandElabIverilog
|
|
562
|
-
sim: opencos.tools.iverilog.CommandSimIverilog
|
|
563
|
-
|
|
564
|
-
cocotb:
|
|
565
|
-
disable-auto: True # do not allow this to run `eda sim` with --tool not set
|
|
566
|
-
exe: python
|
|
567
|
-
requires_cmd:
|
|
568
|
-
- python -c "import cocotb; print(cocotb.__version__)"
|
|
569
|
-
requires_py:
|
|
570
|
-
- cocotb
|
|
571
|
-
handlers:
|
|
572
|
-
sim: opencos.tools.cocotb.CommandSimCocotb
|
|
664
|
+
slang_yosys:
|
|
665
|
+
exe: yosys
|
|
666
|
+
requires_cmd:
|
|
667
|
+
- yosys -m slang
|
|
668
|
+
handlers:
|
|
669
|
+
elab: opencos.tools.slang_yosys.CommandElabSlangYosys
|
|
670
|
+
synth: opencos.tools.slang_yosys.CommandSynthSlangYosys
|
|
671
|
+
lec: opencos.tools.slang_yosys.CommandLecSlangYosys
|
|
672
|
+
|
|
673
|
+
tabbycad_yosys:
|
|
674
|
+
exe: yosys
|
|
675
|
+
requires_env:
|
|
676
|
+
- YOSYSHQ_LICENSE
|
|
677
|
+
handlers:
|
|
678
|
+
synth: opencos.tools.tabbycad_yosys.CommandSynthTabbyCadYosys
|
|
679
|
+
|
|
680
|
+
invio_yosys:
|
|
681
|
+
exe: yosys
|
|
682
|
+
requires_cmd:
|
|
683
|
+
- python -c "import invio"
|
|
684
|
+
requires_py:
|
|
685
|
+
- invio
|
|
686
|
+
handlers:
|
|
687
|
+
elab: opencos.tools.invio_yosys.CommandElabInvioYosys
|
|
688
|
+
synth: opencos.tools.invio_yosys.CommandSynthInvioYosys
|
|
689
|
+
|
|
690
|
+
yosys:
|
|
691
|
+
exe: yosys
|
|
692
|
+
requires_cmd:
|
|
693
|
+
- yosys
|
|
694
|
+
handlers:
|
|
695
|
+
synth: opencos.tools.slang_yosys.CommonSynthYosys
|
|
696
|
+
lec: opencos.tools.slang_yosys.CommandLecYosys
|
opencos/eda_config_reduced.yml
CHANGED
|
@@ -14,6 +14,11 @@ deps_subprocess_shell: false
|
|
|
14
14
|
|
|
15
15
|
tools:
|
|
16
16
|
verilator:
|
|
17
|
+
exe: verilator
|
|
18
|
+
handlers:
|
|
19
|
+
lint: opencos.tools.verilator.VerilatorLint
|
|
20
|
+
elab: opencos.tools.verilator.VerilatorElab
|
|
21
|
+
sim: opencos.tools.verilator.VerilatorSim
|
|
17
22
|
compile-waivers:
|
|
18
23
|
- CASEINCOMPLETE
|
|
19
24
|
- REALCVT # Implicit conversion of real to integer
|
|
@@ -23,43 +28,18 @@ tools:
|
|
|
23
28
|
- WIDTH
|
|
24
29
|
- fatal
|
|
25
30
|
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
slang:
|
|
29
|
-
exe: slang
|
|
30
|
-
requires_cmd:
|
|
31
|
-
- slang --version
|
|
32
|
-
handlers:
|
|
33
|
-
elab: opencos.tools.slang.CommandElabSlang
|
|
34
|
-
|
|
35
|
-
verilator:
|
|
36
|
-
exe: verilator
|
|
37
|
-
handlers:
|
|
38
|
-
elab: opencos.tools.verilator.VerilatorElab
|
|
39
|
-
sim: opencos.tools.verilator.VerilatorSim
|
|
40
|
-
|
|
41
|
-
gtkwave:
|
|
42
|
-
exe: gtkwave
|
|
43
|
-
handlers: { }
|
|
31
|
+
# leave slang, modelsim_ase, iverilog, slang_yosys at defaults
|
|
44
32
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
elab: opencos.tools.modelsim_ase.CommandElabModelsimAse
|
|
59
|
-
sim: opencos.tools.modelsim_ase.CommandSimModelsimAse
|
|
60
|
-
|
|
61
|
-
iverilog:
|
|
62
|
-
exe: iverilog
|
|
63
|
-
handlers:
|
|
64
|
-
elab: opencos.tools.iverilog.CommandElabIverilog
|
|
65
|
-
sim: opencos.tools.iverilog.CommandSimIverilog
|
|
33
|
+
auto_tools_order:
|
|
34
|
+
lint:
|
|
35
|
+
- slang
|
|
36
|
+
- verilator
|
|
37
|
+
elab:
|
|
38
|
+
- slang
|
|
39
|
+
- verilator
|
|
40
|
+
sim:
|
|
41
|
+
- verilator
|
|
42
|
+
- modelsim_ase
|
|
43
|
+
- iverilog
|
|
44
|
+
synth:
|
|
45
|
+
- slang_yosys
|