aboutsummaryrefslogtreecommitdiffstats
path: root/digital/atk16_mem.dig
diff options
context:
space:
mode:
Diffstat (limited to 'digital/atk16_mem.dig')
-rw-r--r--digital/atk16_mem.dig461
1 files changed, 461 insertions, 0 deletions
diff --git a/digital/atk16_mem.dig b/digital/atk16_mem.dig
new file mode 100644
index 0000000..f323545
--- /dev/null
+++ b/digital/atk16_mem.dig
@@ -0,0 +1,461 @@
+<?xml version="1.0" encoding="utf-8"?>
+<circuit>
+ <version>2</version>
+ <attributes/>
+ <visualElements>
+ <visualElement>
+ <elementName>RAMAsync</elementName>
+ <elementAttributes>
+ <entry>
+ <string>AddrBits</string>
+ <int>15</int>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>MEM_RAM</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>16</int>
+ </entry>
+ </elementAttributes>
+ <pos x="680" y="280"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation rotation="2"/>
+ </entry>
+ <entry>
+ <string>NetName</string>
+ <string>MEM_IE</string>
+ </entry>
+ </elementAttributes>
+ <pos x="680" y="320"/>
+ </visualElement>
+ <visualElement>
+ <elementName>EEPROM</elementName>
+ <elementAttributes>
+ <entry>
+ <string>AddrBits</string>
+ <int>15</int>
+ </entry>
+ <entry>
+ <string>isProgramMemory</string>
+ <boolean>true</boolean>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>MEM_ROM</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>16</int>
+ </entry>
+ <entry>
+ <string>Data</string>
+ <data>4019,5200,8000,4051,40a2,29b,4014,2804,38c0,d9,40f2,4084,293,6500
+,4011,f000,4009,f000</data>
+ </entry>
+ </elementAttributes>
+ <pos x="740" y="100"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Splitter</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Input Splitting</string>
+ <string>16</string>
+ </entry>
+ <entry>
+ <string>Output Splitting</string>
+ <string>15,1</string>
+ </entry>
+ </elementAttributes>
+ <pos x="520" y="180"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Demultiplexer</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Bits</string>
+ <int>15</int>
+ </entry>
+ </elementAttributes>
+ <pos x="560" y="160"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Ground</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation rotation="1"/>
+ </entry>
+ </elementAttributes>
+ <pos x="720" y="160"/>
+ </visualElement>
+ <visualElement>
+ <elementName>In</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Description</string>
+ <string>Address</string>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>ADDR</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>16</int>
+ </entry>
+ </elementAttributes>
+ <pos x="360" y="180"/>
+ </visualElement>
+ <visualElement>
+ <elementName>In</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Description</string>
+ <string>Data bus</string>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>DBUS</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>16</int>
+ </entry>
+ <entry>
+ <string>isHighZ</string>
+ <boolean>true</boolean>
+ </entry>
+ </elementAttributes>
+ <pos x="360" y="300"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Driver</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation rotation="2"/>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>16</int>
+ </entry>
+ </elementAttributes>
+ <pos x="700" y="440"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation rotation="3"/>
+ </entry>
+ <entry>
+ <string>NetName</string>
+ <string>MEM_OE</string>
+ </entry>
+ </elementAttributes>
+ <pos x="700" y="480"/>
+ </visualElement>
+ <visualElement>
+ <elementName>In</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Description</string>
+ <string>Memory input enable</string>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>MEM_IE</string>
+ </entry>
+ </elementAttributes>
+ <pos x="360" y="420"/>
+ </visualElement>
+ <visualElement>
+ <elementName>In</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Description</string>
+ <string>Memory output enable</string>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>MEM_OE</string>
+ </entry>
+ </elementAttributes>
+ <pos x="360" y="540"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>NetName</string>
+ <string>MEM_OE</string>
+ </entry>
+ </elementAttributes>
+ <pos x="380" y="540"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>NetName</string>
+ <string>MEM_IE</string>
+ </entry>
+ </elementAttributes>
+ <pos x="380" y="420"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Testcase</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Testdata</string>
+ <testData>
+ <dataString>ADDR MEM_IE MEM_OE DBUS DBUS_out
+
+# read ROM
+program(0xFF)
+0x0 0 1 Z 0xFF
+
+# read RAM
+memory MEM_RAM(0x0)=0x55;
+0 0 0 Z X
+0x8000 0 1 Z 0x55
+
+# write to RAM
+0x8000 1 0 0xAA 0xAA
+0x8000 0 1 Z 0xAA
+</dataString>
+ </testData>
+ </entry>
+ </elementAttributes>
+ <pos x="940" y="340"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Driver</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Bits</string>
+ <int>16</int>
+ </entry>
+ </elementAttributes>
+ <pos x="800" y="300"/>
+ </visualElement>
+ <visualElement>
+ <elementName>VDD</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation rotation="1"/>
+ </entry>
+ </elementAttributes>
+ <pos x="720" y="120"/>
+ </visualElement>
+ <visualElement>
+ <elementName>VDD</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation reference="../../../../visualElement[17]/elementAttributes/entry/rotation"/>
+ </entry>
+ </elementAttributes>
+ <pos x="720" y="180"/>
+ </visualElement>
+ <visualElement>
+ <elementName>DriverInvSel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation rotation="3"/>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>16</int>
+ </entry>
+ <entry>
+ <string>flipSelPos</string>
+ <boolean>true</boolean>
+ </entry>
+ </elementAttributes>
+ <pos x="840" y="180"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Probe</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Label</string>
+ <string>ROM_OUT</string>
+ </entry>
+ </elementAttributes>
+ <pos x="880" y="140"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Probe</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Label</string>
+ <string>RAM_OUT</string>
+ </entry>
+ </elementAttributes>
+ <pos x="900" y="320"/>
+ </visualElement>
+ </visualElements>
+ <wires>
+ <wire>
+ <p1 x="600" y="160"/>
+ <p2 x="620" y="160"/>
+ </wire>
+ <wire>
+ <p1 x="720" y="160"/>
+ <p2 x="740" y="160"/>
+ </wire>
+ <wire>
+ <p1 x="760" y="320"/>
+ <p2 x="900" y="320"/>
+ </wire>
+ <wire>
+ <p1 x="620" y="100"/>
+ <p2 x="740" y="100"/>
+ </wire>
+ <wire>
+ <p1 x="360" y="420"/>
+ <p2 x="380" y="420"/>
+ </wire>
+ <wire>
+ <p1 x="540" y="200"/>
+ <p2 x="580" y="200"/>
+ </wire>
+ <wire>
+ <p1 x="600" y="200"/>
+ <p2 x="620" y="200"/>
+ </wire>
+ <wire>
+ <p1 x="360" y="300"/>
+ <p2 x="520" y="300"/>
+ </wire>
+ <wire>
+ <p1 x="820" y="300"/>
+ <p2 x="840" y="300"/>
+ </wire>
+ <wire>
+ <p1 x="740" y="300"/>
+ <p2 x="760" y="300"/>
+ </wire>
+ <wire>
+ <p1 x="520" y="300"/>
+ <p2 x="680" y="300"/>
+ </wire>
+ <wire>
+ <p1 x="760" y="300"/>
+ <p2 x="780" y="300"/>
+ </wire>
+ <wire>
+ <p1 x="800" y="140"/>
+ <p2 x="840" y="140"/>
+ </wire>
+ <wire>
+ <p1 x="840" y="140"/>
+ <p2 x="880" y="140"/>
+ </wire>
+ <wire>
+ <p1 x="640" y="240"/>
+ <p2 x="800" y="240"/>
+ </wire>
+ <wire>
+ <p1 x="800" y="240"/>
+ <p2 x="820" y="240"/>
+ </wire>
+ <wire>
+ <p1 x="540" y="180"/>
+ <p2 x="560" y="180"/>
+ </wire>
+ <wire>
+ <p1 x="360" y="180"/>
+ <p2 x="520" y="180"/>
+ </wire>
+ <wire>
+ <p1 x="720" y="180"/>
+ <p2 x="740" y="180"/>
+ </wire>
+ <wire>
+ <p1 x="620" y="280"/>
+ <p2 x="680" y="280"/>
+ </wire>
+ <wire>
+ <p1 x="520" y="440"/>
+ <p2 x="680" y="440"/>
+ </wire>
+ <wire>
+ <p1 x="720" y="440"/>
+ <p2 x="840" y="440"/>
+ </wire>
+ <wire>
+ <p1 x="720" y="120"/>
+ <p2 x="740" y="120"/>
+ </wire>
+ <wire>
+ <p1 x="580" y="220"/>
+ <p2 x="640" y="220"/>
+ </wire>
+ <wire>
+ <p1 x="360" y="540"/>
+ <p2 x="380" y="540"/>
+ </wire>
+ <wire>
+ <p1 x="640" y="220"/>
+ <p2 x="640" y="240"/>
+ </wire>
+ <wire>
+ <p1 x="800" y="240"/>
+ <p2 x="800" y="280"/>
+ </wire>
+ <wire>
+ <p1 x="580" y="200"/>
+ <p2 x="580" y="220"/>
+ </wire>
+ <wire>
+ <p1 x="820" y="180"/>
+ <p2 x="820" y="240"/>
+ </wire>
+ <wire>
+ <p1 x="520" y="300"/>
+ <p2 x="520" y="440"/>
+ </wire>
+ <wire>
+ <p1 x="840" y="200"/>
+ <p2 x="840" y="300"/>
+ </wire>
+ <wire>
+ <p1 x="840" y="140"/>
+ <p2 x="840" y="160"/>
+ </wire>
+ <wire>
+ <p1 x="840" y="300"/>
+ <p2 x="840" y="440"/>
+ </wire>
+ <wire>
+ <p1 x="760" y="300"/>
+ <p2 x="760" y="320"/>
+ </wire>
+ <wire>
+ <p1 x="620" y="100"/>
+ <p2 x="620" y="160"/>
+ </wire>
+ <wire>
+ <p1 x="620" y="200"/>
+ <p2 x="620" y="280"/>
+ </wire>
+ <wire>
+ <p1 x="700" y="460"/>
+ <p2 x="700" y="480"/>
+ </wire>
+ </wires>
+ <measurementOrdering/>
+</circuit> \ No newline at end of file