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
+19-12Lines changed: 19 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,10 +17,12 @@ The Serial Link is released under Solderpad v0.51 (SHL-0.51) see [`LICENSE`](LIC
17
17
18
18
### 🔗 Dependencies
19
19
20
-
The link uses [bender](https://github.com/pulp-platform/bender) to manage its dependencies and to automatically generate compilation scripts. If you want to change the configuration of the serial link, you need to regenerate the register files, which requires `Python >= 3.11` and the [peakrdl](https://peakrdl-regblock.readthedocs.io/en/latest/) package. You can install the dependencies with pip:
20
+
The link uses [bender](https://github.com/pulp-platform/bender) to manage its dependencies and to automatically generate compilation scripts. Simulation and register generation are driven by [just](https://github.com/casey/just). If you want to change the configuration of the serial link, you need to regenerate the register files, which requires `Python >= 3.11` and the [peakrdl](https://peakrdl-regblock.readthedocs.io/en/latest/) package. Register generation uses [uv](https://github.com/astral-sh/uv) to run peakrdl without requiring a manual environment setup.
21
+
22
+
Tool versions for EDA tools (simulators, bender) can be configured via a `.env` file. A template for IIS-internal tool versions is provided in [`.iis_env`](.iis_env):
# Run the simulation. This will start the simulation in batch mode.
53
-
make <simulator>-run-batch
54
-
# To open it in the GUI mode, run the following command:
55
-
# This command will also add all interesting waves to the wave window.
56
-
make <simulator>-run
52
+
# Compile the design (simulator: vsim [default], vcs)
53
+
just compile
54
+
just compile vcs
55
+
56
+
# Run in batch mode
57
+
just run-batch
58
+
just run-batch vcs
59
+
60
+
# Open in GUI mode (also loads wave files)
61
+
just run
62
+
just run vcs
57
63
```
58
64
59
-
where `<simulator>` can be either `vsim` (for ModelSim/QuestaSim) or `vcs` (for Synopsys VCS). To test the testbench (defaults to `tb_axi_slink`), you can set the `TB_DUT` variable:
65
+
To use a different testbench (default: `tb_axi_slink`), pass it as the second argument:
60
66
```sh
61
-
make <simulator>-run TB_DUT=tb_ch_calib_slink
67
+
just compile vcs tb_ch_calib_slink
68
+
just run-batch vcs tb_ch_calib_slink
62
69
```
63
70
64
71
## 🔧 Configuration
@@ -67,7 +74,7 @@ The link can be parametrized with arbitrary AXI interfaces resp. structs (`axi_r
67
74
68
75
```sh
69
76
# Generates the registers for the desired configuration
70
-
make slink-gen-regs SLINK_NUM_CHANNELS=<num_channels> SLINK_NUM_LANES=<num_lanes>
77
+
just gen-regs SLINK_NUM_CHANNELS=<num_channels> SLINK_NUM_LANES=<num_lanes>
71
78
```
72
79
73
80
The registers are generated with [peakrdl](https://peakrdl-regblock.readthedocs.io/en/latest/) with the parametrized SystemRDL config file [`slink_reg.rdl`](src/regs/slink_reg.rdl).
0 commit comments