Skip to content
This repository has been archived by the owner on Nov 18, 2020. It is now read-only.

0.1.0 - Initial release with driver generation, documentation generation, and object model

Latest
Compare
Choose a tag to compare
@richardxia richardxia released this 25 Oct 01:43
· 55 commits to master since this release

This represents the first versioned release of block-pio-sifive, and it contains a number of new features compared to previous "unversioned" commits.

New Features

  • Chisel elaboration now also emits an Object Model JSON and a Device Tree file with configuration-specific information about the PIO block.
  • A set of C driver files for interfacing with the PIO block's registers, allowing software that uses the PIO block to be written in a more portable way. These drivers are also combined with a set of header files that contain configuration-specific information such as base address, which are generated automatically based on the design configuration.
  • Wake functions for building a parameterized document that describes both the programming interface and RTL integration information.
  • Continuous integration checks have been added, testing the above workflows on every pull request and commit to the repository.
  • A second configuration of the PIO block with a width of 16 has been added. A second DUT has been created as well, with a Wake variable named pio16DUT. This allows for easily testing changes across multiple parameterizations of the PIO block.

Backwards incompatible changes

  • There are new dependencies or Ruby (~2.5) and Python (~3.7), so the running environment must have them installed.
  • The directory structure has been changed for greater consistency between different file types.