diff options
| author | Jan Tuomi <jans.tuomi@gmail.com> | 2023-04-08 17:20:32 +0300 |
|---|---|---|
| committer | Jan Tuomi <jans.tuomi@gmail.com> | 2023-04-08 17:20:32 +0300 |
| commit | 5ab9865fa6ed343ae0cffefb81b20af2e533e36f (patch) | |
| tree | 57949a3b8335cdf58234e366e50701a19bd6c21d /digital/atk16_mem.dig | |
| parent | 10e0c53890701abe53c80f1da4a0b64bbd05914c (diff) | |
Move from logisim to digital
Diffstat (limited to 'digital/atk16_mem.dig')
| -rw-r--r-- | digital/atk16_mem.dig | 461 |
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 |
