opencos-eda 0.2.39__tar.gz → 0.2.40__tar.gz

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.
Files changed (81) hide show
  1. {opencos_eda-0.2.39/opencos_eda.egg-info → opencos_eda-0.2.40}/PKG-INFO +1 -1
  2. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/eda_base.py +15 -1
  3. {opencos_eda-0.2.39 → opencos_eda-0.2.40/opencos_eda.egg-info}/PKG-INFO +1 -1
  4. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/pyproject.toml +1 -1
  5. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/LICENSE +0 -0
  6. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/LICENSE.spdx +0 -0
  7. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/README.md +0 -0
  8. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/__init__.py +0 -0
  9. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/_version.py +0 -0
  10. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/_waves_pkg.sv +0 -0
  11. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/commands/__init__.py +0 -0
  12. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/commands/build.py +0 -0
  13. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/commands/elab.py +0 -0
  14. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/commands/export.py +0 -0
  15. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/commands/flist.py +0 -0
  16. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/commands/multi.py +0 -0
  17. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/commands/open.py +0 -0
  18. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/commands/proj.py +0 -0
  19. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/commands/sim.py +0 -0
  20. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/commands/sweep.py +0 -0
  21. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/commands/synth.py +0 -0
  22. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/commands/targets.py +0 -0
  23. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/commands/upload.py +0 -0
  24. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/commands/waves.py +0 -0
  25. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/deps_helpers.py +0 -0
  26. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/deps_schema.py +0 -0
  27. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/eda.py +0 -0
  28. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/eda_config.py +0 -0
  29. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/eda_config_defaults.yml +0 -0
  30. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/eda_config_max_verilator_waivers.yml +0 -0
  31. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/eda_config_reduced.yml +0 -0
  32. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/eda_deps_bash_completion.bash +0 -0
  33. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/eda_extract_targets.py +0 -0
  34. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/eda_tool_helper.py +0 -0
  35. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/export_helper.py +0 -0
  36. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/export_json_convert.py +0 -0
  37. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/files.py +0 -0
  38. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/names.py +0 -0
  39. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/oc_cli.py +0 -0
  40. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/pcie.py +0 -0
  41. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/peakrdl_cleanup.py +0 -0
  42. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/seed.py +0 -0
  43. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/__init__.py +0 -0
  44. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/custom_config.yml +0 -0
  45. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/deps_files/command_order/DEPS.yml +0 -0
  46. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/deps_files/error_msgs/DEPS.yml +0 -0
  47. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/deps_files/iverilog_test/DEPS.yml +0 -0
  48. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/deps_files/no_deps_here/DEPS.yml +0 -0
  49. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/deps_files/non_sv_reqs/DEPS.yml +0 -0
  50. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/deps_files/tags_with_tools/DEPS.yml +0 -0
  51. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/deps_files/test_err_fatal/DEPS.yml +0 -0
  52. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/helpers.py +0 -0
  53. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/test_build.py +0 -0
  54. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/test_deps_helpers.py +0 -0
  55. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/test_deps_schema.py +0 -0
  56. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/test_eda.py +0 -0
  57. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/test_eda_elab.py +0 -0
  58. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/test_eda_synth.py +0 -0
  59. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/test_oc_cli.py +0 -0
  60. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tests/test_tools.py +0 -0
  61. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tools/__init__.py +0 -0
  62. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tools/invio.py +0 -0
  63. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tools/invio_helpers.py +0 -0
  64. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tools/invio_yosys.py +0 -0
  65. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tools/iverilog.py +0 -0
  66. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tools/modelsim_ase.py +0 -0
  67. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tools/questa.py +0 -0
  68. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tools/slang.py +0 -0
  69. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tools/slang_yosys.py +0 -0
  70. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tools/surelog.py +0 -0
  71. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tools/tabbycad_yosys.py +0 -0
  72. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tools/verilator.py +0 -0
  73. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tools/vivado.py +0 -0
  74. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/tools/yosys.py +0 -0
  75. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos/util.py +0 -0
  76. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos_eda.egg-info/SOURCES.txt +0 -0
  77. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos_eda.egg-info/dependency_links.txt +0 -0
  78. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos_eda.egg-info/entry_points.txt +0 -0
  79. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos_eda.egg-info/requires.txt +0 -0
  80. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/opencos_eda.egg-info/top_level.txt +0 -0
  81. {opencos_eda-0.2.39 → opencos_eda-0.2.40}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opencos-eda
3
- Version: 0.2.39
3
+ Version: 0.2.40
4
4
  Summary: A simple Python package for wrapping RTL simuliatons and synthesis
5
5
  Author-email: Simon Sabato <simon@cognichip.ai>, Drew Ranck <drew@cognichip.ai>
6
6
  Project-URL: Homepage, https://github.com/cognichip/opencos
@@ -178,6 +178,7 @@ class Command:
178
178
  "job-name" : "", # this is used to create a certain dir under "eda_dir"
179
179
  "work-dir" : "", # this can be used to run the job in a certain dir, else it will be <eda-dir>/<job-name> else <eda-dir>/<target>_<command>
180
180
  "sub-work-dir" : "", # this can be used to name the dir built under <eda-dir>, which seems to be same function as job-name??
181
+ "work-dir-use-target-dir": False,
181
182
  "suffix" : "",
182
183
  "design" : "", # not sure how this relates to top
183
184
  'export': False,
@@ -196,6 +197,8 @@ class Command:
196
197
  'export-json': 'export, and save a JSON file per target',
197
198
  'work-dir': ('Optional override for working directory, often defaults to'
198
199
  ' ./eda.work/<top>.<command>'),
200
+ "work-dir-use-target-dir": ('Set the work-dir to be the same as the in-place location'
201
+ ' where the target (DEPS) exists'),
199
202
  'enable-tags': ('DEPS markup tag names to be force enabled for this'
200
203
  ' command (mulitple appends to list).'),
201
204
  'diable-tags': ('DEPS markup tag names to be disabled (even if they'
@@ -207,6 +210,7 @@ class Command:
207
210
  self.modified_args = {}
208
211
  self.config = copy.deepcopy(config) # avoid external modifications.
209
212
  self.target = ""
213
+ self.target_path = ""
210
214
  self.status = 0
211
215
 
212
216
  def error(self, *args, **kwargs):
@@ -228,6 +232,16 @@ class Command:
228
232
 
229
233
  def create_work_dir(self):
230
234
  util.debug(f"create_work_dir: {self.args['eda-dir']=} {self.args['work-dir']=}")
235
+ if self.args['work-dir-use-target-dir']:
236
+ if not self.target_path:
237
+ self.target_path = '.'
238
+ util.info(f"create_work_dir: --work-dir-use-target-dir: using:",
239
+ f"{os.path.abspath(self.target_path)}",
240
+ f'target={self.target}')
241
+ self.args['work-dir'] = self.target_path
242
+ self.args['sub-work-dir'] = ''
243
+ return self.args['work-dir']
244
+
231
245
  if not os.path.exists(self.args['eda-dir']):
232
246
  util.safe_mkdir(self.args['eda-dir'])
233
247
  util.info(f"create_work_dir: created {self.args['eda-dir']}")
@@ -884,7 +898,7 @@ class CommandDesign(Command):
884
898
  # self.target is a name we grab for the job (i.e. for naming work dir etc). we don't want the path prefix.
885
899
  # TODO: too messy -- there's also a self.target, args['job-name'], args['work-dir'], args['design'], args['top'], args['sub-work-dir'] ...
886
900
 
887
- self.target = os.path.basename(target)
901
+ self.target_path, self.target = os.path.split(target)
888
902
 
889
903
  if target in self.targets_dict:
890
904
  # If we're encountered this target before, stop. We're not traversing again.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opencos-eda
3
- Version: 0.2.39
3
+ Version: 0.2.40
4
4
  Summary: A simple Python package for wrapping RTL simuliatons and synthesis
5
5
  Author-email: Simon Sabato <simon@cognichip.ai>, Drew Ranck <drew@cognichip.ai>
6
6
  Project-URL: Homepage, https://github.com/cognichip/opencos
@@ -2,7 +2,7 @@
2
2
 
3
3
  [project]
4
4
  name = "opencos-eda"
5
- version = "0.2.39"
5
+ version = "0.2.40"
6
6
  dependencies = [
7
7
  # opencos/eda.py dependencies
8
8
  "mergedeep >= 1.3.4",
File without changes
File without changes
File without changes
File without changes