Thomas’s Status Report for Apr. 6

Personal tasks of this week:

Task: Further test and resolve circuit issues in simulation

Definition: Work with Andrew to test with a larger set of representative LP problems on the analog circuit simulation. Use actual LPs sampled from the software SLP solver to test the simulated circuit for convergence, accuracy, and robustness. Resolve issues discovered in the process.

Completion: The task is completed. We’ve successfully conducted tests on six LPs sampled from the software SLP solver. They represent two different configurations of the software solver, with the first, the last, and a random LP problem used for testing the simulated circuit. The circuit was able to converge on all six problems, and the worst error across all problems and variables is 2.37%. In addition, I have made automated Excel sheets to speed up testing and avoid mistakes in manual calculation.

Verification:

Analog Component Verification: With Andrew, verify that each individual analog component is configured and, if applicable, calibrated correctly. This mainly applies to digital potentiometers, as they have large resistance tolerances, but can (and should) be calibrated prior to solver operation. This also applies to other components like ADCs, DACs, and analog switches, as they can be configured incorrectly.

Orchestrator Verification: With Alvin, verify that the orchestrator program produces a valid LP at each SLP iteration, such that it can be represented by a configuration of the analog circuit. In addition, verify that the Raspberry Pi’s digital interfaces, including I2C and SPI, are configured correctly, to ensure that the analog circuit is configured and measured correctly.

Next Steps:

My next step is to work on the schematics and layout of the PCB with Andrew. I will also help Alvin in porting the orchestrator program to the Raspberry Pi, and write code for interfacing with the analog circuit.

Overall progress assessment:

My progress is on-schedule, as all of my tasks this week have been completed.