Skip to content

Extras: external projects to run alongside testbench-runner #72

@benjamin051000

Description

@benjamin051000

This doesn't need to happen yet, but I'm wondering if an easy "modular approach" would be to have like an extras/ directory, where you can drop a folder that contains a program to run any supplemental programs. For example:

extras/lab5/ would be the root of a "subproject" that can run additional stuff during simulation (either before, after, maybe even during...). Maybe an entrypoint could either be main.py or __init__.py or the actual name of what it does, whatever makes the most sense.

The process would be something like this

  • Parse the lab from CLI
  • Check extras/ for any lab-specific programs
  • If nothing, skip and run like normal.
  • If a dir is there for this lab, parse it's manifest/configuration to see what it wants us to do (e.g., run before modelsim TB, after? During in parallel? etc., other config options)
  • Do it

A few benefits to this design:

  • Subprograms can be anything: any language, any tool. So long as they conform to the testbench-runner extras interface (TBD)
  • decoupled from normal testbench runner

Some examples of things we can use this for:

  • VGA simulator (a python project)
  • MOSS upload (perl script)
  • Formal verification
  • Quartus script to synthesize the project, check for warnings/errors or something
  • Quartus synthesize, program board, to automatically test on the board :o
  • Canvas API hook perhaps? Although this would more likely be built-in to the normal program. Doesn't feel like an "extras" thing to me.

Originally posted by @benjamin051000 in #22 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions