devlab-fpga 0.1.2__tar.gz → 0.1.3__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devlab-fpga
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Summary: FPGA development helper for installing OSS CAD Suite and running build/flash flows.
5
5
  Author-email: Mrju10 <name@email.com>
6
6
  License: MIT
@@ -64,6 +64,11 @@ YosysHQ. The installer selects the correct asset for:
64
64
  The default install location is `~/.devlab`. Set `DEVLAB_HOME` to use a
65
65
  different directory.
66
66
 
67
+ `devlab build`, `devlab flash`, and `devlab flash --detect` automatically run
68
+ OSS CAD Suite tools with the installed suite environment, including the
69
+ official `bin`, `py3bin`, `VIRTUAL_ENV`, `VERILATOR_ROOT`, and `GHDL_PREFIX`
70
+ settings. You do not need to manually source `environment` for those commands.
71
+
67
72
  On Windows, OSS CAD Suite may be distributed as a 7-Zip self-extracting `.exe`
68
73
  archive. `devlab install` extracts it automatically into `~/.devlab/toolchains`
69
74
  without opening an installer:
@@ -176,6 +181,7 @@ run detection:
176
181
 
177
182
  ```bash
178
183
  devlab flash --detect
184
+ devlab flash --detect --board tangnano9k
179
185
  ```
180
186
 
181
187
  Persistent flash can also be configured in `devlab.toml`:
@@ -40,6 +40,11 @@ YosysHQ. The installer selects the correct asset for:
40
40
  The default install location is `~/.devlab`. Set `DEVLAB_HOME` to use a
41
41
  different directory.
42
42
 
43
+ `devlab build`, `devlab flash`, and `devlab flash --detect` automatically run
44
+ OSS CAD Suite tools with the installed suite environment, including the
45
+ official `bin`, `py3bin`, `VIRTUAL_ENV`, `VERILATOR_ROOT`, and `GHDL_PREFIX`
46
+ settings. You do not need to manually source `environment` for those commands.
47
+
43
48
  On Windows, OSS CAD Suite may be distributed as a 7-Zip self-extracting `.exe`
44
49
  archive. `devlab install` extracts it automatically into `~/.devlab/toolchains`
45
50
  without opening an installer:
@@ -152,6 +157,7 @@ run detection:
152
157
 
153
158
  ```bash
154
159
  devlab flash --detect
160
+ devlab flash --detect --board tangnano9k
155
161
  ```
156
162
 
157
163
  Persistent flash can also be configured in `devlab.toml`:
@@ -166,8 +166,8 @@ def detect_flash(
166
166
  board: str | None = None,
167
167
  dry_run: bool = False,
168
168
  ) -> None:
169
- config = load_config(config_path)
170
- selected_board = board or config.board
169
+ config = load_config(config_path) if config_path or not board else None
170
+ selected_board = board or (config.board if config else None)
171
171
  if not selected_board:
172
172
  raise DevlabError(
173
173
  "No flash board configured. Add [flash] board = \"...\" "
@@ -113,10 +113,26 @@ def bin_dirs(path: Path | None = None) -> list[Path]:
113
113
  return [path / "oss-cad-suite" / "bin", path / "bin"]
114
114
 
115
115
 
116
+ def _toolchain_root(path: Path) -> Path:
117
+ nested_root = path / "oss-cad-suite"
118
+ if nested_root.exists():
119
+ return nested_root
120
+ return path
121
+
122
+
116
123
  def env_with_toolchain(path: Path | None = None) -> dict[str, str]:
124
+ path = path or install_path()
125
+ root = _toolchain_root(path)
117
126
  env = os.environ.copy()
118
- binary_dirs = os.pathsep.join(str(candidate) for candidate in bin_dirs(path))
127
+ tool_dirs = [*bin_dirs(path), root / "py3bin"]
128
+ binary_dirs = os.pathsep.join(str(candidate) for candidate in tool_dirs)
119
129
  env["PATH"] = binary_dirs + os.pathsep + env.get("PATH", "")
130
+ env["VIRTUAL_ENV"] = str(root)
131
+ env["VIRTUAL_ENV_PROMPT"] = "OSS CAD Suite"
132
+ env["VERILATOR_ROOT"] = str(root / "share" / "verilator")
133
+ env["GHDL_PREFIX"] = str(root / "lib" / "ghdl")
134
+ env["OPENFPGALOADER_SOJ_DIR"] = str(root / "share" / "openFPGALoader")
135
+ env.pop("PYTHONHOME", None)
120
136
  return env
121
137
 
122
138
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devlab-fpga
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Summary: FPGA development helper for installing OSS CAD Suite and running build/flash flows.
5
5
  Author-email: Mrju10 <name@email.com>
6
6
  License: MIT
@@ -64,6 +64,11 @@ YosysHQ. The installer selects the correct asset for:
64
64
  The default install location is `~/.devlab`. Set `DEVLAB_HOME` to use a
65
65
  different directory.
66
66
 
67
+ `devlab build`, `devlab flash`, and `devlab flash --detect` automatically run
68
+ OSS CAD Suite tools with the installed suite environment, including the
69
+ official `bin`, `py3bin`, `VIRTUAL_ENV`, `VERILATOR_ROOT`, and `GHDL_PREFIX`
70
+ settings. You do not need to manually source `environment` for those commands.
71
+
67
72
  On Windows, OSS CAD Suite may be distributed as a 7-Zip self-extracting `.exe`
68
73
  archive. `devlab install` extracts it automatically into `~/.devlab/toolchains`
69
74
  without opening an installer:
@@ -176,6 +181,7 @@ run detection:
176
181
 
177
182
  ```bash
178
183
  devlab flash --detect
184
+ devlab flash --detect --board tangnano9k
179
185
  ```
180
186
 
181
187
  Persistent flash can also be configured in `devlab.toml`:
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "devlab-fpga"
7
- version = "0.1.2"
7
+ version = "0.1.3"
8
8
  description = "FPGA development helper for installing OSS CAD Suite and running build/flash flows."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
File without changes
File without changes
File without changes
File without changes
File without changes