chipfoundry-cli 1.1.0__tar.gz → 1.2.0__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.
- {chipfoundry_cli-1.1.0 → chipfoundry_cli-1.2.0}/PKG-INFO +99 -2
- {chipfoundry_cli-1.1.0 → chipfoundry_cli-1.2.0}/README.md +98 -1
- chipfoundry_cli-1.2.0/chipfoundry_cli/main.py +2308 -0
- {chipfoundry_cli-1.1.0 → chipfoundry_cli-1.2.0}/chipfoundry_cli/utils.py +1 -1
- chipfoundry_cli-1.2.0/pyproject.toml +68 -0
- chipfoundry_cli-1.1.0/chipfoundry_cli/main.py +0 -954
- chipfoundry_cli-1.1.0/pyproject.toml +0 -31
- {chipfoundry_cli-1.1.0 → chipfoundry_cli-1.2.0}/LICENSE +0 -0
- {chipfoundry_cli-1.1.0 → chipfoundry_cli-1.2.0}/chipfoundry_cli/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: chipfoundry-cli
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: CLI tool to automate ChipFoundry project submission to SFTP server
|
|
5
5
|
Home-page: https://chipfoundry.io
|
|
6
6
|
License: Apache-2.0
|
|
@@ -51,6 +51,55 @@ cf --help
|
|
|
51
51
|
|
|
52
52
|
## Quick Start
|
|
53
53
|
|
|
54
|
+
### For New Projects (Starting from Template)
|
|
55
|
+
|
|
56
|
+
1. **Clone the template** (or create new directory):
|
|
57
|
+
```bash
|
|
58
|
+
git clone https://github.com/chipfoundry/caravel_user_project my_project
|
|
59
|
+
cd my_project
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
2. **Set up the project** (replaces `make setup`):
|
|
63
|
+
```bash
|
|
64
|
+
cf setup
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
3. **Generate SSH Key** (if you don't have one):
|
|
68
|
+
```bash
|
|
69
|
+
cf keygen
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
4. **Register your key** at [https://chipfoundry.io/sftp-registration](https://chipfoundry.io/sftp-registration)
|
|
73
|
+
|
|
74
|
+
5. **Configure your credentials**:
|
|
75
|
+
```bash
|
|
76
|
+
cf config
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
6. **Upload your project**:
|
|
80
|
+
```bash
|
|
81
|
+
cf push
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
7. **Download results** (when available):
|
|
85
|
+
```bash
|
|
86
|
+
cf pull
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
8. **View tapeout report**:
|
|
90
|
+
```bash
|
|
91
|
+
cf view-tapeout-report
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
9. **Confirm final tapeout** (when ready to send GDS to foundry):
|
|
95
|
+
```bash
|
|
96
|
+
cf confirm
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### For Existing Projects
|
|
100
|
+
|
|
101
|
+
If you already have a project with a Makefile:
|
|
102
|
+
|
|
54
103
|
1. **Generate SSH Key** (if you don't have one):
|
|
55
104
|
```bash
|
|
56
105
|
cf keygen
|
|
@@ -178,6 +227,54 @@ cf init [--project-root DIRECTORY]
|
|
|
178
227
|
- Creates `.cf/project.json` with project metadata
|
|
179
228
|
- **Note**: GDS hash is generated during `push`, not `init`
|
|
180
229
|
|
|
230
|
+
### Setup a ChipFoundry Project
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
cf setup [OPTIONS]
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**Replaces `make setup`** - Comprehensive project setup with all dependencies.
|
|
237
|
+
|
|
238
|
+
**What it does:**
|
|
239
|
+
1. Initializes project configuration (`.cf/project.json`)
|
|
240
|
+
2. Syncs with upstream repository
|
|
241
|
+
3. Installs Caravel/Caravel-Lite
|
|
242
|
+
4. Sets up timing scripts
|
|
243
|
+
5. Configures Cocotb testing environment
|
|
244
|
+
6. Installs precheck tools
|
|
245
|
+
7. Pulls Docker images for verification
|
|
246
|
+
8. Runs IPM for dependency management
|
|
247
|
+
|
|
248
|
+
**Key Options:**
|
|
249
|
+
- `--only-init`: Just create configuration, skip installations
|
|
250
|
+
- `--dry-run`: Preview actions without making changes
|
|
251
|
+
- `--pdk TEXT`: Specify PDK variant (default: sky130A)
|
|
252
|
+
- `--caravel-lite` / `--no-caravel-lite`: Choose Caravel variant
|
|
253
|
+
- `--skip-caravel`, `--skip-openlane`, `--skip-pdk`, etc.: Skip specific installations
|
|
254
|
+
- `--repo-owner`, `--repo-name`, `--branch`: Custom repository source
|
|
255
|
+
|
|
256
|
+
**Examples:**
|
|
257
|
+
```bash
|
|
258
|
+
# Full setup (replaces make setup)
|
|
259
|
+
cf setup
|
|
260
|
+
|
|
261
|
+
# Quick configuration only
|
|
262
|
+
cf setup --only-init
|
|
263
|
+
|
|
264
|
+
# Preview what will be installed
|
|
265
|
+
cf setup --dry-run
|
|
266
|
+
|
|
267
|
+
# Custom PDK
|
|
268
|
+
cf setup --pdk sky130B
|
|
269
|
+
|
|
270
|
+
# Skip time-consuming installations
|
|
271
|
+
cf setup --skip-openlane --skip-pdk
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
**See also:**
|
|
275
|
+
- Detailed documentation: [docs/cf-setup.md](docs/cf-setup.md)
|
|
276
|
+
- Migration guide: [docs/MIGRATION.md](docs/MIGRATION.md)
|
|
277
|
+
|
|
181
278
|
### Push a Project (Upload)
|
|
182
279
|
|
|
183
280
|
```bash
|
|
@@ -281,7 +378,7 @@ cf repo update [OPTIONS]
|
|
|
281
378
|
- `--project-root`: Specify project directory (defaults to current directory)
|
|
282
379
|
- `--repo-owner`: GitHub repository owner (default: chipfoundry)
|
|
283
380
|
- `--repo-name`: GitHub repository name (default: caravel_user_project)
|
|
284
|
-
- `--branch`: Branch name containing the repo.json file (default:
|
|
381
|
+
- `--branch`: Branch name containing the repo.json file (default: main)
|
|
285
382
|
- `--dry-run`: Preview changes without updating files
|
|
286
383
|
|
|
287
384
|
**What happens:**
|
|
@@ -26,6 +26,55 @@ cf --help
|
|
|
26
26
|
|
|
27
27
|
## Quick Start
|
|
28
28
|
|
|
29
|
+
### For New Projects (Starting from Template)
|
|
30
|
+
|
|
31
|
+
1. **Clone the template** (or create new directory):
|
|
32
|
+
```bash
|
|
33
|
+
git clone https://github.com/chipfoundry/caravel_user_project my_project
|
|
34
|
+
cd my_project
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
2. **Set up the project** (replaces `make setup`):
|
|
38
|
+
```bash
|
|
39
|
+
cf setup
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
3. **Generate SSH Key** (if you don't have one):
|
|
43
|
+
```bash
|
|
44
|
+
cf keygen
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
4. **Register your key** at [https://chipfoundry.io/sftp-registration](https://chipfoundry.io/sftp-registration)
|
|
48
|
+
|
|
49
|
+
5. **Configure your credentials**:
|
|
50
|
+
```bash
|
|
51
|
+
cf config
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
6. **Upload your project**:
|
|
55
|
+
```bash
|
|
56
|
+
cf push
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
7. **Download results** (when available):
|
|
60
|
+
```bash
|
|
61
|
+
cf pull
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
8. **View tapeout report**:
|
|
65
|
+
```bash
|
|
66
|
+
cf view-tapeout-report
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
9. **Confirm final tapeout** (when ready to send GDS to foundry):
|
|
70
|
+
```bash
|
|
71
|
+
cf confirm
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### For Existing Projects
|
|
75
|
+
|
|
76
|
+
If you already have a project with a Makefile:
|
|
77
|
+
|
|
29
78
|
1. **Generate SSH Key** (if you don't have one):
|
|
30
79
|
```bash
|
|
31
80
|
cf keygen
|
|
@@ -153,6 +202,54 @@ cf init [--project-root DIRECTORY]
|
|
|
153
202
|
- Creates `.cf/project.json` with project metadata
|
|
154
203
|
- **Note**: GDS hash is generated during `push`, not `init`
|
|
155
204
|
|
|
205
|
+
### Setup a ChipFoundry Project
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
cf setup [OPTIONS]
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**Replaces `make setup`** - Comprehensive project setup with all dependencies.
|
|
212
|
+
|
|
213
|
+
**What it does:**
|
|
214
|
+
1. Initializes project configuration (`.cf/project.json`)
|
|
215
|
+
2. Syncs with upstream repository
|
|
216
|
+
3. Installs Caravel/Caravel-Lite
|
|
217
|
+
4. Sets up timing scripts
|
|
218
|
+
5. Configures Cocotb testing environment
|
|
219
|
+
6. Installs precheck tools
|
|
220
|
+
7. Pulls Docker images for verification
|
|
221
|
+
8. Runs IPM for dependency management
|
|
222
|
+
|
|
223
|
+
**Key Options:**
|
|
224
|
+
- `--only-init`: Just create configuration, skip installations
|
|
225
|
+
- `--dry-run`: Preview actions without making changes
|
|
226
|
+
- `--pdk TEXT`: Specify PDK variant (default: sky130A)
|
|
227
|
+
- `--caravel-lite` / `--no-caravel-lite`: Choose Caravel variant
|
|
228
|
+
- `--skip-caravel`, `--skip-openlane`, `--skip-pdk`, etc.: Skip specific installations
|
|
229
|
+
- `--repo-owner`, `--repo-name`, `--branch`: Custom repository source
|
|
230
|
+
|
|
231
|
+
**Examples:**
|
|
232
|
+
```bash
|
|
233
|
+
# Full setup (replaces make setup)
|
|
234
|
+
cf setup
|
|
235
|
+
|
|
236
|
+
# Quick configuration only
|
|
237
|
+
cf setup --only-init
|
|
238
|
+
|
|
239
|
+
# Preview what will be installed
|
|
240
|
+
cf setup --dry-run
|
|
241
|
+
|
|
242
|
+
# Custom PDK
|
|
243
|
+
cf setup --pdk sky130B
|
|
244
|
+
|
|
245
|
+
# Skip time-consuming installations
|
|
246
|
+
cf setup --skip-openlane --skip-pdk
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**See also:**
|
|
250
|
+
- Detailed documentation: [docs/cf-setup.md](docs/cf-setup.md)
|
|
251
|
+
- Migration guide: [docs/MIGRATION.md](docs/MIGRATION.md)
|
|
252
|
+
|
|
156
253
|
### Push a Project (Upload)
|
|
157
254
|
|
|
158
255
|
```bash
|
|
@@ -256,7 +353,7 @@ cf repo update [OPTIONS]
|
|
|
256
353
|
- `--project-root`: Specify project directory (defaults to current directory)
|
|
257
354
|
- `--repo-owner`: GitHub repository owner (default: chipfoundry)
|
|
258
355
|
- `--repo-name`: GitHub repository name (default: caravel_user_project)
|
|
259
|
-
- `--branch`: Branch name containing the repo.json file (default:
|
|
356
|
+
- `--branch`: Branch name containing the repo.json file (default: main)
|
|
260
357
|
- `--dry-run`: Preview changes without updating files
|
|
261
358
|
|
|
262
359
|
**What happens:**
|