commit | 63da48ea038cd2f350d3ff25d034d8964258f91e | [log] [tgz] |
---|---|---|
author | Rupert Swarbrick <rswarbrick@lowrisc.org> | Wed Jul 08 10:16:57 2020 +0100 |
committer | Rupert Swarbrick <rswarbrick@gmail.com> | Thu Jul 09 17:38:37 2020 +0100 |
tree | a98e745b1b5250f09c09a9fd82b6fd4612a5c004 | |
parent | 0419edd0530f7fb475680721bba692f6c145bade [diff] |
Extract OTBN ISA documentation into a YAML file The idea is that this file is more "machine readable". We'll put other information about the instructions into it (which might not appear in the documentation, but will affect things like the random instruction generator). As well as taking the current text from _index.md, this patch contains code in insn_yaml.py to parse the YAML file, doing various validity checks on the result. For example, it makes sure that any syntax example for an instruction has the same operands as the list of operands. These checks caught several errors in the hand-written (hand-copy/pasted!) text. The parsed file can then be transformed with yaml_to_doc.py to generate Markdown content suitable for our documentation. This is now run in build_docs.py and wired in to Hugo with a simple shortcode. I've manually compared the generated documentation with what was there before and it's basically the same. Intentional differences: - Enumeration operands now list their values with a nested table. - BN.MULQACC's qwsel operands are now listed as immediates, rather than enumerations. They were enumerations of the form ".0", ".1", ".2", ".3". Now the syntax contains the dot, so they can just be imm2. - The increment options for BN.LID and BN.SID give their required syntax. There are probably further improvements we could make to formatting, but I thought it made sense to get this in sooner rather than later as a starting point. Signed-off-by: Rupert Swarbrick <rswarbrick@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).