jlpteaching / dinocpu

A teaching-focused RISC-V CPU design used at UC Davis
BSD 3-Clause "New" or "Revised" License
140 stars 39 forks source link

Visualizer for Pipelined CPU's #124

Closed klanmiko closed 4 years ago

klanmiko commented 4 years ago

This visualizer was written in scala-swing and the goal is to display the modules used in the pipelined CPU design and their relative location between the pipeline registers. The visualization should reflect the value of I/O on the modules and update every cycle.

Features:

powerjg commented 4 years ago

I just tried to run this and got the following error:

> singularity exec library://jlowepower/default/dinocpu sbt "runMain dinocpu.visualize multiply.riscv" 
java.lang.UnsatisfiedLinkError: /usr/local/openjdk-8/jre/lib/amd64/libawt_xawt.so: libXext.so.6: cannot open shared object file: No such file or directory

It looks like I might need to update the singularity container to have some other dependency installed. Do you know what the dependencies are for this?

powerjg commented 4 years ago

I figured it out. The following needs to be added to the dinocpu.def:

%post
    curl -L -o sbt-1.3.4.deb https://dl.bintray.com/sbt/debian/sbt-1.3.4.deb && \
    dpkg -i sbt-1.3.4.deb && \
    rm sbt-1.3.4.deb && \
    apt-get update -y && \
    apt-get install sbt libxext6 libfontconfig1 libxrender1 libxtst6 -y
klanmiko commented 4 years ago

I figured it out. The following needs to be added to the dinocpu.def:

Ah. I never tested in the singularity container as I have sbt on my local development environment. I guess the old container didn't have awt and dependencies.