Skip to content

pulp-platform/opentitan_peripherals

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenTitan Peripherals

A selection of peripherals from lowRISC's OpenTitan project with adaptations to better integrate with the PULP IP ecosystem. These adaptations were made as part of Snitch and moved to this repository for greater flexibility. Changes include:

  • Use of register interface and its patched register tool instead of TL/UL.
  • Replacement of OpenTitan assertions and some primitives with common_cells.
  • Dependency and IP management using Bender.
  • Minor functional fixes and changes.

This repository uses Bender's vendor command to fully include the remote code in src and apply the patches included in patches. The IP RTL is pregenerated in its standard configuration, but can be reconfigured in the including project.

Reconfiguring IPs

To simplify IP reconfiguration in your project, you can include the GNU Make fragment otp.mk in your makefile, for example:

include $(shell bender path opentitan_peripherals)/otp.mk

# Alternative SPI host register config
$(OTPROOT)/src/spi_host/data/spi_host.hjson: config/spi_host.json
    cp $< $@

# Rebuild peripheral RTL
all: otp

Adding Patches

After making uncommitted changes to the forked IPs, you can generate a patch for them with:

bender vendor patch

You will be prompted to name the patch commits. To verify correct patch application:

make check_vendor

Licensing

Unless otherwise noted, everything in this repository is licensed under the Apache License, Version 2.0 (see LICENSE for full text). The copyright for all work included from the OpenTitan project lies with lowRISC contributors.

About

Selected peripherals from OpenTitan with PULP patches

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors