Skip to content

Commit 967ce78

Browse files
authored
Update README (#2544)
This PR updates README
2 parents a316e2f + 0b33d78 commit 967ce78

File tree

1 file changed

+41
-41
lines changed

1 file changed

+41
-41
lines changed

README.md

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
![Synlig logo](images/synlig-logo.svg)
44

5-
Synlig is a SystemVerilog synthesis tool that uses [Surelog](https://github.com/chipsalliance/Surelog) as a SystemVerilog 2017 preprocessor, parser and elaborator with [Yosys](https://github.com/YosysHQ/yosys) as a framework for synthesis.
5+
Synlig is a SystemVerilog synthesis tool that uses [Surelog](https://github.com/chipsalliance/Surelog) as a SystemVerilog 2017 preprocessor, parser and elaborator, with [Yosys](https://github.com/YosysHQ/yosys) as a framework for synthesis.
66

77
## Installation
88

99
### Download Synlig
1010

11-
You can download Synlig from Github [release page](https://github.com/chipsalliance/synlig/releases).
12-
To download latest version you can use following script:
11+
You can download Synlig from the GitHub [release page](https://github.com/chipsalliance/synlig/releases).
12+
To download the latest version, use the following script:
1313

1414
```bash
1515
# TODO: update it after initial release
@@ -21,11 +21,11 @@ Then, install it with superuser privileges:
2121
```
2222

2323
Synlig is now ready to be used.
24-
Now you can go to the [Usage](#usage) section of this document to learn how to use it.
24+
Go to the [Usage](#usage) section of this document to learn how to use it.
2525

2626
### Installation from source
2727

28-
* Debian Trixie:
28+
Debian Trixie:
2929

3030
#### Install dependencies
3131

@@ -57,17 +57,17 @@ To use Synlig, make sure to either use absolute paths, or update the `PATH` vari
5757
## Usage
5858

5959
You can now start Synlig by executing the `synlig` command.
60-
To read systemverilog files you can use:
60+
To read SystemVerilog files, use:
6161

62-
* `read_systemverilog [options] [filenames]` - reads SystemVerilog files.
63-
* `read_uhdm [options] [filename]` - allows to read UHDM files - SystemVerilog files already processed by Surelog.
64-
Afterwards it works similar to `read_systemverilog`.
62+
* `read_systemverilog [options] [filenames]` - reads SystemVerilog files.
63+
* `read_uhdm [options] [filename]` - allows reading UHDM files - SystemVerilog files already processed by Surelog.
64+
Afterwards, it works similarly to `read_systemverilog`.
6565

6666
### Quick start examples
6767

68-
#### Counter
68+
#### Counter
6969

70-
Consider following SystemVerilog code:
70+
Consider the following SystemVerilog code:
7171

7272
<!-- name="counter.sv" -->
7373
``` SystemVerilog
@@ -91,7 +91,7 @@ module top (
9191
endmodule
9292
```
9393

94-
Running the synthesis using Synlig is very simple:
94+
Running synthesis using Synlig is very simple:
9595

9696
<!-- name="synthesis example" -->
9797
``` tcl
@@ -125,16 +125,16 @@ Running the synthesis using Synlig is very simple:
125125
3. Executing Synlig EDIF backend.
126126
```
127127

128-
As a result we get a `counter.edif` file that can be further processed to get the bitstream.
128+
As a result, we get a `counter.edif` file that can be further processed to generate the bitstream.
129129

130130
#### Parsing multiple files
131131

132-
To parse a multi-file with the `read_systemverilog` command, all files have to be listed at once.
133-
This can be troublesome for larger designs.
134-
To mitigate this issue, Synlig supports a flow that allows users to pass files and link them separately.
135-
Files can be loaded one by one using the `-defer` flag.
136-
Once all files are uploaded, you should call `read_systemverilog -link` to elaborate them.
137-
The described flow looks like so:
132+
To parse a multi-file design with the `read_systemverilog` command, all files have to be listed simultaneously.
133+
This can be troublesome for larger designs.
134+
To mitigate this issue, Synlig supports a flow that allows users to pass files and link them separately.
135+
Files can be loaded one by one using the `-defer` flag.
136+
Once all files are uploaded, you should call `read_systemverilog -link` to elaborate them.
137+
The described flow looks like the following:
138138

139139
<!-- name="example-multiple-files" -->
140140
``` tcl
@@ -149,14 +149,14 @@ The described flow looks like so:
149149
```
150150

151151
The `-defer` flag is experimental.
152-
If you encounter any problems with it, please compare the results with a single `read_systemverilog` command, check the [open issues](https://github.com/chipsalliance/synlig/issues), and open a new issue if needed.
152+
If you encounter any problems with it, please compare the results with a single `read_systemverilog` command, check the [open issues](https://github.com/chipsalliance/synlig/issues), and open a new issue if required.
153153

154154
## Testing locally
155155

156-
### Formal Verification
156+
### Formal verification
157157

158-
Synlig runs formal verification tests to make sure it gives comparable results with other synthesis tools.
159-
More information about Formal Verification can be found in its [README](https://github.com/chipsalliance/synlig/tree/main/tests/formal)
158+
Synlig runs formal verification tests to make sure it provides results comparable with other synthesis tools.
159+
More information about formal verification can be found in this [README](https://github.com/chipsalliance/synlig/tree/main/tests/formal).
160160

161161
#### Prerequisites
162162

@@ -168,23 +168,23 @@ All required prerequisites can be installed by running:
168168
make tools -j $(nproc)
169169
```
170170

171-
#### Running Formal Verification
171+
#### Running formal verification
172172

173-
To start formal verification tests use dedicated script:
173+
To start formal verification tests, use the dedicated script:
174174

175175
<!-- name="run-fv-tests-exec" -->
176176
``` bash
177177
./tests/scripts/run_formal.sh --name=<test_suite_name> run
178178
```
179179

180-
To gather formal verification results use:
180+
To gather formal verification results, run:
181181
``` bash
182182
./tests/scripts/run_formal.sh --name=<test_suite_name> gather_results
183183
```
184184

185-
#### Available Targets
185+
#### Available targets
186186

187-
You can see available `test_suite_name`'s by running:
187+
You can see the available `test_suite_name` options by running:
188188

189189
``` bash
190190
./tests/scripts/run_formal.sh --help
@@ -199,38 +199,38 @@ Synlig is also tested by synthesizing several designs:
199199
* [VeeR](https://github.com/chipsalliance/Cores-VeeR-EH1),
200200
* [BlackParrot](https://github.com/black-parrot/black-parrot).
201201

202-
For more details check `.github/workflows/large-designs.yml` or run:
202+
For more details, check `.github/workflows/large-designs.yml` or run:
203203

204204
``` bash
205205
./tests/scripts/run_large_designs.sh --help
206206
```
207207

208208
### Parsing tests
209209

210-
Synlig is additionally tested on parsing tests, for more details check `.github/workflows/parsing-tests.yml` or run:
210+
Synlig is additionally tested with parsing tests. For more details check `.github/workflows/parsing-tests.yml` or run:
211211

212212
``` bash
213213
./tests/scripts/run_parsing.sh --help
214214
```
215215

216216
## General & debugging tips
217217

218-
1. You can print the UHDM tree by adding `-debug` flag to `read_uhdm` or `read_systemverilog`.
218+
1. You can print the UHDM tree by adding the `-debug` flag to `read_uhdm` or `read_systemverilog`.
219219
This flag also prints the converted Yosys AST.
220220
1. The order of the files matters.
221-
Surelog requires that all definitions be already defined when a file is parsed (e.g. if file `B` is defining a type used in file `A`, file `B` needs to be parsed before file `A`).
221+
Surelog requires all definitions to be already defined when a file is parsed (e.g. if file `B` is defining a type used in file `A`, file `B` needs to be parsed before file `A`).
222222

223223
## Embedding Synlig in a larger cmake-based project
224224

225-
1. An alternative build mechanism defined in the CMakeLists.txt file is provided to allow Synlig to be built part of a larger cmake-based project
226-
Simply add_subsystem(synlig) in your parent CMake.
227-
See CMakeLists.txt for compilation options (With or without vendored Yosys and Surelog).
228-
1. To test locally this build system: make -f cmake-makefile
225+
1. An alternative build mechanism defined in the CMakeLists.txt file is provided to allow Synlig to be built as part of a larger cmake-based project.
226+
Simply include `add_subsystem(synlig)` in your parent CMake.
227+
See CMakeLists.txt for compilation options (with or without vendored Yosys and Surelog).
228+
1. To test this build system locally, use `make -f cmake-makefile`.
229229

230230
## Plugin mode
231231

232-
Synlig is also available as Yosys plugin.
233-
Note that almost all tests are made on Synlig binary instead of plugin version, and there is no guarantee that plugin version will be still developed in the future.
232+
Synlig is also available as a Yosys plugin.
233+
Note that almost all tests are made using the Synlig binary instead of the plugin version, and there is no guarantee that the plugin version will be still developed in the future.
234234

235235
### Installation from source
236236

@@ -244,7 +244,7 @@ Note that almost all tests are made on Synlig binary instead of plugin version,
244244
#### Build required binaries
245245

246246
You can build all required binaries using the provided `Makefile`.
247-
`make plugin` will build Surelog, Yosys and Synlig as plugin, and place them in the `out` directory.
247+
`make plugin` will build Surelog, Yosys and Synlig as a plugin, and place them in the `out` directory.
248248
You need to add `out/bin` to your `PATH` variable to ensure you are using correct versions of the binaries.
249249

250250
<!-- name="build-binaries" -->
@@ -259,7 +259,7 @@ To use Yosys built from a submodule, make sure to either use absolute paths, or
259259
``` bash
260260
export PATH=`pwd`/out/current/bin:$PATH
261261
```
262-
### Loading Synlig as plugin into Yosys
262+
### Loading Synlig as a plugin into Yosys
263263

264264
You can now start Yosys by executing the `yosys` command.
265-
In order to use the SystemVerilog plugin, you first need to load it in Yosys, to do so, execute the following command in Yosys prompt: `plugin -i systemverilog`.
265+
In order to use the SystemVerilog plugin, you first need to load it in Yosys by executing the following command in Yosys prompt: `plugin -i systemverilog`.

0 commit comments

Comments
 (0)