Template:Asic: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
TheRealSteve (talk | contribs)
Preliminary template work, messy notes throughout, calling it a day, but welcoming feedback - please use the Discussion page :)
 
TheRealSteve (talk | contribs)
 
(254 intermediate revisions by the same user not shown)
Line 1: Line 1:
<noinclude>Extremely preliminary ASIC chip details template.
<noinclude>
== Template ==
Edit this section to edit the template.
<!-- Variables extension is not installed -->
<!-- parser explanations:
    DEVELOPER LOGO, NAME, WEBSITE
    If dev.logo is set, insert as max: 128x32px high image and
      If a wiki page for the dev exists, link logo to that
      otherwise, if a website for the dev is set, link logo to that
      otherwise, leave link empty.
    otherwise, don't.
    If a wiki page for dev.name exists, insert as a wiki link
    otherwise, insert as plain text.
    If dev.web is set, insert as an external 'www' link
    otherwise, don't.
 
    CHIP NAME, WEBSITE, BCT LINK / DATE, DATASHEET
    If a wiki page for chip.name exists, insert as a wiki link
    otherwise, insert as plain text.
    If the introduction date splits apart into 3 chunks (this required some messy logic), assume it has a full date and use Y-M-d
    otherwise, use Y-M
    If chip.web is set, insert as an external 'www' link
    otherwise, don't.
    If chip.bct is set, insert as an external 'BCT' link
    otherwise, don't.
    If chip.date is set, insert as a #time function
    otherwise, insert default string
    If datasheet is set, insert given value
    otherwise, don't
    If status is set, use #switch to insert appropriate text
    otherwise, don't
 
    CHIP PICTURES
    The gallery tag doesn't play nice with templates, so it's mostly just a bunch of HTML, with if tests for each picture so as not to insert empty slots.
 
    MINING SPECS
    A full mining definition is 'Gh:@J@V:Hz' and these get inserted 'as is'.
    For derived calculations (W, Mh/J, Gh/mm²), the following holds:
    Left and right of the @ sign should be treated separately, and if only one is given, the first applies.
    I.e. Gh@V, Gh:J@V, GH:J@:Hz, :J@:Hz, etc.  Therefore, use explode to split those two halves up first.
    Next, split those halves up into each constituent value.
    Finally, for each appropriate value, remove applicable suffixes - drop to lowercase first, just in case.
    If Gh and J are available, calculate Watt
    otherwise, don't.
    If J(/Gh) is available, calculate Mh/J
    otherwise, don't.
    If Gh and Hz are available, calculate Gh/Hz
    otherwise, don't.
 
    CHIP EFFICIENCY
    If we have the die size, and we have a Ghash rating, this could be used to calculate an efficiency number, given that a higher hash rate for a given size should mean the chip is more efficient.
    check if die.size is set: {{#if:{{#explode:{{{die}}}|,|3}}|TRUE|FALSE}}
    stripping 'mm' from die.size, leaving WxL: {{#replace:{{lc:{{{die.size}}}}}|mm|}}
    W: {{#explode:WxL|x|0}}
    H: {{#explode:WxL|x|1}}
    calculating surface area (A): {{#expr:W * H}}
    calculating efficiency: {{#expr:Gh/A}}
 
    Further, if we have all of the above, and the node size, then
    multiply the Gh/A by (node/2)³ to get the η-factor ( https://bitcointalk.org/index.php?topic=119668 )
-->
</noinclude><includeonly>{{#switch:{{{style}}}<!-- style==infobox -->|infobox={{Infobox|title={{#explode:{{{dev}}}|,|0}}{{#if:{{#explode:{{{dev}}}|,|1}}|<sup>[{{#explode:{{{dev}}}|,|1}} www]</sup>}}|image={{#if:{{{pics|}}}|[[{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|0}}|:|0}}|frameless|96x96px|{{#explode:{{#explode:{{{pics}}}|,|0}}|:|1}}]]}}|caption1={{#if:{{#explode:{{{chip}}}|,|0}}|{{#explode:{{{chip}}}|,|0}}|Unknown}}|content1={{#if:{{{codevs|}}}|Facilitators}}|data1={{#if:{{{codevs|}}}|{{{codevs}}}}}|content2={{#switch:{{#explode:{{{warning}}}|,|0}}|future|canceled|vaporware|scam=Planned|Introduced}}|data2={{#if:{{#explode:{{{chip}}}|,|2}}|{{#time:{{#ifeq:{{#expr:{{#len:{{#explode:{{#explode:{{{chip}}}|,|2}}| |2}}}} or {{#len:{{#explode:{{#explode:{{{chip}}}|,|2}}|-|2}}}} or {{#len:{{#explode:{{#explode:{{{chip}}}|,|2}}|/|2}}}}}}|1|Y-M-d|{{#ifeq:{{#len:{{#explode:{{{chip}}}|,|2}}}}|4|Y|Y-M}}}}|{{#explode:{{{chip}}}|,|2}}}}|''No introduction date known''}}|content3={{#if:{{{warning|}}}|{{{warning}}}|data3={{#if:{{{warning|}}}|{{#switch:{{{warning}}}|needinfo=<span style="color:#00a;">'''Needs more information'''</span>|vaporware=<span style="color:#fa0;">'''May not actually exist'''</span>|scam=<span style="color:#f00;">'''Subject of scam accusations'''</span>|canceled=<span style="color:#aaa;">'''Canceled'''</span>|future=<span style="color:#0a0;">'''Future'''</span>|}} (see notes for details)}}}}|content4=<hr />|data4=<hr />|content5={{#if:{{{mining|}}}|Mining}}|data5=<!-- infobox mining table -->{{#if:{{{mining|}}}|<table class="wikitable" style="margin:0; padding:0;"><tr style="text-align:right;"><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Ghash per second">Gh/s</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Joules per Gh (equivalent to Watt per Gh/s)">J/Gh</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Mhash/Joule (derived value)">Mh/J</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Core voltage">V</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Core frequency">MHz</span></th></tr><!-- mining(0) -->{{#if:{{#explode:{{{mining}}}|,|0}}|<tr style="text-align:right;"><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|0}}|:|0}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}} round 3}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}} round 3}}}}</td><td>{{#if:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}}|{{#expr:1/{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}} * 1000 round 0}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|1}}|:|0}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|1}}|:|0}}}}|v|}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|1}}|:|1}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|1}}|:|1}}}}|hz|}}}}</td></tr>}}<!-- /mining(0) --><!-- mining(1) -->{{#if:{{#explode:{{{mining}}}|,|1}}|<tr style="text-align:right;"><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|1}}|@|0}}|:|0}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}} round 3}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|1}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}} round 3}}}}</td><td>{{#if:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}}|{{#expr:1/{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}} * 1000 round 0}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|1}}|@|1}}|:|0}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|1}}|:|0}}}}|v|}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|1}}|@|1}}|:|1}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|1}}|:|1}}}}|hz|}}}}</td></tr>}}<!-- /mining(1) --><!-- mining(2) -->{{#if:{{#explode:{{{mining}}}|,|2}}|<tr style="text-align:right;"><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|2}}|@|0}}|:|0}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}} round 3}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|2}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}} round 3}}}}</td><td>{{#if:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}}|{{#expr:1/{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}} * 1000 round 0}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|2}}|@|1}}|:|0}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|1}}|:|0}}}}|v|}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|2}}|@|1}}|:|1}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|1}}|:|1}}}}|hz|}}}}</td></tr>}}<!-- /mining(2) --><!-- mining(3) -->{{#if:{{#explode:{{{mining}}}|,|3}}|<tr style="text-align:right;"><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|3}}|@|0}}|:|0}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}} round 3}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|3}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}} round 3}}}}</td><td>{{#if:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}}|{{#expr:1/{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}} * 1000 round 0}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|3}}|@|1}}|:|0}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|1}}|:|0}}}}|v|}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|3}}|@|1}}|:|1}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|1}}|:|1}}}}|hz|}}}}</td></tr>}}<!-- /mining(3) --></table>}}<!-- /infobox mining table -->|content6={{#if:{{{package|}}}|Package}}|data6={{#if:{{{package|}}}|{{#explode:{{{package}}}|,|0}} {{#if:{{#explode:{{{package}}}|,|1}}|{{#replace:{{lc:{{#explode:{{{package}}}|,|1}}}}|mm|}}mm}}}}|content7={{#if:{{{package|}}}|Markings}}|data7={{#if:{{{package|}}}|{{#explode:{{{package}}}|,|2}}}}|content8={{#if:{{{codes|}}}|Known codes}}|data8={{#if:{{{codes|}}}|{{{codes}}}}}|content9={{#ifeq:{{#expr:{{#len:{{#explode:{{{die|}}}|,|3}}}} or {{#len:{{#explode:{{{die|}}}|,|1}}}}}}|1|Die}}|data9={{#ifeq:{{#expr:{{#len:{{#explode:{{{die|}}}|,|3}}}} or {{#len:{{#explode:{{{die|}}}|,|1}}}}}}|1|{{#if:{{#explode:{{{die|}}}|,|3}}|{{#replace:{{lc:{{#explode:{{{die|}}}|,|3}}}}|mm}}mm}}{{#ifeq:{{#expr:{{#len:{{#explode:{{{die|}}}|,|3}}}} and {{#len:{{#explode:{{{die|}}}|,|1}}}}}}|1|@}}{{#if:{{#explode:{{{die|}}}|,|1}}|{{#replace:{{lc:{{#explode:{{{die|}}}|,|1}}}}|nm}}nm}}{{#if:{{#explode:{{{die|}}}|,|2}}| ({{#explode:{{{die|}}}|,|2}})}}}}|content10={{#if:{{#explode:{{{die|}}}|,|0}}|Foundry}}|data10={{#if:{{#explode:{{{die|}}}|,|0}}|{{#explode:{{{die}}}|,|0}}}}|content11={{#if:{{{datasheet|}}}|Datasheet}}|data11={{#if:{{{datasheet|}}}|{{{datasheet}}}}}|content12=<hr />|data12=<hr />|content13={{#if:{{{notes|}}}|Notes}}|data13={{#if:{{{notes|}}}|{{{notes}}}}}|content14={{#if:{{{miners|}}}|miners}}|data14={{#if:{{{miners|}}}|{{{miners}}}}}}}<!-- /style infobox --><!-- style default -->|miningtable=<!-- mining(0) -->{{#if:{{#explode:{{{mining}}}|,|0}}|<tr style="text-align:right;"><td style="text-align:left;">{{#explode:{{{dev}}}|,|0}}{{#if:{{#explode:{{{dev}}}|,|1}}|<sup>[{{#explode:{{{dev}}}|,|1}} www]</sup>}}</td><td style="text-align:left;">{{#if:{{#explode:{{{chip}}}|,|0}}|{{#explode:{{{chip}}}|,|0}}|Unknown}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|0}}|:|0}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}} round 3}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}} round 3}}}}</td><td>{{#if:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}}|{{#expr:1/{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}} * 1000 round 0}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|1}}|:|0}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|1}}|:|0}}}}|v|}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|1}}|:|1}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|1}}|:|1}}}}|hz|}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}} * {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}}}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|1}}|:|1}}}}|hz|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}} * 1000 / {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|1}}|:|1}}}}|hz|}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}} and {{#len:{{#explode:{{{die}}}|,|1}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} * (({{#replace:{{lc:{{#explode:{{{die}}}|,|1}}}}|nm|}} / 2)^3) round 2}}}}</td></tr>}}<!-- /mining(0) --><!-- mining(1) -->{{#if:{{#explode:{{{mining}}}|,|1}}|<tr style="text-align:right;"><td style="text-align:left;">{{#explode:{{{dev}}}|,|0}}{{#if:{{#explode:{{{dev}}}|,|1}}|<sup>[{{#explode:{{{dev}}}|,|1}} www]</sup>}}</td><td style="text-align:left;">{{#if:{{#explode:{{{chip}}}|,|0}}|{{#explode:{{{chip}}}|,|0}}|Unknown}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|1}}|@|0}}|:|0}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}} round 3}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|1}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}} round 3}}}}</td><td>{{#if:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}}|{{#expr:1/{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}} * 1000 round 0}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|1}}|@|1}}|:|0}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|1}}|:|0}}}}|v|}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|1}}|@|1}}|:|1}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|1}}|:|1}}}}|hz|}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}} * {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}}}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|1}}|:|1}}}}|hz|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}} * 1000 / {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|1}}|:|1}}}}|hz|}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}} and {{#len:{{#explode:{{{die}}}|,|1}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} * (({{#replace:{{lc:{{#explode:{{{die}}}|,|1}}}}|nm|}} / 2)^3) round 2}}}}</td></tr>}}<!-- /mining(1) --><!-- mining(2) -->{{#if:{{#explode:{{{mining}}}|,|2}}|<tr style="text-align:right;"><td style="text-align:left;">{{#explode:{{{dev}}}|,|0}}{{#if:{{#explode:{{{dev}}}|,|1}}|<sup>[{{#explode:{{{dev}}}|,|1}} www]</sup>}}</td><td style="text-align:left;">{{#if:{{#explode:{{{chip}}}|,|0}}|{{#explode:{{{chip}}}|,|0}}|Unknown}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|2}}|@|0}}|:|0}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}} round 3}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|2}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}} round 3}}}}</td><td>{{#if:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}}|{{#expr:1/{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}} * 1000 round 0}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|2}}|@|1}}|:|0}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|1}}|:|0}}}}|v|}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|2}}|@|1}}|:|1}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|1}}|:|1}}}}|hz|}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}} * {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}}}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|1}}|:|1}}}}|hz|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}} * 1000 / {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|1}}|:|1}}}}|hz|}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}} and {{#len:{{#explode:{{{die}}}|,|1}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} * (({{#replace:{{lc:{{#explode:{{{die}}}|,|1}}}}|nm|}} / 2)^3) round 2}}}}</td></tr>}}<!-- /mining(2) --><!-- mining(3) -->{{#if:{{#explode:{{{mining}}}|,|3}}|<tr style="text-align:right;"><td style="text-align:left;">{{#explode:{{{dev}}}|,|0}}{{#if:{{#explode:{{{dev}}}|,|1}}|<sup>[{{#explode:{{{dev}}}|,|1}} www]</sup>}}</td><td style="text-align:left;">{{#if:{{#explode:{{{chip}}}|,|0}}|{{#explode:{{{chip}}}|,|0}}|Unknown}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|3}}|@|0}}|:|0}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}} round 3}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|3}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}} round 3}}}}</td><td>{{#if:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}}|{{#expr:1/{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}} * 1000 round 0}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|3}}|@|1}}|:|0}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|1}}|:|0}}}}|v|}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|3}}|@|1}}|:|1}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|1}}|:|1}}}}|hz|}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}} * {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}}}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|1}}|:|1}}}}|hz|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}} * 1000 / {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|1}}|:|1}}}}|hz|}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}} and {{#len:{{#explode:{{{die}}}|,|1}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} * (({{#replace:{{lc:{{#explode:{{{die}}}|,|1}}}}|nm|}} / 2)^3) round 2}}}}</td></tr>}}<!-- /mining(3) -->|compact=<table class="wikitable" style="width:100%; font-size:80%;"><tr style="vertical-align:top;"><td style="width:auto; height:1px;"><!-- dev --><span style="font-size:125%">'''{{#explode:{{{dev}}}|,|0}}'''</span>{{#if:{{#explode:{{{dev}}}|,|1}}|<sup>[{{#explode:{{{dev}}}|,|1}} www]</sup>}}<!-- /dev --> <!-- chip --><span style="font-size:125%;">'''{{#if:{{#explode:{{{chip}}}|,|0}}|{{#explode:{{{chip}}}|,|0}}|Unknown}}'''</span>{{#if:{{#explode:{{{chip}}}|,|1}}|<sup>[{{#explode:{{{chip}}}|,|1}} www]</sup>}} {{#if:{{#explode:{{{chip}}}|,|3}}|<sup>[{{#explode:{{{chip}}}|,|3}} BCT]</sup>}}<!-- /chip -->{{#if:{{{codevs|}}}|<br />'''Facilitators''': {{{codevs}}}}}<br /><!-- chip.date -->{{#if:{{#explode:{{{chip}}}|,|2}}|'''{{#switch:{{#explode:{{{warning}}}|,|0}}|future|canceled|vaporware|scam=Planned|Introduced}}''': {{#time:{{#ifeq:{{#expr:{{#len:{{#explode:{{#explode:{{{chip}}}|,|2}}| |2}}}} or {{#len:{{#explode:{{#explode:{{{chip}}}|,|2}}|-|2}}}} or {{#len:{{#explode:{{#explode:{{{chip}}}|,|2}}|/|2}}}}}}|1|Y-M-d|{{#ifeq:{{#len:{{#explode:{{{chip}}}|,|2}}}}|4|Y|Y-M}}}}|{{#explode:{{{chip}}}|,|2}}}}|''No introduction date known''}}<!-- /chip.date --></td><td style="width:614px;"><!-- pics -->{{#if:{{{pics|}}}|Pictures:{{#if:{{#explode:{{#explode:{{{pics}}}|,|0}}|:|0}}|[[:{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|0}}|:|0}}|{{#explode:{{#explode:{{{pics}}}|,|0}}|:|1}}]]}} {{#if:{{#explode:{{#explode:{{{pics}}}|,|1}}|:|0}}|, [[:{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|1}}|:|0}}|{{#explode:{{#explode:{{{pics}}}|,|1}}|:|1}}]]}} {{#if:{{#explode:{{#explode:{{{pics}}}|,|2}}|:|0}}|, [[:{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|2}}|:|0}}|{{#explode:{{#explode:{{{pics}}}|,|2}}|:|1}}]]}} {{#if:{{#explode:{{#explode:{{{pics}}}|,|3}}|:|0}}|, [[:{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|3}}|:|0}}|{{#explode:{{#explode:{{{pics}}}|,|3}}|:|1}}]]}} {{#if:{{#explode:{{#explode:{{{pics}}}|,|4}}|:|0}}|, [[:{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|4}}|:|0}}|{{#explode:{{#explode:{{{pics}}}|,|4}}|:|1}}]]}} {{#if:{{#explode:{{#explode:{{{pics}}}|,|5}}|:|0}}|, [[:{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|5}}|:|0}}|{{#explode:{{#explode:{{{pics}}}|,|5}}|:|1}}]]}}|''No pictures available''}}<!-- /pics --><br /><!-- tech specs -->{{#if:{{{package|}}}|'''Package''': {{#explode:{{{package}}}|,|0}} {{#if:{{#explode:{{{package}}}|,|1}}|{{#replace:{{lc:{{#explode:{{{package}}}|,|1}}}}|mm|}}mm}} {{#if:{{#explode:{{{package}}}|,|2}}|'''Markings''': {{#explode:{{{package}}}|,|2}}}}}} {{#if:{{{codes|}}}| '''Known codes''': {{{codes}}}}} {{#ifeq:{{#expr:{{#len:{{#explode:{{{die|}}}|,|3}}}} or {{#len:{{#explode:{{{die|}}}|,|1}}}}}}|1| '''Die''':{{#if:{{#explode:{{{die}}}|,|3}}|{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm}}mm}}{{#ifeq:{{#expr:{{#len:{{#explode:{{{die}}}|,|3}}}} and {{#len:{{#explode:{{{die}}}|,|1}}}}}}|1|@}}{{#if:{{#explode:{{{die}}}|,|1}}|{{#replace:{{lc:{{#explode:{{{die}}}|,|1}}}}|nm}}nm}} {{#if:{{#explode:{{{die}}}|,|2}}| ({{#explode:{{{die}}}|,|2}})}}}} {{#if:{{#explode:{{{die|}}}|,|0}}|'''Foundry''': {{#explode:{{{die}}}|,|0}}}}<!-- /tech specs --></td></tr>{{#ifeq:{{#expr:{{#len:{{{warning|}}}}} or {{#len:{{{mining|}}}}}}}|1|<tr style="vertical-align:top;"><td>{{#if:{{{warning|}}}|{{#switch:{{#explode:{{{warning}}}|,|0}}|needinfo=<span style="color:#00a;">'''Needs more information'''</span>|vaporware=<span style="color:#fa0;">'''May not actually exist'''</span>|scam=<span style="color:#f00;">'''Subject of scam accusations'''</span>|canceled=<span style="color:#aaa;">'''Canceled'''</span>|future=<span style="color:#0a0;">'''Future'''</span>|}} (see notes for details)}}</td><td><!-- mining -->{{#if:{{#explode:{{{mining|}}}|,|0}}|'''Mining''': {{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|0}}|:|0}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}} round 3}}Gh/s}} {{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}} round 3}}J/Gh}}{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|1}}|@|0}}|:|0}}|, {{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}} round 3}}Gh/s}} {{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|1}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}} round 3}}J/Gh}}{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|2}}|@|0}}|:|0}}|, {{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}} round 3}}Gh/s}} {{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|2}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}} round 3}}J/Gh}}{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|3}}|@|0}}|:|0}}|, {{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}} round 3}}Gh/s}} {{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|3}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}} round 3}}J/Gh}}}}<!-- /mining -->{{#if:{{{datasheet|}}}|<br />'''Datasheet''': {{{datasheet}}}}}</td></tr>}}{{#ifeq:{{#expr:{{#len:{{{notes|}}}}} or {{#len:{{{warning|}}}}} or {{#len:{{{miners|}}}}}}}|1|<tr style="vertical-align:top;"><td colspan="2">{{#if:{{{notes|}}}|Notes: {{{notes}}}}}{{#ifeq:{{#expr:{{#len:{{{notes|}}}}} and {{#len:{{{warning|}}}}}}}|1|<br />}}{{#if:{{{warning|}}}|''{{#sub:{{{warning}}}|{{#expr:{{#pos:{{{warning}}}|,}}+1}}}}''}}{{#if:{{{miners|}}}|<br />Used on: {{{miners}}}</td>}}</tr>}}{{#ifeq:{{{showsources}}}|1|<tr style="vertical-align:top;"><td colspan="2">Sources: {{{sources}}}</td></tr>}}</table>|oneliner='''{{#explode:{{{dev}}}|,|0}}'''{{#if:{{#explode:{{{dev}}}|,|1}}|<sup>[{{#explode:{{{dev}}}|,|1}} www]</sup>}} ''{{#if:{{#explode:{{{chip}}}|,|0}}|{{#explode:{{{chip}}}|,|0}}|Unknown}}''{{#if:{{#explode:{{{chip}}}|,|1}}|<sup>[{{#explode:{{{chip}}}|,|1}} www]</sup>}}{{#if:{{#explode:{{{chip}}}|,|3}}|<sup>[{{#explode:{{{chip}}}|,|3}} BCT]</sup>}}{{#if:{{{pics|}}}|<sup>[media: {{#if:{{#explode:{{#explode:{{{pics}}}|,|0}}|:|0}}|[[:{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|0}}|:|0}}|<span title="{{#explode:{{#explode:{{{pics}}}|,|0}}|:|1}}">a</span>]]}} {{#if:{{#explode:{{#explode:{{{pics}}}|,|1}}|:|0}}|[[:{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|1}}|:|0}}|<span title="{{#explode:{{#explode:{{{pics}}}|,|1}}|:|1}}">b</span>]]}} {{#if:{{#explode:{{#explode:{{{pics}}}|,|2}}|:|0}}|[[:{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|2}}|:|0}}|<span title="{{#explode:{{#explode:{{{pics}}}|,|2}}|:|1}}">c</span>]]}} {{#if:{{#explode:{{#explode:{{{pics}}}|,|3}}|:|0}}|[[:{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|3}}|:|0}}|<span title="{{#explode:{{#explode:{{{pics}}}|,|3}}|:|1}}">d</span>]]}} {{#if:{{#explode:{{#explode:{{{pics}}}|,|4}}|:|0}}|[[:{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|4}}|:|0}}|<span title="{{#explode:{{#explode:{{{pics}}}|,|4}}|:|1}}">e</span>]]}} {{#if:{{#explode:{{#explode:{{{pics}}}|,|5}}|:|0}}|[[:{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|5}}|:|0}}|<span title="{{#explode:{{#explode:{{{pics}}}|,|5}}|:|1}}"> f</span>]]}}]</sup>}}{{#ifeq:{{#expr:{{#len:{{#explode:{{{chip}}}|,|2}}}} or {{#len:{{#explode:{{{die}}}|,|1}}}} or {{#len:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|0}}|:|0}}}} or {{#len:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|0}}|:|1}}}}}}|1|&#32;a&#32;}}{{#if:{{#explode:{{{chip}}}|,|2}}|{{#time:{{#ifeq:{{#expr:{{#len:{{#explode:{{#explode:{{{chip}}}|,|2}}| |2}}}} or {{#len:{{#explode:{{#explode:{{{chip}}}|,|2}}|-|2}}}} or {{#len:{{#explode:{{#explode:{{{chip}}}|,|2}}|/|2}}}}}}|1|Y-M-d|{{#ifeq:{{#len:{{#explode:{{{chip}}}|,|2}}}}|4|Y|Y-M}}}}|{{#explode:{{{chip}}}|,|2}}}}}} {{#if:{{#explode:{{{die}}}|,|1}}|{{#replace:{{lc:{{#explode:{{{die}}}|,|1}}}}|nm}}nm}} {{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|0}}|:|0}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}} round 3}}Gh/s}} {{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}} round 3}}J/Gh}}{{#ifeq:{{#expr:{{#len:{{#explode:{{{chip}}}|,|2}}}} or {{#len:{{#explode:{{{die}}}|,|1}}}} or {{#len:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|0}}|:|0}}}} or {{#len:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|0}}|:|1}}}}}}|1|&#32;chip&#32;}}{{#if:{{{codevs|}}}| co-developed with {{{codevs}}}}}. {{#if:{{{notes|}}}|{{#replace:{{{notes}}}|<br />}}}}{{#if:{{{warning|}}}|''{{#replace:{{#sub:{{{warning}}}|{{#expr:{{#pos:{{{warning}}}|,}}+1}}}}|<br />}}''}}|#default=<table class="wikitable" style="width:100%; font-size:80%;"><tr style="vertical-align:top;"><td style="width:auto; height:1px;"><!-- dev -->{{#if:{{#explode:{{{dev}}}|,|2}}|[[{{ns:file}}:{{#explode:{{{dev}}}|,|2}}|128x24px|link={{#if:{{wikilink|{{#explode:{{{dev}}}|,|0}}|link}}|{{wikilink|{{#explode:{{{dev}}}|,|0}}|link}}|{{#if:{{#explode:{{{dev}}}|,|1}}|{{#explode:{{{dev}}}|,|1}}}}}}]]<br />}}<span style="font-size:125%">'''{{#explode:{{{dev}}}|,|0}}'''</span>{{#if:{{#explode:{{{dev}}}|,|1}}|<sup>[{{#explode:{{{dev}}}|,|1}} www]</sup>}}{{#if:{{{codevs|}}}|<br />'''Facilitators''': {{{codevs}}}}}<!-- /dev --></td><td style="width:614px;" rowspan="2"><!-- pics -->{{#if:{{{pics|}}}|<div style="font-size:80%; text-align:center; padding:0; margin:0;">{{#if:{{#explode:{{#explode:{{{pics}}}|,|0}}|:|0}}|<div style="float:left; width:98px; height:116px; margin:2px; background-color:#eee;"><div style="vertical-align:middle; width:96px; height:96px; line-height:96px; border:1px solid #ddd;">[[{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|0}}|:|0}}|frameless|96x96px|{{#explode:{{#explode:{{{pics}}}|,|0}}|:|1}}]]</div><div>{{#explode:{{#explode:{{{pics}}}|,|0}}|:|1}}</div></div>}}{{#if:{{#explode:{{#explode:{{{pics}}}|,|1}}|:|0}}|<div style="float:left; width:98px; height:116px; margin:2px; background-color:#eee;"><div style="vertical-align:middle; width:96px; height:96px; line-height:96px; border:1px solid #ddd;">[[{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|1}}|:|0}}|frameless|96x96px|{{#explode:{{#explode:{{{pics}}}|,|1}}|:|1}}]]</div><div>{{#explode:{{#explode:{{{pics}}}|,|1}}|:|1}}</div></div>}}{{#if:{{#explode:{{#explode:{{{pics}}}|,|2}}|:|0}}|<div style="float:left; width:98px; height:116px; margin:2px; background-color:#eee;"><div style="vertical-align:middle; width:96px; height:96px; line-height:96px; border:1px solid #ddd;">[[{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|2}}|:|0}}|frameless|96x96px|{{#explode:{{#explode:{{{pics}}}|,|2}}|:|1}}]]</div><div>{{#explode:{{#explode:{{{pics}}}|,|2}}|:|1}}</div></div>}}{{#if:{{#explode:{{#explode:{{{pics}}}|,|3}}|:|0}}|<div style="float:left; width:98px; height:116px; margin:2px; background-color:#eee;"><div style="vertical-align:middle; width:96px; height:96px; line-height:96px; border:1px solid #ddd;">[[{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|3}}|:|0}}|frameless|96x96px|{{#explode:{{#explode:{{{pics}}}|,|3}}|:|1}}]]</div><div>{{#explode:{{#explode:{{{pics}}}|,|3}}|:|1}}</div></div>}}{{#if:{{#explode:{{#explode:{{{pics}}}|,|4}}|:|0}}|<div style="float:left; width:98px; height:116px; margin:2px; background-color:#eee;"><div style="vertical-align:middle; width:96px; height:96px; line-height:96px; border:1px solid #ddd;">[[{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|4}}|:|0}}|frameless|96x96px|{{#explode:{{#explode:{{{pics}}}|,|4}}|:|1}}]]</div><div>{{#explode:{{#explode:{{{pics}}}|,|4}}|:|1}}</div></div>}}{{#if:{{#explode:{{#explode:{{{pics}}}|,|5}}|:|0}}|<div style="float:left; width:98px; height:116px; margin:2px; background-color:#eee;"><div style="vertical-align:middle; width:96px; height:96px; line-height:96px; border:1px solid #ddd;">[[{{ns:file}}:{{#explode:{{#explode:{{{pics}}}|,|5}}|:|0}}|frameless|96x96px|{{#explode:{{#explode:{{{pics}}}|,|5}}|:|1}}]]</div><div>{{#explode:{{#explode:{{{pics}}}|,|5}}|:|1}}</div></div>}}<div style="clear:both;"></div></div>|''No pictures available''}}<!-- /pics --></td></tr><tr style="vertical-align:top;"><td><!-- chip --><span style="font-size:125%;">'''{{#if:{{#explode:{{{chip}}}|,|0}}|{{#explode:{{{chip}}}|,|0}}|Unknown}}'''</span>{{#if:{{#explode:{{{chip}}}|,|1}}|<sup>[{{#explode:{{{chip}}}|,|1}} www]</sup>}} {{#if:{{#explode:{{{chip}}}|,|3}}|<sup>[{{#explode:{{{chip}}}|,|3}} BCT]</sup>}}<br />{{#if:{{#explode:{{{chip}}}|,|2}}|'''{{#switch:{{#explode:{{{warning}}}|,|0}}|future|canceled|vaporware|scam=Planned|Introduced}}''': {{#time:{{#ifeq:{{#expr:{{#len:{{#explode:{{#explode:{{{chip}}}|,|2}}| |2}}}} or {{#len:{{#explode:{{#explode:{{{chip}}}|,|2}}|-|2}}}} or {{#len:{{#explode:{{#explode:{{{chip}}}|,|2}}|/|2}}}}}}|1|Y-M-d|{{#ifeq:{{#len:{{#explode:{{{chip}}}|,|2}}}}|4|Y|Y-M}}}}|{{#explode:{{{chip}}}|,|2}}}}|''No introduction date known''}}<br />{{#if:{{{datasheet|}}}|'''Datasheet''': {{{datasheet}}}}}{{#if:{{{warning|}}}|<br />{{#switch:{{#explode:{{{warning}}}|,|0}}|needinfo=<span style="color:#00a;">'''Needs more information'''</span>|vaporware=<span style="color:#fa0;">'''May not actually exist'''</span>|scam=<span style="color:#f00;">'''Subject of scam accusations'''</span>|canceled=<span style="color:#aaa;">'''Canceled'''</span>|future=<span style="color:#0a0;">'''Future'''</span>|}} (see notes for details)}}<!-- /chip --></td></tr><tr style="vertical-align:top;"><td><!-- tech specs -->'''''Technical specifications'''''{{#if:{{{package|}}}|<br />'''Package''': {{#explode:{{{package}}}|,|0}} {{#if:{{#explode:{{{package}}}|,|1}}|{{#replace:{{lc:{{#explode:{{{package}}}|,|1}}}}|mm|}}mm}}<br />'''Markings''': {{#explode:{{{package}}}|,|2}}}}{{#if:{{{codes|}}}|<br />'''Known codes''': {{{codes}}}}}{{#ifeq:{{#expr:{{#len:{{#explode:{{{die|}}}|,|3}}}} or {{#len:{{#explode:{{{die|}}}|,|1}}}}}}|1|<br />'''Die''':{{#if:{{#explode:{{{die}}}|,|3}}|{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm}}mm}}{{#ifeq:{{#expr:{{#len:{{#explode:{{{die}}}|,|3}}}} and {{#len:{{#explode:{{{die}}}|,|1}}}}}}|1|@}}{{#if:{{#explode:{{{die}}}|,|1}}|{{#replace:{{lc:{{#explode:{{{die}}}|,|1}}}}|nm}}nm}}{{#if:{{#explode:{{{die}}}|,|2}}| ({{#explode:{{{die}}}|,|2}})}}}}{{#if:{{#explode:{{{die|}}}|,|0}}|<br />'''Foundry''': {{#explode:{{{die}}}|,|0}}}}<!-- /tech specs --></td><td><!-- mining table -->{{#if:{{{mining|}}}|<table class="wikitable" style="margin:0; padding:0; width:100%;"><tr style="text-align:right;"><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Ghash per second">Gh/s</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Joules per Gh (equivalent to Watt per Gh/s)">J/Gh</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Mhash/Joule (derived value)">Mh/J</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Core voltage">V</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Core frequency">MHz</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Total chip wattage (derived value)">W</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="hashes per clock cycle (derived value)">h/Hz</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Gh per square mm, an indication of relative mining performance (derived value)">Gh/mm²</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help; white-space:nowrap;" title="η-factor, a 'process-invariant hardware metric' (derived value)">η-factor</span></th></tr><!-- mining(0) -->{{#if:{{#explode:{{{mining}}}|,|0}}|<tr style="text-align:right;"><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|0}}|:|0}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}} round 3}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}} round 3}}}}</td><td>{{#if:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}}|{{#expr:1/{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}} * 1000 round 0}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|1}}|:|0}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|1}}|:|0}}}}|v|}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|0}}|@|1}}|:|1}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|1}}|:|1}}}}|hz|}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}} * {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}}}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|1}}|:|1}}}}|hz|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}} * 1000 / {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|1}}|:|1}}}}|hz|}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}} and {{#len:{{#explode:{{{die}}}|,|1}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} * (({{#replace:{{lc:{{#explode:{{{die}}}|,|1}}}}|nm|}} / 2)^3) round 2}}}}</td></tr>}}<!-- /mining(0) --><!-- mining(1) -->{{#if:{{#explode:{{{mining}}}|,|1}}|<tr style="text-align:right;"><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|1}}|@|0}}|:|0}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}} round 3}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|1}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}} round 3}}}}</td><td>{{#if:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}}|{{#expr:1/{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}} * 1000 round 0}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|1}}|@|1}}|:|0}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|1}}|:|0}}}}|v|}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|1}}|@|1}}|:|1}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|1}}|:|1}}}}|hz|}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}} * {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}}}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|1}}|:|1}}}}|hz|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}} * 1000 / {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|1}}|:|1}}}}|hz|}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}} and {{#len:{{#explode:{{{die}}}|,|1}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} * (({{#replace:{{lc:{{#explode:{{{die}}}|,|1}}}}|nm|}} / 2)^3) round 2}}}}</td></tr>}}<!-- /mining(1) --><!-- mining(2) -->{{#if:{{#explode:{{{mining}}}|,|2}}|<tr style="text-align:right;"><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|2}}|@|0}}|:|0}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}} round 3}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|2}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}} round 3}}}}</td><td>{{#if:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}}|{{#expr:1/{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}} * 1000 round 0}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|2}}|@|1}}|:|0}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|1}}|:|0}}}}|v|}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|2}}|@|1}}|:|1}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|1}}|:|1}}}}|hz|}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}} * {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}}}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|1}}|:|1}}}}|hz|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}} * 1000 / {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|1}}|:|1}}}}|hz|}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}} and {{#len:{{#explode:{{{die}}}|,|1}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} * (({{#replace:{{lc:{{#explode:{{{die}}}|,|1}}}}|nm|}} / 2)^3) round 2}}}}</td></tr>}}<!-- /mining(2) --><!-- mining(3) -->{{#if:{{#explode:{{{mining}}}|,|3}}|<tr style="text-align:right;"><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|3}}|@|0}}|:|0}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}} round 3}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|3}}|@|0}}|:|1}}|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}} round 3}}}}</td><td>{{#if:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}}|{{#expr:1/{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}} * 1000 round 0}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|3}}|@|1}}|:|0}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|1}}|:|0}}}}|v|}}}}</td><td>{{#if:{{#explode:{{#explode:{{#explode:{{{mining|}}}|,|3}}|@|1}}|:|1}}|{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|1}}|:|1}}}}|hz|}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}} * {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}}}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|1}}|:|1}}}}|hz|}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}} * 1000 / {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|1}}|:|1}}}}|hz|}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} round 2}}}}</td><td>{{#ifeq:{{#expr:{{#len:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}}}} and {{#len:{{#explode:{{{die}}}|,|3}}}} and {{#len:{{#explode:{{{die}}}|,|1}}}}}}|1|{{#expr:{{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}} / {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}} * (({{#replace:{{lc:{{#explode:{{{die}}}|,|1}}}}|nm|}} / 2)^3) round 2}}}}</td></tr>}}<!-- /mining(3) --></table>}}<!-- /mining table --></td></tr>{{#ifeq:{{#expr:{{#len:{{{notes|}}}}} or {{#len:{{{warning|}}}}}}}|1|<tr style="vertical-align:top;"><td colspan="2">{{#if:{{{notes|}}}|Notes: {{{notes}}}}}{{#ifeq:{{#expr:{{#len:{{{notes|}}}}} and {{#len:{{{warning|}}}}}}}|1|<br />}}{{#if:{{{warning|}}}|''{{#sub:{{{warning}}}|{{#expr:{{#pos:{{{warning}}}|,}}+1}}}}''}}</td></tr>}}{{#if:{{{miners|}}}|<tr style="vertical-align:top;"><td colspan="2">Used on: {{{miners}}}</td></tr>}}{{#ifeq:{{{showsources}}}|1|<tr style="vertical-align:top;"><td colspan="2">Sources: {{{sources}}}</td></tr>}}</table>}}<!-- /style default --></includeonly>{{#ifeq:{{SUBPAGENAME}}|Asic/sandbox|
{{#ifeq:{{{debug|}}}|1|
== Parameter debug information (debug=1) ==
style = {{{style}}}<br />
 
dev.name = {{#explode:{{{dev}}}|,|0}}<br />
dev.web = {{#explode:{{{dev}}}|,|1}}<br />
dev.logo = {{#explode:{{{dev}}}|,|2}}<br />
 
codevs = {{{codevs}}}
 
chip.name = {{#explode:{{{chip}}}|,|0}}<br />
chip.web = {{#explode:{{{chip}}}|,|1}}<br />
chip.date = {{#explode:{{{chip}}}|,|2}}<br />
datasheet = {{{datasheet}}}<br />
chip.bct = {{#explode:{{{chip}}}|,|3}}<br />
 
pics[0].file = {{#explode:{{#explode:{{{pics}}}|,|0}}|:|0}}<br />
pics[0].caption = {{#explode:{{#explode:{{{pics}}}|,|0}}|:|1}}<br />
pics[1].file = {{#explode:{{#explode:{{{pics}}}|,|1}}|:|0}}<br />
pics[1].caption = {{#explode:{{#explode:{{{pics}}}|,|1}}|:|1}}<br />
pics[2].file = {{#explode:{{#explode:{{{pics}}}|,|2}}|:|0}}<br />
pics[2].caption = {{#explode:{{#explode:{{{pics}}}|,|2}}|:|1}}<br />
pics[3].file = {{#explode:{{#explode:{{{pics}}}|,|3}}|:|0}}<br />
pics[3].caption = {{#explode:{{#explode:{{{pics}}}|,|3}}|:|1}}<br />
pics[4].file = {{#explode:{{#explode:{{{pics}}}|,|4}}|:|0}}<br />
pics[4].caption = {{#explode:{{#explode:{{{pics}}}|,|4}}|:|1}}<br />
pics[5].file = {{#explode:{{#explode:{{{pics}}}|,|5}}|:|0}}<br />
pics[5].caption = {{#explode:{{#explode:{{{pics}}}|,|5}}|:|1}}<br />
 
mining[0] = {{#explode:{{{mining}}}|,|0}}<br />
mining[0].Gh:J = {{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}<br />
mining[0].Gh = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|0}}}}|gh|}}<br />
mining[0].J = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|0}}|:|1}}}}|j|}}<br />
mining[0].V:Hz = {{#explode:{{#explode:{{{mining}}}|,|0}}|@|1}}<br />
mining[0].V = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|1}}|:|0}}}}|v|}}<br />
mining[0].Hz = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|0}}|@|1}}|:|1}}}}|hz|}}<br />
 
mining[1] = {{#explode:{{{mining}}}|,|1}}<br />
mining[0].Gh:J = {{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}<br />
mining[0].Gh = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|0}}}}|gh|}}<br />
mining[0].J = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|0}}|:|1}}}}|j|}}<br />
mining[0].V:Hz = {{#explode:{{#explode:{{{mining}}}|,|1}}|@|1}}<br />
mining[0].V = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|1}}|:|0}}}}|v|}}<br />
mining[0].Hz = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|1}}|@|1}}|:|1}}}}|hz|}}<br />
 
mining[2] = {{#explode:{{{mining}}}|,|2}}<br />
mining[0].Gh:J = {{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}<br />
mining[0].Gh = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|0}}}}|gh|}}<br />
mining[0].J = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|0}}|:|1}}}}|j|}}<br />
mining[0].V:Hz = {{#explode:{{#explode:{{{mining}}}|,|2}}|@|1}}<br />
mining[0].V = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|1}}|:|0}}}}|v|}}<br />
mining[0].Hz = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|2}}|@|1}}|:|1}}}}|hz|}}<br />
 
mining[3] = {{#explode:{{{mining}}}|,|3}}<br />
mining[0].Gh:J = {{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}<br />
mining[0].Gh = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|0}}}}|gh|}}<br />
mining[0].J = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|0}}|:|1}}}}|j|}}<br />
mining[0].V:Hz = {{#explode:{{#explode:{{{mining}}}|,|3}}|@|1}}<br />
mining[0].V = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|1}}|:|0}}}}|v|}}<br />
mining[0].Hz = {{#replace:{{lc:{{#explode:{{#explode:{{#explode:{{{mining}}}|,|3}}|@|1}}|:|1}}}}|hz|}}<br />
 
die.foundry = {{#explode:{{{die}}}|,|0}}<br />
die.node = {{#replace:{{lc:{{#explode:{{{die}}}|,|1}}}}|nm|}}<br />
die.topology = {{#explode:{{{die}}}|,|2}}<br />
die.size = {{#explode:{{{die}}}|,|3}}<br />
die.size:len = {{#len:{{#explode:{{{die}}}|,|3}}}}<br />
die.size:lc = {{lc:{{#explode:{{{die}}}|,|3}}}}<br />
if(die.size) = {{#if:{{#explode:{{{die}}}|,|3}}|true|false}}<br />
if(len(die.size)) = {{#if:{{#len:{{#explode:{{{die}}}|,|3}}}}|true|false}}<br />
 
die:WxL = {{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}<br />
die:W = {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}}<br />
die:L = {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}<br />
die:surfacearea = {{#expr:{{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|0}} * {{#explode:{{#replace:{{lc:{{#explode:{{{die}}}|,|3}}}}|mm|}}|x|1}}}}mm²<br />
 
package.type = {{#explode:{{{package}}}|,|0}}<br />
package.size = {{#explode:{{{package}}}|,|1}}<br />
package.markings = {{#explode:{{{package}}}|,|2}}<br />
 
codes = {{{codes}}}
 
warning = {{{warning}}}
 
notes = {{{notes}}}


NOTE: There is nothing actually here yet.  Do not use this template.</noinclude>
sources: {{{sources}}}


<noinclude>
showsources = {{{showsources}}}}}}}<noinclude>{{documentation}}
{{documentation}}
 
== Preliminary overview ==
== Overview ==
Template to be used for ASIC chip details - e.g. developer, hashing specs, process, media.
Template to be used for ASIC chip details - e.g. developer, hashing specs, process, media.


The reason for using a template rather than a whole bunch of copy/paste scenarios is that it makes it easier to use it across different pages - e.g. entries in a list of ASICs, summary/sidebar entries on a developer's page, full entries on the page for the chip itself (if applicable - currently only Avalon seem to be using this) - and to vary presentation/update to more standards-compliant output as time goes along.
The reason for using a template rather than a whole bunch of copy/paste scenarios is that it makes it easier to use it across different pages - e.g. entries in a list of ASICs, summary/sidebar entries on a developer's page, full entries on the page for the chip itself (if applicable - currently only Avalon seem to be using this) - and to vary presentation/update to more standards-compliant output as time goes along.


This template will likely make a bit of use of the #explode stringfunction in order to easily pass multiple anonymous parameters as a single named parameterI.e. dev=[[Bitmain]],https://bitmaintech.com/ creating an internal wiki link for Bitmain, but also adding an external link to https://bitmaintech.com/, whereas dev=[[Bitmain]] does not include the external link. This helps cut down on having to do things like dev=Name|devlink=somesite|devlogo=somemedia, when these can - for the purposes of a template - easily be grouped together without much confusion in useUnfortunately the comma separator does mean that things like "Company, Inc." will need to have their comma encoded or wrapped such that the template won't see that as a separator. That or think of a different delimiter to use.  Anything but resorting to the pipe template/magic word <nowiki>{{!}}</nowiki> which makes my eyes hurt.
== Not included in this template ==
The following items are not included in this template, for the reasons specified:
* ''Gen / Generation labels''.  These mean different things to different people and ultimately have no bearing on a chip's specifications.
* ''Temperature specifications''Appropriate TDP information is rarely available for mining chips, with some manufacturers instead referring to how hot a chip gets in a given miner at a given temperature. However, as this temperature is highly dependent on the specific configuration of the miner (single fan / double fan / water cooling / immersion cooling), this once again has no bearing on a chip's specifications.
* ''Cores count''  The number of cores stated for a mining chip is moot unless each manufacturer uses the exact same design, number of stages per core, etc.  Despite plenty of commonality, implementations do differ enough that the concept of a 'core' is difficult at best to use as a distinguishing feature.
 
== Usage ==
This is a relatively straight forward [http://www.mediawiki.org/wiki/Help:Templates wiki template] and many of the notes about using templates apply here.
 
This template only uses ''named'' parametersSome of these parameters take multiple values, delimited by a comma, which should be treated as ''anonymous'' parameters - i.e. the order in which you specify them determines which sub-parameter you specify a value for.
 
As an example, the named parameter '''dev''' takes three values, ''name'', ''web'' and ''logo'', in that order; <code>'''dev'''=name,web,logo</code>.  These sub-parameters are referenced as ''''dev'''.''name'' and '''dev'''.''web'' in this documentation.


== To do ==
''Note:'' Whenever an arbitrary string contains a comma, you ''must'' encode it as &amp;#44;E.g. <code>'''dev'''=Company&amp;#44; Inc.,<nowiki>http://www.example.com/</nowiki></code>.
Basically all the things, including what details to include:
* Developer details
** Main developer (may include external link, name may be wikilink (will not create red links))
*** dev=name,website
** Secondary developers (i.e. chip facilitators, design bureaus, etc. - may include external link, no internal wiki links)
*** codevs=name1,name2,...
* Chip details
** (code) name, default to "unknown" (may include external link, may include BCT link)
*** chip=name,website,bct
** picture(s) - top/bottom maybe die (design) shot if available, with captions.  Currently inserting as a gallery, though apparently widths is broken.  Images should (preferably) be square (chips be square, yo).
*** chipmedia=media1,media1caption,media2,media2caption,...
** Introduction date (tape-out / market introduction / first known date code, preferably using #time)
*** chipdate=August 2014,1339 (Date template missing?)
** Mining Specifications.  Typical or min-max, as these can vary wildly depending on implementation and voltage/frequency modifications.  Additionally, at the moment the test table below contains a #expr to calculate Gh/J.  This only works if the input J/Gh is a single number, rather than a range.  If ranges are to be allowed, those ranges would have to be split first.  Additionally, because of the two variables, one could have 'Gh/s @ V @ Hz' and additional matching 'J/Gh @ V @ Hz' where the J/Gh does not necessarily carry through in all the variations.  Will have to think on this one a bit.  If allowing that format, then mods.volt, mods.freq and possible btcspecs.energy and btcspecs.hashrate can go, leaving essentially btcspecs=J@Gh@V@Hz,J2@Gh2@V2@Hz2,..., with #expr used to do any further calculationsHowever, I feel that this overcomplicates matters, and allowing min-max for both figures is sufficient for an overall overview - leaving the details of how to achieve those figures to the source citation or the reader's own research.
*** Ghash/s
*** J/Ghash
**** btcspecs=hashrate,energy
** Tech that modifies mining specs
*** Core voltage (typical or min-max)
*** Core frequency (typical or min-max)
**** mods=volt,freq
** Technical specifications ( in smaller type? )
*** foundry (TSMC, UMC, Global Foundries, SMIC, etc.)
*** node size (nm)
*** node process (hardcopy / full custom / gate array / standard cell / ?, rolled (sometimes called 'folded') cores / unrolled cores)
*** die size (mm x mm)
*** package specs (QFN, BGA, etc. mm x mm)
*** package markings in plaintext ( logo/name / part code / date code indication )
**** techspecs=foundry,nodesize,process,diesize,package,markings
*** list of date codes found in the wild.
**** datecodes=code1,code2,...
* Additional notes - trivia, additional details, pretty much anything, including whether or not the chip being referred was every actually real.
** notes=Additional notes here
* Use details, i.e. a non-exhaustive list of miners this chip is used in.  I'm pretty sure mediawiki ''can'' do a two-way relationship, but I think that would require every single miner to also have a wiki page...somehow.  Stick to this, manually update as miners are listed.
** miners=minerA,minerB,minerC,etc.
* Sources.  Where possible, give source for any parameter.  Rather than making a link cloud of sources in the template (output), accept arbitrary data here, e.g. [http://etc/ foundry & node size & die size],[http://etc2/ codevs].  Anybody with a citation needed itch can then check the source or (temporarily) set showsource=1
** sources=string1,string2,...
* Optional feedback
** For missing parameters - i.e. those inserting the template should have an easy way to figure out which parameters are missing without having to refer back to the documentation.
*** showmissing=0|1
** For sources - additionally outputs sources
*** showsources=0|1


Formatting:
=== Visual guide ===
* (wiki)table that structures the information
The following table serves as a visual guide, showing which parameter is inserted at which location in the output.
<table class="wikitable" style="font-size:80%; width:100%;">
<table class="wikitable" style="width:100%; font-size:80%;">
<tr style="font-size:125%;"><td>'''[dev.name]'''<sup>[[dev.website]|www]</sup> [codevs]</td><td>'''[chip.name]'''<sup>[[chip.website]|www]</sup> <sup>[[chip.bct]|BCT]</sup></td><td style="width:30%;" rowspan="6">
<tr style="vertical-align:top;">
<gallery mode="packed" heights="48px">
<td style="width:auto; height:1px;">[dev.logo]'''<br />[dev.name]'''<sup>[dev.web]</sup><br />'''Facilitators''': [codevs]</td>
BC_Rnd_64px.png‎|Top
<td style="width:612px;" rowspan="2"><div style="font-size:80%; text-align:center; padding:0; margin:0;"><div style="float:left; width:98px; height:116px; margin:2px; background-color:#eee;"><div style="vertical-align:middle; width:96px; height:96px; line-height:96px; border:1px solid #ddd;">[pics(n):file]</div><div>[pics(n):caption]</div></div><div style="clear:both;"></div></div></td></tr>
BC 64px.png‎|Bottom
<tr style="vertical-align:top;">
BC nBG 64px.png‎|Die shot
<td><span style="font-size:125%;">'''[chip.name]'''</span><sup>[chip.web]</sup> <sup>[chip.bct]</sup><br />'''Introduced/Planned''': [chip.date]<br />'''Datasheet''': [chip.datasheet]<br /><br />[warning]</td>
[media4]‎|[media4caption]
</tr>
</gallery>
</td></tr>
<tr><td>''Bitcoin mining specs''</td><td>
''Technical specs''</td></tr>
<tr style="vertical-align:top;">
<tr style="vertical-align:top;">
<td style="width:35%;">'''Hash rate:''' [btcspecs.hashrate]Gh/s<br />'''Power consumption:''' [btcspecs.energy]J/Gh ({{#expr: 1/[btcspecs.energy]}}Gh/J)</td>
<td>'''''Technical specifications''''':<br />'''Foundry''': [die.foundry]<br />'''Die''': [die.size]mm @ [die.node]nm ([die.topology])<br />'''Package''': [package.type] [package.size]mm<br />'''Markings''': [package.markings]<br />'''Known codes''': [codes]</td>
<td style="width:35%;" rowspan="2">'''Foundry''': [techspecs.foundry]<br />'''Die''': [techspecs.diesize] @ [techspecs.nodesize]nm<br />'''Package''': [techspecs.package]<br />'''Markings''': [techspecs.markings]<br />'''Known date codes''': [datecodes]</td>
<td><table class="wikitable" style="margin:0; padding:0; width:100%;">
<tr style="text-align:right;"><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Ghash per second">Gh/s</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Joules per Gh (equivalent to Watt per Gh/s)">J/Gh</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Mhash/Joule (derived value)">Mh/J</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Core voltage">V</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Core frequency">Hz</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Total chip wattage (derived value)">W</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="hashes per clock cycle (derived value)">h/Hz</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help;" title="Gh per square mm, an indication of relative mining performance (derived value)">Gh/mm²</span></th><th style="width:11.11%;"><span style="border-bottom:1px dotted #000; cursor:help; white-space:nowrap;" title="η-factor, a '' 'process-invariant hardware metric' (derived value)">η-factor</span></th></tr>
<tr style="text-align:right;"><td>mining(n):Gh</td><td>mining(n):J</td><td></td><td>mining(n):V</td><td>mining(n):Hz</td><td></td><td></td><td></td><td></td></tr>
</table></td>
</tr>
</tr>
<tr><td>'''Core voltage''': [mods.volt]<br />'''Core frequency''': [mods.freq]</td></tr>
<tr><td colspan="2">Notes: [notes]</td></tr>
<tr><td colspan="2">Additional notes: [notes]/td></tr>
<tr><td colspan="2">Used on: [miners]</td></tr>
<tr><td colspan="2">Miners using this chip: [miners]</td></tr>
<tr><td colspan="2">Sources: [sources] (only shown if showsources=1 is set)</td></tr>
<tr><td colspan="3">Sources: [sources]</td></tr>
</table>
</table>


All the logic that actually outputs the above based on provided parameters
=== Template template ===
* Should have a boolean toggle that outputs all parameters and shows which ones are missing.
Although straight forward, this template does have quite a few parameters.  If you've already familiarized yourself with the parameters and their meaning, the following template template can help; just copy/paste and adjust values as appropriate.


Proper documentation:
<code><nowiki>
* The style of the preliminary table above can show where provided info goes as a visual reminder
{{asic | dev=name,web!,logo | codevs=list | chip=name,web,date,bct | datasheet=list | pics=list(6) | mining=Gh:J@V:Hz list(4) | die=foundry,node,topology,size | package=type,size,markings | codes=list | notes=string | sources=string | showsources=0/1 | warning=future|canceled|needinfo|vaporware|scam | debug=0/1 }}
* Make a table of parameters, listing:
</nowiki></code>
** required yes/no
 
** format (string (arbitrary, link, etc.), integer, boolean, whatever)
=== Sandbox ===
** default value (only applicable to chip name so far: ''unknown'')
Before using this template in a page, consider using the [[Template:Asic/sandbox|sandbox]].  Not only does this allow you to test the output of your parameters, it also provides debug information on each of the provided parameters and several of the derived values, making it easier to fix any problems with the values you provide.
** description of parameter and parameter useE.g. if a derived value is to be used, use #expr so that original source values can be looked up. Things like the hash rate should be explained in terms of typical vs min-max valuesWith adequate cooling a chip can be overclocked quite a bit, and with extreme undervolting a chip can easily be very power-efficient.  The ASICs page will end up making note of this as wellAs a result, these values can be gamed to fit an agenda, which leads to:
 
** explain source citationAlthough most of the values should be readily found via google/bing/whatever, and I'm far from a [citation needed] kinda person as a consequence, ''adding sources doesn't hurt''.
=== Parameters ===
<table class="wikitable" style="font-size:80%">
<tr><th>Parameter</th><th>Description</th></tr>
<tr style="vertical-align:top;">
<td>'''style'''</td>
<td>Output style.  Defaults to the above visual guide.  The three other options at this time are:
* '''compact''' presents a more compact version that does not include pictures (pictures are presented as links instead), and only the most basic mining information; Gh/s and J/Gh
* '''infobox''' inserts the information as an infobox style display
* '''miningtable''' inserts only the mining data table rows with leading [dev] and [chip.name] cells, for use in comparison tables.
'''optional''' string<br />
syntax: <code>style=default/compact/infobox/miningtable</code><br />
example: <code>style=infobox</code></td>
</tr>
<tr style="vertical-align:top;">
<td>'''dev'''</td>
<td>Details about the primary developer of the ASIC.<br />'''required''' multiple value parameter<br />
syntax: <code>dev=name,web</code><br />
example: <code>dev=[Company&#44; Inc.],<nowiki>http://www.example.com/</nowiki>,logo-company_inc.png</code></td>
</tr>
<tr style="vertical-align:top;">
<td>'''dev'''.''name''</td>
<td>Name of the primary developer.  Can be a <nowiki>[wiki link]</nowiki> if the company has a page on the wiki.<br />
Note that if the name contains any commas, these should be replaced with the HTML encoded version &amp;#44;<br />'''required''' string</td></tr>
<tr style="vertical-align:top;">
<td>'''dev'''.''web''</td>
<td>Website of the primary developer.<br />''Important'': This should only be specified if ''dev.name'' does not resolve to a wiki page (either automatically or because it is specified explicitly as a wiki link).<br />'''optional''' non-wiki link string</td></tr>
<tr style="vertical-align:top;">
<td>'''dev'''.''logo''</td>
<td>Developer's logo.  If possible, source this from the company's wiki page.  If they don't have one, this would be a good excuse to make one!  Otherwise, upload an image and reference simply as ''filename.extension''<br />'''optional''' wiki picture filename</td></tr>
<tr style="vertical-align:top;">
<td>'''codevs'''</td>
<td>Names of co-developers.  An example of a co-developer is an ASIC design/finishing/proofing house or a facilitator between the primary developer and the foundry.<br />'''optional''' comma separated list of strings<br />
syntax: <code>codevs=Company A,Company B,Company C</code><br />
example: <code>codevs=A6 LLC</code></td></tr>
<tr style="vertical-align:top;">
<td>'''chip'''</td>
<td>Non-technical details of the chip<br />'''required''' multiple value parameter<br />
syntax: <code>chip=name,web,date,bct</code><br />
example: <code>chip=Blockerator 2000,<nowiki>http://www.example.com/destructor2k/</nowiki>,June 20th 2014,<nowiki>https://bitcointalk.org/index.php?topic=1.msg2#msg2</nowiki></code></td></tr>
<tr style="vertical-align:top;">
<td>'''chip'''.''name''</td>
<td>(Code) Name of the chip.  Many developers will name their chip or use a part code as a reference.  If no such name can be found, the chip may be used exclusively in a particular line of miners, which do have a name, and that name can be used instead.  Otherwise, leave blank.<br />'''optional''', string, defaults to '''unknown'''</td></tr>
<tr style="vertical-align:top;">
<td>'''chip'''.''web''</td>
<td>Website with information about the chip.  This can be a forum thread/post but should ''not'' be a BitcoinTalk thread.  See '''chip'''.''bct'' instead.<br />'''optional''' non-wiki link string</td></tr>
<tr style="vertical-align:top;">
<td>'''chip'''.''date''</td>
<td>Introduction date of the chip.  This can often be difficult to assess as the chip goes through various stages of development before it goes to market.  If possible, find the ''tape-out date''.  If this can't be found, try to find when it was first introduced to market, e.g. in an announcement, press coverage, etc. Alternatively, if the chip package has a date code that precedes that introduction, use the date code as a basis instead.<br />
If no exact date is known, year/month will suffice  .<br />'''optional''' date string (no commas)</td></tr>
<tr style="vertical-align:top;">
<td>'''chip'''.''bct''</td>
<td>BitcoinTalk thread/post with information and/or discussion about the chip.<br />'''optional''' non-wiki link string to the BitcoinTalk forum.</td></tr>
<tr style="vertical-align:top;">
<td>'''datasheet'''</td>
<td>Links to the chip's datasheet(s) and/or significant resource(s) of technical information, if available.<br />'''optional''' list of comma separated <nowiki>[wiki links]</nowiki><br />
syntax: <code>datasheet=<nowiki>[wiki link1],[wiki link 2],...</nowiki></code><br />
example: <code>datasheet=<nowiki>http://www.example.com/destructor2k/</nowiki></code></td></tr>
<tr style="vertical-align:top;">
<td>'''pics'''</td>
<td>Pictures to be included in the template, typically of the top and bottom of the chip and optionally die and/or design photos (up to 6 pictures total) along with simple captions that may include links to further media along the same lines (e.g. ''Top'', ''<nowiki>[http://www.example.com/media/destructor2k Die shots]</nowiki>'') in the following structure: ''filename.extension:caption''<br />
''Important:'' If the display style is ''infobox'', only the first picture specified is used.  Thus, the first picture should generally be a 'top' picture for identification.<br />
'''optional''' comma separated list of up to six media structures</td></tr>
<tr style="vertical-align:top;">
<td>'''mining'''</td>
<td>Specifications of the chip's Bitcoin hashing performance.  Hashing performance of a typical chip is a complex issue with multiple variables.  The most common two variables are ''core voltage'' and ''core frequency''Combined, these affect both the hash rate and the power consumption. To enforce per-setting parity for these values, they must be specified as any permutation of the following structure: ''mining=<Gh:J@V:Hz''<br />
Where '''Gh''' is the hash rate, '''J''' is Joules/Ghash, '''V''' is the core voltage and '''Hz''' is the core frequency (in MHz).
 
The leading '''<''' can be used if a J/Gh rating is derived from at-the-wall power consumption of a miner in case there is no information on the chip.  At-the-wall power consumption is always greater than that of the chip due to losses in the power supply, voltage regulators on the board, and losses in auxiliary circuitry.<br />
 
Trailing units may be specified for clarity but will not be used to determine how to interpret the data.
 
For example, you could specify only the hash rate (<code>mining=200</code>) or the power consumption at a given hash rate (<code>mining=200Gh:0.82J</code>) or the hash rate at a given core voltage (<code>mining=200@0.7</code>).<br />
The template will automatically insert derived values (W, Gh/J, etc.) where sufficient values are given.<br />
 
If more than one structure is provided, each will be included in the template separately up to a maximum of 4.  This allows for minimum and maximum power consumption figures, and minimum and maximum hash rates (if not coinciding with the power consumption figures).  Further values, e.g. to demonstrate non-linearity, are outside the scope of this template and should ideally be noted in a chip's datasheet.
 
''Important'': If you do not have exact figures but have values from which to roughly calculate them, such as from a complete miner's specification, you can enter a mathematical expression.  For example, if you know that a miner is advertised as being 800Ghash/s, and a picture tells you that it has 12 chips, you can use <code>mining=800/12</code> and the template will calculate the hash rate.  The main reason for entering these values directly has to do with sourcing, such that others can verify the values entered.  In this example, a hash rate of ''66.67'' is unlikely to be found through a search or through checking sources.  Similarly, if only a miner's (800Ghash/s) at-the-wall power consumption (400Watt) and the power supply's efficiency (83%) is known, you can use <code>mining=800/12:400/12*0.83</code><br />'''optional''' comma separated list of up to four mining structures<br />
syntax: <code>mining=Gh:J,V:Hz</code><br />
example (no suffixes): <code>mining=200:0.82,0.78:175</code><br />
example (suffixes for clarity) <code>mining=200Gh:0.82J,0.78V:175Hz</code>
</td></tr>
<tr style="vertical-align:top;">
<td>'''die'''</td>
<td>Technical data about the chip [http://en.wikipedia.org/wiki/Die_(integrated_circuit) die] itself.<br />'''optional''' multiple value parameter<br />
''Note:'' The Gh/mm² and η-factor values are automatically derived from the die size and node process sizes if the hash rate is also known.<br />
syntax: <code>die=foundry,node,topology,size</code><br />
example: <code>die=TSMC,28nm,full custom,3.5x3.5</code></td></tr>
<tr style="vertical-align:top;">
<td>'''die'''.''foundry''</td>
<td>The foundry that produced the [http://en.wikipedia.org/wiki/Wafer_%28electronics%29 chip wafers].  Typically this will be one of ''TSMC'', ''Global Foundries'', ''UMC'', or ''SMIC'', but there are other foundries especially for older node sizes.<br />'''optional''' string</td></tr>
<tr style="vertical-align:top;">
<td>'''die'''.''node''</td>
<td>[http://en.wikipedia.org/wiki/Template:Semiconductor_manufacturing_processes Node size].  This should be specified in nanometers (nm) and may include the 'nm' suffix for clarity.  Sizes should ''not'' be specified in µm.<br />'''optional''' string</td></tr>
<tr style="vertical-align:top;">
<td>'''die'''.''topology''</td>
<td>The topology of the chip.  This can be difficult to ascertain as many manufacturers won't say, or rely on multiple technologies.  This value will typically be one of ''hard copy'', ''full custom'' or ''gate array''.  ''hard copy'' generally refers to an FPGA design that was turned into an ASIC by path of least resistance; letting software solve it''full custom'' may include a custom designed core but with placing and routing automated.<br />'''optional''' string</td></tr>
<tr style="vertical-align:top;">
<td>'''die'''.''size''</td>
<td>Physical size of the die, expressed in millimeters ''length''x''width'' and may include the 'mm' suffix for clarity, e.g. ''4x4mm''<br />'''optional''' dimensions string</td></tr>
<tr style="vertical-align:top;">
<td>'''package'''</td>
<td>Details of the [http://en.wikipedia.org/wiki/List_of_integrated_circuit_packaging_types package] used for the chip.<br />'''optional''' multiple value parameter<br />
syntax: <code>package=type,size,markings</code><br />
example: <code>package=QFN,8x8mm,BTC2000 / [date] / [lot]</code></td></tr>
<tr style="vertical-align:top;">
<td>'''package'''.''type''</td>
<td>The package type and pin count used for the chip.  This will typically be one of QFN, BGA or FCBGA, followed by the number of pins.  The number of pins on some packages can be difficult to determine.  For example, a BGA may consist of 32 rows and 32 columns, but have its corner pins removed, or the shadow area under the die may not have any pins at all.  When the pin count varies wildly from what a simple rows * columns calculation would provide, use the rows * columns calculation, append an asterisk (in this example, ''BGA1024*'', and if possible supply media showing the pins on the chip more clearly in the '''pics''' parameter if not already specified.<br />'''optional''' string</td></tr>
<tr style="vertical-align:top;">
<td>'''package'''.''size''</td>
<td>Physical size of the package's board presence without any leads - i.e. just the dimensions of the (plastic / ceramic) package - expressed in millimeters ''length''x''width'' and may include the 'mm' suffix for clarity, e.g. ''9x9mm''<br />'''optional''' dimensions string</td></tr>
<tr style="vertical-align:top;">
<td>'''package'''.''markings''</td>
<td>Plaintext transcription of the markings on the package, excluding pin 1 indication markers.  New lines should be substituted by '' / '' (space before and after the slash character).<br />
Bare packages should have their markings specified as 'none'.<br />
If the markings include a logo, the logo may simply be described as ''company logo'' or ''device logo'', though in the case of logos that incorporate text this text should be noted.<br />
Special markings may be indicated by place holders, e.g. [lot] and [date].<br />'''optional''' string</td></tr>
<tr style="vertical-align:top;">
<td>'''codes'''</td>
<td>A list of codes found in the wild.  Date codes can help establish manufacturing runs.  Typical date codes exist of a week number and a year, both as two digits, together.  However, more complex date codes exist and if in use may not be easy to decipher without a datasheet.<br />'''optional''' comma separated list of strings<br />
syntax: <code>codes=code1,code2,...</code><br />
example: <code>3913,4013,4113</code></td></tr>
<tr style="vertical-align:top;">
<td>'''warning'''</td>
<td>Warning information.<br />
'''optional''' multiple value parameter<br />
syntax: <code>warning=type,details</code><br />
example: <code>warning=vaporware,This chip does not actually exist</code></td>
</tr>
<tr style="vertical-align:top;">
<td>'''warning'''.''type''</td>
<td>A warning type, where applicable.  The only four warning types currently recognized are:<br />
* '''canceled''' Inserts a text noting that the chip was cancelled.<br />
* '''needinfo''' Inserts a text noting that more information on this chip is desired.<br />
* '''vaporware''' Inserts a text noting that the chip may not actually exist.<br />
* '''scam''' Inserts a text noting that the chip is the subject of a scam accusation.<br />
These warnings should not be used lightlyLack of information on a chip does not necessarily imply a scam, and should instead be set to ''needinfo''.  When there are strong indications that the chip simply doesn't exist ''vaporware'' is an appropriate state.  Only when there are strong scam accusations should the ''scam'' state be used.  If it is known that a chip never reached production because it was canceled, use the ''canceled'' state.<br />
There are no 'warnings' for chips that are legitimate, currently available or currently under production.  Simply leave out this parameter, and no warning will be inserted.<br />
This parameter affects the 'date' label if ''chip.date'' is set.  If set to one of canceled|vaporware|scam, the label will be ''Planned'', otherwise it will read ''Introduced''
</tr>
<tr style="vertical-align:top;">
<td>'''warning'''.''details''</td>
<td>Details on the warning type, if warranted. This is inserted into the [notes] section.<br />
''Note:'' Details may contain commas.</td>
</tr>
<tr style="vertical-align:top;">
<td>'''notes'''</td>
<td>Any additional notes that should be addedThis may include trivia (back story behind a name, for example), specifications not yet addressed in the template, or anything else you feel may be of interest.<br />'''optional''' string<br />
syntax: <code>notes=arbitrary string</code><br />
example: <code>notes=The Blockerator 2000 doesn't actually exist.</code></td></tr>
<tr style="vertical-align:top;">
<td>'''miners'''</td>
<td>A (non-exhaustive) list of miners that use this particular chip.  These miners may be <nowiki>[wiki linked]</nowiki> or plain linked if there is information on the particular miner available.  However, this should absolutely not be used to refer to miners that do not (yet) exist.  As with the entirety of the wiki, it is not advertising space.<br />'''optional''' list of comma separated strings<br />
syntax: <code>miners=miner1,miner2,...</code><br />
example: <code>miners=Blockerator 2K,Blockerator2K1</code></td></tr>
<tr style="vertical-align:top;">
<td>'''sources'''</td>
<td>A list of sources.  In order to prevent a link cloud or link clutter, while acknowledging the need to prevent <nowiki>[citation needed]</nowiki>, this parameter should be used to list your sources.  Anybody interested in checking where information came from can then put in the small effort to find it.<br />''Note'': If you are uploading media, consider putting the source citation in the media's description instead, and make sure to choose an appropriate license.  For company logos this is usually because it will be a wordmark, simple geometric shapes argument, or just 'fair use' based on being illustrative.  The latter argument also tends to apply to chip shots.  However, if you can provide your own original photos, that would be preferred.<br />'''optional''' list of comma separated [http://www.mediawiki.org/wiki/Extension:Cite source citations].<br />
syntax: <code>sources=data1<nowiki><ref>source1</ref></nowiki>,data2 & data 3<nowiki><ref>source2&3</ref></nowiki>,...</code>
example: <code>sources=all the things: thin air (original research)</code></td></tr>
<tr style="vertical-align:top;">
<td>'''showsources'''</td>
<td>Adds the citations below the template output.  If the page has a <nowiki><references /></nowiki> tag, they will then be listed there.<br />'''optional''' boolean 0|1<br />
syntax: <code>showsources=0|1</code><br />
example: <code>showsources=1</code></td></tr>
<tr style="vertical-align:top;">
<td>'''debug'''</td>
<td>Adds debug output below the template output, but only if used on the [[Template:Asic/sandbox]] page to prevent accidental clutter.<br />'''optional''' boolean 0|1<br />
syntax: <code>debug=0|1</code><br />
example: <code>debug=1</code></td></tr>
</table>


== Not to do ==
== References ==
Things that shouldn't be included in this template (and should be noted on the ASICs page instead):
<references />
* Gen / Generation labels.  These mean different things to different people and is ultimately fluff.
* temperature specs.  Drop the chips in liquid nitrogen and hey presto - i.e. temperature is fluff for asic specs and should be reserved for miners.
* Cores count.  The number of cores is moot unless each manufacturer uses the exact same design, number of stages per core, etc.  Despite plenty of commonality, implementations do differ enough that the concept of a 'core' is difficult at best to use as a distinguishing feature.
</noinclude>
</noinclude>

Latest revision as of 21:30, 12 April 2015

Template

Edit this section to edit the template. Template:Asic/doc

Overview

Template to be used for ASIC chip details - e.g. developer, hashing specs, process, media.

The reason for using a template rather than a whole bunch of copy/paste scenarios is that it makes it easier to use it across different pages - e.g. entries in a list of ASICs, summary/sidebar entries on a developer's page, full entries on the page for the chip itself (if applicable - currently only Avalon seem to be using this) - and to vary presentation/update to more standards-compliant output as time goes along.

Not included in this template

The following items are not included in this template, for the reasons specified:

  • Gen / Generation labels. These mean different things to different people and ultimately have no bearing on a chip's specifications.
  • Temperature specifications. Appropriate TDP information is rarely available for mining chips, with some manufacturers instead referring to how hot a chip gets in a given miner at a given temperature. However, as this temperature is highly dependent on the specific configuration of the miner (single fan / double fan / water cooling / immersion cooling), this once again has no bearing on a chip's specifications.
  • Cores count The number of cores stated for a mining chip is moot unless each manufacturer uses the exact same design, number of stages per core, etc. Despite plenty of commonality, implementations do differ enough that the concept of a 'core' is difficult at best to use as a distinguishing feature.

Usage

This is a relatively straight forward wiki template and many of the notes about using templates apply here.

This template only uses named parameters. Some of these parameters take multiple values, delimited by a comma, which should be treated as anonymous parameters - i.e. the order in which you specify them determines which sub-parameter you specify a value for.

As an example, the named parameter dev takes three values, name, web and logo, in that order; dev=name,web,logo. These sub-parameters are referenced as 'dev.name and dev.web in this documentation.

Note: Whenever an arbitrary string contains a comma, you must encode it as &#44;. E.g. dev=Company&#44; Inc.,http://www.example.com/.

Visual guide

The following table serves as a visual guide, showing which parameter is inserted at which location in the output.

[dev.logo]
[dev.name]
[dev.web]
Facilitators: [codevs]
[pics(n):file]
[pics(n):caption]
[chip.name][chip.web] [chip.bct]
Introduced/Planned: [chip.date]
Datasheet: [chip.datasheet]

[warning]
Technical specifications:
Foundry: [die.foundry]
Die: [die.size]mm @ [die.node]nm ([die.topology])
Package: [package.type] [package.size]mm
Markings: [package.markings]
Known codes: [codes]
Gh/sJ/GhMh/JVHzWh/HzGh/mm²η-factor
mining(n):Ghmining(n):Jmining(n):Vmining(n):Hz
Notes: [notes]
Used on: [miners]
Sources: [sources] (only shown if showsources=1 is set)

Template template

Although straight forward, this template does have quite a few parameters. If you've already familiarized yourself with the parameters and their meaning, the following template template can help; just copy/paste and adjust values as appropriate.

{{asic | dev=name,web!,logo | codevs=list | chip=name,web,date,bct | datasheet=list | pics=list(6) | mining=Gh:J@V:Hz list(4) | die=foundry,node,topology,size | package=type,size,markings | codes=list | notes=string | sources=string | showsources=0/1 | warning=future|canceled|needinfo|vaporware|scam | debug=0/1 }}

Sandbox

Before using this template in a page, consider using the sandbox. Not only does this allow you to test the output of your parameters, it also provides debug information on each of the provided parameters and several of the derived values, making it easier to fix any problems with the values you provide.

Parameters

ParameterDescription
style Output style. Defaults to the above visual guide. The three other options at this time are:
  • compact presents a more compact version that does not include pictures (pictures are presented as links instead), and only the most basic mining information; Gh/s and J/Gh
  • infobox inserts the information as an infobox style display
  • miningtable inserts only the mining data table rows with leading [dev] and [chip.name] cells, for use in comparison tables.

optional string
syntax: style=default/compact/infobox/miningtable

example: style=infobox
dev Details about the primary developer of the ASIC.
required multiple value parameter

syntax: dev=name,web

example: dev=[Company, Inc.],http://www.example.com/,logo-company_inc.png
dev.name Name of the primary developer. Can be a [wiki link] if the company has a page on the wiki.
Note that if the name contains any commas, these should be replaced with the HTML encoded version &#44;
required string
dev.web Website of the primary developer.
Important: This should only be specified if dev.name does not resolve to a wiki page (either automatically or because it is specified explicitly as a wiki link).
optional non-wiki link string
dev.logo Developer's logo. If possible, source this from the company's wiki page. If they don't have one, this would be a good excuse to make one! Otherwise, upload an image and reference simply as filename.extension
optional wiki picture filename
codevs Names of co-developers. An example of a co-developer is an ASIC design/finishing/proofing house or a facilitator between the primary developer and the foundry.
optional comma separated list of strings

syntax: codevs=Company A,Company B,Company C

example: codevs=A6 LLC
chip Non-technical details of the chip
required multiple value parameter

syntax: chip=name,web,date,bct

example: chip=Blockerator 2000,http://www.example.com/destructor2k/,June 20th 2014,https://bitcointalk.org/index.php?topic=1.msg2#msg2
chip.name (Code) Name of the chip. Many developers will name their chip or use a part code as a reference. If no such name can be found, the chip may be used exclusively in a particular line of miners, which do have a name, and that name can be used instead. Otherwise, leave blank.
optional, string, defaults to unknown
chip.web Website with information about the chip. This can be a forum thread/post but should not be a BitcoinTalk thread. See chip.bct instead.
optional non-wiki link string
chip.date Introduction date of the chip. This can often be difficult to assess as the chip goes through various stages of development before it goes to market. If possible, find the tape-out date. If this can't be found, try to find when it was first introduced to market, e.g. in an announcement, press coverage, etc. Alternatively, if the chip package has a date code that precedes that introduction, use the date code as a basis instead.
If no exact date is known, year/month will suffice .
optional date string (no commas)
chip.bct BitcoinTalk thread/post with information and/or discussion about the chip.
optional non-wiki link string to the BitcoinTalk forum.
datasheet Links to the chip's datasheet(s) and/or significant resource(s) of technical information, if available.
optional list of comma separated [wiki links]

syntax: datasheet=[wiki link1],[wiki link 2],...

example: datasheet=http://www.example.com/destructor2k/
pics Pictures to be included in the template, typically of the top and bottom of the chip and optionally die and/or design photos (up to 6 pictures total) along with simple captions that may include links to further media along the same lines (e.g. Top, [http://www.example.com/media/destructor2k Die shots]) in the following structure: filename.extension:caption

Important: If the display style is infobox, only the first picture specified is used. Thus, the first picture should generally be a 'top' picture for identification.

optional comma separated list of up to six media structures
mining Specifications of the chip's Bitcoin hashing performance. Hashing performance of a typical chip is a complex issue with multiple variables. The most common two variables are core voltage and core frequency. Combined, these affect both the hash rate and the power consumption. To enforce per-setting parity for these values, they must be specified as any permutation of the following structure: mining=<Gh:J@V:Hz

Where Gh is the hash rate, J is Joules/Ghash, V is the core voltage and Hz is the core frequency (in MHz).

The leading < can be used if a J/Gh rating is derived from at-the-wall power consumption of a miner in case there is no information on the chip. At-the-wall power consumption is always greater than that of the chip due to losses in the power supply, voltage regulators on the board, and losses in auxiliary circuitry.

Trailing units may be specified for clarity but will not be used to determine how to interpret the data.

For example, you could specify only the hash rate (mining=200) or the power consumption at a given hash rate (mining=200Gh:0.82J) or the hash rate at a given core voltage (mining=200@0.7).
The template will automatically insert derived values (W, Gh/J, etc.) where sufficient values are given.

If more than one structure is provided, each will be included in the template separately up to a maximum of 4. This allows for minimum and maximum power consumption figures, and minimum and maximum hash rates (if not coinciding with the power consumption figures). Further values, e.g. to demonstrate non-linearity, are outside the scope of this template and should ideally be noted in a chip's datasheet.

Important: If you do not have exact figures but have values from which to roughly calculate them, such as from a complete miner's specification, you can enter a mathematical expression. For example, if you know that a miner is advertised as being 800Ghash/s, and a picture tells you that it has 12 chips, you can use mining=800/12 and the template will calculate the hash rate. The main reason for entering these values directly has to do with sourcing, such that others can verify the values entered. In this example, a hash rate of 66.67 is unlikely to be found through a search or through checking sources. Similarly, if only a miner's (800Ghash/s) at-the-wall power consumption (400Watt) and the power supply's efficiency (83%) is known, you can use mining=800/12:400/12*0.83
optional comma separated list of up to four mining structures
syntax: mining=Gh:J,V:Hz
example (no suffixes): mining=200:0.82,0.78:175
example (suffixes for clarity) mining=200Gh:0.82J,0.78V:175Hz

die Technical data about the chip die itself.
optional multiple value parameter

Note: The Gh/mm² and η-factor values are automatically derived from the die size and node process sizes if the hash rate is also known.
syntax: die=foundry,node,topology,size

example: die=TSMC,28nm,full custom,3.5x3.5
die.foundry The foundry that produced the chip wafers. Typically this will be one of TSMC, Global Foundries, UMC, or SMIC, but there are other foundries especially for older node sizes.
optional string
die.node Node size. This should be specified in nanometers (nm) and may include the 'nm' suffix for clarity. Sizes should not be specified in µm.
optional string
die.topology The topology of the chip. This can be difficult to ascertain as many manufacturers won't say, or rely on multiple technologies. This value will typically be one of hard copy, full custom or gate array. hard copy generally refers to an FPGA design that was turned into an ASIC by path of least resistance; letting software solve it. full custom may include a custom designed core but with placing and routing automated.
optional string
die.size Physical size of the die, expressed in millimeters lengthxwidth and may include the 'mm' suffix for clarity, e.g. 4x4mm
optional dimensions string
package Details of the package used for the chip.
optional multiple value parameter

syntax: package=type,size,markings

example: package=QFN,8x8mm,BTC2000 / [date] / [lot]
package.type The package type and pin count used for the chip. This will typically be one of QFN, BGA or FCBGA, followed by the number of pins. The number of pins on some packages can be difficult to determine. For example, a BGA may consist of 32 rows and 32 columns, but have its corner pins removed, or the shadow area under the die may not have any pins at all. When the pin count varies wildly from what a simple rows * columns calculation would provide, use the rows * columns calculation, append an asterisk (in this example, BGA1024*, and if possible supply media showing the pins on the chip more clearly in the pics parameter if not already specified.
optional string
package.size Physical size of the package's board presence without any leads - i.e. just the dimensions of the (plastic / ceramic) package - expressed in millimeters lengthxwidth and may include the 'mm' suffix for clarity, e.g. 9x9mm
optional dimensions string
package.markings Plaintext transcription of the markings on the package, excluding pin 1 indication markers. New lines should be substituted by / (space before and after the slash character).

Bare packages should have their markings specified as 'none'.
If the markings include a logo, the logo may simply be described as company logo or device logo, though in the case of logos that incorporate text this text should be noted.

Special markings may be indicated by place holders, e.g. [lot] and [date].
optional string
codes A list of codes found in the wild. Date codes can help establish manufacturing runs. Typical date codes exist of a week number and a year, both as two digits, together. However, more complex date codes exist and if in use may not be easy to decipher without a datasheet.
optional comma separated list of strings

syntax: codes=code1,code2,...

example: 3913,4013,4113
warning Warning information.

optional multiple value parameter
syntax: warning=type,details

example: warning=vaporware,This chip does not actually exist
warning.type A warning type, where applicable. The only four warning types currently recognized are:
  • canceled Inserts a text noting that the chip was cancelled.
  • needinfo Inserts a text noting that more information on this chip is desired.
  • vaporware Inserts a text noting that the chip may not actually exist.
  • scam Inserts a text noting that the chip is the subject of a scam accusation.

These warnings should not be used lightly. Lack of information on a chip does not necessarily imply a scam, and should instead be set to needinfo. When there are strong indications that the chip simply doesn't exist vaporware is an appropriate state. Only when there are strong scam accusations should the scam state be used. If it is known that a chip never reached production because it was canceled, use the canceled state.
There are no 'warnings' for chips that are legitimate, currently available or currently under production. Simply leave out this parameter, and no warning will be inserted.
This parameter affects the 'date' label if chip.date is set. If set to one of canceled|vaporware|scam, the label will be Planned, otherwise it will read Introduced

warning.details Details on the warning type, if warranted. This is inserted into the [notes] section.
Note: Details may contain commas.
notes Any additional notes that should be added. This may include trivia (back story behind a name, for example), specifications not yet addressed in the template, or anything else you feel may be of interest.
optional string

syntax: notes=arbitrary string

example: notes=The Blockerator 2000 doesn't actually exist.
miners A (non-exhaustive) list of miners that use this particular chip. These miners may be [wiki linked] or plain linked if there is information on the particular miner available. However, this should absolutely not be used to refer to miners that do not (yet) exist. As with the entirety of the wiki, it is not advertising space.
optional list of comma separated strings

syntax: miners=miner1,miner2,...

example: miners=Blockerator 2K,Blockerator2K1
sources A list of sources. In order to prevent a link cloud or link clutter, while acknowledging the need to prevent [citation needed], this parameter should be used to list your sources. Anybody interested in checking where information came from can then put in the small effort to find it.
Note: If you are uploading media, consider putting the source citation in the media's description instead, and make sure to choose an appropriate license. For company logos this is usually because it will be a wordmark, simple geometric shapes argument, or just 'fair use' based on being illustrative. The latter argument also tends to apply to chip shots. However, if you can provide your own original photos, that would be preferred.
optional list of comma separated source citations.

syntax: sources=data1<ref>source1</ref>,data2 & data 3<ref>source2&3</ref>,...

example: sources=all the things: thin air (original research)
showsources Adds the citations below the template output. If the page has a <references /> tag, they will then be listed there.
optional boolean 0|1

syntax: showsources=0|1

example: showsources=1
debug Adds debug output below the template output, but only if used on the Template:Asic/sandbox page to prevent accidental clutter.
optional boolean 0|1

syntax: debug=0|1

example: debug=1

References