From WikiChip
Difference between revisions of "Module:node"
Line 1: | Line 1: | ||
− | local | + | local node = {} |
local origArgs | local origArgs | ||
+ | |||
+ | function has_arg(name) | ||
+ | -- The argument can exist and be empty or not exist at all | ||
+ | return string.len(origArgs[name] or '') > 0 | ||
+ | end | ||
function arg(name) | function arg(name) | ||
Line 6: | Line 11: | ||
end | end | ||
− | function | + | function node.node(frame) |
if frame == mw.getCurrentFrame() then | if frame == mw.getCurrentFrame() then | ||
origArgs = frame:getParent().args | origArgs = frame:getParent().args | ||
Line 12: | Line 17: | ||
origArgs = frame.args | origArgs = frame.args | ||
end | end | ||
− | |||
− | |||
− | |||
− | |||
− | if | + | if has_arg('5 nm') then |
return '' .. | return '' .. | ||
'<table class="wikitable" style="text-align: center;">' .. | '<table class="wikitable" style="text-align: center;">' .. | ||
Line 45: | Line 46: | ||
− | return | + | return node |
Revision as of 08:02, 13 October 2019
Documentation for this module may be created at Module:node/doc
local node = {}
local origArgs
function has_arg(name)
-- The argument can exist and be empty or not exist at all
return string.len(origArgs[name] or '') > 0
end
function arg(name)
return origArgs[name]
end
function node.node(frame)
if frame == mw.getCurrentFrame() then
origArgs = frame:getParent().args
else
origArgs = frame.args
end
if has_arg('5 nm') then
return '' ..
'<table class="wikitable" style="text-align: center;">' ..
'<tr><th colspan="2"> </th><th colspan="2">[[Intel]]</th><th colspan="2">[[TSMC]]</th><th colspan="2">[[Samsung]]</th></tr>' ..
'<tr><th colspan="2">Process</th><td colspan="2">P1278 (CPU), P1279 (SoC)</td><td colspan="2">N5, N5P</td><td colspan="2">5LPP, 4LPP</td></tr>' ..
'<tr><th colspan="2">Production</th><td colspan="2">2023</td><td colspan="2">Q1\'2020</td><td colspan="2">2020</td></tr>' ..
'<tr><th rowspan="2">Litho</th><th>Lithography</th><td colspan="6">[[EUV]]</td></tr>' ..
'<tr><th>Immersion<br>Exposure</th><td colspan="2"></td><td colspan="2">SE (EUV)<br>DP (193i)</td><td colspan="2">SE (EUV)<br>DP (193i)</td></tr>' ..
'<tr><th rowspan="2">[[Wafer]]</th><th>Type</th><td colspan="6">Bulk</td></tr>' ..
'<tr><th>Size</th><td colspan="6">[[wafer size|300 mm]]</td></tr>' ..
'<tr><th rowspan="2">xTor</th><th>Type</th><td colspan="2"></td><td colspan="2">[[FinFET]]</td><td colspan="2">[[FinFET]]</td></tr>' ..
'<tr><th>Voltage</th><td colspan="2"></td><td colspan="2"></td><td colspan="2"></td></tr>' ..
'<tr><th colspan="2"> </th><th>Value</th><th>[[7 nm]] Δ</th><th>Value</th><th>[[7 nm]] Δ</th><th>Value</th><th>[[7 nm]] Δ</th></tr>' ..
'<tr><th rowspan="3">Fin</th><th>Pitch</th><td></td><td></td><td></td><td></td><td>27 nm</td><td>1.0x</td></tr>' ..
'<tr><th>Width</th><td></td><td></td><td></td><td></td><td></td><td></td></tr>' ..
'<tr><th>Height</th><td></td><td></td><td></td><td></td><td></td><td></td></tr>' ..
'<tr><th colspan="2">Gate Length (L<sub>g</sub>)</th><td></td><td></td><td></td><td></td><td></td><td></td></tr>' ..
'<tr><th colspan="2">Contacted Gate Pitch (CPP)</th><td></td><td></td><td></td><td></td><td></td><td></td></tr>' ..
'<tr><th colspan="2">Minimum Metal Pitch (MMP)</th><td></td><td></td><td></td><td></td><td>36 nm</td><td>1.0x</td></tr>' ..
'<tr><th rowspan="3">[[SRAM]]</th><th>High-Perf (HP)</th><td></td><td></td><td></td><td></td><td></td><td></td></tr>' ..
'<tr><th>High-Density (HD)</th><td></td><td></td><td></td><td></td><td>0.0260 µm²</td><td>1.0x</td></tr>' ..
'<tr><th>Low-Voltage (LV)</th><td></td><td></td><td></td><td></td><td></td><td></td></tr>' ..
'</table>'
end
end
return node