summaryrefslogtreecommitdiff
path: root/src/read_crossbar.h
diff options
context:
space:
mode:
authorYour Name <[email protected]>2026-08-28 17:29:33 -0700
committerYour Name <[email protected]>2026-08-28 17:29:33 -0700
commit02158c7613495f1a02a2a8f108cd1c397656ce2b (patch)
tree5cdd0d716b0ef6ae98375354d952c4cac1670846 /src/read_crossbar.h
parent2a3cb69b71539953489752cea5f34e87cdb7814a (diff)
cleaned up
Diffstat (limited to 'src/read_crossbar.h')
-rw-r--r--src/read_crossbar.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/read_crossbar.h b/src/read_crossbar.h
index 968bc94..c6a87fa 100644
--- a/src/read_crossbar.h
+++ b/src/read_crossbar.h
@@ -5,14 +5,9 @@
#include <stddef.h>
typedef struct {
- // size_t num_samples;
- // size_t num_outputs;
double *time;
-
- // stored in row major order
- // voltages[sameple * num_outputs + output]
+ /* Flat row-major values: voltages[sample * num_outputs + output]. */
double *voltages;
-
} Crossbar_Output_Matrix;
int run_ngspice(const char *crossbar_path);
@@ -20,6 +15,10 @@ int run_ngspice(const char *crossbar_path);
int read_crossbar(const char *data_path, size_t num_outputs,
Crossbar_Output_Matrix *result);
+/*
+ * Decode differential crossbar voltages into software readout values.
+ * row_voltages is retained for API compatibility and is currently unused.
+ */
int convert_output_to_software(size_t num_neurons, size_t num_outputs,
size_t num_timesteps, const double *voltages,
const double *resistances,
@@ -28,6 +27,7 @@ int convert_output_to_software(size_t num_neurons, size_t num_outputs,
const double *row_voltages,
double spike_amplitude, double *decoded_outputs);
+/* Release storage allocated by read_crossbar(). */
void free_crossbar_output_matrix(Crossbar_Output_Matrix *result);
#endif