Toggle search
Search
Toggle menu
notifications
Toggle personal menu
Editing
Alpha Branch/Word width
From Turing Complete
Views
Read
Edit
Edit source
View history
associated-pages
Page
Discussion
More actions
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
Advanced
Special characters
Help
Heading
Level 2
Level 3
Level 4
Level 5
Format
Insert
Latin
Latin extended
IPA
Symbols
Greek
Greek extended
Cyrillic
Arabic
Arabic extended
Hebrew
Bangla
Tamil
Telugu
Sinhala
Devanagari
Gujarati
Thai
Lao
Khmer
Canadian Aboriginal
Runes
Á
á
À
à
Â
â
Ä
ä
Ã
ã
Ǎ
ǎ
Ā
ā
Ă
ă
Ą
ą
Å
å
Ć
ć
Ĉ
ĉ
Ç
ç
Č
č
Ċ
ċ
Đ
đ
Ď
ď
É
é
È
è
Ê
ê
Ë
ë
Ě
ě
Ē
ē
Ĕ
ĕ
Ė
ė
Ę
ę
Ĝ
ĝ
Ģ
ģ
Ğ
ğ
Ġ
ġ
Ĥ
ĥ
Ħ
ħ
Í
í
Ì
ì
Î
î
Ï
ï
Ĩ
ĩ
Ǐ
ǐ
Ī
ī
Ĭ
ĭ
İ
ı
Į
į
Ĵ
ĵ
Ķ
ķ
Ĺ
ĺ
Ļ
ļ
Ľ
ľ
Ł
ł
Ń
ń
Ñ
ñ
Ņ
ņ
Ň
ň
Ó
ó
Ò
ò
Ô
ô
Ö
ö
Õ
õ
Ǒ
ǒ
Ō
ō
Ŏ
ŏ
Ǫ
ǫ
Ő
ő
Ŕ
ŕ
Ŗ
ŗ
Ř
ř
Ś
ś
Ŝ
ŝ
Ş
ş
Š
š
Ș
ș
Ț
ț
Ť
ť
Ú
ú
Ù
ù
Û
û
Ü
ü
Ũ
ũ
Ů
ů
Ǔ
ǔ
Ū
ū
ǖ
ǘ
ǚ
ǜ
Ŭ
ŭ
Ų
ų
Ű
ű
Ŵ
ŵ
Ý
ý
Ŷ
ŷ
Ÿ
ÿ
Ȳ
ȳ
Ź
ź
Ž
ž
Ż
ż
Æ
æ
Ǣ
ǣ
Ø
ø
Œ
œ
ß
Ð
ð
Þ
þ
Ə
ə
Formatting
Links
Headings
Lists
Files
References
Discussion
Description
What you type
What you get
Italic
''Italic text''
Italic text
Bold
'''Bold text'''
Bold text
Bold & italic
'''''Bold & italic text'''''
Bold & italic text
Turing Complete allows for components and wires of any size from 1 through 64 bits, primarily for the sake of convenience (eg: placing a single 64-bit word <code>AND</code> rather than 64 individual 1-bit <code>AND</code> gates). Not exclusively however - some word components (such as DIV or LESS) do not have a corresponding 1-bit equivalent. In prior iterations of the game, there were individual components with fixed 1, 8, 16, 32 or 64 bit widths. In the modern version however, all but the 1-bit components have been combined into a single set of "word" components with configurable widths: [[File:Word_Component_AND.png]] The little bubble on the top left corner (in default orientation) is the component bit width - <code>8</code> in the <code>AND</code> example image. Clicking on that bubble brings up the width editor: [[File:Bit_width_editor.png]] Most components accept values between 2 and 64 (inclusive). The corresponding bit components are required for 1-bit "words". == Width Inference == Many components also accept the value <code>x</code>. This value tells the component to chose its width based on the width of the values on its input wires. For example: [[File:Bit_width_inference]] In this example, <code>NOT</code> is explicitly set to 13 bits, while the switch after it is set to <code>x</code> and infers the width from the <code>NOT</code>. The width bubble on the switch has a darker background to indicate that it is being inferred. Bit width inference is especially useful when creating custom components, as the <code>Input Pin</code> is one of the components that allows <code>x</code> width. For example, if we wanted the opposite of a <code>MUX</code> (demultiplexer or <code>DEMUX</code>), we could build a custom component similar to the following: [[File:Bit_width_demux]] == Static Values == There are several components in the game dedicated to working with bit widths rather than data. The values these components produce and utilize are compiled into the circuit and function as constant values during circuit operation. They are once again primarily for the sake of convenience. The simplest of these is the [[Component|Static Indexer||alpha]]. Along with a width bubble (allowing you to narrow or widen wire widths when needed), it can also perform a constant shift by setting it's Shift value, a task that would previously have taken a splitter and a maker (or many splitters and makers if you were working with larger bit widths). The {{Component|Static Value||alpha}} component is unique in that, when included in a custom component, it adds a width bubble to your custom component that can be set externally. You can then use that value with the static value components to create extremely flexible and reusable custom components. === Blue pins and wires === Retrieving the value from the {{Component|Static Value||alpha}} leads us to the next concept: Size pins (also known as "blue pins"). A wire connected to a size pin will also turn a similar shade of blue, and a circuit error will be displayed if you attempt to connect a size wire to a normal data pin. If you connect two blue wires with different values, you will not get a wire conflict as you do with data wires. Instead, the game will take the maximum of any values attached to the wire.
Summary:
Please note that all contributions to Turing Complete are considered to be released under the Creative Commons Attribution-ShareAlike (see
TuringComplete:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template:Component
(
edit
)