opencos-eda 0.2.35__tar.gz → 0.2.36__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 (80) hide show
  1. {opencos_eda-0.2.35/opencos_eda.egg-info → opencos_eda-0.2.36}/PKG-INFO +1 -1
  2. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/eda_deps_bash_completion.bash +1 -1
  3. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/export_helper.py +20 -19
  4. {opencos_eda-0.2.35 → opencos_eda-0.2.36/opencos_eda.egg-info}/PKG-INFO +1 -1
  5. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos_eda.egg-info/SOURCES.txt +1 -1
  6. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos_eda.egg-info/entry_points.txt +1 -1
  7. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/pyproject.toml +2 -2
  8. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/LICENSE +0 -0
  9. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/LICENSE.spdx +0 -0
  10. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/README.md +0 -0
  11. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/__init__.py +0 -0
  12. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/_version.py +0 -0
  13. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/_waves_pkg.sv +0 -0
  14. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/commands/__init__.py +0 -0
  15. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/commands/build.py +0 -0
  16. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/commands/elab.py +0 -0
  17. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/commands/export.py +0 -0
  18. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/commands/flist.py +0 -0
  19. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/commands/multi.py +0 -0
  20. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/commands/open.py +0 -0
  21. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/commands/proj.py +0 -0
  22. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/commands/sim.py +0 -0
  23. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/commands/sweep.py +0 -0
  24. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/commands/synth.py +0 -0
  25. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/commands/upload.py +0 -0
  26. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/commands/waves.py +0 -0
  27. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/deps_helpers.py +0 -0
  28. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/deps_schema.py +0 -0
  29. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/eda.py +0 -0
  30. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/eda_base.py +0 -0
  31. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/eda_config.py +0 -0
  32. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/eda_config_defaults.yml +0 -0
  33. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/eda_config_max_verilator_waivers.yml +0 -0
  34. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/eda_config_reduced.yml +0 -0
  35. /opencos_eda-0.2.35/opencos/eda_extract_deps_keys.py → /opencos_eda-0.2.36/opencos/eda_extract_targets.py +0 -0
  36. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/eda_tool_helper.py +0 -0
  37. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/export_json_convert.py +0 -0
  38. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/files.py +0 -0
  39. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/names.py +0 -0
  40. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/oc_cli.py +0 -0
  41. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/pcie.py +0 -0
  42. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/peakrdl_cleanup.py +0 -0
  43. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/seed.py +0 -0
  44. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/__init__.py +0 -0
  45. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/custom_config.yml +0 -0
  46. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/deps_files/command_order/DEPS.yml +0 -0
  47. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/deps_files/error_msgs/DEPS.yml +0 -0
  48. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/deps_files/iverilog_test/DEPS.yml +0 -0
  49. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/deps_files/no_deps_here/DEPS.yml +0 -0
  50. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/deps_files/non_sv_reqs/DEPS.yml +0 -0
  51. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/deps_files/tags_with_tools/DEPS.yml +0 -0
  52. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/deps_files/test_err_fatal/DEPS.yml +0 -0
  53. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/helpers.py +0 -0
  54. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/test_build.py +0 -0
  55. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/test_deps_helpers.py +0 -0
  56. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/test_deps_schema.py +0 -0
  57. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/test_eda.py +0 -0
  58. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/test_eda_elab.py +0 -0
  59. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/test_eda_synth.py +0 -0
  60. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/test_oc_cli.py +0 -0
  61. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tests/test_tools.py +0 -0
  62. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tools/__init__.py +0 -0
  63. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tools/invio.py +0 -0
  64. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tools/invio_helpers.py +0 -0
  65. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tools/invio_yosys.py +0 -0
  66. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tools/iverilog.py +0 -0
  67. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tools/modelsim_ase.py +0 -0
  68. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tools/questa.py +0 -0
  69. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tools/slang.py +0 -0
  70. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tools/slang_yosys.py +0 -0
  71. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tools/surelog.py +0 -0
  72. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tools/tabbycad_yosys.py +0 -0
  73. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tools/verilator.py +0 -0
  74. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tools/vivado.py +0 -0
  75. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/tools/yosys.py +0 -0
  76. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos/util.py +0 -0
  77. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos_eda.egg-info/dependency_links.txt +0 -0
  78. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos_eda.egg-info/requires.txt +0 -0
  79. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/opencos_eda.egg-info/top_level.txt +0 -0
  80. {opencos_eda-0.2.35 → opencos_eda-0.2.36}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opencos-eda
3
- Version: 0.2.35
3
+ Version: 0.2.36
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
@@ -15,7 +15,7 @@
15
15
  # what we want to add target completion to:
16
16
  SCRIPT_NAME="eda"
17
17
  # how we get the completion targets:
18
- EXTRACTION_SCRIPT_NAME="eda_extract_deps_keys"
18
+ EXTRACTION_SCRIPT_NAME="eda_targets"
19
19
 
20
20
  _eda_script_completion() {
21
21
 
@@ -1,4 +1,5 @@
1
1
  import os
2
+ import shutil
2
3
  import json
3
4
 
4
5
  from opencos import util
@@ -75,7 +76,7 @@ def find_sv_included_files_within_file(filename:str,
75
76
  known_incdir_paths:list,
76
77
  warnings:bool=True,
77
78
  modify_files_and_save_to_path=None,
78
- unmodified_files_link_to_path=None) -> list:
79
+ unmodified_files_copy_to_path=None) -> list:
79
80
  '''Given a filename (full path) and a list of known incdir paths, returns
80
81
  a list of included files (full path).
81
82
 
@@ -83,8 +84,8 @@ def find_sv_included_files_within_file(filename:str,
83
84
  to strip all path information on the `include "(path)" for example:
84
85
  `include "foo.svh" -- no modifications
85
86
  `include "../bar.svh" -- is modified to become `include "bar.svh"
86
- (Optional) unmodified_files_link_to_path (str: directory/path) if you wish
87
- to symlink unmodified files to this path.
87
+ (Optional) unmodified_files_copy_to_path (str: directory/path) if you wish
88
+ to copy unmodified files to this path.
88
89
  '''
89
90
 
90
91
  found_included_files = set()
@@ -97,7 +98,7 @@ def find_sv_included_files_within_file(filename:str,
97
98
 
98
99
  filename_no_path = os.path.split(filename)[1]
99
100
 
100
- debug(f'export_helper: {filename=} {modify_files_and_save_to_path=} {unmodified_files_link_to_path=}')
101
+ debug(f'export_helper: {filename=} {modify_files_and_save_to_path=} {unmodified_files_copy_to_path=}')
101
102
 
102
103
  with open(filename) as f:
103
104
 
@@ -153,13 +154,13 @@ def find_sv_included_files_within_file(filename:str,
153
154
  else:
154
155
  outf.write(line)
155
156
 
156
- # Optionally soft-link unmodified files to some path?
157
- if len(modified_lines) == 0 and unmodified_files_link_to_path:
158
- if os.path.isdir(unmodified_files_link_to_path):
159
- dst = os.path.join(unmodified_files_link_to_path, filename_no_path)
157
+ # Copy unmodified files to some path.
158
+ if len(modified_lines) == 0 and unmodified_files_copy_to_path:
159
+ if os.path.isdir(unmodified_files_copy_to_path):
160
+ dst = os.path.join(unmodified_files_copy_to_path, filename_no_path)
160
161
  if not os.path.exists(dst):
161
- debug(f'export_helper: Linked {filename=} to {dst=}')
162
- os.symlink(src=filename, dst=dst)
162
+ debug(f'export_helper: Copied unmodified {filename=} to {dst=}')
163
+ shutil.copy(src=filename, dst=dst)
163
164
 
164
165
 
165
166
  # Back to the list found_included_files that we observed within our filename, we
@@ -193,7 +194,7 @@ def find_sv_included_files_within_file(filename:str,
193
194
  def get_list_sv_included_files(all_src_files:list, known_incdir_paths:list, target:str='',
194
195
  warnings:bool=True,
195
196
  modify_files_and_save_to_path=None,
196
- unmodified_files_link_to_path=None) -> list:
197
+ unmodified_files_copy_to_path=None) -> list:
197
198
  ''' Given a list of all_src_files, and list of known_incdir_paths, returns a list
198
199
  of all included files (fullpath). This is recurisve if an included file includes another file.
199
200
 
@@ -205,7 +206,7 @@ def get_list_sv_included_files(all_src_files:list, known_incdir_paths:list, targ
205
206
  `include "foo.svh" -- no modifications
206
207
  `include "../bar.svh" -- is modified to become `include "bar.svh"
207
208
  Set to None (default) to disable.
208
- unmodified_files_link_to_path -- (str: directory/path) if you wish to symlink unmodified
209
+ unmodified_files_copy_to_path -- (str: directory/path) if you wish to copy unmodified
209
210
  files to this path. Set to None (default) to disable.
210
211
  '''
211
212
 
@@ -220,7 +221,7 @@ def get_list_sv_included_files(all_src_files:list, known_incdir_paths:list, targ
220
221
  known_incdir_paths=known_incdir_paths,
221
222
  warnings=warnings,
222
223
  modify_files_and_save_to_path=modify_files_and_save_to_path,
223
- unmodified_files_link_to_path=unmodified_files_link_to_path
224
+ unmodified_files_copy_to_path=unmodified_files_copy_to_path
224
225
  )
225
226
 
226
227
  for f in included_files_list:
@@ -239,7 +240,7 @@ def get_list_sv_included_files(all_src_files:list, known_incdir_paths:list, targ
239
240
  known_incdir_paths=known_incdir_paths,
240
241
  warnings=warnings,
241
242
  modify_files_and_save_to_path=modify_files_and_save_to_path,
242
- unmodified_files_link_to_path=unmodified_files_link_to_path
243
+ unmodified_files_copy_to_path=unmodified_files_copy_to_path
243
244
  )
244
245
  sv_included_files_dict[fname] = True # mark as traversed.
245
246
 
@@ -317,7 +318,7 @@ class ExportHelper:
317
318
  known_incdir_paths=self.cmd_design_obj.incdirs,
318
319
  target=self.target,
319
320
  modify_files_and_save_to_path=self.out_dir,
320
- unmodified_files_link_to_path=self.out_dir
321
+ unmodified_files_copy_to_path=self.out_dir
321
322
  )
322
323
 
323
324
  info(f"export_helper: {self.target=} included files {self.included_files=}")
@@ -325,7 +326,7 @@ class ExportHelper:
325
326
  for filename in self.cmd_design_obj.files_non_source:
326
327
  dst = os.path.join(self.out_dir, os.path.split(filename)[1])
327
328
  if not os.path.exists(dst):
328
- os.symlink(src=filename, dst=dst)
329
+ shutil.copy(src=filename, dst=dst)
329
330
 
330
331
  def create_deps_yml_in_out_dir(self, deps_file_args:list=list()):
331
332
  if not self.target:
@@ -449,11 +450,11 @@ class ExportHelper:
449
450
  info(f'export_helper: Wrote {dst=}')
450
451
 
451
452
  # If this was from an `export` command, and the self.out_dir != self.args['work-dir'], then
452
- # link the export.json to the work-dir:
453
+ # copy the export.json to the work-dir:
453
454
  if self.out_dir != self.args['work-dir']:
454
455
  util.safe_mkdirs(base=self.args['work-dir'], new_dirs=['export'])
455
456
  src = os.path.abspath(os.path.join(self.out_dir, 'export.json'))
456
457
  dst = os.path.join(self.args['work-dir'], 'export', 'export.json')
457
458
  if not os.path.exists(dst):
458
- os.symlink(src=src, dst=dst)
459
- info(f'export_helper: Linked to {dst=}')
459
+ shutil.copy(src=filename, dst=dst)
460
+ info(f'export_helper: Copied {src=} to {dst=}')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opencos-eda
3
- Version: 0.2.35
3
+ Version: 0.2.36
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
@@ -14,7 +14,7 @@ opencos/eda_config_defaults.yml
14
14
  opencos/eda_config_max_verilator_waivers.yml
15
15
  opencos/eda_config_reduced.yml
16
16
  opencos/eda_deps_bash_completion.bash
17
- opencos/eda_extract_deps_keys.py
17
+ opencos/eda_extract_targets.py
18
18
  opencos/eda_tool_helper.py
19
19
  opencos/export_helper.py
20
20
  opencos/export_json_convert.py
@@ -1,5 +1,5 @@
1
1
  [console_scripts]
2
2
  eda = opencos.eda:main_cli
3
3
  eda_deps_schema = opencos.deps_schema:main
4
- eda_extract_deps_keys = opencos.eda_extract_deps_keys:main
4
+ eda_targets = opencos.eda_extract_targets:main
5
5
  oc_cli = opencos.oc_cli:main
@@ -2,7 +2,7 @@
2
2
 
3
3
  [project]
4
4
  name = "opencos-eda"
5
- version = "0.2.35"
5
+ version = "0.2.36"
6
6
  dependencies = [
7
7
  # opencos/eda.py dependencies
8
8
  "mergedeep >= 1.3.4",
@@ -38,7 +38,7 @@ opencos = "opencos"
38
38
  eda = "opencos.eda:main_cli"
39
39
  oc_cli = "opencos.oc_cli:main"
40
40
  # For bash completion of DEPS target keys.
41
- eda_extract_deps_keys = "opencos.eda_extract_deps_keys:main"
41
+ eda_targets = "opencos.eda_extract_targets:main"
42
42
  # For linting DEPS.yml
43
43
  eda_deps_schema = "opencos.deps_schema:main"
44
44
 
File without changes
File without changes
File without changes
File without changes