commit | a37bcfa3d83c2eeed22726be66a1e7b26dcc7c3a | [log] [tgz] |
---|---|---|
author | Philipp Wagner <phw@lowrisc.org> | Tue May 19 22:46:41 2020 +0100 |
committer | Philipp Wagner <mail@philipp-wagner.com> | Wed May 20 08:26:44 2020 +0100 |
tree | e2a3795cfac90c30096ff62fd91c80f1069e8db6 | |
parent | 2a3a4adbc28b9c301e705f137ef765399f5d7d8a [diff] |
[prim] Make ROM_INIT_FILE a parameter Instead of having a global define ROM_INIT_FILE, which contains a path to a VMEM file with the boot ROM contents, use a parameter passed through the hierarchy. This enables multiple instantiations of the ROM, and avoids naming clashes between the ROM_INIT_FILE/SRAM_INIT_FILE define, which can be used only once in the whole toplevel design. This requires changes in various places to properly pass through the parameter. Instead of updating the prim_xilinx_rom variant, remove it. This primitive is identical to the generic one, with the addition of generating an empty ROM if no ROM initialization file is present during the synthesis run. We capture this problem now in a more user-friendly way with a TCL script after synthesis; removing this primitive here avoids updating it first to the new way of passing in the init file. The Arty S7 changes were done blindly, I don't have that board. I also note that the board was very likely broken before, as the ROM init file name was not called SRAM_INIT_FILE for a long time. Fixes #2225 Signed-off-by: Philipp Wagner <phw@lowrisc.org>
OpenTitan is an open source silicon Root of Trust (RoT) project. OpenTitan will make the silicon RoT design and implementation more transparent, trustworthy, and secure for enterprises, platform providers, and chip manufacturers. OpenTitan is administered by lowRISC CIC as a collaborative project to produce high quality, open IP for instantiation as a full-featured product. See the OpenTitan site and OpenTitan docs for more information about the project.
This repository contains hardware, software and utilities written as part of the OpenTitan project. It is structured as monolithic repository, or “monorepo”, where all components live in one repository. It exists to enable collaboration across partners participating in the OpenTitan project.
The project contains comprehensive documentation of all IPs and tools. You can access it online at docs.opentitan.org.
Have a look at CONTRIBUTING for guidelines on how to contribute code to this repository.
Unless otherwise noted, everything in this repository is covered by the Apache License, Version 2.0 (see LICENSE for full text).