Skip to content
Snippets Groups Projects
Commit ac51ef0d authored by Yaman Umuroglu's avatar Yaman Umuroglu
Browse files

Merge branch 'dev' for FINN v0.3b release

parents ea73d873 ba291c66
No related branches found
No related tags found
No related merge requests found
Showing
with 324 additions and 72 deletions
......@@ -83,3 +83,6 @@ MANIFEST
/finn-hlslib/
/pyverilator/
/PYNQ-HelloWorld/
# Jenkins cfg dir
/docker/jenkins_home
......@@ -27,7 +27,8 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
exclude: '^docs/conf.py'
default_language_version:
python: python3
repos:
# black
- repo: https://github.com/ambv/black
......
......@@ -2,6 +2,7 @@
Contributors
============
* Yaman Umuroglu
* Jakoba Petri-Koenig
* Andrea Rigoni
* Yaman Umuroglu (@maltanar)
* Jakoba Petri-Koenig (@auphelia)
* Andrea Rigoni (@AndreaRigoni)
* Hendrik Borras (@HenniOVP)
We welcome contributions to FINN.
Please follow the steps below and be sure that your contribution complies with our guidelines.
1. Share your proposal via <a href="https://github.com/Xilinx/finn/issues" target="_blank">Github issues</a>. If you are looking for some issues to get started with, we have a list of <a href="https://github.com/Xilinx/finn/labels/good%20first%20issue">good first issues</a> in the issue tracker. Feel free to ask questions on the <a href="https://gitter.im/xilinx-finn/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge">FINN gitter channel as well</a>.
We welcome submissions to:
1. The FINN flow like additional custom ONNX nodes, transformation and analysis passes.
2. Contributions to the documentation and Jupyter notebooks
To ensure clean separation of toolflow and examples, we do not keep example networks in this repo. If you want to add example networks, we ask you to make them into a separate repo and use FINN as a dependency -- we'll be happy to add it to the list of <a href="https://xilinx.github.io/finn/community">FINN community projects</a>.
2. Submitting your pull request:
1. Fork this repository to your own GitHub account using the *fork* button above.
2. Clone the fork to your local computer using *git clone*. Checkout the branch you want to work on.
3. Please install <a href="https://pre-commit.com/" target="_blank">pre-commit</a> to ensure your code is formatted to our style guidelines. The hooks we use for pre-commit can be found in <a href="https://github.com/Xilinx/finn/blob/master/.pre-commit-config.yaml" target="_blank">this file</a>
4. Modify the Python source code, Jupyter notebooks and Sphinx documentation etc. as needed.
5. Use *git add*, *git commit*, *git push* to add changes to your fork.
6. If you are introducing new functionality, add at least one unit test under the `test/` folder and make sure it passes before you submit the pull request.
7. Submit a pull request by clicking the *pull request* button on your GitHub repo:
1. The <a href="https://github.com/Xilinx/finn" target="_blank">master branch</a> should always be treated as stable and clean. Only hot fixes are allowed to be pull-requested. The hot fix is supposed to be very important such that without this fix, a lot of things will break.
2. For new features, smaller bug fixes, doc updates, and many other fixes, users should pull request against the <a href="https://github.com/Xilinx/finn/tree/dev" target="_blank">development branch</a>.
3. We will review your contribution and, if any additional fixes or modifications are
necessary, may provide feedback to guide you. When accepted, your pull request will
be merged to the repository. If you have more questions please contact us via the <a href="https://gitter.im/xilinx-finn/community" target="_blank">FINN gitter channel</a>.
# Copyright (c) 2020, Xilinx
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# * Neither the name of FINN nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FROM pytorch/pytorch:1.1.0-cuda10.0-cudnn7.5-devel
MAINTAINER Yaman Umuroglu <yamanu@xilinx.com>
ARG PYTHON_VERSION=3.6
ARG BUILD_PATH
ARG FINN_CI_BRANCH
WORKDIR /workspace
RUN apt-get update
RUN apt-get -y upgrade
RUN apt-get install -y build-essential libglib2.0-0 libsm6 libxext6 libxrender-dev
RUN apt install verilator
RUN apt-get -y install sshpass
RUN echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config
# cloning dependency repos
# Brevitas
RUN git clone https://github.com/Xilinx/brevitas.git /workspace/brevitas
# Brevitas examples
RUN git clone https://github.com/maltanar/brevitas_cnv_lfc.git /workspace/brevitas_cnv_lfc
# CNPY
RUN git clone https://github.com/rogersce/cnpy.git /workspace/cnpy
# FINN hlslib
RUN git clone https://github.com/maltanar/finn-hlslib.git /workspace/finn-hlslib
# PyVerilator
RUN git clone https://github.com/maltanar/pyverilator /workspace/pyverilator
# PYNQ-HelloWorld
RUN git clone https://github.com/maltanar/PYNQ-HelloWorld.git /workspace/PYNQ-HelloWorld
# checkout desired FINN branch for testing
RUN git clone --branch $FINN_CI_BRANCH https://github.com/Xilinx/finn /workspace/finn
RUN pip install -r /workspace/finn/requirements.txt
RUN apt update; apt install nano
RUN pip install pytest-dependency
ENV PYTHONPATH "${PYTHONPATH}:/workspace/finn/src"
ENV PYTHONPATH "${PYTHONPATH}:/workspace/brevitas_cnv_lfc/training_scripts"
ENV PYTHONPATH "${PYTHONPATH}:/workspace/brevitas"
ENV PYTHONPATH "${PYTHONPATH}:/workspace/pyverilator"
ENV PYNQSHELL_PATH "/workspace/PYNQ-HelloWorld/boards"
ENV VIVADO_IP_CACHE "$BUILD_PATH/vivado_ip_cache"
# colorful terminal output
RUN echo "PS1='\[\033[1;36m\]\u\[\033[1;31m\]@\[\033[1;32m\]\h:\[\033[1;35m\]\w\[\033[1;31m\]\$\[\033[0m\] '" >> /root/.bashrc
RUN mkdir -p $BUILD_PATH
RUN mkdir -p $VIVADO_IP_CACHE
WORKDIR /workspace/finn
COPY finn_entrypoint.sh /usr/local/bin/
RUN chmod 755 /usr/local/bin/finn_entrypoint.sh
ENTRYPOINT ["finn_entrypoint.sh"]
CMD ["bash"]
......@@ -29,81 +29,78 @@
FROM pytorch/pytorch:1.1.0-cuda10.0-cudnn7.5-devel
MAINTAINER Yaman Umuroglu <yamanu@xilinx.com>
ARG PYTHON_VERSION=3.6
ARG GID
ARG GNAME
ARG UNAME
ARG UID
ARG PASSWD
ARG JUPYTER_PORT
ARG NETRON_PORT
EXPOSE $JUPYTER_PORT
EXPOSE $NETRON_PORT
WORKDIR /workspace
RUN apt-get update
RUN apt-get -y upgrade
RUN apt-get install -y build-essential libglib2.0-0 libsm6 libxext6 libxrender-dev
RUN apt-get install verilator
RUN apt-get install nano
RUN apt-get -y install sshpass
RUN echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config
COPY requirements.txt .
RUN pip install -r requirements.txt
RUN rm requirements.txt
RUN apt update; apt install nano
RUN pip install jupyter
RUN pip install netron
RUN pip install matplotlib
RUN pip install pytest-dependency
RUN apt-get update
RUN apt-get -y upgrade
RUN apt-get install -y build-essential libglib2.0-0 libsm6 libxext6 libxrender-dev
RUN apt install verilator
RUN apt-get -y install sshpass
RUN echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config
RUN pip install sphinx
RUN pip install sphinx_rtd_theme
# cloning dependency repos
# Brevitas
RUN git clone --branch feature/finn_onnx_export https://github.com/Xilinx/brevitas.git /workspace/brevitas
RUN git -C /workspace/brevitas checkout ed1a3b70a14a91853066ece630421e89660d93e9
# switch user
RUN groupadd -g $GID $GNAME
RUN useradd -M -u $UID $UNAME -g $GNAME
RUN usermod -aG sudo $UNAME
RUN echo "$UNAME:$PASSWD" | chpasswd
RUN echo "root:$PASSWD" | chpasswd
RUN ln -s /workspace /home/$UNAME
RUN chown -R $UNAME:$GNAME /home/$UNAME
USER $UNAME
# cloning dependency repos (as user)
# Brevitas
RUN git clone https://github.com/Xilinx/brevitas.git /workspace/brevitas
# Brevitas examples
RUN git clone https://github.com/maltanar/brevitas_cnv_lfc.git /workspace/brevitas_cnv_lfc
RUN git -C /workspace/brevitas_cnv_lfc checkout a443708b382cbcfd69d19c9fc3fe94b2a2c03d71
# CNPY
RUN git clone https://github.com/rogersce/cnpy.git /workspace/cnpy
RUN git -C /workspace/cnpy checkout 4e8810b1a8637695171ed346ce68f6984e585ef4
# FINN hlslib
RUN git clone https://github.com/Xilinx/finn-hlslib.git /workspace/finn-hlslib
RUN git -C /workspace/finn-hlslib checkout b5dc957a16017b8356a7010144b0a4e2f8cfd124
RUN git clone https://github.com/maltanar/finn-hlslib.git /workspace/finn-hlslib
# PyVerilator
RUN git clone https://github.com/maltanar/pyverilator /workspace/pyverilator
RUN git -C /workspace/pyverilator checkout 307fc5c82db748620836307a2002fdc9fe170226
# PYNQ-HelloWorld
RUN git clone https://github.com/maltanar/PYNQ-HelloWorld.git /workspace/PYNQ-HelloWorld
RUN git -C /workspace/PYNQ-HelloWorld checkout ef4c438dff4bd346e5f6b8d4eddfd1c8a3999c03
# Note that we expect the cloned finn directory on the host to be
# mounted on /workspace/finn -- see run-docker.sh for an example
# of how to do this.
# This branch assumes the same for brevitas and brevitas_cnv_lfc for easier
# co-development.
# for this developer-oriented Docker container we assume the FINN repo is cloned and mounted from the host
# at /workspace/finn -- see run-docker.sh for an example of how to do this.
ENV PYTHONPATH "${PYTHONPATH}:/workspace/finn/src"
ENV PYTHONPATH "${PYTHONPATH}:/workspace/brevitas_cnv_lfc/training_scripts"
ENV PYTHONPATH "${PYTHONPATH}:/workspace/brevitas"
ENV PYTHONPATH "${PYTHONPATH}:/workspace/pyverilator"
ENV PYNQSHELL_PATH "/workspace/PYNQ-HelloWorld/boards"
ARG GID
ARG GNAME
ARG UNAME
ARG UID
ARG PASSWD
ARG JUPYTER_PORT
ARG NETRON_PORT
WORKDIR /home/$UNAME/finn
RUN echo "PS1='\[\033[1;36m\]\u\[\033[1;31m\]@\[\033[1;32m\]\h:\[\033[1;35m\]\w\[\033[1;31m\]\$\[\033[0m\] '" >> /home/$UNAME/.bashrc
RUN echo "source \$VIVADO_PATH/settings64.sh" >> /home/$UNAME/.bashrc
RUN groupadd -g $GID $GNAME
RUN useradd -M -u $UID $UNAME -g $GNAME
RUN usermod -aG sudo $UNAME
RUN echo "$UNAME:$PASSWD" | chpasswd
RUN echo "root:$PASSWD" | chpasswd
RUN ln -s /workspace /home/$UNAME
RUN chown -R $UNAME:$GNAME /home/$UNAME
# copy entrypoint script
USER root
COPY docker/finn_entrypoint.sh /usr/local/bin/
RUN chmod 755 /usr/local/bin/finn_entrypoint.sh
USER $UNAME
RUN echo "source \$VIVADO_PATH/settings64.sh" >> /home/$UNAME/.bashrc
RUN echo "PS1='\[\033[1;36m\]\u\[\033[1;31m\]@\[\033[1;32m\]\h:\[\033[1;35m\]\w\[\033[1;31m\]\$\[\033[0m\] '" >> /home/$UNAME/.bashrc
EXPOSE $JUPYTER_PORT
EXPOSE $NETRON_PORT
WORKDIR /home/$UNAME/finn
ENTRYPOINT ["finn_entrypoint.sh"]
CMD ["bash"]
FROM jenkins/jenkins:lts
# if we want to install via apt
USER root
RUN apt-get update
RUN apt-get install -y gnupg-agent curl ca-certificates apt-transport-https software-properties-common
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
RUN add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
RUN apt-get update
RUN apt-get install -y docker-ce-cli
# drop back to the regular jenkins user - good practice
USER jenkins
pipeline {
agent any
parameters {
string(name: 'FINN_CI_BRANCH', defaultValue: '', description: 'FINN branch to build')
string(name: 'VIVADO_PATH', defaultValue: '', description: 'Path to Vivado installation')
string(name: 'PYNQ_BOARD', defaultValue: 'Pynq-Z1', description: 'PYNQ board type')
string(name: 'PYNQ_IP', defaultValue: '', description: 'PYNQ board IP address')
string(name: 'PYNQ_USERNAME', defaultValue: 'xilinx', description: 'PYNQ board username')
string(name: 'PYNQ_PASSWORD', defaultValue: 'xilinx', description: 'PYNQ board password')
string(name: 'PYNQ_TARGET_DIR', defaultValue: '/home/xilinx/finn', description: 'PYNQ board target deployment directory')
string(name: 'NUM_DEFAULT_WORKERS', defaultValue: '1', description: 'Number of cores for parallel transformations')
string(name: 'DOCKER_CMD', defaultValue: """python setup.py test""", description: 'Command to run')
}
environment {
DOCKER_TAG='finn_ci:$BUILD_ID'
DOCKER_INST_NAME='finn_ci_$BUILD_ID'
BUILD_PATH='/tmp/finn_ci_$BUILD_ID'
}
stages {
stage("Clone") {
steps {
git branch: "${params.FINN_CI_BRANCH}", url: 'https://github.com/Xilinx/finn.git'
}
}
stage('Build') {
steps {
sh """
docker build -t $DOCKER_TAG -f docker/Dockerfile.finn_ci \
--build-arg BUILD_PATH=$BUILD_PATH \
--build-arg FINN_CI_BRANCH=${params.FINN_CI_BRANCH} \
docker/
"""
}
}
stage('Test') {
steps {
sh """
docker run --name $DOCKER_INST_NAME \
--hostname $DOCKER_INST_NAME \
-v ${params.VIVADO_PATH}:${params.VIVADO_PATH}:ro \
-e NUM_DEFAULT_WORKERS=${params.NUM_DEFAULT_WORKERS} \
-e FINN_INST_NAME=$DOCKER_INST_NAME \
-e VIVADO_PATH=${params.VIVADO_PATH} \
-e PYNQ_BOARD=${params.PYNQ_BOARD} \
-e PYNQ_IP=${params.PYNQ_IP} \
-e PYNQ_USERNAME=${params.PYNQ_USERNAME} \
-e PYNQ_PASSWORD=${params.PYNQ_PASSWORD} \
-e PYNQ_TARGET_DIR=${params.PYNQ_TARGET_DIR} \
$DOCKER_TAG ${params.DOCKER_CMD}
"""
}
}
}
}
#!/bin/bash
export XILINX_VIVADO=$VIVADO_PATH
export SHELL=/bin/bash
export FINN_ROOT=/workspace/finn
GREEN='\033[0;32m'
NC='\033[0m' # No Color
gecho () {
echo -e "${GREEN}$1${NC}"
}
# checkout the correct dependency repo commits
# the repos themselves are cloned in the Dockerfile
BREVITAS_COMMIT=215cf44c76d562339fca368c8c3afee3110033e8
BREVITAS_EXAMPLES_COMMIT=2059f96bd576bf71f32c757e7f92617a70190c90
CNPY_COMMIT=4e8810b1a8637695171ed346ce68f6984e585ef4
HLSLIB_COMMIT=6b88db826bb023937506913a23d964775a7606af
PYVERILATOR_COMMIT=fb1afefa5b207acf6fec28f8abb72a862f2ca1d2
PYNQSHELL_COMMIT=0c82a61b0ec1a07fa275a14146233824ded7a13d
gecho "Setting up known-good commit versions for FINN dependencies"
# Brevitas
gecho "brevitas @ $BREVITAS_COMMIT"
git -C /workspace/brevitas pull --quiet
git -C /workspace/brevitas checkout $BREVITAS_COMMIT --quiet
# Brevitas examples
gecho "brevitas_cnv_lfc @ $BREVITAS_EXAMPLES_COMMIT"
git -C /workspace/brevitas_cnv_lfc pull --quiet
git -C /workspace/brevitas_cnv_lfc checkout $BREVITAS_EXAMPLES_COMMIT --quiet
# CNPY
gecho "cnpy @ $CNPY_COMMIT"
git -C /workspace/cnpy pull --quiet
git -C /workspace/cnpy checkout $CNPY_COMMIT --quiet
# FINN hlslib
gecho "finn-hlslib @ $HLSLIB_COMMIT"
git -C /workspace/finn-hlslib pull --quiet
git -C /workspace/finn-hlslib checkout $HLSLIB_COMMIT --quiet
# PyVerilator
gecho "PyVerilator @ $PYVERILATOR_COMMIT"
git -C /workspace/pyverilator pull --quiet
git -C /workspace/pyverilator checkout $PYVERILATOR_COMMIT --quiet
# PYNQ-HelloWorld
gecho "PYNQ shell @ $PYNQSHELL_COMMIT"
git -C /workspace/PYNQ-HelloWorld pull --quiet
git -C /workspace/PYNQ-HelloWorld checkout $PYNQSHELL_COMMIT --quiet
# source Vivado env.vars
source $VIVADO_PATH/settings64.sh
exec "$@"
#!/bin/bash
# defaults, can be overriden by environment variables
# user to run Jenkins as -- see NOTE below regarding Docker access permissions
: ${JENKINS_USER=jenkins}
# port for Jenkins on host machine
: ${JENKINS_PORT=8080}
# make Jenkins config persistent by mounting into this folder
: ${JENKINS_HOME=$(pwd)/jenkins_home}
mkdir -p $JENKINS_HOME
# build a Jenkins Docker image that also has the Docker CLI installed
docker build -t finn_jenkins -f Dockerfile.jenkins .
# launch Docker container mounted to local Docker socket
# NOTE: we allow customizing the user (e.g. as root) to work around permission
# issues, may not al
docker run -u $JENKINS_USER -p $JENKINS_PORT:8080 -v /var/run/docker.sock:/var/run/docker.sock -v $JENKINS_HOME:/var/jenkins_home finn_jenkins
......@@ -11,7 +11,7 @@ As you can see in the picture, FINN has a high modularity and has the property t
:scale: 50%
:align: center
The cylinder-like fields show the state of the network representation in the respective step. The rectangular fields represent the transformations that are applied to the network to achieve a certain result. The diagram is divided into five blocks, each of it includes several flow steps. The flow starts in top left corner with Brevitas export (pink block), followed by the preparation of the network (grey block) for the Vivado HLS and Vivado IPI (yellow block). There is also a section for testing and verification in software (green block) and the hardware generation and deployment on the PYNQ board (red block).
The white fields show the state of the network representation in the respective step. The colored fields represent the transformations that are applied to the network to achieve a certain result. The diagram is divided into five sections, each of it includes several flow steps. The flow starts in top left corner with Brevitas export (green section), followed by the preparation of the network (blue section) for the Vivado HLS and Vivado IPI (orange section). There is also a section for testing and verification in software (red section) and the hardware generation and deployment on the PYNQ board (yellow section).
This example flow is covered in the `end2end_example <https://github.com/Xilinx/finn/tree/master/notebooks/end2end_example>`_ Jupyter notebooks.
For a more detailed overview about the different flow sections, please have a look at the corresponding pages:
......
......@@ -15,22 +15,22 @@ The rows in the table are different steps of the FINN end-to-end flow.
If a particular network is supported for a particular step in the current FINN
version, this is indicated by an x mark in the table.
+-----------------------+------------+----------+----------+----------+----------+----------+
| FINN step | Basic test | TFC-w1a1 | TFC-w1a2 | CNV-w1a1 | CNV-w1a2 | CNV-w2a2 |
+-----------------------+------------+----------+----------+----------+----------+----------+
| Export/Import | x | x | x | x | | |
+-----------------------+------------+----------+----------+----------+----------+----------+
| Streamlining | x | x | x | | | |
+-----------------------+------------+----------+----------+----------+----------+----------+
| Convert to HLS layers | x | x | x | | | |
+-----------------------+------------+----------+----------+----------+----------+----------+
| Stitched IP | x | x | x | | | |
+-----------------------+------------+----------+----------+----------+----------+----------+
| Hardware test | x | x | x | | | |
+-----------------------+------------+----------+----------+----------+----------+----------+
| npysim | x | x | x | | | |
+-----------------------+------------+----------+----------+----------+----------+----------+
| rtlsim node-by-node | x | x | x | | | |
+-----------------------+------------+----------+----------+----------+----------+----------+
| rtlsim stitched IP | x | x | x | | | |
+-----------------------+------------+----------+----------+----------+----------+----------+
+-----------------------+------------+----------+----------+----------+----------+----------+----------+
| FINN step | Basic test | TFC-w1a1 | TFC-w1a2 | TFC-w2a2 | CNV-w1a1 | CNV-w1a2 | CNV-w2a2 |
+-----------------------+------------+----------+----------+----------+----------+----------+----------+
| Export/Import | x | x | x | x | x | | |
+-----------------------+------------+----------+----------+----------+----------+----------+----------+
| Streamlining | x | x | x | x | x | | |
+-----------------------+------------+----------+----------+----------+----------+----------+----------+
| Convert to HLS layers | x | x | x | x | x | | |
+-----------------------+------------+----------+----------+----------+----------+----------+----------+
| Stitched IP | x | x | x | x | | | |
+-----------------------+------------+----------+----------+----------+----------+----------+----------+
| Hardware test | x | x | x | | | | |
+-----------------------+------------+----------+----------+----------+----------+----------+----------+
| npysim | x | x | x | x | x | | |
+-----------------------+------------+----------+----------+----------+----------+----------+----------+
| rtlsim node-by-node | x | x | x | x | | | |
+-----------------------+------------+----------+----------+----------+----------+----------+----------+
| rtlsim stitched IP | x | x | x | x | | | |
+-----------------------+------------+----------+----------+----------+----------+----------+----------+
docs/finn/img/brevitas-export.png

14.2 KiB | W: | H:

docs/finn/img/brevitas-export.png

9.98 KiB | W: | H:

docs/finn/img/brevitas-export.png
docs/finn/img/brevitas-export.png
docs/finn/img/brevitas-export.png
docs/finn/img/brevitas-export.png
  • 2-up
  • Swipe
  • Onion skin
docs/finn/img/nw-prep.png

37 KiB | W: | H:

docs/finn/img/nw-prep.png

30.8 KiB | W: | H:

docs/finn/img/nw-prep.png
docs/finn/img/nw-prep.png
docs/finn/img/nw-prep.png
docs/finn/img/nw-prep.png
  • 2-up
  • Swipe
  • Onion skin
docs/finn/img/pynq-deploy.png

26.7 KiB | W: | H:

docs/finn/img/pynq-deploy.png

22 KiB | W: | H:

docs/finn/img/pynq-deploy.png
docs/finn/img/pynq-deploy.png
docs/finn/img/pynq-deploy.png
docs/finn/img/pynq-deploy.png
  • 2-up
  • Swipe
  • Onion skin
docs/finn/img/verification.png

33.3 KiB | W: | H:

docs/finn/img/verification.png

53.3 KiB | W: | H:

docs/finn/img/verification.png
docs/finn/img/verification.png
docs/finn/img/verification.png
docs/finn/img/verification.png
  • 2-up
  • Swipe
  • Onion skin
docs/finn/img/vivado-synth.png

17.9 KiB | W: | H:

docs/finn/img/vivado-synth.png

15.2 KiB | W: | H:

docs/finn/img/vivado-synth.png
docs/finn/img/vivado-synth.png
docs/finn/img/vivado-synth.png
docs/finn/img/vivado-synth.png
  • 2-up
  • Swipe
  • Onion skin
***********************
Analysis - fpgadataflow
***********************
......
......@@ -31,4 +31,3 @@ finn.analysis.verify\_custom\_nodes
:undoc-members:
:show-inheritance:
......@@ -54,4 +54,3 @@ finn.core.rtlsim\_exec
:members:
:undoc-members:
:show-inheritance:
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment