Skip to content

Commit

Permalink
docs: Add first Occamy documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
colluca committed Aug 19, 2023
1 parent 6a396d5 commit 17aabf9
Show file tree
Hide file tree
Showing 21 changed files with 154 additions and 0 deletions.
14 changes: 14 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,20 @@ name: ci
on: [push, pull_request]
jobs:

########
# Docs #
########

docs:
name: Build documentation
runs-on: ubuntu-22.04
container:
image: ghcr.io/pulp-platform/occamy
steps:
- uses: actions/checkout@v2
- name: Build docs
run: mkdocs build

#######################
# Build SW for Occamy #
#######################
Expand Down
20 changes: 20 additions & 0 deletions .github/workflows/publish-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2023 ETH Zurich and University of Bologna.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0

name: publish-docs
on:
push:
branches: [init]
workflow_dispatch:
jobs:
deploy:
name: Deploy documentation
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.x
- run: pip install -r docs/requirements.txt
- run: mkdocs gh-deploy --force
8 changes: 8 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,14 @@ before_script:
- export PATH="$(pwd)/.tools/verible/bin:$PATH"
# yamllint enable rule:line-length

##############
# Build docs #
##############

docs:
script:
- mkdocs build

#########################
# Build Occamy software #
#########################
Expand Down
24 changes: 24 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Occamy

The Occamy project is an open-source RISC-V hardware research project of ETH Zurich and University of Bologna targeting highest possible energy-efficiency. The system is designed around a cluster of versatile and small integer cores, which we call Snitch cluster. The system is designed to be highly parameterizable and suitable for many use-cases.

## Getting Started

See our dedicated [getting started guide](ug/getting_started.md).

## Documentation

The documentation is built from the latest master and hosted at github pages: [https://pulp-platform.github.io/occamy](https://pulp-platform.github.io/occamy).

## About this Repository

The original repository [https://github.com/pulp-platform/snitch](https://github.com/pulp-platform/snitch) was developed as a monorepo hosting both the base Snitch IPs and the Occamy system. For easier integration of the Snitch cluster IP into other systems, the original repo was split into two new repos:

- the [Snitch cluster repository](https://github.com/pulp-platform/snitch_cluster) providing the Snitch cluster IP
- [this repository](https://github.com/pulp-platform/occamy) hosting the Occamy system

The dependency of the Occamy system on the Snitch cluster IP is handled behind the scenes with [Bender](https://github.com/pulp-platform/bender).

## Licensing

Occamy is made available under permissive open source licenses. See the `README.md` for a more detailed break-down.
9 changes: 9 additions & 0 deletions docs/publications.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Publications

If you use Occamy in your work, you can cite us:

{%
include-markdown '../deps/snitch_cluster/docs/publications.md'
start="<!--start-publications-->"
end="<!--end-publications-->"
%}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
3 changes: 3 additions & 0 deletions docs/ug/documentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{%
include-markdown '../../deps/snitch_cluster/docs/ug/documentation.md'
%}
18 changes: 18 additions & 0 deletions docs/ug/getting_started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{%
include-markdown '../../deps/snitch_cluster/docs/ug/getting_started.md'
start="<!--start-section-1-->"
end="<!--end-section-1-->"
%}

{%
include-markdown '../../util/container/README.md'
start='<!--start-docs-->'
%}

{%
include-markdown '../../deps/snitch_cluster/docs/ug/getting_started.md'
start="<!--start-section-2-->"
end="<!--end-section-2-->"
%}

You will also have to install the GCC compiler toolchain for CVA6 and `verible`. You can use the commands in the `before_script` section of the [Gitlab CI file](https://github.com/pulp-platform/occamy/blob/{{ branch }}/.gitlab-ci.yml).
3 changes: 3 additions & 0 deletions docs/ug/tutorial.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
🚧 This section is a work in progress and will contain a software development tutorial specific for Occamy.

In the meantime you can follow the [Snitch cluster tutorial](https://pulp-platform.github.io/snitch_cluster/ug/tutorial.html) as the two are heavily consistent.
46 changes: 46 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Copyright 2020 ETH Zurich and University of Bologna.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0

site_name: Occamy
theme:
name: material

icon:
repo: fontawesome/brands/github

repo_url: https://github.com/pulp-platform/occamy
repo_name: pulp-platform/occamy

markdown_extensions:
- admonition
- def_list
- pymdownx.highlight
- pymdownx.superfences
- pymdownx.tabbed
- pymdownx.emoji:
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
plugins:
- include-markdown
- macros
use_directory_urls: false
extra:
repo: occamy
branch: init
nav:
- Home: index.md
- User Guide:
- Getting Started: ug/getting_started.md
# - Repository Structure: ug/directory_structure.md
- Tutorial: ug/tutorial.md
- Documentation: ug/documentation.md
- Reference Manual:
- Architecture:
- Overview: rm/1_overview.md
- Address Map: rm/2_addrmap.md
- System Components: rm/3_system_components.md
- Clocking: rm/4_clocking.md
- Interrupts and Synchronization: rm/5_interrupts_and_synchronization.md
- Schema: schema-doc/occamy.md
- Publications: publications.md
9 changes: 9 additions & 0 deletions util/container/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Docker container

This directory contains the [Docker file](Dockerfile) used to build the `occamy` Docker container.

<!--start-docs-->

The Occamy Docker container is based on the [latest Snitch cluster container image](https://github.com/pulp-platform/snitch_cluster/pkgs/container/snitch_cluster) and comes with all free development tools for Snitch/Occamy pre-installed. The environment is also already configured, such that no additional steps are required to work in the container after installation.

Instructions to install the Snitch cluster container can be found in [this README](https://github.com/pulp-platform/snitch_cluster/blob/main/util/container/README.md) and are readily adapted to the Occamy container by replacing references to the Snitch container `ghcr.io/pulp-platform/snitch_cluster` with the Occamy container reference `ghcr.io/pulp-platform/occamy`.

0 comments on commit 17aabf9

Please sign in to comment.