Skip to content

Commit 0f8ddc4

Browse files
committed
docs: update README.md
1 parent f2e48d1 commit 0f8ddc4

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

README.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,12 @@
3333

3434
## Features
3535

36-
TODO
36+
* **Single Source of Truth:** Define CSR maps in a single file (e.g., YAML, JSON) and generate various outputs from it.
37+
* **Code Generation:** Automatically generate HDL, software sources, and documentation from the CSR map.
38+
* **CLI and API:** Offers both a command-line interface for quick operations and a Python API for more complex, custom workflows.
39+
* **Customizable Workflows:** Supports user-side extensions for attributes, configurations, templates, and input/output formats.
40+
41+
Check out the [Concepts](https://corsair-csr.github.io/latest/concepts/) section to understand the core concepts of Corsair.
3742

3843
## Quick Start
3944

@@ -51,11 +56,35 @@ pip install corsair[all]
5156

5257
For detailed installation instructions and information about optional features, see the [Installation Guide](https://corsair-csr.github.io/latest/installation/).
5358

59+
Then you can quickly create a new project using the [`corsair init`](https://corsair-csr.github.io/latest/cli/#corsair-init) command:
60+
61+
```bash
62+
corsair init
63+
```
64+
65+
This command will create two files in the current directory: `csrmap.yaml` and `csrbuild.yaml`.
66+
67+
The first file, `csrmap.yaml`, describes the source CSR map. It contains the definitions of your registers and their fields. The second file, `csrbuild.yaml`, is the build file. It specifies how to process the `csrmap.yaml` and what output files (like RTL code, software headers, or documentation) should be generated.
68+
69+
Once you have your register map defined and the build file configured, you can generate the output files using the [`corsair build`](https://corsair-csr.github.io/latest/cli#corsair-build) command:
70+
71+
```bash
72+
corsair build
73+
```
74+
75+
This command will process your input files according to the `csrbuild.yaml` specification and place all generated artifacts into the `corsair-build` directory by default.
76+
77+
To learn more about the underlying principles of Corsair, refer to the [Workflow](https://corsair-csr.github.io/latest/concepts/workflow) section in our concepts guide.
78+
79+
For detailed information on the formats of the input files, please see the [Build File](https://corsair-csr.github.io/latest/build-file/) and [Register File](https://corsair-csr.github.io/latest/register-file/) documentation.
80+
5481

5582
## Development
5683

5784
Please follow the [Contributing Guide](CONTRIBUTING.md).
5885

86+
All changes are documented in the [Changelog](CHANGELOG.md).
87+
5988
## License
6089

6190
Corsair is licensed under [MIT License](LICENSE.txt).

0 commit comments

Comments
 (0)