commit | 309a47974f0ce84cab3d559a85975448dfbd7e2f | [log] [tgz] |
---|---|---|
author | Philipp Wagner <phw@lowrisc.org> | Tue Oct 22 11:46:56 2019 +0100 |
committer | Philipp Wagner <mail@philipp-wagner.com> | Wed Oct 23 18:28:01 2019 +0100 |
tree | c3f5e0789832b0f128b8c2c6a377db36bc2c81bf | |
parent | cabf26f33f6964caba640d9638873d681ba4a6a5 [diff] |
[prim] Use prim_pkg::impl_e instead of int for Impl All target-dependent primitives are supplied with an Impl parameter, which chooses the implementation target. The potential values for this parameter are listed in the prim_pkg::impl_e enum, which is based on int. This commit switches Impl over to use prim_pkg::impl_e as type, instead of int. Doing so avoids many casts over the code base, at the cost of having to pass an enum type name to the tool in the PRIM_DEFAULT_IMPL define. This approach is standards-compliant, but seems fragile. Let's give it a try nonetheless, and see how tools react to it. Tested with - Verilator 4.019 - Xilinx Vivado synthesis 2018.3 - Synopsys VCS 2019.06 Note for the future: revert this commit if you run into tool issues.
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.
The project contains comprehensive documentation of all IPs and tools. You can either access it online or build it locally by following the steps below.
$ sudo apt install python3 python3-pip $ pip3 install --user -r python-requirements.txt
$ ./util/build_docs.py --preview
This compiles the documentation into ./opentitan-docs
and starts a local server, which allows you to access the documentation at http://127.0.0.1:5500.
Have a look at CONTRIBUTING.md for guidelines 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).