Giter Club home page Giter Club logo

squishy's People

Contributors

dragonmux avatar lethalbit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

fossabot

squishy's Issues

Ensure all FPGA I/O are at a known state on startup

Any unconfigured FPGA I/O will end up floating, and may possibly cause problems, such as driving the transceivers or enabling TERMPWR.

As such we need to ensure that all I/O be explicitly set to a known and safe level.

CLI Usage guide

A guide on how to use the Squishy CLI needs to be written and verified.

Getting Started Guide

The getting started guide needs to be written.

It should include how to initially setup the software and hardware, as well as an example use case to get started with.

This is blocked by:

Add type annotations

To make development easier and more clear, add type annotations to as much as possible

GUI Usage guide

A guide on how to use the Squishy GUI needs to be written and verified.

Formalize applet interface / API

The squishy applet interface needs to be properly formalized.

Currently it allows for command line arguments, but not much between the hardware and applet code itself. Also REPL/GUI support for applets would be nice.

  • GUI Support
  • REPL Support

SCSI Command Support

Finish implementing the rest of the standardized SCSI commands as well as any related structures and enumerations needed to properly handle them.

Write a `HACKING.md` document

Write a document to help people wanting to delve into the code.

Explain terminology usage where it may be ambiguous, confusing, and/or archaic/arcane, as well as any potential gotchas that may be encountered when doing development.

Tutorials need to be written

Various tutorials on how to use the Squishy software and hardware need to be written.

This is blocked by #29

  • Custom Applets
  • Hardware Usage (blocked by #14)
  • Software Usage
  • Applets
    • Analyzer Applet
    • Taperipper Applet
  • Gateware Library
  • Python Library

Flesh out the hardware device wrapper

The Squishy device wrapper needs to be fleshed out to allow for applet code running on the host system to communicate with the hardware over the sideband interface.

SCSI Message Support

Implement the structures and enumerations related to the SCSI protocol messages.

Add detection for yowasp-yosys/nextpnr

When using the Yowasp builds of Yosys and nextpnr there is an issue with detecting them and using them when trying to build gateware. We need to add detection for this and warn if we don't find any of them.

NOTE: Also need to investigate to see how the ULPI timings go for the yowasp flow, they seem to fail by at least 7MHz even with ABC9

[BUG]: `tests.gateware.core.test_flash.SPIFlashTests` is non-deterministic

The tests.gateware.core.test_flash.SPIFlashTests test is non-deterministic and randomly fails/passes.

The gateware itself works enough for DFU and applet updates, but the tests being unstable is non-ideal.

This is likely due to how the Torii pysim engine works. So there is no real fix right away, ideally I'd like to be able to formally verify it, but that is much later on the docket.

This issue will likely be around until the new sim engine is in Torii, so just skipping that test might be the best for now

SCSI Target/Initiator state machines

Implementation of the gateware for the SCSI Target and Initiator state machines for all 3 versions of SCSI need to be properly implemented.

  • SCSI-1
  • SCSI-2
  • SCSI-3

In addition to this target extensibility to be able to register custom SCSI commands needs to be implemented to allow proper flexibility as a library component.

Introduction needs cleanup

The introduction page of the documentation needs some cleanup and re-wording to make it a little friendlier to read as well as a better jumping off point to get into the rest of the project.

DFU / Gateware update

The multiboot gateware for rev1 and rev2 needs to be written and finalized. It is based off the work @dragonmux did with dragonBoot

It will expose a DFU endpoint over USB to allow the gateware and in the case of the rev2 hardware the supervisor firmware to be updated.

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.