Skip to content

Commit 8e62884

Browse files
committed
updated instructions page
2 parents 7ab56cb + eea4975 commit 8e62884

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+31
-970
lines changed

.github/workflows/build.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: docs
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v4
10+
with:
11+
submodules: true
12+
- uses: actions/setup-node@v5
13+
- name: Build
14+
run: npm install && npm run build
15+
- name: Upload artifact
16+
uses: actions/upload-pages-artifact@v3
17+
with:
18+
path: _site/
19+
deploy:
20+
needs: build
21+
runs-on: ubuntu-latest
22+
permissions:
23+
pages: write
24+
id-token: write
25+
environment:
26+
name: github-pages
27+
url: ${{ steps.deployment.outputs.page_url }}
28+
steps:
29+
- name: GitHub Pages deploy
30+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
11
node_modules/
2-
/udb/
3-
/_site/
4-
/node_modules/
2+
_site/

README.md

1018 Bytes

The Best RISC-V Instruction Set Reference Manual

…or it will be eventually, we hope! We're building Aa modern, navigable, one-page-per-instruction reference for the RISC-V ISA — built based on on the RISC-V Unified Database (UDB)RISC-V andUnified Database (UDB). It's a static website generated automatically using Eleventy.


Overview

The RISC-V Instruction Set Reference aims to make the official RISC-V documentation easier to navigate and more approachable.

This project generates one page per instruction, showing:

  • Assembly syntax
  • Encoding format and diagram
  • Opcode and function bits
  • Instruction type (R/I/S/etc.)
  • Availability (RV32, RV64)
  • Short description or spec link

Project Structure

Directory Description
src/ Templates and data generation scripts
riscv-unified-db/ YAML data from the RISC-V Unified Database (UDB)
_site/ Generated HTML site (static and generated when you run npm run build)

While the official RISC-V reference materials are comprehensive, they are hard to navigate. The details for each instruction are spread across multiple sections. Especially in an educational context, it can be cumbersome to find all the information you need about any specific instruction.

The idea in this reference is to generate one page per instruction, including things like the mnemonics and assembly syntax; the instruction encoding; some natural-language documentation; and so on.

Setup Instructions

This project uses Node.js and npm, so install those first.

Get the source code:

git clone [email protected]:cucapra/rvref.git
cd rvref
#project dependencies
npm install @11ty/eleventy --save-dev 
npm install
git submodule update --init --recursive #adds the risc-unified-db submodule
npm run build #to generate static html files in _site
npm run serve #see site layout w/ dev server http://localhost:8080
git submodule update --init

That last step clones the riscv-unified-db repository as a submodule. Notice that we don't use the --recursive flag; the UDB repository has some large submodules of its own that we don't need for this project.

Then, install the Node dependencies and build the static HTML files:

npm install
npm run build

Or, run a development server to preview the site:

npm run serve

_site/index.html

Lines changed: 0 additions & 327 deletions
This file was deleted.

_site/instructions/add/index.html

Lines changed: 0 additions & 10 deletions
This file was deleted.

_site/instructions/addi/index.html

Lines changed: 0 additions & 8 deletions
This file was deleted.

_site/instructions/addiw/index.html

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)