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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: chipfoundry-cli
3
- Version: 1.1.0
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: cli-update)
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: cli-update)
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:**