Coriolis Open EDA
Are you curious about the future of open hardware and trustworthy chip design?
Meet Jean-Paul Chaput and his project, Coriolis Open EDA!
Jean-Paul is dedicated to making hardware design more accessible and reliable. As the lead architect of Coriolis, he’s driving an open-source project that enables the creation of trustworthy chips, paving the way for secure internet infrastructure. By focusing on efficiency, portability, and transparency, Jean-Paul and his team make advanced chip design tools available to everyone.
Keen on learning more?
✨Welcome to the world of Coriolis✨
Can you introduce yourself and your project?
I am Jean-Paul Chaput, lead architect of the Coriolis Open EDA project. In the late 90s, I developed the router of the Alliance toolchain, Nero, and then, since 2000, the detailed router of Coriolis, Katana, which uses innovative algorithms and data structures.
Alongside this work, I have also contributed to almost every part of the Coriolis toolchain. Since 2019, we have reached a sufficient point to start making chips in mature technologies (above 90nm). I am deeply committed to the FOSS philosophy and want to enable as many people and companies as possible to make their chips.
What are the key issues you see with the state of the Internet today?
In fact, what I see is a deeper problem. The whole of the Internet, whether the infrastructure or the algorithms, relies on chips, most of which are black boxes. For instance, take the encryption algorithms: if the chip they run on, that is, the hardware itself, is flawed (as a defect or on purpose), then they can be bypassed entirely, and the user is left utterly exposed.
How does your project contribute to correcting some of those issues?
The Open Hardware movement, especially the RISC-V endeavour, started to address those issues. Still, they need an Open EDA to guarantee that what you get on silicon is what you specified. So, we should have chips we can trust to run the Internet.
✨We need not only processors but also a wide variety of hardware blocks.✨
An important one is the ethmac. This block is at the core of an ethernet card; it is the one that gets the octets composing the IP packets at the link clock speed and assembles them, making them available to the rest of the chip. As a building block, it can be used to build individual cards and router chips. At the heart of the ethmac are SRAMs (static memories).
These components are highly specific to technology and costly. We developed a generator using standard cells, which are always available.
We allow a tradeoff: bigger than a custom but smaller than a purely synthesised one. On top of that, it’s easily portable (we did it on three different technologies).
What do you like most about (working on) your project?
There was much algorithmic exploration of how to organise the placement to optimise the SRAM generator’s results. It was very gratifying to find and see the progressive improvements. The various experimentations and their results, along with the comparisons with the directly synthesised ones, also provided us with a lot of valuable insights, which can lead to improvements in other domains.
Where will you take your project next?
We are pursuing three directions:
📌This experiment showed us further ways to improve the SRAM generator and make an even more compact block.
📌The SRAM generator will be modified to offer more varied features for use in many more contexts.
📌We’ll build the complete ethmac block now that we have its most important component.
How did NGI Assure help you reach your goals for your project?
It is obvious that many open-source projects are underfunded, especially when they are at an intermediary stage and can only produce partially usable results.
The ability to fund that non-final stage is extremely helpful. As a side effect, it also introduces deadlines and forces us to improve and focus our planning.
Do you have advice for people who are considering applying for NGI funding?
Don’t censor yourself in your proposal, whether you feel it is slightly off-topic or only a partial step that you are submitting for funding.
Do you have any recommendations to improve future NGI programs or the wider NGI initiative?
As I said previously, open-source projects are notably underfunded. To ensure more stable development, grants over a more extended period that can fully fund developers’ activity may be extremely helpful.