aboutsummaryrefslogtreecommitdiffstats
path: root/digital/atk16_ppu.dig
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2023-04-14 23:08:59 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2023-04-14 23:51:12 +0300
commitf6dc1ad1f894f7617477d09d87ad7bbd03acff8f (patch)
tree37aecaa135459c99d3420a8e38538cf47eb40fa3 /digital/atk16_ppu.dig
parentb7980bd1f6f9351fc421807ddd48d9f3a76b19fd (diff)
Add PPU and relevant memories
Diffstat (limited to 'digital/atk16_ppu.dig')
-rw-r--r--digital/atk16_ppu.dig993
1 files changed, 634 insertions, 359 deletions
diff --git a/digital/atk16_ppu.dig b/digital/atk16_ppu.dig
index 17b9447..8f373a3 100644
--- a/digital/atk16_ppu.dig
+++ b/digital/atk16_ppu.dig
@@ -84,14 +84,14 @@
<int>10</int>
</entry>
</elementAttributes>
- <pos x="320" y="180"/>
+ <pos x="540" y="60"/>
</visualElement>
<visualElement>
<elementName>Const</elementName>
<elementAttributes>
<entry>
<string>Value</string>
- <long>523</long>
+ <long>113</long>
</entry>
<entry>
<string>Bits</string>
@@ -102,174 +102,201 @@
<intFormat>dec</intFormat>
</entry>
</elementAttributes>
- <pos x="300" y="200"/>
+ <pos x="520" y="80"/>
</visualElement>
<visualElement>
- <elementName>Counter</elementName>
+ <elementName>Comparator</elementName>
<elementAttributes>
<entry>
<string>Bits</string>
<int>10</int>
</entry>
</elementAttributes>
- <pos x="160" y="180"/>
+ <pos x="540" y="-20"/>
</visualElement>
<visualElement>
- <elementName>VDD</elementName>
+ <elementName>Const</elementName>
<elementAttributes>
<entry>
- <string>rotation</string>
- <rotation reference="../../../../visualElement[4]/elementAttributes/entry/rotation"/>
+ <string>Value</string>
+ <long>16</long>
</entry>
- </elementAttributes>
- <pos x="120" y="180"/>
- </visualElement>
- <visualElement>
- <elementName>Comparator</elementName>
- <elementAttributes>
<entry>
<string>Bits</string>
<int>10</int>
</entry>
+ <entry>
+ <string>intFormat</string>
+ <intFormat>dec</intFormat>
+ </entry>
</elementAttributes>
- <pos x="320" y="260"/>
+ <pos x="520" y="0"/>
</visualElement>
<visualElement>
- <elementName>Const</elementName>
+ <elementName>NAnd</elementName>
+ <elementAttributes/>
+ <pos x="640" y="20"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
<elementAttributes>
<entry>
- <string>Value</string>
- <long>488</long>
+ <string>NetName</string>
+ <string>HSYNC</string>
</entry>
+ </elementAttributes>
+ <pos x="740" y="40"/>
+ </visualElement>
+ <visualElement>
+ <elementName>In</elementName>
+ <elementAttributes>
<entry>
- <string>Bits</string>
- <int>10</int>
+ <string>Description</string>
+ <string>Pixel clock</string>
</entry>
<entry>
- <string>intFormat</string>
- <intFormat>dec</intFormat>
+ <string>Label</string>
+ <string>PCLK</string>
</entry>
</elementAttributes>
- <pos x="300" y="280"/>
+ <pos x="-60" y="420"/>
</visualElement>
<visualElement>
- <elementName>Comparator</elementName>
+ <elementName>Tunnel</elementName>
<elementAttributes>
<entry>
- <string>Bits</string>
- <int>10</int>
+ <string>NetName</string>
+ <string>PCLK</string>
</entry>
</elementAttributes>
- <pos x="540" y="60"/>
+ <pos x="-40" y="420"/>
</visualElement>
<visualElement>
- <elementName>Const</elementName>
+ <elementName>In</elementName>
<elementAttributes>
<entry>
- <string>Value</string>
- <long>751</long>
- </entry>
- <entry>
- <string>Bits</string>
- <int>10</int>
+ <string>Description</string>
+ <string>CPU clock</string>
</entry>
<entry>
- <string>intFormat</string>
- <intFormat>dec</intFormat>
+ <string>Label</string>
+ <string>CLK</string>
</entry>
</elementAttributes>
- <pos x="520" y="80"/>
+ <pos x="-60" y="460"/>
</visualElement>
<visualElement>
- <elementName>Comparator</elementName>
+ <elementName>Tunnel</elementName>
<elementAttributes>
<entry>
- <string>Bits</string>
- <int>10</int>
+ <string>NetName</string>
+ <string>CLK</string>
</entry>
</elementAttributes>
- <pos x="540" y="-20"/>
+ <pos x="-40" y="460"/>
</visualElement>
<visualElement>
- <elementName>Const</elementName>
+ <elementName>RAMDualPort</elementName>
<elementAttributes>
<entry>
- <string>Value</string>
- <long>654</long>
+ <string>AddrBits</string>
+ <int>11</int>
</entry>
<entry>
- <string>Bits</string>
- <int>10</int>
+ <string>Label</string>
+ <string>SPRITE MEM</string>
</entry>
<entry>
- <string>intFormat</string>
- <intFormat>dec</intFormat>
+ <string>Bits</string>
+ <int>16</int>
</entry>
</elementAttributes>
- <pos x="520" y="0"/>
+ <pos x="-220" y="-140"/>
</visualElement>
<visualElement>
- <elementName>Comparator</elementName>
+ <elementName>Text</elementName>
<elementAttributes>
<entry>
- <string>Bits</string>
- <int>10</int>
+ <string>Description</string>
+ <string>(8 pixels wide x 8 pixels tall + 12 bit X + 12 bit Y + 8 bit priority)
+x 21 sprites
+&lt; 2**11 = 2048 words</string>
</entry>
</elementAttributes>
- <pos x="320" y="340"/>
+ <pos x="-500" y="-320"/>
</visualElement>
<visualElement>
- <elementName>Const</elementName>
+ <elementName>Text</elementName>
<elementAttributes>
<entry>
- <string>Value</string>
- <long>491</long>
+ <string>Description</string>
+ <string>2**11 selector addresses for
+sprite mem, starting from 0x0800</string>
</entry>
+ </elementAttributes>
+ <pos x="-400" y="140"/>
+ </visualElement>
+ <visualElement>
+ <elementName>In</elementName>
+ <elementAttributes>
<entry>
- <string>Bits</string>
- <int>10</int>
+ <string>Label</string>
+ <string>MMIO_IE</string>
</entry>
+ </elementAttributes>
+ <pos x="-380" y="-100"/>
+ </visualElement>
+ <visualElement>
+ <elementName>In</elementName>
+ <elementAttributes>
<entry>
- <string>intFormat</string>
- <intFormat>dec</intFormat>
+ <string>Label</string>
+ <string>MMIO_OE</string>
</entry>
</elementAttributes>
- <pos x="300" y="360"/>
+ <pos x="-380" y="-60"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
<elementAttributes>
<entry>
+ <string>rotation</string>
+ <rotation rotation="2"/>
+ </entry>
+ <entry>
<string>NetName</string>
- <string>VSYNC</string>
+ <string>CLK</string>
</entry>
</elementAttributes>
- <pos x="560" y="320"/>
+ <pos x="-240" y="-80"/>
</visualElement>
<visualElement>
- <elementName>NAnd</elementName>
- <elementAttributes/>
- <pos x="640" y="20"/>
+ <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>
+ </elementAttributes>
+ <pos x="-60" y="380"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
<elementAttributes>
<entry>
<string>NetName</string>
- <string>HSYNC</string>
+ <string>DBUS</string>
</entry>
</elementAttributes>
- <pos x="740" y="40"/>
- </visualElement>
- <visualElement>
- <elementName>NAnd</elementName>
- <elementAttributes/>
- <pos x="420" y="300"/>
- </visualElement>
- <visualElement>
- <elementName>VGA</elementName>
- <elementAttributes/>
- <pos x="760" y="160"/>
+ <pos x="-40" y="380"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -280,10 +307,10 @@
</entry>
<entry>
<string>NetName</string>
- <string>PCLK</string>
+ <string>DBUS</string>
</entry>
</elementAttributes>
- <pos x="740" y="260"/>
+ <pos x="-240" y="-120"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -294,38 +321,74 @@
</entry>
<entry>
<string>NetName</string>
- <string>HSYNC</string>
+ <string>SMEMBUS</string>
</entry>
</elementAttributes>
- <pos x="760" y="220"/>
+ <pos x="-240" y="-140"/>
</visualElement>
<visualElement>
- <elementName>Tunnel</elementName>
+ <elementName>In</elementName>
<elementAttributes>
<entry>
- <string>rotation</string>
- <rotation rotation="2"/>
+ <string>Description</string>
+ <string>MMI/O selector</string>
</entry>
<entry>
- <string>NetName</string>
- <string>VSYNC</string>
+ <string>Label</string>
+ <string>MMIO_S</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>13</int>
</entry>
</elementAttributes>
- <pos x="760" y="240"/>
+ <pos x="-360" y="40"/>
</visualElement>
<visualElement>
- <elementName>Tunnel</elementName>
+ <elementName>Splitter</elementName>
<elementAttributes>
<entry>
- <string>rotation</string>
- <rotation rotation="2"/>
+ <string>Input Splitting</string>
+ <string>13</string>
</entry>
<entry>
+ <string>Output Splitting</string>
+ <string>11,1,1</string>
+ </entry>
+ </elementAttributes>
+ <pos x="-340" y="40"/>
+ </visualElement>
+ <visualElement>
+ <elementName>And</elementName>
+ <elementAttributes>
+ <entry>
+ <string>inverterConfig</string>
+ <inverterConfig>
+ <string>In_2</string>
+ </inverterConfig>
+ </entry>
+ </elementAttributes>
+ <pos x="-280" y="60"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
<string>NetName</string>
- <string>PR</string>
+ <string>SMEMBUS</string>
+ </entry>
+ </elementAttributes>
+ <pos x="-120" y="40"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Multiplexer</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Bits</string>
+ <int>11</int>
</entry>
</elementAttributes>
- <pos x="740" y="160"/>
+ <pos x="-180" y="20"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -336,10 +399,10 @@
</entry>
<entry>
<string>NetName</string>
- <string>PG</string>
+ <string>SM_QUERY</string>
</entry>
</elementAttributes>
- <pos x="740" y="180"/>
+ <pos x="-200" y="20"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -350,358 +413,514 @@
</entry>
<entry>
<string>NetName</string>
- <string>PB</string>
+ <string>SM_QUERY</string>
</entry>
</elementAttributes>
- <pos x="740" y="200"/>
+ <pos x="-120" y="280"/>
</visualElement>
<visualElement>
- <elementName>In</elementName>
+ <elementName>Ground</elementName>
<elementAttributes>
<entry>
- <string>Description</string>
- <string>Pixel clock</string>
+ <string>Bits</string>
+ <int>11</int>
</entry>
+ </elementAttributes>
+ <pos x="-100" y="300"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Const</elementName>
+ <elementAttributes>
<entry>
- <string>Label</string>
- <string>PCLK</string>
+ <string>Value</string>
+ <long>160</long>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>10</int>
+ </entry>
+ <entry>
+ <string>intFormat</string>
+ <intFormat>dec</intFormat>
</entry>
</elementAttributes>
- <pos x="-60" y="420"/>
+ <pos x="520" y="160"/>
</visualElement>
<visualElement>
- <elementName>Tunnel</elementName>
+ <elementName>Sub</elementName>
<elementAttributes>
<entry>
- <string>NetName</string>
- <string>PCLK</string>
+ <string>Bits</string>
+ <int>10</int>
</entry>
</elementAttributes>
- <pos x="-40" y="420"/>
+ <pos x="540" y="140"/>
</visualElement>
<visualElement>
- <elementName>Add</elementName>
+ <elementName>Ground</elementName>
+ <elementAttributes/>
+ <pos x="520" y="200"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Comparator</elementName>
<elementAttributes>
<entry>
<string>Bits</string>
<int>10</int>
</entry>
</elementAttributes>
- <pos x="320" y="500"/>
+ <pos x="340" y="300"/>
</visualElement>
<visualElement>
<elementName>Const</elementName>
<elementAttributes>
<entry>
+ <string>Value</string>
+ <long>523</long>
+ </entry>
+ <entry>
<string>Bits</string>
<int>10</int>
</entry>
+ <entry>
+ <string>intFormat</string>
+ <intFormat>dec</intFormat>
+ </entry>
</elementAttributes>
- <pos x="300" y="520"/>
+ <pos x="320" y="320"/>
</visualElement>
<visualElement>
- <elementName>In</elementName>
+ <elementName>Counter</elementName>
<elementAttributes>
<entry>
- <string>Description</string>
- <string>CPU clock</string>
- </entry>
- <entry>
- <string>Label</string>
- <string>CLK</string>
+ <string>Bits</string>
+ <int>10</int>
</entry>
</elementAttributes>
- <pos x="-60" y="460"/>
+ <pos x="180" y="300"/>
</visualElement>
<visualElement>
- <elementName>Tunnel</elementName>
+ <elementName>VDD</elementName>
<elementAttributes>
<entry>
- <string>NetName</string>
- <string>CLK</string>
+ <string>rotation</string>
+ <rotation rotation="1"/>
</entry>
</elementAttributes>
- <pos x="-40" y="460"/>
+ <pos x="140" y="300"/>
</visualElement>
<visualElement>
- <elementName>Ground</elementName>
- <elementAttributes/>
- <pos x="300" y="560"/>
+ <elementName>Comparator</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Bits</string>
+ <int>10</int>
+ </entry>
+ </elementAttributes>
+ <pos x="540" y="300"/>
</visualElement>
<visualElement>
- <elementName>BarrelShifter</elementName>
+ <elementName>Const</elementName>
<elementAttributes>
<entry>
+ <string>Value</string>
+ <long>10</long>
+ </entry>
+ <entry>
<string>Bits</string>
<int>10</int>
</entry>
<entry>
- <string>direction</string>
- <direction>right</direction>
+ <string>intFormat</string>
+ <intFormat>dec</intFormat>
</entry>
</elementAttributes>
- <pos x="300" y="-80"/>
+ <pos x="520" y="320"/>
</visualElement>
<visualElement>
- <elementName>Const</elementName>
+ <elementName>Comparator</elementName>
<elementAttributes>
<entry>
<string>Bits</string>
- <int>4</int>
+ <int>10</int>
</entry>
</elementAttributes>
- <pos x="280" y="-40"/>
+ <pos x="540" y="380"/>
</visualElement>
<visualElement>
- <elementName>BarrelShifter</elementName>
+ <elementName>Const</elementName>
<elementAttributes>
<entry>
+ <string>Value</string>
+ <long>13</long>
+ </entry>
+ <entry>
<string>Bits</string>
<int>10</int>
</entry>
<entry>
- <string>direction</string>
- <direction>right</direction>
+ <string>intFormat</string>
+ <intFormat>dec</intFormat>
</entry>
</elementAttributes>
- <pos x="200" y="480"/>
+ <pos x="520" y="400"/>
</visualElement>
<visualElement>
- <elementName>Const</elementName>
+ <elementName>Tunnel</elementName>
<elementAttributes>
<entry>
- <string>Bits</string>
- <int>4</int>
+ <string>NetName</string>
+ <string>VSYNC</string>
</entry>
</elementAttributes>
- <pos x="180" y="520"/>
+ <pos x="780" y="360"/>
</visualElement>
<visualElement>
- <elementName>Splitter</elementName>
+ <elementName>NAnd</elementName>
+ <elementAttributes/>
+ <pos x="640" y="340"/>
+ </visualElement>
+ <visualElement>
+ <elementName>VGA</elementName>
+ <elementAttributes/>
+ <pos x="-100" y="540"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
<elementAttributes>
<entry>
- <string>Input Splitting</string>
- <string>10</string>
+ <string>rotation</string>
+ <rotation rotation="2"/>
</entry>
<entry>
- <string>Output Splitting</string>
- <string>2,8</string>
+ <string>NetName</string>
+ <string>PCLK</string>
</entry>
</elementAttributes>
- <pos x="420" y="440"/>
+ <pos x="-120" y="640"/>
</visualElement>
<visualElement>
- <elementName>Splitter</elementName>
+ <elementName>Tunnel</elementName>
<elementAttributes>
<entry>
- <string>Input Splitting</string>
- <string>10</string>
+ <string>rotation</string>
+ <rotation rotation="2"/>
</entry>
<entry>
- <string>Output Splitting</string>
- <string>1,9</string>
+ <string>NetName</string>
+ <string>HSYNC</string>
</entry>
</elementAttributes>
- <pos x="420" y="540"/>
+ <pos x="-100" y="600"/>
</visualElement>
<visualElement>
- <elementName>Out</elementName>
+ <elementName>Tunnel</elementName>
<elementAttributes>
<entry>
- <string>Description</string>
- <string>Index of next scanline</string>
+ <string>rotation</string>
+ <rotation rotation="2"/>
</entry>
<entry>
- <string>Label</string>
- <string>SCANLINE</string>
+ <string>NetName</string>
+ <string>VSYNC</string>
+ </entry>
+ </elementAttributes>
+ <pos x="-100" y="620"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation rotation="2"/>
</entry>
<entry>
- <string>Bits</string>
- <int>9</int>
+ <string>NetName</string>
+ <string>PR</string>
</entry>
</elementAttributes>
- <pos x="460" y="560"/>
+ <pos x="-120" y="540"/>
</visualElement>
<visualElement>
- <elementName>Register</elementName>
+ <elementName>Tunnel</elementName>
<elementAttributes>
<entry>
- <string>Label</string>
- <string>VWORD</string>
+ <string>rotation</string>
+ <rotation rotation="2"/>
</entry>
<entry>
- <string>Bits</string>
- <int>16</int>
+ <string>NetName</string>
+ <string>PG</string>
</entry>
</elementAttributes>
- <pos x="460" y="-200"/>
+ <pos x="-120" y="560"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation rotation="2"/>
+ </entry>
+ <entry>
+ <string>NetName</string>
+ <string>PB</string>
+ </entry>
+ </elementAttributes>
+ <pos x="-120" y="580"/>
</visualElement>
<visualElement>
<elementName>Const</elementName>
<elementAttributes>
<entry>
<string>Value</string>
- <long>16927</long>
+ <long>45</long>
</entry>
<entry>
<string>Bits</string>
- <int>16</int>
+ <int>10</int>
</entry>
<entry>
<string>intFormat</string>
- <intFormat>hex</intFormat>
+ <intFormat>dec</intFormat>
</entry>
</elementAttributes>
- <pos x="440" y="-200"/>
+ <pos x="520" y="480"/>
</visualElement>
<visualElement>
- <elementName>VDD</elementName>
+ <elementName>Sub</elementName>
<elementAttributes>
<entry>
- <string>rotation</string>
- <rotation rotation="1"/>
+ <string>Bits</string>
+ <int>10</int>
</entry>
</elementAttributes>
- <pos x="440" y="-160"/>
+ <pos x="540" y="460"/>
</visualElement>
<visualElement>
- <elementName>Tunnel</elementName>
+ <elementName>Ground</elementName>
+ <elementAttributes/>
+ <pos x="520" y="520"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Splitter</elementName>
<elementAttributes>
<entry>
- <string>rotation</string>
- <rotation rotation="2"/>
+ <string>Input Splitting</string>
+ <string>10</string>
+ </entry>
+ <entry>
+ <string>Output Splitting</string>
+ <string>9,1</string>
</entry>
+ </elementAttributes>
+ <pos x="640" y="460"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
<entry>
<string>NetName</string>
- <string>CLK</string>
+ <string>Y</string>
</entry>
</elementAttributes>
- <pos x="440" y="-180"/>
+ <pos x="700" y="460"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>Input Splitting</string>
- <string>16</string>
+ <string>10</string>
</entry>
<entry>
<string>Output Splitting</string>
- <string>4*4</string>
+ <string>9,1</string>
</entry>
</elementAttributes>
- <pos x="600" y="-240"/>
+ <pos x="640" y="140"/>
</visualElement>
<visualElement>
- <elementName>Multiplexer</elementName>
+ <elementName>Tunnel</elementName>
<elementAttributes>
<entry>
- <string>Selector Bits</string>
- <int>2</int>
+ <string>NetName</string>
+ <string>X</string>
</entry>
+ </elementAttributes>
+ <pos x="700" y="140"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Text</elementName>
+ <elementAttributes>
<entry>
- <string>Bits</string>
- <int>4</int>
+ <string>Description</string>
+ <string>Div 2</string>
</entry>
</elementAttributes>
- <pos x="620" y="-240"/>
+ <pos x="620" y="180"/>
</visualElement>
<visualElement>
- <elementName>Splitter</elementName>
+ <elementName>Text</elementName>
<elementAttributes>
<entry>
- <string>Input Splitting</string>
- <string>4</string>
+ <string>Description</string>
+ <string>Div 2</string>
</entry>
+ </elementAttributes>
+ <pos x="640" y="500"/>
+ </visualElement>
+ <visualElement>
+ <elementName>RAMDualPort</elementName>
+ <elementAttributes>
<entry>
- <string>Output Splitting</string>
- <string>1*4</string>
+ <string>AddrBits</string>
+ <int>9</int>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>SCAN BUFFER</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>4</int>
</entry>
</elementAttributes>
- <pos x="700" y="-200"/>
+ <pos x="80" y="-180"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
<elementAttributes>
<entry>
+ <string>rotation</string>
+ <rotation rotation="2"/>
+ </entry>
+ <entry>
<string>NetName</string>
- <string>PG</string>
+ <string>X</string>
</entry>
</elementAttributes>
- <pos x="760" y="-180"/>
+ <pos x="60" y="-180"/>
</visualElement>
<visualElement>
- <elementName>Tunnel</elementName>
+ <elementName>Ground</elementName>
<elementAttributes>
<entry>
- <string>NetName</string>
- <string>PB</string>
+ <string>Bits</string>
+ <int>4</int>
</entry>
</elementAttributes>
- <pos x="760" y="-200"/>
+ <pos x="0" y="-140"/>
</visualElement>
<visualElement>
- <elementName>Tunnel</elementName>
+ <elementName>Ground</elementName>
+ <elementAttributes/>
+ <pos x="20" y="-120"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Ground</elementName>
+ <elementAttributes/>
+ <pos x="40" y="-100"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Ground</elementName>
+ <elementAttributes/>
+ <pos x="60" y="-80"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Splitter</elementName>
<elementAttributes>
<entry>
- <string>NetName</string>
- <string>PR</string>
+ <string>mirror</string>
+ <boolean>true</boolean>
+ </entry>
+ <entry>
+ <string>Input Splitting</string>
+ <string>4</string>
+ </entry>
+ <entry>
+ <string>Output Splitting</string>
+ <string>1*4</string>
</entry>
</elementAttributes>
- <pos x="760" y="-160"/>
+ <pos x="180" y="-140"/>
+ </visualElement>
+ <visualElement>
+ <elementName>atk16_ppu_palette.dig</elementName>
+ <elementAttributes/>
+ <pos x="260" y="-200"/>
</visualElement>
<visualElement>
- <elementName>Add</elementName>
+ <elementName>Splitter</elementName>
<elementAttributes>
<entry>
- <string>Bits</string>
- <int>2</int>
+ <string>Input Splitting</string>
+ <string>1,1</string>
+ </entry>
+ <entry>
+ <string>Output Splitting</string>
+ <string>2</string>
</entry>
</elementAttributes>
- <pos x="520" y="-100"/>
+ <pos x="380" y="-200"/>
</visualElement>
<visualElement>
- <elementName>Ground</elementName>
- <elementAttributes/>
- <pos x="500" y="-40"/>
+ <elementName>Splitter</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Input Splitting</string>
+ <string>1,1</string>
+ </entry>
+ <entry>
+ <string>Output Splitting</string>
+ <string>2</string>
+ </entry>
+ </elementAttributes>
+ <pos x="380" y="-160"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>Input Splitting</string>
- <string>10</string>
+ <string>1,1</string>
</entry>
<entry>
<string>Output Splitting</string>
- <string>2,8</string>
+ <string>2</string>
</entry>
</elementAttributes>
- <pos x="400" y="-60"/>
+ <pos x="380" y="-120"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
<elementAttributes>
<entry>
<string>NetName</string>
- <string>SCAN_L2</string>
+ <string>PR</string>
</entry>
</elementAttributes>
- <pos x="460" y="440"/>
+ <pos x="420" y="-200"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
<elementAttributes>
<entry>
- <string>rotation</string>
- <rotation rotation="2"/>
+ <string>NetName</string>
+ <string>PG</string>
</entry>
+ </elementAttributes>
+ <pos x="420" y="-160"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
<entry>
<string>NetName</string>
- <string>SCAN_L2</string>
+ <string>PB</string>
</entry>
</elementAttributes>
- <pos x="500" y="-100"/>
+ <pos x="420" y="-120"/>
</visualElement>
</visualElements>
<wires>
@@ -726,70 +945,94 @@
<p2 x="340" y="0"/>
</wire>
<wire>
- <p1 x="500" y="320"/>
- <p2 x="560" y="320"/>
- </wire>
- <wire>
- <p1 x="240" y="260"/>
- <p2 x="320" y="260"/>
+ <p1 x="320" y="320"/>
+ <p2 x="340" y="320"/>
</wire>
<wire>
- <p1 x="380" y="260"/>
- <p2 x="400" y="260"/>
+ <p1 x="100" y="320"/>
+ <p2 x="180" y="320"/>
</wire>
<wire>
- <p1 x="740" y="260"/>
- <p2 x="760" y="260"/>
+ <p1 x="520" y="320"/>
+ <p2 x="540" y="320"/>
</wire>
<wire>
- <p1 x="440" y="-200"/>
- <p2 x="460" y="-200"/>
+ <p1 x="-120" y="640"/>
+ <p2 x="-100" y="640"/>
</wire>
<wire>
- <p1 x="660" y="-200"/>
- <p2 x="700" y="-200"/>
+ <p1 x="-120" y="580"/>
+ <p2 x="-100" y="580"/>
</wire>
<wire>
- <p1 x="720" y="-200"/>
- <p2 x="760" y="-200"/>
+ <p1 x="200" y="-200"/>
+ <p2 x="260" y="-200"/>
</wire>
<wire>
- <p1 x="300" y="200"/>
- <p2 x="320" y="200"/>
+ <p1 x="400" y="-200"/>
+ <p2 x="420" y="-200"/>
</wire>
<wire>
- <p1 x="100" y="200"/>
- <p2 x="160" y="200"/>
+ <p1 x="-240" y="-140"/>
+ <p2 x="-220" y="-140"/>
</wire>
<wire>
- <p1 x="740" y="200"/>
- <p2 x="760" y="200"/>
+ <p1 x="20" y="-140"/>
+ <p2 x="80" y="-140"/>
</wire>
<wire>
- <p1 x="300" y="520"/>
- <p2 x="320" y="520"/>
+ <p1 x="140" y="-140"/>
+ <p2 x="180" y="-140"/>
</wire>
<wire>
- <p1 x="180" y="520"/>
- <p2 x="200" y="520"/>
+ <p1 x="200" y="-140"/>
+ <p2 x="260" y="-140"/>
</wire>
<wire>
<p1 x="-60" y="460"/>
<p2 x="-40" y="460"/>
</wire>
<wire>
- <p1 x="260" y="-80"/>
- <p2 x="300" y="-80"/>
+ <p1 x="660" y="460"/>
+ <p2 x="700" y="460"/>
+ </wire>
+ <wire>
+ <p1 x="600" y="460"/>
+ <p2 x="640" y="460"/>
+ </wire>
+ <wire>
+ <p1 x="440" y="460"/>
+ <p2 x="540" y="460"/>
+ </wire>
+ <wire>
+ <p1 x="440" y="140"/>
+ <p2 x="540" y="140"/>
+ </wire>
+ <wire>
+ <p1 x="660" y="140"/>
+ <p2 x="700" y="140"/>
+ </wire>
+ <wire>
+ <p1 x="600" y="140"/>
+ <p2 x="640" y="140"/>
</wire>
<wire>
- <p1 x="440" y="-80"/>
- <p2 x="520" y="-80"/>
+ <p1 x="-240" y="-80"/>
+ <p2 x="-220" y="-80"/>
</wire>
<wire>
<p1 x="520" y="80"/>
<p2 x="540" y="80"/>
</wire>
<wire>
+ <p1 x="-220" y="80"/>
+ <p2 x="-160" y="80"/>
+ </wire>
+ <wire>
+ <p1 x="520" y="400"/>
+ <p2 x="540" y="400"/>
+ </wire>
+ <wire>
<p1 x="600" y="-20"/>
<p2 x="620" y="-20"/>
</wire>
@@ -810,60 +1053,56 @@
<p2 x="640" y="20"/>
</wire>
<wire>
- <p1 x="180" y="340"/>
- <p2 x="240" y="340"/>
- </wire>
- <wire>
- <p1 x="400" y="340"/>
- <p2 x="420" y="340"/>
+ <p1 x="-200" y="20"/>
+ <p2 x="-180" y="20"/>
</wire>
<wire>
- <p1 x="240" y="340"/>
- <p2 x="320" y="340"/>
+ <p1 x="160" y="340"/>
+ <p2 x="180" y="340"/>
</wire>
<wire>
- <p1 x="300" y="280"/>
- <p2 x="320" y="280"/>
+ <p1 x="620" y="340"/>
+ <p2 x="640" y="340"/>
</wire>
<wire>
- <p1 x="140" y="220"/>
- <p2 x="160" y="220"/>
+ <p1 x="-120" y="280"/>
+ <p2 x="-100" y="280"/>
</wire>
<wire>
- <p1 x="300" y="540"/>
- <p2 x="320" y="540"/>
+ <p1 x="160" y="280"/>
+ <p2 x="420" y="280"/>
</wire>
<wire>
- <p1 x="400" y="540"/>
- <p2 x="420" y="540"/>
+ <p1 x="-120" y="540"/>
+ <p2 x="-100" y="540"/>
</wire>
<wire>
- <p1 x="440" y="-160"/>
- <p2 x="460" y="-160"/>
+ <p1 x="0" y="-160"/>
+ <p2 x="80" y="-160"/>
</wire>
<wire>
- <p1 x="720" y="-160"/>
- <p2 x="760" y="-160"/>
+ <p1 x="200" y="-160"/>
+ <p2 x="260" y="-160"/>
</wire>
<wire>
- <p1 x="140" y="160"/>
- <p2 x="400" y="160"/>
+ <p1 x="400" y="-160"/>
+ <p2 x="420" y="-160"/>
</wire>
<wire>
- <p1 x="740" y="160"/>
- <p2 x="760" y="160"/>
+ <p1 x="520" y="160"/>
+ <p2 x="540" y="160"/>
</wire>
<wire>
- <p1 x="180" y="480"/>
- <p2 x="200" y="480"/>
+ <p1 x="520" y="480"/>
+ <p2 x="540" y="480"/>
</wire>
<wire>
- <p1 x="500" y="-100"/>
- <p2 x="520" y="-100"/>
+ <p1 x="-380" y="-100"/>
+ <p2 x="-220" y="-100"/>
</wire>
<wire>
- <p1 x="580" y="-100"/>
- <p2 x="640" y="-100"/>
+ <p1 x="60" y="-100"/>
+ <p2 x="80" y="-100"/>
</wire>
<wire>
<p1 x="600" y="100"/>
@@ -874,12 +1113,16 @@
<p2 x="420" y="100"/>
</wire>
<wire>
+ <p1 x="-320" y="100"/>
+ <p2 x="-300" y="100"/>
+ </wire>
+ <wire>
<p1 x="-60" y="420"/>
<p2 x="-40" y="420"/>
</wire>
<wire>
- <p1 x="280" y="-40"/>
- <p2 x="300" y="-40"/>
+ <p1 x="600" y="420"/>
+ <p2 x="620" y="420"/>
</wire>
<wire>
<p1 x="100" y="40"/>
@@ -890,88 +1133,100 @@
<p2 x="740" y="40"/>
</wire>
<wire>
+ <p1 x="-360" y="40"/>
+ <p2 x="-340" y="40"/>
+ </wire>
+ <wire>
+ <p1 x="-320" y="40"/>
+ <p2 x="-200" y="40"/>
+ </wire>
+ <wire>
+ <p1 x="-140" y="40"/>
+ <p2 x="-120" y="40"/>
+ </wire>
+ <wire>
<p1 x="160" y="40"/>
<p2 x="180" y="40"/>
</wire>
<wire>
- <p1 x="300" y="360"/>
- <p2 x="320" y="360"/>
+ <p1 x="720" y="360"/>
+ <p2 x="780" y="360"/>
</wire>
<wire>
- <p1 x="400" y="300"/>
- <p2 x="420" y="300"/>
+ <p1 x="240" y="300"/>
+ <p2 x="260" y="300"/>
</wire>
<wire>
- <p1 x="560" y="-240"/>
- <p2 x="600" y="-240"/>
+ <p1 x="400" y="300"/>
+ <p2 x="420" y="300"/>
</wire>
<wire>
- <p1 x="440" y="560"/>
- <p2 x="460" y="560"/>
+ <p1 x="140" y="300"/>
+ <p2 x="180" y="300"/>
</wire>
<wire>
- <p1 x="440" y="-180"/>
- <p2 x="460" y="-180"/>
+ <p1 x="600" y="300"/>
+ <p2 x="620" y="300"/>
</wire>
<wire>
- <p1 x="520" y="-180"/>
- <p2 x="560" y="-180"/>
+ <p1 x="440" y="300"/>
+ <p2 x="540" y="300"/>
</wire>
<wire>
- <p1 x="720" y="-180"/>
- <p2 x="760" y="-180"/>
+ <p1 x="260" y="300"/>
+ <p2 x="340" y="300"/>
</wire>
<wire>
- <p1 x="220" y="180"/>
- <p2 x="240" y="180"/>
+ <p1 x="-120" y="560"/>
+ <p2 x="-100" y="560"/>
</wire>
<wire>
- <p1 x="380" y="180"/>
- <p2 x="400" y="180"/>
+ <p1 x="60" y="-180"/>
+ <p2 x="80" y="-180"/>
</wire>
<wire>
- <p1 x="120" y="180"/>
- <p2 x="160" y="180"/>
+ <p1 x="200" y="-180"/>
+ <p2 x="260" y="-180"/>
</wire>
<wire>
- <p1 x="740" y="180"/>
- <p2 x="760" y="180"/>
+ <p1 x="520" y="180"/>
+ <p2 x="540" y="180"/>
</wire>
<wire>
- <p1 x="240" y="180"/>
- <p2 x="320" y="180"/>
+ <p1 x="520" y="500"/>
+ <p2 x="540" y="500"/>
</wire>
<wire>
- <p1 x="260" y="500"/>
- <p2 x="320" y="500"/>
+ <p1 x="-240" y="-120"/>
+ <p2 x="-220" y="-120"/>
</wire>
<wire>
- <p1 x="380" y="500"/>
- <p2 x="400" y="500"/>
+ <p1 x="40" y="-120"/>
+ <p2 x="80" y="-120"/>
</wire>
<wire>
- <p1 x="400" y="440"/>
- <p2 x="420" y="440"/>
+ <p1 x="400" y="-120"/>
+ <p2 x="420" y="-120"/>
</wire>
<wire>
- <p1 x="440" y="440"/>
- <p2 x="460" y="440"/>
+ <p1 x="-380" y="-60"/>
+ <p2 x="-220" y="-60"/>
</wire>
<wire>
- <p1 x="360" y="-60"/>
- <p2 x="400" y="-60"/>
+ <p1 x="-60" y="380"/>
+ <p2 x="-40" y="380"/>
</wire>
<wire>
- <p1 x="500" y="-60"/>
- <p2 x="520" y="-60"/>
+ <p1 x="620" y="380"/>
+ <p2 x="640" y="380"/>
</wire>
<wire>
- <p1 x="420" y="-60"/>
- <p2 x="440" y="-60"/>
+ <p1 x="260" y="380"/>
+ <p2 x="440" y="380"/>
</wire>
<wire>
- <p1 x="380" y="380"/>
- <p2 x="400" y="380"/>
+ <p1 x="440" y="380"/>
+ <p2 x="540" y="380"/>
</wire>
<wire>
<p1 x="260" y="60"/>
@@ -982,6 +1237,14 @@
<p2 x="640" y="60"/>
</wire>
<wire>
+ <p1 x="-320" y="60"/>
+ <p2 x="-280" y="60"/>
+ </wire>
+ <wire>
+ <p1 x="-200" y="60"/>
+ <p2 x="-180" y="60"/>
+ </wire>
+ <wire>
<p1 x="440" y="60"/>
<p2 x="540" y="60"/>
</wire>
@@ -990,88 +1253,100 @@
<p2 x="160" y="100"/>
</wire>
<wire>
- <p1 x="640" y="-160"/>
- <p2 x="640" y="-100"/>
+ <p1 x="160" y="280"/>
+ <p2 x="160" y="340"/>
+ </wire>
+ <wire>
+ <p1 x="0" y="-160"/>
+ <p2 x="0" y="-140"/>
+ </wire>
+ <wire>
+ <p1 x="-100" y="280"/>
+ <p2 x="-100" y="300"/>
</wire>
<wire>
<p1 x="100" y="40"/>
- <p2 x="100" y="200"/>
+ <p2 x="100" y="320"/>
</wire>
<wire>
<p1 x="420" y="0"/>
<p2 x="420" y="100"/>
</wire>
<wire>
- <p1 x="260" y="-80"/>
- <p2 x="260" y="0"/>
+ <p1 x="420" y="280"/>
+ <p2 x="420" y="300"/>
+ </wire>
+ <wire>
+ <p1 x="260" y="300"/>
+ <p2 x="260" y="380"/>
</wire>
<wire>
<p1 x="260" y="0"/>
<p2 x="260" y="60"/>
</wire>
<wire>
- <p1 x="620" y="60"/>
- <p2 x="620" y="100"/>
+ <p1 x="-200" y="40"/>
+ <p2 x="-200" y="60"/>
</wire>
<wire>
- <p1 x="620" y="-20"/>
- <p2 x="620" y="20"/>
+ <p1 x="520" y="180"/>
+ <p2 x="520" y="200"/>
</wire>
<wire>
- <p1 x="140" y="160"/>
- <p2 x="140" y="220"/>
+ <p1 x="520" y="500"/>
+ <p2 x="520" y="520"/>
</wire>
<wire>
- <p1 x="300" y="540"/>
- <p2 x="300" y="560"/>
+ <p1 x="40" y="-120"/>
+ <p2 x="40" y="-100"/>
</wire>
<wire>
- <p1 x="400" y="160"/>
- <p2 x="400" y="180"/>
+ <p1 x="620" y="60"/>
+ <p2 x="620" y="100"/>
</wire>
<wire>
- <p1 x="400" y="340"/>
- <p2 x="400" y="380"/>
+ <p1 x="620" y="-20"/>
+ <p2 x="620" y="20"/>
</wire>
<wire>
- <p1 x="400" y="260"/>
- <p2 x="400" y="300"/>
+ <p1 x="620" y="380"/>
+ <p2 x="620" y="420"/>
</wire>
<wire>
- <p1 x="400" y="440"/>
- <p2 x="400" y="500"/>
+ <p1 x="620" y="300"/>
+ <p2 x="620" y="340"/>
</wire>
<wire>
- <p1 x="400" y="500"/>
- <p2 x="400" y="540"/>
+ <p1 x="20" y="-140"/>
+ <p2 x="20" y="-120"/>
</wire>
<wire>
- <p1 x="240" y="180"/>
- <p2 x="240" y="260"/>
+ <p1 x="440" y="-20"/>
+ <p2 x="440" y="60"/>
</wire>
<wire>
- <p1 x="240" y="260"/>
- <p2 x="240" y="340"/>
+ <p1 x="440" y="300"/>
+ <p2 x="440" y="380"/>
</wire>
<wire>
- <p1 x="560" y="-240"/>
- <p2 x="560" y="-180"/>
+ <p1 x="440" y="60"/>
+ <p2 x="440" y="140"/>
</wire>
<wire>
- <p1 x="180" y="340"/>
- <p2 x="180" y="480"/>
+ <p1 x="440" y="380"/>
+ <p2 x="440" y="460"/>
</wire>
<wire>
- <p1 x="500" y="-60"/>
- <p2 x="500" y="-40"/>
+ <p1 x="60" y="-100"/>
+ <p2 x="60" y="-80"/>
</wire>
<wire>
- <p1 x="440" y="-20"/>
- <p2 x="440" y="60"/>
+ <p1 x="-320" y="80"/>
+ <p2 x="-320" y="100"/>
</wire>
<wire>
- <p1 x="440" y="-80"/>
- <p2 x="440" y="-60"/>
+ <p1 x="-160" y="60"/>
+ <p2 x="-160" y="80"/>
</wire>
</wires>
<measurementOrdering/>