https://github.com/pulp-platform/carfield
A mixed-criticality platform built around Cheshire, with a number of safety/security and predictability features. Ready-to-use FPGA flow on multiple boards is available.
https://github.com/pulp-platform/carfield
asic c fpga heterogeneous-computing mixed-criticality-systems riscv safety-critical simulation systemverilog
Last synced: 4 months ago
JSON representation
A mixed-criticality platform built around Cheshire, with a number of safety/security and predictability features. Ready-to-use FPGA flow on multiple boards is available.
- Host: GitHub
- URL: https://github.com/pulp-platform/carfield
- Owner: pulp-platform
- License: other
- Created: 2023-03-01T16:07:55.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-07-21T12:27:26.000Z (11 months ago)
- Last Synced: 2025-07-21T12:28:17.205Z (11 months ago)
- Topics: asic, c, fpga, heterogeneous-computing, mixed-criticality-systems, riscv, safety-critical, simulation, systemverilog
- Language: Tcl
- Homepage:
- Size: 6.32 MB
- Stars: 108
- Watchers: 14
- Forks: 22
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Carfield
Carfield is an open-research heterogeneous platform for safety, resilient and time-predictable systems. Originally conceived as automotive-oriented SoC, the high configurability of the platform makes it tunable to target a broader class of mixed-criticality applications' domains, such as automotive, space or industry.
Carfield is developed as part of the PULP project, a joint effort between ETH Zurich and the
University of Bologna.
## Motivation
The rapid evolution of AI algorithms and the massive amount of sensed data across
application-domains such as Automotive, Space and Cyber-Physical embedded systems (CPSs), call for a
*paradigm shift* in the design of **next generation of mixed-criticality systems (MCSs)**, from
simple micro-controllers towards powerful and heterogeneous edge computers.
These must not only deliver outstanding performance and energy efficiency but also ensure steadfast
safety, resilience, and security.
The Carfield platform aims to tackle these architectural challenges establishing itself as a
pre-competitive heterogeneous platform for MCSs, underpinned by **fully open-source Intellectual
Properties (IPs)**.
Carfield showcases pioneering hardware solutions, addressing challenges related to time-predictable
on/off-chip communication, robust fault recovery mechanisms, secure boot processes, cryptographic
acceleration services, hardware-assisted virtualization, and accelerated computation for both
floating-point and integer workloads.
## Quick Start
* To learn how to build and use Carfield, see [Getting
Started](https://pulp-platform.github.io/carfield/gs/).
* To learn about available simulation, FPGA, and ASIC targets, see
[Targets](https://pulp-platform.github.io/carfield/tg).
* For detailed information on Carfield's inner workings, consult the [User
Manual](https://pulp-platform.github.io/carfield/um/).
If you are impatient and have all needed
[dependencies](https://pulp-platform.github.io/carfield/gs/#dependencies), type:
```
make car-all
```
and then run a [simulation](https://pulp-platform.github.io/carfield/tg/sim) with Questasim by
typing:
```tcl
make car-vsim-sim-build
make car-vsim-sim-run CHS_BINARY=./sw/tests/bare-metal/hostd/helloworld.car.l2.elf
```
---
To display the main *Make* build targets and their usage, from the root repository type:
```tcl
make help
```
The Make files are autodocumented.
## License
Unless specified otherwise in the respective file headers, all code checked into this repository is
made available under a permissive license. All hardware sources and tool scripts are licensed under
the Solderpad Hardware License 0.51 (see `LICENSE`) with the exception of generated register file
code (e.g. `hw/regs/*.sv`), which is generated by a fork of lowRISC's
[`regtool`](https://github.com/lowRISC/opentitan/blob/master/util/regtool.py) and licensed under
Apache 2.0. All software sources are licensed under Apache 2.0.