commit | 436d2241cfed858610478c81486708f07ad9fcb5 | [log] [tgz] |
---|---|---|
author | Eunchan Kim <eunchan@google.com> | Tue Oct 29 17:25:51 2019 -0700 |
committer | Eunchan Kim <eunchan@google.com> | Thu Oct 31 10:53:12 2019 -0700 |
tree | 687972cce7560001008afa8a950f260337bbdad0 | |
parent | e08be11cd63168b97da0f01ff149dfa1cd4c7352 [diff] |
[top/earlgrey] Adding PINMUX to the top PINMUX is to arbitrate the inputs/outputs from internal IPs into multiplexed IO pads. This commit is to generate PINMUX register module based on the given input/outputs from IP hjsons and the number of MIO pads defined in the top hjson. With this PR, top_earlgrey port list is changed to: 1. All Multiplexer I/Os have `mio_` prefix and no distinct names tied to the IPs anymore. 2. Dedicated I/Os have distinct names still, but have `dio_` prefix. Previously, they have `cio_` prefix in the top port list. Add padding function to line-up the signals in generated codes. Removed `parameterize` function inside template but moving to the topgen.lib function. It is now used as filter function, which looks the template code more clean, I hope. A few more helper functions are added to topgen.lib also. Those aren't filter functions as they need second argument. For instance, topgen.lib.bitarray function needs second argument `width` to pad with spaces at the end of the bit slice (e.g. '[1:0] ') This is related to #81
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.
Download and install hugo-extended
.
Ensure that you have the required Python modules installed (to be executed in the repository root):
$ sudo apt install python3 python3-pip $ pip3 install --user -r python-requirements.txt
$ ./util/build_docs.py --preview
This compiles the documentation into ./build/docs
and starts a local server, which allows you to access the documentation at http://127.0.0.1:1313.
Have a look at CONTRIBUTING 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).