This repo contains the open source elements of the Baochip 1x. This repo focuses on the hardware elements of the Baochip 1x.
Developers are referred to the official Rust SDK, located in the Xous repo. There is a vscode extension named baochip which can automate build & flash for officially supported development boards.
docscontains source for the Baochip 1x book.rtlcontains the open-sourced elements of the taped out RTL.Vexriscvcontains the source configuration for the Vex CPUscriptscontains helper scripts for repo managementverilatecontains the files to simulate a subsetted RTL analog of the Baochip-1x using verilator.artycontains the files to build Arty-A7 targeted SoC stubs. Useful for debugging and developing future extensions.
Auto-extracted documentation based on the RTL in this repo have been uploaded to peripherals core cluster.
This repo revolves around an artifact that is fixed and unpatchable. Therefore, the typical OSS strategy of "just update to HEAD" to simplify release management does not apply.
- Each die rev will get a tag with a name of the form
tapeout-a0. This represents the point at which the contents of thertldirectory exactly matches what went into the tapeout. - A branch is also made with the same name at that time
- The assumed role of the
mainbranch is to evolve the simulation tools and documentation around thertlartifact. Thertlartifact loses its value if it functionally diverges from what is actually in a chip. Thus, future feature requests and bug fixes must go into a different branch or a fork of the repo. - It is assumed that die revs, if any, will be limited and rare.
mainwill track the latest die rev, but the previoustapeout-*branches will hold snapshots of thertldirectory as matching the older die rev, allowing users of older die revs to run simulation/docgen tools on the older revisions.
Die rev numbering takes on the form of XY where X is an alphabetic character and Y is a numeric character. The alphabetic character represents a full-mask set; the numeric represents a metal-mask or final-test repair stepping.
