Giter VIP home page Giter VIP logo

mudit2812 / hardware Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cpen391-team-4/hardware

0.0 0.0 0.0 35.54 MB

A hardware JPEG encoder, a Linux driver for it, and the client software for our smart doorbell project

Jupyter Notebook 53.34% Verilog 0.61% SystemVerilog 19.58% C 1.71% Tcl 6.01% Makefile 1.56% Shell 0.63% Dockerfile 0.61% Julia 4.30% Emacs Lisp 0.04% Python 6.03% Go 5.57%

hardware's Introduction

Tests

To run the hardware tests, you need Modelsim (the testbenches proper are in tb/), and Julia to create the test data (in the reference implementation directory ref/).

To run the driver and software tests, you need the docker container as described below:

Build

First, build the docker container containing the build tools. This will take a while, as it downloads Quartus, SoC EDS, and cross compilation tools. You will need more than 15 GiB free space.

cd docker
docker build . -t quartus-cyclonev-soceds

Then, start the build proper. This will take a while, depending on the steps that have completed/are not yet complete:

  • Compile the hardware (~10 minutes)
  • Compile uboot (~5 minutes)
  • Compile the kernel (~10 minutes)
  • Download the Ubuntu rootfs
  • Build the SD card image

This needs to run in a privileged container to use the loopback device to create the SD card image.

Run this from the root of the repository:

docker run -it --privileged --net=host -v $PWD:/src -w /src quartus-cyclonev-soceds ./build.sh

The resulting SD card will be in sw/sdcard.img.`

References

  • Terasic, for the GHRD template (soc_system_top.sv).
  • Columbia University's CSEE 4840 website for information on how to incorporate linux and our hardware.
  • "Pipelined fast 2D DCT architecture for JPEG image compression" by Agostini et. al for details on implementing the DCT step of our JPEG encoder.

hardware's People

Contributors

xal-0 avatar mudit2812 avatar johnramsden avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.