From b38be8cfa80cc2145145d430ea84a181ba98a3fb Mon Sep 17 00:00:00 2001
From: TinyTapeoutBot <139130078+TinyTapeoutBot@users.noreply.github.com>
Date: Sun, 10 Nov 2024 17:31:42 +0200
Subject: [PATCH] feat: update project tt_um_snn_with_delays_paolaunisa from
PaolaUniSa/tt09_chatGPT_SNN_LD
Commit: da31a93c483ec2a4e3d4100a2b7191a5074a3229
Workflow: https://github.com/PaolaUniSa/tt09_chatGPT_SNN_LD/actions/runs/11765791446
---
.../commit_id.json | 4 +-
.../docs/info.md | 31 +-
.../info.yaml | 2 +-
.../stats/metrics.csv | 6 +-
.../tt_um_snn_with_delays_paolaunisa.gds.br | Bin 6543602 -> 6543592 bytes
.../tt_um_snn_with_delays_paolaunisa.v | 9058 ++++++++---------
6 files changed, 4564 insertions(+), 4537 deletions(-)
diff --git a/projects/tt_um_snn_with_delays_paolaunisa/commit_id.json b/projects/tt_um_snn_with_delays_paolaunisa/commit_id.json
index ce67a577..5dbac8bb 100644
--- a/projects/tt_um_snn_with_delays_paolaunisa/commit_id.json
+++ b/projects/tt_um_snn_with_delays_paolaunisa/commit_id.json
@@ -1,8 +1,8 @@
{
"app": "Tiny Tapeout tt09 a48b1c74",
"repo": "https://github.com/PaolaUniSa/tt09_chatGPT_SNN_LD",
- "commit": "f18a95b590b6f6dd246201eaacb62f60dd6b6902",
- "workflow_url": "https://github.com/PaolaUniSa/tt09_chatGPT_SNN_LD/actions/runs/11758555274",
+ "commit": "da31a93c483ec2a4e3d4100a2b7191a5074a3229",
+ "workflow_url": "https://github.com/PaolaUniSa/tt09_chatGPT_SNN_LD/actions/runs/11765791446",
"sort_id": 1730988218526,
"openlane_version": "OpenLane2 2.1.9",
"pdk_version": "open_pdks bdc9412b3e468c102d01b7cf6337be06ec6e9c9a"
diff --git a/projects/tt_um_snn_with_delays_paolaunisa/docs/info.md b/projects/tt_um_snn_with_delays_paolaunisa/docs/info.md
index f5ac0109..84c32380 100644
--- a/projects/tt_um_snn_with_delays_paolaunisa/docs/info.md
+++ b/projects/tt_um_snn_with_delays_paolaunisa/docs/info.md
@@ -6,14 +6,41 @@ sections.
You can also include images in this folder and reference them in the markdown. Each image must be less than
512 kb in size, and the combined size of all images must be less than 1 MB.
-->
+## Overview
+
+
+
## How it works
-This project implements 16 programmable digital LIF neurons with programmable delays and a total of 128 synapsis. The neurons are arranged in 2 layers (8 inputs + FC (8 neurons) + FC (8 neurons) ). Spikes_in directly maps to the inputs of the first layer neurons. When an input spike is received, it is first multiplied by an 2 bit weight, programmable from an SPI interface, 1 per input neuron. This 8 bit value is then added to the membrane potential of the respective neuron. When the first layer neurons activate, its pulse is routed to each of the 8 neurons in the next layer. There are 128 (8x8+8x8) programmable weights describing the connectivity between the input spikes and the first layer (64 weights=8x8), the first and second layers (64 weights=8x8). Output spikes from the 2nd layer drive spikes_out.
+This project implements 18 programmable digital LIF neurons with programmable delays and a total of 144 synapsis.
+The neurons are arranged in 3 layers (8 inputs + FC (8 neurons) + FC (8 neurons) + FC (2 neurons) +2 outputs). Spikes_in directly maps to the inputs of the first layer neurons. When an input spike is received, it is first multiplied by an 2-bit weight, programmable from an SPI interface, 1 per input neuron. This value is then added to the membrane potential of the respective neuron. When the first layer neurons activate, its pulse is routed to each of the 8 neurons in the next layer. There are 144 (8x8+8x8+8x2) programmable weights describing the connectivity between the input spikes and the first layer (64 weights=8x8), the first and second layers (64 weights=8x8), and the second and third layers (16 weights=8x2).
+
+Through a configurable selection signal via SPI, it is possible to read any of the membrane potentials from any neuron in any layer, or the output spikes from any layer.
+
+
## How to test
-After reset, program the neuron threshold, leak rate, and refractory period. Additionally program the first and second layer weights and delays. Once programmed activate spikes_in to represent input data, track spikes_out synchronously.
+After reset, program the neuron threshold, decay rate, and refractory period. Additionally program the first, second, and third layer weights and delays. Once programmed activate spikes_in to represent input data, track spikes_out synchronously.
+
+### Memory Map Overview
+
+Each parameter (decay, refractory period, membrane potential threshold, weights, and delays) and each configuration signal ( value for the configurable clock divider and output select signal) is accessible via SPI in specific byte addresses. The memory is organized as follows:
+
+
+| Parameter | Bit Range / Byte | Address (Hex) | Address (Decimal) | Description |
+|---------------------|--------------------------|---------------|-------------------|-----------------------------------------------------|
+| `decay` | 5:0 bits in 2nd byte | 0x00 | 0 | Decay configuration parameter |
+| `refractory_period` | 5:0 bits in 3rd byte | 0x01 | 1 | Refractory period parameter |
+| `threshold` | 5:0 bits in 4th byte | 0x02 | 2 | Membrane potential threshold |
+| `div_value` | 5th byte | 0x03 | 3 | Division value for clock divider |
+| `weights` | 36 bytes (5th to 40th) | 0x04 - 0x27 | 4 - 39 | Synaptic weights |
+| `delays` | 72 bytes (41st to 112th) | 0x28 - 0x6F | 40 - 111 | Synaptic delay |
+| `output_config` | 8 bits in 113th byte | 0x70 | 112 | Output select signal |
+
+### Simulations
+
## External hardware
diff --git a/projects/tt_um_snn_with_delays_paolaunisa/info.yaml b/projects/tt_um_snn_with_delays_paolaunisa/info.yaml
index 453bae22..a916568b 100644
--- a/projects/tt_um_snn_with_delays_paolaunisa/info.yaml
+++ b/projects/tt_um_snn_with_delays_paolaunisa/info.yaml
@@ -34,7 +34,7 @@ project:
- "spi_slave.v"
- "spiking_network_top.v"
- "synchronizer.v"
- - "TwoLayerNetwork_debug.v"
+ - "ThreeLayerNetwork_debug.v"
- "reset_manager.v"
# The pinout of your project. Leave unused pins blank. DO NOT delete or add any pins.
diff --git a/projects/tt_um_snn_with_delays_paolaunisa/stats/metrics.csv b/projects/tt_um_snn_with_delays_paolaunisa/stats/metrics.csv
index 073348db..3deeea12 100644
--- a/projects/tt_um_snn_with_delays_paolaunisa/stats/metrics.csv
+++ b/projects/tt_um_snn_with_delays_paolaunisa/stats/metrics.csv
@@ -274,9 +274,9 @@ timing__unannotated_net_filtered__count,0
design_powergrid__voltage__worst__net:VPWR__corner:nom_tt_025C_1v80,1.79989
design_powergrid__drop__average__net:VPWR__corner:nom_tt_025C_1v80,1.79999
design_powergrid__drop__worst__net:VPWR__corner:nom_tt_025C_1v80,0.000109611
-design_powergrid__voltage__worst__net:VGND__corner:nom_tt_025C_1v80,0.0000976546
-design_powergrid__drop__average__net:VGND__corner:nom_tt_025C_1v80,0.0000110045
-design_powergrid__drop__worst__net:VGND__corner:nom_tt_025C_1v80,0.0000976546
+design_powergrid__voltage__worst__net:VGND__corner:nom_tt_025C_1v80,0.0000953447
+design_powergrid__drop__average__net:VGND__corner:nom_tt_025C_1v80,0.0000109158
+design_powergrid__drop__worst__net:VGND__corner:nom_tt_025C_1v80,0.0000953447
ir__voltage__worst,1.8000000000000000444089209850062616169452667236328125
ir__drop__avg,0.000010799999999999999934796081346721763338791788555681705474853515625
ir__drop__worst,0.000110000000000000003916138247017642015634919516742229461669921875
diff --git a/projects/tt_um_snn_with_delays_paolaunisa/tt_um_snn_with_delays_paolaunisa.gds.br b/projects/tt_um_snn_with_delays_paolaunisa/tt_um_snn_with_delays_paolaunisa.gds.br
index e96e6a91c3f92f433240f85180e9175f8112be17..1c94c923a3a82f592ed1f1bf86f8048363d42e18 100644
GIT binary patch
delta 705448
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