Commit graph

149 commits

Author SHA1 Message Date
Francesco Conti
ace4469fc4 Add -fno-tree-loop-distribute-patterns to avoid spurious memset 2025-01-31 21:16:05 +01:00
Francesco Conti
7308922ffa Add nocluster.c file with empty synch_barrier
This makes many tests compatible with execution on PULPissimo
2025-01-31 15:03:42 +01:00
Francesco Conti
133f3cfe2f Remove absurd -U__riscv__ flag in compilation with CV32
The targets using CV32 were compiled using a completely absurd -U__riscv__
flag. The result is that several regression tests were using code
targeting the OpenRISC ISA (!!!) and OR10N (!!!), roughly with 10
years of delay.
Clearly, that did not end well, resulting in errors like the following

```
  testAddSubNorm.c: Assembler messages:
  testAddSubNorm.c:116: Error: unrecognized opcode `l.addnru a2,a2,a5,5'
  testAddSubNorm.c:122: Error: unrecognized opcode `l.addnrru a2,a2,a5,5'
```

Frankly speaking, I do not have the faintest idea how such regressions
could pass using the same source, compiler, and compiler flags in the past.
But they did!!!
Bonkers..
2025-01-31 11:21:39 +01:00
Francesco Conti
7ddcb0037e Support fast_debug bootmode in Verilator 2025-01-21 18:35:59 +01:00
Francesco Conti
26f3f15a15 Align to Verilatable PULPissimo 2025-01-21 18:24:43 +01:00
Francesco Conti
326f85ce9a Reset caller-saved registers in crt0.S
Probably not necessary, but better safe then sorry
2024-05-22 23:21:53 +02:00
Francesco Conti
a4c7916fff Convenience fixes 2024-05-19 23:39:57 +02:00
Francesco Conti
3b10f5f51e Make init.c LLVM-compliant by disabling .ctors 2024-05-19 23:39:46 +02:00
Francesco Conti
d812c92404 tabs -> spaces 2024-05-19 23:35:56 +02:00
Francesco Conti
a8486d33a2 Add memchr from freeBSD (to enable printf!) 2024-05-19 23:35:28 +02:00
Francesco Conti
7b50643266 Target LLVM instead of GCC
Only for CV32E40X, at least for now. This commit also adds a script
objdump2itb.py from core-v-verif:
4e6e8604fa/bin/objdump2itb
This is used to generate an instruction table file that is, in turn,
used to populate instruction traces.
The script is lightly patched to support llvm-objdump's output.
2024-05-19 16:23:42 +02:00
Francesco Conti
fcca7032d4 Fix broken sym-linking 2024-05-15 22:11:44 +02:00
Francesco Conti
1a3eafb9a0 Add PULPissimo CV32E40X target 2024-04-23 19:07:11 +02:00
Michael Rogenmoser
2b98d1baa4 Fix bwruntests yaml loader 2024-03-22 17:16:05 +01:00
Michael Rogenmoser
13e7333c4b Add default platform setting to RTL 2024-02-26 13:51:55 +01:00
Manuel Eggimann
259fd9c780 Patch shebang of slm_hyper python script 2022-12-09 01:46:58 +01:00
Manuel Eggimann
baad1c5fff Add new drivers for new gpio and io_mux 2022-12-08 18:08:21 +01:00
Manuel Eggimann
d8dc704518 Add first driver draft for new gpio peripheral 2022-12-07 21:35:03 +01:00
Manuel Eggimann
d69fbeff36 Add guard to disable cluster pll init 2022-12-07 20:22:02 +01:00
bluew
1ddf10447c Merge branch 'control-pulp' into master 2022-06-17 16:03:01 +02:00
bluew
07c26b52ac pulp-runtime/control-pulp: Use priv_1_12 2022-06-10 18:54:00 +02:00
bluew
7a39de8996 archi: Update privileged level constants 2022-06-10 18:53:40 +02:00
bluew
1059c010a9 treewide: Update JTAG manufacturer code
PULP Platform now has a code
2022-06-08 22:14:20 +02:00
aottaviano
1294f4956b pulp-runtime: Add idma APIs
* Add idma archi and hal sources
* Switch with mchan is still manual
2022-06-01 13:42:02 +02:00
aottaviano
9724be258c pulp-runtime: Add ARCHI_HAS_DMA_DEMUX property to mchan
* If the cluster core demux and peripheral demux have a direct connection
to the dma, allow the cluster cores to use this connection.
2022-06-01 13:41:55 +02:00
aottaviano
77fa6799ed pulp-runtime: Add kairos target 2022-05-17 08:41:20 +02:00
bluew
dd39b06789
Merge pull request #32 from pulp-platform/cv32
Add PULPissimo/CV32E40P support
2022-04-08 01:12:31 +02:00
bluew
01df5a78eb Add and update CV32E40P + PULPissimo configurations 2022-04-08 01:10:39 +02:00
bluew
cc161f4134 rules/pulpos/default_rules: Be verbose by default
Hides too many bugs
2022-04-08 01:09:59 +02:00
bluew
564ca51f85 pulpissimo_cv32e40p: Use plusargs to pass simulation parameters 2022-04-08 01:00:46 +02:00
bluew
1fd6eeb0d2
Merge pull request #31 from pulp-platform/vsim_version
vsim compatibility updates
2022-04-05 18:02:21 +02:00
Michael Rogenmoser
16675bb56b symlink work directory to build folder 2022-03-17 11:16:26 +01:00
Michael Rogenmoser
cbf6592ba2 VSIM variable can override vsim version 2022-03-17 11:15:54 +01:00
Corrado Bonfanti
18ab940220 Add AVS BUS support and basic test
* Add configuration register to set AVS mode
* Add connections to the SPI controller and txrx interface
* Set idle level of sdio[0] signal of SPI master to '1', according to
the AVS protocol
* Add SPI slave device capability to trigger an event for requesting a read from
master by driving low the MISO (SDATA for AVS) when AVS mode is set.
This happens during tx/rx idle phases
* Add basic Write commit/Read test with pulp-runtime. AVS slave is
simulated in tb_avs.sv and tb_avs_fpga.sv.
2022-02-10 20:03:42 +01:00
aottaviano
735f29948c treewide: Fix I2C slave module and testsuite
* Fix wrong signals in RTL hierarchy
* Add I2C slv tb for FPGA wrapper (dump test)
* Add I2C slv tb for ASIC wrapper (irq test)
* Add dump and irq tests

Please enter the commit message for your changes. Lines starting
2021-12-21 09:45:00 +01:00
bluew
0f4e0e588d pulp-runtime/control-pulp: Fix vector base set and get
So that rt_irq_set_fc_vector_base() and co. pick the correct
implemention using csr mtvec.
2021-11-23 11:01:00 +01:00
bluew
82d3ee5f32 pulp-runtime: Link vsim work dir into build dir 2021-11-09 08:49:15 +01:00
bluew
026a98d56a pulp-runtime: Fix uart frequency and bad fll access
Control-pulp doesn't have an FLL so we hardcode the frequency domain
values. Furthermore we allow these hardcoded values to change depending
on whether we target the FPGA (zcu102) or rtl sim.
2021-11-04 17:47:57 +01:00
bluew
5d17a774bd
Merge pull request #28 from pulp-platform/udma_i2c_update
Update UDMA configuration in line with pulp-open
2021-09-24 13:35:36 +02:00
Michael Rogenmoser
b45d16cdd2 Update UDMA configuration in line with pulp-open 2021-09-21 16:51:02 +02:00
bluew
f87c703ac9 Merge commit '637a2a3be976063a1df52ba3d1b0f0e034c7f310' into bump-runtime 2021-08-10 16:03:33 +02:00
bluew
609df214b7
Merge pull request #27 from pulp-platform/fix-hal
hal: Add missing return value
2021-08-10 16:01:19 +02:00
bluew
879eb13dbd hal: Add missing return value 2021-08-10 16:00:56 +02:00
bluew
2ecc920172
Merge pull request #26 from pulp-platform/fix-control-pulp
Fix control pulp
2021-07-30 16:58:01 +02:00
bluew
48e1bfb305 rules/control-pulp: Fix wrong include and file paths 2021-07-30 16:57:04 +02:00
bluew
868a80fdcd hal/control-pulp: Remove unnecessary camera include
We don't have a camera interface in control-pulp.
2021-07-30 16:56:14 +02:00
aottaviano
57d9714142 Merge commit 'e20aa040e59ac8796257f2bb25239b6e86aecae5' into zfinx 2021-07-28 14:25:30 +02:00
bluew
3214d697d0
Merge pull request #25 from pulp-platform/control-pulp-zfinx
Use zfinx for control-pulp
2021-07-28 04:10:27 +02:00
bluew
863f6009aa Use zfinx for control-pulp 2021-07-27 23:58:48 +02:00
bluew
cfdfec9df5
Merge pull request #24 from pulp-platform/control-pulp-periph
Fixes for I/O in control-pulp
2021-07-26 16:26:08 +02:00