You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+30-1Lines changed: 30 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,12 @@
33
33
34
34
## Features
35
35
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.
37
42
38
43
## Quick Start
39
44
@@ -51,11 +56,35 @@ pip install corsair[all]
51
56
52
57
For detailed installation instructions and information about optional features, see the [Installation Guide](https://corsair-csr.github.io/latest/installation/).
53
58
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
+
54
81
55
82
## Development
56
83
57
84
Please follow the [Contributing Guide](CONTRIBUTING.md).
58
85
86
+
All changes are documented in the [Changelog](CHANGELOG.md).
87
+
59
88
## License
60
89
61
90
Corsair is licensed under [MIT License](LICENSE.txt).
0 commit comments