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
+39-6Lines changed: 39 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -124,17 +124,24 @@ and readback behavior without switching cores.
124
124
### Developer quick start
125
125
126
126
```bash
127
-
pip install -e ".[dev]"
127
+
pip install -e ".[dev,hdl]"
128
128
pytest tests/ -v
129
-
python sim/run_sim.py
129
+
python sim/run_cocotb.py --runner native --clean
130
130
```
131
131
132
-
`python sim/run_sim.py` runs the shared RTL lint pass (`iverilog -Wall`)
133
-
first, then the default simulation regression. Use
134
-
`python sim/run_sim.py --lint-only` when you only want the RTL lint check.
132
+
`python sim/run_cocotb.py --runner native --clean` runs the default cocotb RTL
133
+
simulation regression. Use `python sim/run_sim.py --lint-only` when you only
134
+
want the shared RTL lint check (`iverilog -Wall`).
135
135
Run `python sim/run_verilator_lint.py --self-test` when changing RTL; it runs
136
136
the full Verilog RTL matrix through Verilator driver lint for issues such as
137
137
one register assigned from two always blocks.
138
+
Run `python sim/run_verilator_ela_coverage.py --runner wsl` when changing ELA
139
+
behavior and you want Verilator simulation plus merged line/toggle and bound
140
+
functional coverage for the Verilog ELA benches.
141
+
Run `python sim/run_cocotb_ela.py --runner wsl --hdl verilog` to execute the
142
+
shared cocotb ELA core stimulus. The same Python tests can target a VHDL ELA
143
+
core with `--hdl vhdl --vhdl-source <file>` when a VHDL core implementation is
144
+
available.
138
145
139
146
Use the installed `fcapz` entry point for day-to-day ELA work. The legacy
140
147
`python -m fcapz.cli` form still works, but the package install path is
@@ -695,7 +702,7 @@ GitHub Actions runs on every push and pull request to `main` or `master`:
695
702
|`test-host`|`pytest tests/ -v --tb=short` with the default `not hw` marker filter, plus an explicit JTAG readback pipeline regression for burst and timestamp stabilization paths |
696
703
|`lint-rtl`|`python sim/run_sim.py --lint-only` — shared `iverilog -Wall` elaboration for the core RTL, vendor wrappers, and simulation stubs |
697
704
|`lint-rtl-verilator`|`python sim/run_verilator_lint.py --self-test` -- full-project Verilog RTL driver lint plus an intentional `MULTIDRIVEN` fixture proving the gate catches one reg driven by multiple always blocks |
698
-
|`sim`|`python sim/run_sim.py` — runs the same `iverilog -Wall`lint pass, then the default RTL regression: ELA behavior, ELA focused regressions, ELA configuration matrix, burst readout, single-chain pipe readout, EIO, core manager, and channel mux testbenches|
705
+
|`sim`(matrix: `protocol`, `ela`) | sharded cocotb RTL regression on Icarus, with `iverilog -Wall`enabled per bench and a `pyproject.toml`-keyed pip cache. The `protocol` shard runs `python sim/run_cocotb.py --runner native --clean --skip-ela` (trig compare, JTAG pipe/burst, EIO, core manager, channel mux, Xilinx7 single-chain wrapper, async-FIFO equivalence, EJTAG-AXI, EJTAG-AXI reset regression, EJTAG-UART). The `ela` shard runs `python sim/run_cocotb.py --runner native --clean ela`and exercises the 16-target cocotb ELA suite.|
0 commit comments