TENNLab-UTK / fpga

FPGA neuromorphic elements, networks, processors, tooling, and software interfaces.
Mozilla Public License 2.0
1 stars 0 forks source link

Create distinction between targets and build hosts #2

Open keegandent opened 2 months ago

keegandent commented 2 months ago

The Processor abstraction should use logic that allows for it to determine whether environment is capable of generating a device bitstream. If the environment is not capable of generating the bitstream, it should search in a particular location, and upon its absence report an error to the user that the bitstream needs to be generated with a build environment. Additionally, the logic regarding interfaces should perhaps be refined here as well. This may involve an expansion of the config.json schema (like an SoC identifier for probing /proc/cpuinfo or similar) as well as a sidecar utility to determine the most appropriate interface and verify the necessary resources (bitstream or the tools to build them) are available. This might best be accomplished as static functions for the Processor class or a public static/singleton object the class can communicate with.

keegandent commented 2 months ago

@BGull00 added this as we discussed, would appreciate any thoughts you have

keegandent commented 2 weeks ago

This may be part of a later workflow change according to https://github.com/TENNLab-UTK/fpga/wiki/Stories. I think a pack()/unpack() system may be the way to go here.