SNAPKITTYWEST commited on
Commit
cb014fe
·
verified ·
1 Parent(s): 612e2b2

Model card: restore full README from GitHub, add commercial license option

Browse files
Files changed (1) hide show
  1. README.md +117 -0
README.md CHANGED
@@ -15,3 +15,120 @@ tags:
15
 
16
  > Mirrored from [https://github.com/SNAPKITTYWEST/Intent-V](https://github.com/SNAPKITTYWEST/Intent-V) at commit `093768a`. Part of the **SnapKitty October 2026 main drop**.
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
  > Mirrored from [https://github.com/SNAPKITTYWEST/Intent-V](https://github.com/SNAPKITTYWEST/Intent-V) at commit `093768a`. Part of the **SnapKitty October 2026 main drop**.
17
 
18
+ # INTENT-V
19
+
20
+ [![CI](https://github.com/BEL-ESPRIT-D-ACCORD-TRUST-HOLDINGS/demo-repository/actions/workflows/ci.yml/badge.svg)](https://github.com/BEL-ESPRIT-D-ACCORD-TRUST-HOLDINGS/demo-repository/actions/workflows/ci.yml)
21
+ [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)
22
+ ![Chisel 3.6](https://img.shields.io/badge/RTL-Chisel_3.6-orange)
23
+ ![Zig 0.13](https://img.shields.io/badge/firmware-Zig_0.13-f7a41d)
24
+ ![ngspice](https://img.shields.io/badge/analog-ngspice-lightgrey)
25
+ ![Target RV32IM](https://img.shields.io/badge/target-RV32IM-informational)
26
+
27
+ A small RV32IM-adjacent hardware/firmware sandbox: a memory-mapped accelerator,
28
+ its bare-metal driver, and an analog sanity netlist.
29
+
30
+ **What the "Conscious Coherence Unit" actually is:** a gated 32-bit multiplier
31
+ (`rawIntent * information`, low 32 bits, output enabled by `passionBound`) plus
32
+ an 8-bit saturating counter of cycles since it was last enabled. The thematic
33
+ signal names are aliases for that; nothing here exhibits anything beyond
34
+ multiplication and a mux. Please don't describe it to anyone as more.
35
+
36
+ | Dir | Contents | Toolchain |
37
+ |-------------|-------------------------------------------------------|------------------|
38
+ | `rtl/` | `IntentNexus` core, `CcuMmio` register wrapper, tests | sbt, Chisel 3.6 |
39
+ | `firmware/` | Zig 0.13 bare-metal driver, linker script | zig |
40
+ | `spice/` | NAND-gate transient netlist + placeholder models | ngspice |
41
+
42
+ ## Register map (base `0x4000_1000`)
43
+
44
+ | Offset | Name | Access |
45
+ |--------|--------------------|--------|
46
+ | 0x00 | raw_intent | RW |
47
+ | 0x04 | information | RW |
48
+ | 0x08 | passion_bound[0] | RW |
49
+ | 0x0C | emergent_structure | RO |
50
+ | 0x10 | system_entropy[7:0]| RO |
51
+
52
+ See [VERIFY.md](VERIFY.md) for the verification checklist.
53
+
54
+ ## Architecture
55
+
56
+ ```mermaid
57
+ flowchart LR
58
+ FW["Zig firmware<br/>(firmware/src/ccu.zig)"] -- "volatile MMIO<br/>base 0x4000_1000" --> MMIO
59
+ subgraph RTL["rtl/ (Chisel)"]
60
+ MMIO["CcuMmio<br/>register wrapper"] -- "rawIntent, information,<br/>passionBound" --> NEXUS["IntentNexus<br/>gated 32-bit multiplier<br/>+ 8-bit idle counter"]
61
+ NEXUS -- "emergentStructure,<br/>systemEntropy" --> MMIO
62
+ end
63
+ SPICE["spice/<br/>NAND transient netlist<br/>(placeholder models)"]:::side
64
+ classDef side stroke-dasharray: 4 3;
65
+ ```
66
+
67
+ ## Inside `IntentNexus`
68
+
69
+ ```mermaid
70
+ flowchart TD
71
+ A[rawIntent] --> M["multiply<br/>keep low 32 bits"]
72
+ B[information] --> M
73
+ M --> X{passionBound?}
74
+ X -- 1 --> P[emergentStructure = product]
75
+ X -- 0 --> Z[emergentStructure = 0]
76
+ X -- 1 --> C0[counter := 0]
77
+ X -- 0 --> INC{counter == 255?}
78
+ INC -- no --> C1[counter := counter + 1]
79
+ INC -- yes --> C2[counter holds at 255]
80
+ C0 --> E[systemEntropy]
81
+ C1 --> E
82
+ C2 --> E
83
+ ```
84
+
85
+ ## Driver flow (`Ccu.compute`)
86
+
87
+ ```mermaid
88
+ flowchart TD
89
+ S([compute a, b]) --> R[read system_entropy & 0xFF]
90
+ R --> Q{"> ENTROPY_LIMIT (200)?"}
91
+ Q -- yes --> ERR([error.EntropyExceeded])
92
+ Q -- no --> W["write raw_intent, information,<br/>then passion_bound = 1"]
93
+ W --> F[fence]
94
+ F --> RD[read emergent_structure]
95
+ RD --> U[write passion_bound = 0]
96
+ U --> OK([return product])
97
+ ```
98
+
99
+ ## CI pipeline
100
+
101
+ ```mermaid
102
+ flowchart LR
103
+ T["push / PR /<br/>workflow_dispatch"] --> J1["rtl<br/>sbt test"]
104
+ T --> J2["firmware<br/>zig build test, zig build"]
105
+ T --> J3["spice<br/>ngspice -b nexus_nand.sp"]
106
+ ```
107
+
108
+ ## Commands
109
+
110
+ ```sh
111
+ cd rtl && sbt test # unit tests; `sbt run` emits Verilog to rtl/generated
112
+ cd firmware && zig build test # host-side driver tests
113
+ cd firmware && zig build # RV32IM ELF
114
+ cd spice && ngspice -b nexus_nand.sp
115
+ ```
116
+
117
+ ## Status
118
+
119
+ First local run is recorded in [verification/FIRST-RUN.md](verification/FIRST-RUN.md).
120
+ RTL tests passed, `sbt run` emitted Verilog, Zig host tests passed, and the
121
+ SPICE deck printed `t_emergence`. Debug firmware does not fit the 64K ROM;
122
+ `zig build` defaults to ReleaseSmall for that reason. The SPICE models are
123
+ still placeholders. No process or clock claim.
124
+
125
+ ## License
126
+
127
+ Licensed under the [Apache License 2.0](LICENSE).
128
+
129
+ ### 💼 Commercial License
130
+
131
+ This repository is published under **Apache-2.0**. Building a commercial product or service? A **proprietary commercial license** from Snapkitty Collective LLC lets you ship this code on terms other than Apache-2.0.
132
+
133
+ **[→ Get a commercial license](mailto:A.parr@belespritdaccord.uk?subject=Commercial%20license:%20Intent-V)** · A.parr@belespritdaccord.uk
134
+