mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-19 09:54:49 -04:00
Added discrete implementation of a single cell in "Conways Game f Life".
This commit is contained in:
parent
9f7fe517cd
commit
c9ebbc52c4
455
src/main/dig/sequential/conway/descrete.dig
Normal file
455
src/main/dig/sequential/conway/descrete.dig
Normal file
@ -0,0 +1,455 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<circuit>
|
||||
<version>1</version>
|
||||
<attributes>
|
||||
<entry>
|
||||
<string>Description</string>
|
||||
<string>Implementaion of a single cell of "Conways game of
|
||||
life". This circuit is analyzed to create the truth table
|
||||
with 11 inputs and one output. Then the truth table
|
||||
is exported to a hex file, and this hex file is imported
|
||||
into a LUT to speedup the cellular automaton.</string>
|
||||
</entry>
|
||||
</attributes>
|
||||
<visualElements>
|
||||
<visualElement>
|
||||
<elementName>BitCount</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Bits</string>
|
||||
<int>8</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Splitter</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Input Splitting</string>
|
||||
<string>1*8</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="260" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Description</string>
|
||||
<string>neighbour</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>n1</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>n2</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="240" y="320"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>n3</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="340"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>n4</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="240" y="360"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>n5</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="380"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>n6</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="240" y="400"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>n7</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="420"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>n8</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="240" y="440"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Description</string>
|
||||
<string>state of the cell, alive (HIGH) or dead (LOW)</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>now</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Not</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="640" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Comparator</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Bits</string>
|
||||
<int>4</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="460" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Const</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Value</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Bits</string>
|
||||
<int>4</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="440" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>And</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="700" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Description</string>
|
||||
<string>State of cell in the next generation.</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>next</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="980" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Text</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>birth</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="700" y="160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Comparator</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Bits</string>
|
||||
<int>4</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="460" y="400"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Const</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Value</string>
|
||||
<int>2</int>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Bits</string>
|
||||
<int>4</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="440" y="400"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Or</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="580" y="340"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>And</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="700" y="320"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Text</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>survive</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="680" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Or</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="800" y="260"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Multiplexer</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="900" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Description</string>
|
||||
<string>If high, the value given in input init is used as the
|
||||
next state. Is used to initialize the cell.</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>sel</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="860" y="440"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Description</string>
|
||||
<string>The initial value of the cell. Is used if sel is high.</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>init</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="860" y="380"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Text</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>neighbours</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="120" y="480"/>
|
||||
</visualElement>
|
||||
</visualElements>
|
||||
<wires>
|
||||
<wire>
|
||||
<p1 x="240" y="320"/>
|
||||
<p2 x="260" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="320"/>
|
||||
<p2 x="700" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="880" y="320"/>
|
||||
<p2 x="900" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="780" y="260"/>
|
||||
<p2 x="800" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="420"/>
|
||||
<p2 x="260" y="420"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="420"/>
|
||||
<p2 x="460" y="420"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="520" y="420"/>
|
||||
<p2 x="560" y="420"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="240" y="360"/>
|
||||
<p2 x="260" y="360"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="640" y="360"/>
|
||||
<p2 x="700" y="360"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="200"/>
|
||||
<p2 x="620" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="680" y="200"/>
|
||||
<p2 x="700" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="200"/>
|
||||
<p2 x="640" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="300"/>
|
||||
<p2 x="320" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="300"/>
|
||||
<p2 x="260" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="300"/>
|
||||
<p2 x="420" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="520" y="300"/>
|
||||
<p2 x="560" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="780" y="300"/>
|
||||
<p2 x="800" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="940" y="300"/>
|
||||
<p2 x="980" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="300"/>
|
||||
<p2 x="460" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="440" y="400"/>
|
||||
<p2 x="460" y="400"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="240" y="400"/>
|
||||
<p2 x="260" y="400"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="560" y="240"/>
|
||||
<p2 x="700" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="340"/>
|
||||
<p2 x="260" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="560" y="340"/>
|
||||
<p2 x="580" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="760" y="340"/>
|
||||
<p2 x="780" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="240" y="440"/>
|
||||
<p2 x="260" y="440"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="440"/>
|
||||
<p2 x="920" y="440"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="440" y="280"/>
|
||||
<p2 x="460" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="280"/>
|
||||
<p2 x="900" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="760" y="220"/>
|
||||
<p2 x="780" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="560" y="380"/>
|
||||
<p2 x="580" y="380"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="380"/>
|
||||
<p2 x="260" y="380"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="380"/>
|
||||
<p2 x="880" y="380"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="560" y="240"/>
|
||||
<p2 x="560" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="560" y="380"/>
|
||||
<p2 x="560" y="420"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="560" y="300"/>
|
||||
<p2 x="560" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="880" y="320"/>
|
||||
<p2 x="880" y="380"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="300"/>
|
||||
<p2 x="420" y="420"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="920" y="320"/>
|
||||
<p2 x="920" y="440"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="200"/>
|
||||
<p2 x="620" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="780" y="300"/>
|
||||
<p2 x="780" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="780" y="220"/>
|
||||
<p2 x="780" y="260"/>
|
||||
</wire>
|
||||
</wires>
|
||||
</circuit>
|
Loading…
x
Reference in New Issue
Block a user