diff --git a/.github/workflows/build-connectors.yaml b/.github/workflows/build-connectors.yaml index d1e2f6d..38a38fe 100644 --- a/.github/workflows/build-connectors.yaml +++ b/.github/workflows/build-connectors.yaml @@ -1,61 +1,38 @@ -# This workflow installs dependencies for PDF generation, generates the PDF, -# and uploads the PDF as an artifact. - name: Build RISC-V-Trace-Connectors.pdf on: push: branches: + - master - main pull_request: branches: + - master - main workflow_dispatch: jobs: build: runs-on: ubuntu-latest - - env: - APT_PACKAGES_FILE: ${{ github.workspace }}/dependencies/apt_packages.txt - BUNDLE_GEMFILE: ${{ github.workspace }}/dependencies/Gemfile - BUNDLE_BIN: ${{ github.workspace }}/bin - NPM_PACKAGE_FOLDER: ${{ github.workspace }}/dependencies steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: 'true' - - name: Install Ubuntu packages - run: | - sudo apt-get update - grep -vE '^#' ${APT_PACKAGES_FILE} | xargs sudo apt-get install --yes --no-install-recommends - # Ruby for asciidoctor - - name: Setup Ruby and Gemfile content - uses: ruby/setup-ruby@v1 - with: - ruby-version: "3.2.0" - bundler-cache: true - # Node.js for wavedrom - - uses: actions/cache@v3 - with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-node- - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '16' - - name: Install Node.js dependencies - run: npm install ${NPM_PACKAGE_FOLDER} - - name: Generate PDF - run: | - PATH=${PATH}:${BUNDLE_BIN}:$(npm bin):$(pwd) \ - make -C docs/ RISC-V-Trace-Connectors.pdf - - name: Archive PDF result - uses: actions/upload-artifact@v3 - with: - name: RISC-V-Trace-Connectors - path: docs/RISC-V-Trace-Connectors.pdf - retention-days: 7 + # Step 1: Checkout the repository + - name: Checkout repository + uses: actions/checkout@v3 + with: + submodules: 'recursive' + + # Step 2: Pull the latest RISC-V Docs container image + - name: Pull Container + run: docker pull riscvintl/riscv-docs-base-container-image:latest + + # Step 3: Build Files + - name: Build Files + run: cd ./docs && make RISC-V-Trace-Connectors.pdf + + # Step 4: Upload the built PDF files as independent artifacts + - name: Upload RISC-V-Trace-Control-Interface PDF + uses: actions/upload-artifact@v3 + with: + name: RISC-V-Trace-Control-Interface + path: ${{ github.workspace }}/docs/RISC-V-Trace-Connectors.pdf + retention-days: 7 diff --git a/.github/workflows/build-control.yaml b/.github/workflows/build-control.yaml index 997446d..5a78350 100644 --- a/.github/workflows/build-control.yaml +++ b/.github/workflows/build-control.yaml @@ -1,61 +1,38 @@ -# This workflow installs dependencies for PDF generation, generates the PDF, -# and uploads the PDF as an artifact. - name: Build RISC-V-Trace-Control-Interface.pdf on: push: branches: + - master - main pull_request: branches: + - master - main workflow_dispatch: jobs: build: runs-on: ubuntu-latest - - env: - APT_PACKAGES_FILE: ${{ github.workspace }}/dependencies/apt_packages.txt - BUNDLE_GEMFILE: ${{ github.workspace }}/dependencies/Gemfile - BUNDLE_BIN: ${{ github.workspace }}/bin - NPM_PACKAGE_FOLDER: ${{ github.workspace }}/dependencies steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: 'true' - - name: Install Ubuntu packages - run: | - sudo apt-get update - grep -vE '^#' ${APT_PACKAGES_FILE} | xargs sudo apt-get install --yes --no-install-recommends - # Ruby for asciidoctor - - name: Setup Ruby and Gemfile content - uses: ruby/setup-ruby@v1 - with: - ruby-version: "3.2.0" - bundler-cache: true - # Node.js for wavedrom - - uses: actions/cache@v3 - with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-node- - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '16' - - name: Install Node.js dependencies - run: npm install ${NPM_PACKAGE_FOLDER} - - name: Generate PDF - run: | - PATH=${PATH}:${BUNDLE_BIN}:$(npm bin):$(pwd) \ - make -C docs/ RISC-V-Trace-Control-Interface.pdf - - name: Archive PDF result - uses: actions/upload-artifact@v3 - with: - name: RISC-V-Trace-Control-Interface - path: docs/RISC-V-Trace-Control-Interface.pdf - retention-days: 7 + # Step 1: Checkout the repository + - name: Checkout repository + uses: actions/checkout@v3 + with: + submodules: 'recursive' + + # Step 2: Pull the latest RISC-V Docs container image + - name: Pull Container + run: docker pull riscvintl/riscv-docs-base-container-image:latest + + # Step 3: Build Files + - name: Build Files + run: cd ./docs && make RISC-V-Trace-Control-Interface.pdf + + # Step 4: Upload the built PDF files as independent artifacts + - name: Upload RISC-V-Trace-Control-Interface PDF + uses: actions/upload-artifact@v3 + with: + name: RISC-V-Trace-Control-Interface + path: ${{ github.workspace }}/docs/RISC-V-Trace-Control-Interface.pdf + retention-days: 7 diff --git a/.github/workflows/build-n-trace.yaml b/.github/workflows/build-n-trace.yaml index ca36c1e..96baf1c 100644 --- a/.github/workflows/build-n-trace.yaml +++ b/.github/workflows/build-n-trace.yaml @@ -1,61 +1,38 @@ -# This workflow installs dependencies for PDF generation, generates the PDF, -# and uploads the PDF as an artifact. - -name: Build RISC-V-N-Trace.pdf +name: Build Build RISC-V-N-Trace.pdf on: push: branches: + - master - main pull_request: branches: + - master - main workflow_dispatch: jobs: build: runs-on: ubuntu-latest - - env: - APT_PACKAGES_FILE: ${{ github.workspace }}/dependencies/apt_packages.txt - BUNDLE_GEMFILE: ${{ github.workspace }}/dependencies/Gemfile - BUNDLE_BIN: ${{ github.workspace }}/bin - NPM_PACKAGE_FOLDER: ${{ github.workspace }}/dependencies steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: 'true' - - name: Install Ubuntu packages - run: | - sudo apt-get update - grep -vE '^#' ${APT_PACKAGES_FILE} | xargs sudo apt-get install --yes --no-install-recommends - # Ruby for asciidoctor - - name: Setup Ruby and Gemfile content - uses: ruby/setup-ruby@v1 - with: - ruby-version: "3.2.0" - bundler-cache: true - # Node.js for wavedrom - - uses: actions/cache@v3 - with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-node- - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '16' - - name: Install Node.js dependencies - run: npm install ${NPM_PACKAGE_FOLDER} - - name: Generate PDF - run: | - PATH=${PATH}:${BUNDLE_BIN}:$(npm bin):$(pwd) \ - make -C docs/ RISC-V-N-Trace.pdf - - name: Archive PDF result - uses: actions/upload-artifact@v3 - with: - name: RISC-V-N-Trace - path: docs/RISC-V-N-Trace.pdf - retention-days: 7 + # Step 1: Checkout the repository + - name: Checkout repository + uses: actions/checkout@v3 + with: + submodules: 'recursive' + + # Step 2: Pull the latest RISC-V Docs container image + - name: Pull Container + run: docker pull riscvintl/riscv-docs-base-container-image:latest + + # Step 3: Build Files + - name: Build Files + run: cd ./docs && make RISC-V-N-Trace.pdf + + # Step 4: Upload the built PDF files as independent artifacts + - name: Upload RISC-V-Trace-Control-Interface PDF + uses: actions/upload-artifact@v3 + with: + name: RISC-V-Trace-Control-Interface + path: ${{ github.workspace }}/docs/RISC-V-N-Trace.pdf + retention-days: 7 diff --git a/.github/workflows/build-pdf.yml b/.github/workflows/build-pdf.yml index 13e05ad..7c26b99 100644 --- a/.github/workflows/build-pdf.yml +++ b/.github/workflows/build-pdf.yml @@ -1,61 +1,79 @@ -# This workflow installs dependencies for PDF generation, generates the PDF, -# and uploads the PDF as an artifact. - -name: Build ALL PDFs (listed below) +name: Build All PDFs +# The workflow is triggered by pull request, push to main, and manual dispatch. on: - push: - branches: - - main + workflow_dispatch: + inputs: + prerelease: + description: 'Tag as a pre-release?' + required: false + type: boolean + default: true + draft: + description: 'Create release as a draft?' + required: false + type: boolean + default: false pull_request: + push: branches: + - master - main - workflow_dispatch: jobs: build: runs-on: ubuntu-latest - env: - APT_PACKAGES_FILE: ${{ github.workspace }}/dependencies/apt_packages.txt - BUNDLE_GEMFILE: ${{ github.workspace }}/dependencies/Gemfile - BUNDLE_BIN: ${{ github.workspace }}/bin - NPM_PACKAGE_FOLDER: ${{ github.workspace }}/dependencies steps: + # Step 1: Checkout the repository - name: Checkout repository uses: actions/checkout@v3 with: - submodules: 'true' - - name: Install Ubuntu packages - run: | - sudo apt-get update - grep -vE '^#' ${APT_PACKAGES_FILE} | xargs sudo apt-get install --yes --no-install-recommends - # Ruby for asciidoctor - - name: Setup Ruby and Gemfile content - uses: ruby/setup-ruby@v1 - with: - ruby-version: "3.2.0" - bundler-cache: true - # Node.js for wavedrom - - uses: actions/cache@v3 + submodules: 'recursive' + + # Step 2: Pull the latest RISC-V Docs container image + - name: Pull Container + run: docker pull riscvintl/riscv-docs-base-container-image:latest + + # Step 3: Build Files + - name: Build Files + run: cd ./docs && make + + # Step 4: Upload the built PDF files as independent artifacts + - name: Upload RISC-V-Trace-Control-Interface PDF + uses: actions/upload-artifact@v3 with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-node- - - name: Setup Node.js - uses: actions/setup-node@v3 + name: RISC-V-Trace-Control-Interface + path: ${{ github.workspace }}/docs/RISC-V-Trace-Control-Interface.pdf + retention-days: 30 + + - name: Upload RISC-V-Trace-Connectors PDF + uses: actions/upload-artifact@v3 with: - node-version: '16' - - name: Install Node.js dependencies - run: npm install ${NPM_PACKAGE_FOLDER} - - name: Generate PDF - run: | - PATH=${PATH}:${BUNDLE_BIN}:$(npm bin):$(pwd) \ - make -C docs/ all - - name: Archive PDF result + name: RISC-V-Trace-Connectors + path: ${{ github.workspace }}/docs/RISC-V-Trace-Connectors.pdf + retention-days: 30 + + - name: Upload RISC-V-N-Trace PDF uses: actions/upload-artifact@v3 with: - name: AllPDFs.zip - path: docs/*.pdf - retention-days: 21 + name: RISC-V-N-Trace + path: ${{ github.workspace }}/docs/RISC-V-N-Trace.pdf + retention-days: 30 + + - name: Get short SHA + id: short-sha + run: echo "SHORT_SHA=$(git rev-parse --short=4 HEAD)" >> $GITHUB_ENV + + # Step 5:Create Release + - name: Create Release + uses: softprops/action-gh-release@v1 + with: + files: ${{ github.workspace }}/*.pdf + tag_name: v${{ env.SHORT_SHA }} + name: Release ${{ env.SHORT_SHA }} + draft: ${{ github.event.inputs.draft }} + prerelease: ${{ github.event.inputs.prerelease }} + env: + GITHUB_TOKEN: ${{ secrets.GHTOKEN }} + if: github.event_name == 'workflow_dispatch' diff --git a/dependencies/Gemfile b/dependencies/Gemfile deleted file mode 100644 index 8cf7a50..0000000 --- a/dependencies/Gemfile +++ /dev/null @@ -1,14 +0,0 @@ -source 'https://rubygems.org' -gem 'asciidoctor' -gem 'asciidoctor-bibtex' -gem 'asciidoctor-diagram' -gem 'asciidoctor-mathematical' -gem 'asciidoctor-pdf' -gem 'citeproc-ruby' -gem 'coderay' -gem 'csl-styles' -gem 'json' -gem 'pygments.rb' -gem 'rghost' -gem 'rouge' -gem 'ruby_dev' diff --git a/dependencies/README.md b/dependencies/README.md deleted file mode 100644 index 0841ce8..0000000 --- a/dependencies/README.md +++ /dev/null @@ -1,3 +0,0 @@ -Dependencies for the build environment for various package managers. Used in -`.github/workflows/`. - diff --git a/dependencies/apt_packages.txt b/dependencies/apt_packages.txt deleted file mode 100644 index 0682bde..0000000 --- a/dependencies/apt_packages.txt +++ /dev/null @@ -1,21 +0,0 @@ -bison -build-essential -cmake -curl -flex -fonts-lyx -git -graphviz -# For wavedrom -default-jre -libcairo2-dev -libffi-dev -libgdk-pixbuf2.0-dev -libpango1.0-dev -libxml2-dev -make -pkg-config -ruby -ruby-dev -libwebp-dev -libzstd-dev diff --git a/dependencies/package.json b/dependencies/package.json deleted file mode 100644 index 7347d43..0000000 --- a/dependencies/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "dependencies": { - "bytefield-svg": "^1.8.0", - "wavedrom-cli": "^2.6.8" - }, - "name": "local", - "version": "0.0.1" -} diff --git a/docs/.asciidoctor/diagram/diag-ditaa-md5-0f883ec0b2579ebde75f5441ddf28404.png.cache b/docs/.asciidoctor/diagram/diag-ditaa-md5-0f883ec0b2579ebde75f5441ddf28404.png.cache new file mode 100644 index 0000000..8f1646b --- /dev/null +++ b/docs/.asciidoctor/diagram/diag-ditaa-md5-0f883ec0b2579ebde75f5441ddf28404.png.cache @@ -0,0 +1 @@ +{"checksum":"ditaa-md5-0f883ec0b2579ebde75f5441ddf28404","options":{"scale":null,"tabs":null,"background":null,"antialias":null,"separation":"false","round_corners":null,"shadows":"true","debug":null,"fixed_slope":null,"transparent":null,"bullet_characters":null},"width":800,"height":406} \ No newline at end of file diff --git a/docs/.asciidoctor/diagram/diag-ditaa-md5-586b9e188c58d9a9b40cb57134ec5d4f.png.cache b/docs/.asciidoctor/diagram/diag-ditaa-md5-586b9e188c58d9a9b40cb57134ec5d4f.png.cache new file mode 100644 index 0000000..135f7ff --- /dev/null +++ b/docs/.asciidoctor/diagram/diag-ditaa-md5-586b9e188c58d9a9b40cb57134ec5d4f.png.cache @@ -0,0 +1 @@ +{"checksum":"ditaa-md5-586b9e188c58d9a9b40cb57134ec5d4f","options":{"scale":null,"tabs":null,"background":null,"antialias":null,"separation":"false","round_corners":null,"shadows":"false","debug":null,"fixed_slope":null,"transparent":null,"bullet_characters":null},"width":680,"height":266} \ No newline at end of file diff --git a/docs/.asciidoctor/diagram/diag-ditaa-md5-96c6a3b2f6c6e1138b505a9b74cf48f2.png.cache b/docs/.asciidoctor/diagram/diag-ditaa-md5-96c6a3b2f6c6e1138b505a9b74cf48f2.png.cache new file mode 100644 index 0000000..9a8c13e --- /dev/null +++ b/docs/.asciidoctor/diagram/diag-ditaa-md5-96c6a3b2f6c6e1138b505a9b74cf48f2.png.cache @@ -0,0 +1 @@ +{"checksum":"ditaa-md5-96c6a3b2f6c6e1138b505a9b74cf48f2","options":{"scale":null,"tabs":null,"background":null,"antialias":null,"separation":"false","round_corners":null,"shadows":"false","debug":null,"fixed_slope":null,"transparent":null,"bullet_characters":null},"width":680,"height":294} \ No newline at end of file diff --git a/docs/.asciidoctor/diagram/diag-ditaa-md5-c7341e167bfd32f1ed3ea9a95f310b40.png.cache b/docs/.asciidoctor/diagram/diag-ditaa-md5-c7341e167bfd32f1ed3ea9a95f310b40.png.cache new file mode 100644 index 0000000..7fc3bf1 --- /dev/null +++ b/docs/.asciidoctor/diagram/diag-ditaa-md5-c7341e167bfd32f1ed3ea9a95f310b40.png.cache @@ -0,0 +1 @@ +{"checksum":"ditaa-md5-c7341e167bfd32f1ed3ea9a95f310b40","options":{"scale":null,"tabs":null,"background":null,"antialias":null,"separation":"false","round_corners":null,"shadows":"false","debug":null,"fixed_slope":null,"transparent":null,"bullet_characters":null},"width":600,"height":182} \ No newline at end of file diff --git a/docs/.asciidoctor/diagram/diag-ditaa-md5-ccdaa90e7df2c75d48f8cd0420e52f4a.png.cache b/docs/.asciidoctor/diagram/diag-ditaa-md5-ccdaa90e7df2c75d48f8cd0420e52f4a.png.cache new file mode 100644 index 0000000..a2e3577 --- /dev/null +++ b/docs/.asciidoctor/diagram/diag-ditaa-md5-ccdaa90e7df2c75d48f8cd0420e52f4a.png.cache @@ -0,0 +1 @@ +{"checksum":"ditaa-md5-ccdaa90e7df2c75d48f8cd0420e52f4a","options":{"scale":null,"tabs":null,"background":null,"antialias":null,"separation":"false","round_corners":null,"shadows":"false","debug":null,"fixed_slope":null,"transparent":null,"bullet_characters":null},"width":680,"height":294} \ No newline at end of file diff --git a/docs/Makefile b/docs/Makefile index 340b1b4..417ad5b 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -1,17 +1,53 @@ -all: RISC-V-Trace-Control-Interface.pdf RISC-V-Trace-Connectors.pdf RISC-V-N-Trace.pdf +# Makefile for RISC-V Doc Template +# +# This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 +# International License. To view a copy of this license, visit +# http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to +# Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. +# +# SPDX-License-Identifier: CC-BY-SA-4.0 +# +# Description: +# +# This Makefile is designed to automate the process of building and packaging +# the Doc Template for RISC-V Extensions. -# This will build any PDF (we have 4 of them ...) -%.pdf: %.adoc - @echo "Building $* PDF" - asciidoctor-pdf \ - --attribute=mathematical-format=svg \ - --attribute=pdf-fontsdir=docs-resources/fonts \ - --attribute=pdf-style=docs-resources/themes/riscv-pdf.yml \ - --failure-level=ERROR \ - --require=asciidoctor-diagram \ - --require=asciidoctor-mathematical \ - --out-file=$*.pdf \ - $*.adoc +DOCKER_RUN := docker run --rm -v ${PWD}:/build -w /build \ +riscvintl/riscv-docs-base-container-image:latest + +ASCIIDOCTOR_PDF := asciidoctor-pdf +OPTIONS := --trace \ + -v \ + -a compress \ + -a mathematical-format=svg \ + -a pdf-fontsdir=docs-resources/fonts \ + -a pdf-style=docs-resources/themes/riscv-pdf.yml \ + --failure-level=ERROR +REQUIRES := --require=asciidoctor-bibtex \ + --require=asciidoctor-diagram \ + --require=asciidoctor-mathematical + +.PHONY: all build clean + +# Update all to include the new PDF files +all: RISC-V-Trace-Control-Interface.pdf RISC-V-Trace-Connectors.pdf RISC-V-N-Trace.pdf +# Define the build rules +build: all + +# Clean up clean: - rm *.pdf + @echo "Cleaning up generated files..." + rm -f RISC-V-Trace-Control-Interface.pdf RISC-V-Trace-Connectors.pdf RISC-V-N-Trace.pdf + @echo "Cleanup completed." + +# Generalized rule for building any PDF +%.pdf: %.adoc + @echo "Building $* PDF" + @if command -v docker &> /dev/null ; then \ + echo "Docker is available, building inside Docker container..."; \ + $(DOCKER_RUN) /bin/sh -c "$(ASCIIDOCTOR_PDF) $(OPTIONS) $(REQUIRES) --out-file=$*.pdf $*.adoc"; \ + else \ + echo "Docker is not available, building without Docker..."; \ + $(ASCIIDOCTOR_PDF) $(OPTIONS) $(REQUIRES) --out-file=$*.pdf $*.adoc; \ + fi \ No newline at end of file diff --git a/docs/RISC-V-N-Trace.adoc b/docs/RISC-V-N-Trace.adoc index 1fae048..27e7aa9 100644 --- a/docs/RISC-V-N-Trace.adoc +++ b/docs/RISC-V-N-Trace.adoc @@ -30,7 +30,10 @@ endif::[] :hide-uri-scheme: :stem: latexmath :footnote: -:xrefstyle: short +:xrefstyle: short +:bibtex-file: example.bib +:bibtex-order: alphabetical +:bibtex-style: apa = RISC-V N-Trace (Nexus-based Trace) Specification RISC-V N-Trace Task Group diff --git a/docs/RISC-V-Trace-Connectors.adoc b/docs/RISC-V-Trace-Connectors.adoc index bdbbf33..e41d30a 100644 --- a/docs/RISC-V-Trace-Connectors.adoc +++ b/docs/RISC-V-Trace-Connectors.adoc @@ -31,6 +31,9 @@ endif::[] :stem: latexmath :footnote: :xrefstyle: short +:bibtex-file: example.bib +:bibtex-order: alphabetical +:bibtex-style: apa = RISC-V Trace Connectors Specification RISC-V N-Trace Task Group diff --git a/docs/RISC-V-Trace-Control-Interface.adoc b/docs/RISC-V-Trace-Control-Interface.adoc index 7a3d7fc..350ddf7 100644 --- a/docs/RISC-V-Trace-Control-Interface.adoc +++ b/docs/RISC-V-Trace-Control-Interface.adoc @@ -30,7 +30,10 @@ endif::[] :hide-uri-scheme: :stem: latexmath :footnote: -:xrefstyle: short +:xrefstyle: short +:bibtex-file: example.bib +:bibtex-order: alphabetical +:bibtex-style: apa = RISC-V Trace Control Interface Specification RISC-V N-Trace Task Group diff --git a/docs/example.bib b/docs/example.bib new file mode 100644 index 0000000..4c368b1 --- /dev/null +++ b/docs/example.bib @@ -0,0 +1,36 @@ +@inproceedings{riscI-isca1981, + title = {{RISC I}: {A} Reduced Instruction Set {VLSI} Computer}, + author = {David A. Patterson and Carlo H. S\'{e}quin}, + booktitle = {ISCA}, + location = {Minneapolis, Minnesota, USA}, + pages = {443-458}, + year = {1981} +} + +@inproceedings{Katevenis:1983, + author = {Manolis G.H. Katevenis and Robert W. Sherburne Jr. and David A. Patterson and Carlo H. S\'{e}quin}, + title = {The {RISC II} micro-architecture}, + booktitle = {Proceedings VLSI 83 Conference}, + year = {1983}, + month = {August} +} + +@inproceedings{Ungar:1984, + author = {David Ungar and Ricki Blau and Peter Foley and Dain Samples and David Patterson}, + title = {Architecture of {SOAR}: {Smalltalk} on a {RISC}}, + booktitle = {ISCA}, + address = {Ann Arbor, MI}, + year = {1984}, + pages = {188-197} +} + +@article{spur-jsscc1989, + author = {David D. Lee and Shing I. Kong and Mark D. Hill and George S. Taylor and David A. Hodges and Randy H. Katz and David A. Patterson}, + title = {A {VLSI} Chip Set for a Multiprocessor Workstation--{Part I}: An {RISC} Microprocessor with Coprocessor Interface and Support for Symbolic Processing}, + journal = {IEEE JSSC}, + year = {1989}, + volume = {24}, + number = {6}, + pages = {1688-1698}, + month = {December} +} diff --git a/docs/images/diag-ditaa-md5-0f883ec0b2579ebde75f5441ddf28404.png b/docs/images/diag-ditaa-md5-0f883ec0b2579ebde75f5441ddf28404.png new file mode 100644 index 0000000..c7cb8da Binary files /dev/null and b/docs/images/diag-ditaa-md5-0f883ec0b2579ebde75f5441ddf28404.png differ diff --git a/docs/images/diag-ditaa-md5-586b9e188c58d9a9b40cb57134ec5d4f.png b/docs/images/diag-ditaa-md5-586b9e188c58d9a9b40cb57134ec5d4f.png new file mode 100644 index 0000000..15cb635 Binary files /dev/null and b/docs/images/diag-ditaa-md5-586b9e188c58d9a9b40cb57134ec5d4f.png differ diff --git a/docs/images/diag-ditaa-md5-96c6a3b2f6c6e1138b505a9b74cf48f2.png b/docs/images/diag-ditaa-md5-96c6a3b2f6c6e1138b505a9b74cf48f2.png new file mode 100644 index 0000000..94738c9 Binary files /dev/null and b/docs/images/diag-ditaa-md5-96c6a3b2f6c6e1138b505a9b74cf48f2.png differ diff --git a/docs/images/diag-ditaa-md5-c7341e167bfd32f1ed3ea9a95f310b40.png b/docs/images/diag-ditaa-md5-c7341e167bfd32f1ed3ea9a95f310b40.png new file mode 100644 index 0000000..af3a48c Binary files /dev/null and b/docs/images/diag-ditaa-md5-c7341e167bfd32f1ed3ea9a95f310b40.png differ diff --git a/docs/images/diag-ditaa-md5-ccdaa90e7df2c75d48f8cd0420e52f4a.png b/docs/images/diag-ditaa-md5-ccdaa90e7df2c75d48f8cd0420e52f4a.png new file mode 100644 index 0000000..85b34ad Binary files /dev/null and b/docs/images/diag-ditaa-md5-ccdaa90e7df2c75d48f8cd0420e52f4a.png differ