Problem
Users should not need to have a physical serial connection to a physical FPGA to build a network and gather experimental data before runtime. For example, users should be allowed to view resource utilization for a given network without having the target FPGA physically on hand.
Proposed Solution
Add a should_program boolean parameter to the load_network method in fpga Processor. This should only program the built network onto the FPGA when true. should_program should default to true.
Hurdles
Most fpga Processor methods expect the network to be programmed onto the FPGA (e.g. run and apply_spike). To combat this, keep track of the fpga Processor programmed state and raise exceptions when users attempt to call these methods on an unprogrammed fpga Processor.
Expected API Impacts
Non-breaking boolean parameter should_program that defaults to true will be added to the load_network method in fpga Processor.
Problem
Users should not need to have a physical serial connection to a physical FPGA to build a network and gather experimental data before runtime. For example, users should be allowed to view resource utilization for a given network without having the target FPGA physically on hand.
Proposed Solution
Add a
should_programboolean parameter to theload_networkmethod infpgaProcessor. This should only program the built network onto the FPGA when true.should_programshould default to true.Hurdles
Most
fpgaProcessormethods expect the network to be programmed onto the FPGA (e.g.runandapply_spike). To combat this, keep track of thefpgaProcessorprogrammed state and raise exceptions when users attempt to call these methods on an unprogrammedfpgaProcessor.Expected API Impacts
Non-breaking boolean parameter
should_programthat defaults to true will be added to theload_networkmethod infpgaProcessor.