mirror of
https://github.com/TinyTapeout/tt-support-tools.git
synced 2026-11-03 04:36:09 +01:00
continue tweaking
This commit is contained in:
@@ -1,13 +1,19 @@
|
|||||||
# Datasheet assets
|
# Datasheet assets
|
||||||
|
|
||||||
Both files are embedded as data URIs by `build.py`, so the generated HTML is
|
Files here are embedded as data URIs by `build.py`, so the generated HTML is
|
||||||
self-contained. Swap either one by dropping in a replacement and updating the
|
self-contained. Swap any of them by dropping in a replacement and updating the
|
||||||
`assets:` block in `datasheet.yaml`.
|
`assets:` block in `datasheet.yaml`.
|
||||||
|
|
||||||
| File | Source | Licence |
|
| File | Source | Licence |
|
||||||
| ---- | ------ | ------- |
|
| ---- | ------ | ------- |
|
||||||
| `archivo.woff2` | [Archivo](https://github.com/Omnibus-Type/Archivo) via Google Fonts, latin subset, variable weight 100–900 | SIL Open Font License 1.1 — see `OFL.txt` |
|
| `archivo.woff2` | [Archivo](https://github.com/Omnibus-Type/Archivo) via Google Fonts, latin subset, variable weight 100–900 | SIL Open Font License 1.1 — see `OFL.txt` |
|
||||||
| `demoboard.jpg` | Tiny Tapeout ETR demoboard quickstart guide, downscaled to 1000px | © 2024 Pat Deegan, psychogenic.com — **not** covered by this repo's Apache-2.0 licence |
|
| `demoboard.jpg` | Tiny Tapeout ETR demoboard quickstart guide, downscaled to 1000px | © 2024 Pat Deegan, psychogenic.com — **not** covered by this repo's Apache-2.0 licence |
|
||||||
|
| `supporters/*` | Logos from [tinytapeout.com/credits](https://tinytapeout.com/credits/) | Trademarks of their respective owners |
|
||||||
|
|
||||||
The demoboard photo is credited in the datasheet caption. Confirm redistribution
|
The demoboard photo carries an embedded copyright of © 2024 Pat Deegan. **Matt
|
||||||
is agreed with the copyright holder before publishing the datasheet externally.
|
has permission from Pat to use it**, so it needs no on-sheet credit — the
|
||||||
|
datasheet caption that previously carried one has been removed. It remains
|
||||||
|
outside this repo's Apache-2.0 licence: don't reuse it elsewhere without asking.
|
||||||
|
|
||||||
|
The supporter logos are only rendered when the `supporters:` block in
|
||||||
|
`datasheet.yaml` is uncommented, which it currently is not.
|
||||||
|
|||||||
+30
-2
@@ -164,12 +164,30 @@ def validate_markup(content: dict) -> None:
|
|||||||
raise SystemExit("\n".join(f"{p}" for p in problems))
|
raise SystemExit("\n".join(f"{p}" for p in problems))
|
||||||
|
|
||||||
|
|
||||||
|
MIME_TYPES = {".png": "image/png", ".jpg": "image/jpeg", ".jpeg": "image/jpeg"}
|
||||||
|
|
||||||
|
|
||||||
def as_data_uri_payload(path: Path) -> str:
|
def as_data_uri_payload(path: Path) -> str:
|
||||||
if not path.is_file():
|
if not path.is_file():
|
||||||
raise SystemExit(f"missing asset: {path}")
|
raise SystemExit(f"missing asset: {path}")
|
||||||
return base64.b64encode(path.read_bytes()).decode()
|
return base64.b64encode(path.read_bytes()).decode()
|
||||||
|
|
||||||
|
|
||||||
|
def prepare_supporters(supporters: dict, assets: Path) -> None:
|
||||||
|
"""Inline each supporter logo and work out its per-item sizing."""
|
||||||
|
height = supporters.get("logo_height", "8.5mm")
|
||||||
|
for item in supporters.get("items") or []:
|
||||||
|
path = assets / "supporters" / item["file"]
|
||||||
|
suffix = path.suffix.lower()
|
||||||
|
if suffix not in MIME_TYPES:
|
||||||
|
raise SystemExit(f"{path}: expected one of {', '.join(MIME_TYPES)}")
|
||||||
|
item["data_uri"] = (
|
||||||
|
f"data:{MIME_TYPES[suffix]};base64,{as_data_uri_payload(path)}"
|
||||||
|
)
|
||||||
|
scale = item.get("scale", 1)
|
||||||
|
item["style"] = f"height: calc({height} * {scale})"
|
||||||
|
|
||||||
|
|
||||||
def find_chrome() -> str:
|
def find_chrome() -> str:
|
||||||
for candidate in CHROME_CANDIDATES:
|
for candidate in CHROME_CANDIDATES:
|
||||||
if candidate and (Path(candidate).is_file() or shutil.which(candidate)):
|
if candidate and (Path(candidate).is_file() or shutil.which(candidate)):
|
||||||
@@ -195,6 +213,8 @@ window.addEventListener("load", () => setTimeout(() => {
|
|||||||
|
|
||||||
|
|
||||||
def run_chrome(*flags: str, page: Path) -> bytes:
|
def run_chrome(*flags: str, page: Path) -> bytes:
|
||||||
|
# Deliberately no --user-data-dir: combined with --print-to-pdf, Chrome
|
||||||
|
# writes the PDF correctly and then never exits.
|
||||||
result = subprocess.run(
|
result = subprocess.run(
|
||||||
[
|
[
|
||||||
find_chrome(),
|
find_chrome(),
|
||||||
@@ -206,6 +226,7 @@ def run_chrome(*flags: str, page: Path) -> bytes:
|
|||||||
],
|
],
|
||||||
check=True,
|
check=True,
|
||||||
capture_output=True,
|
capture_output=True,
|
||||||
|
timeout=120,
|
||||||
)
|
)
|
||||||
return result.stdout
|
return result.stdout
|
||||||
|
|
||||||
@@ -234,8 +255,13 @@ def check_fit(html_path: Path) -> bool:
|
|||||||
|
|
||||||
found = re.search(rb'<div id="fit-report">([^<]*)</div>', dom)
|
found = re.search(rb'<div id="fit-report">([^<]*)</div>', dom)
|
||||||
if not found or found.group(1) == b"pending":
|
if not found or found.group(1) == b"pending":
|
||||||
logging.warning("could not measure sheet fit — skipping check")
|
# Fail closed: reporting success without having measured anything is how
|
||||||
return True
|
# clipped content ships unnoticed.
|
||||||
|
logging.error(
|
||||||
|
"could not measure sheet fit — Chrome returned no report. "
|
||||||
|
"Re-run, or pass --no-check to build without verifying the fit"
|
||||||
|
)
|
||||||
|
return False
|
||||||
|
|
||||||
overflowed = False
|
overflowed = False
|
||||||
for entry in found.group(1).decode().split(","):
|
for entry in found.group(1).decode().split(","):
|
||||||
@@ -297,6 +323,8 @@ def main() -> None:
|
|||||||
assets = HERE / "assets"
|
assets = HERE / "assets"
|
||||||
content["font_b64"] = as_data_uri_payload(assets / content["assets"]["font"])
|
content["font_b64"] = as_data_uri_payload(assets / content["assets"]["font"])
|
||||||
content["photo_b64"] = as_data_uri_payload(assets / content["assets"]["photo"])
|
content["photo_b64"] = as_data_uri_payload(assets / content["assets"]["photo"])
|
||||||
|
if "supporters" in content:
|
||||||
|
prepare_supporters(content["supporters"], assets)
|
||||||
|
|
||||||
with open(HERE / "datasheet.html.mustache", encoding="utf-8") as fh:
|
with open(HERE / "datasheet.html.mustache", encoding="utf-8") as fh:
|
||||||
rendered = chevron.render(
|
rendered = chevron.render(
|
||||||
|
|||||||
@@ -265,6 +265,10 @@ tbody tr:last-child td { border-bottom: 0; }
|
|||||||
|
|
||||||
.faq > div { border-top: 1px solid var(--rule); padding-top: 1.8mm; }
|
.faq > div { border-top: 1px solid var(--rule); padding-top: 1.8mm; }
|
||||||
|
|
||||||
|
/* The first row sits just under the heading's own 2px rule; a second hairline
|
||||||
|
that close reads as a printing error. Keep the padding so rows stay aligned. */
|
||||||
|
.faq > div:nth-child(-n + 2) { border-top: 0; }
|
||||||
|
|
||||||
.faq h3 {
|
.faq h3 {
|
||||||
margin: 0 0 1.2mm;
|
margin: 0 0 1.2mm;
|
||||||
font-size: var(--t-body);
|
font-size: var(--t-body);
|
||||||
@@ -292,6 +296,18 @@ tbody tr:last-child td { border-bottom: 0; }
|
|||||||
|
|
||||||
.linkline b { color: var(--red); font-weight: 700; }
|
.linkline b { color: var(--red); font-weight: 700; }
|
||||||
|
|
||||||
|
/* ---------- supporter logos ---------- */
|
||||||
|
|
||||||
|
.supporters {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: 5mm;
|
||||||
|
padding-top: 0.4mm;
|
||||||
|
}
|
||||||
|
|
||||||
|
.supporters img { width: auto; max-width: 32mm; object-fit: contain; display: block; }
|
||||||
|
|
||||||
a { color: inherit; text-decoration: none; }
|
a { color: inherit; text-decoration: none; }
|
||||||
a:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
|
a:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
|
||||||
@media screen { .tnote a, .note a { text-decoration: underline; text-underline-offset: 1.5px; } }
|
@media screen { .tnote a, .note a { text-decoration: underline; text-underline-offset: 1.5px; } }
|
||||||
@@ -365,7 +381,7 @@ a:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
|
|||||||
{{> logo}}
|
{{> logo}}
|
||||||
<div class="bar__word">{{&doc.wordmark}}{{#doc.wordmark_sub}}<span>{{&doc.wordmark_sub}}</span>{{/doc.wordmark_sub}}</div>
|
<div class="bar__word">{{&doc.wordmark}}{{#doc.wordmark_sub}}<span>{{&doc.wordmark_sub}}</span>{{/doc.wordmark_sub}}</div>
|
||||||
<div class="bar__tag">{{&doc.tag}}</div>
|
<div class="bar__tag">{{&doc.tag}}</div>
|
||||||
<div class="bar__ref">{{&doc.ref}}</div>
|
{{#doc.ref}}<div class="bar__ref">{{&doc.ref}}</div>{{/doc.ref}}
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="body">
|
<div class="body">
|
||||||
@@ -378,7 +394,7 @@ a:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
|
|||||||
</div>
|
</div>
|
||||||
<figure>
|
<figure>
|
||||||
<img src="data:image/jpeg;base64,{{&photo_b64}}" alt="{{hero.photo_alt}}">
|
<img src="data:image/jpeg;base64,{{&photo_b64}}" alt="{{hero.photo_alt}}">
|
||||||
<figcaption>{{&hero.photo_caption}}</figcaption>
|
{{#hero.photo_caption}}<figcaption>{{&hero.photo_caption}}</figcaption>{{/hero.photo_caption}}
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -430,7 +446,7 @@ a:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
|
|||||||
|
|
||||||
<header class="bar bar--p2">
|
<header class="bar bar--p2">
|
||||||
{{> logo}}
|
{{> logo}}
|
||||||
<div class="bar__word">{{&doc.wordmark}}<span>{{&doc.ref}}</span></div>
|
<div class="bar__word">{{&doc.wordmark}}{{#doc.ref}}<span>{{&doc.ref}}</span>{{/doc.ref}}</div>
|
||||||
<div class="bar__title">{{&doc.page2_title}}</div>
|
<div class="bar__title">{{&doc.page2_title}}</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
@@ -467,6 +483,17 @@ a:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
|
|||||||
{{#ordering}}{{> secthead}}{{> table}}{{> footnote}}{{/ordering}}
|
{{#ordering}}{{> secthead}}{{> table}}{{> footnote}}{{/ordering}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{#supporters}}
|
||||||
|
<div class="block">
|
||||||
|
{{> secthead}}
|
||||||
|
<div class="supporters">
|
||||||
|
{{#items}}
|
||||||
|
<img src="{{&data_uri}}" alt="{{name}}" style="{{&style}}">
|
||||||
|
{{/items}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/supporters}}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer class="foot">
|
<footer class="foot">
|
||||||
|
|||||||
+51
-31
@@ -26,8 +26,8 @@ doc:
|
|||||||
wordmark: Tiny Tapeout
|
wordmark: Tiny Tapeout
|
||||||
wordmark_sub: "" # strapline under the wordmark on page 1; blank to hide
|
wordmark_sub: "" # strapline under the wordmark on page 1; blank to hide
|
||||||
tag: PRODUCT DATASHEET
|
tag: PRODUCT DATASHEET
|
||||||
ref: DOC TT-DS-2026 · REV A
|
ref: "" # document reference code; blank to hide on both pages
|
||||||
page2_title: Electrical & Mechanical Specifications
|
page2_title: Electrical Specifications
|
||||||
|
|
||||||
# Colours and the two page-level type sizes. Everything else scales from these.
|
# Colours and the two page-level type sizes. Everything else scales from these.
|
||||||
theme:
|
theme:
|
||||||
@@ -52,19 +52,33 @@ assets:
|
|||||||
photo: demoboard.jpg
|
photo: demoboard.jpg
|
||||||
font: archivo.woff2
|
font: archivo.woff2
|
||||||
|
|
||||||
|
# Supporter logo strip at the foot of page 2. Currently off — uncomment to
|
||||||
|
# restore it; the logos are still in assets/supporters/. Note it needs about
|
||||||
|
# 16mm, so page 2 will have to give up spacing elsewhere to fit.
|
||||||
|
# supporters:
|
||||||
|
# heading: Supported by
|
||||||
|
# logo_height: 7.5mm
|
||||||
|
# items:
|
||||||
|
# - {name: ChipFoundry, file: chipfoundry.png}
|
||||||
|
# - {name: wafer.space, file: waferspace.png}
|
||||||
|
# - {name: Tillitis, file: tillitis.png}
|
||||||
|
# - {name: WIT, file: WIT.png, scale: 0.82}
|
||||||
|
# - {name: SwissChips, file: swisschips.png, scale: 0.88}
|
||||||
|
# - {name: Texplained, file: texplained.jpg}
|
||||||
|
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
# PAGE 1
|
# PAGE 1
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
hero:
|
hero:
|
||||||
eyebrow: Shared multi project chip · SKY130 / IHP SG13G2 / GF180MCU
|
eyebrow: Multi project chip · SKY130 / IHP SG13G2 / GF180MCU
|
||||||
heading: From idea to chip design in minutes
|
heading: Custom chips from €385
|
||||||
body: >-
|
body: >-
|
||||||
Tiny Tapeout makes it more accessible than ever to get designs manufactured on a real chip.
|
Tiny Tapeout makes it more accessible than ever to get designs manufactured on a real chip.
|
||||||
Submit from a
|
Submit from a
|
||||||
GitHub repository and we handle integration, tapeout, packaging and delivery.
|
GitHub repository and we handle tapeout, packaging, development board and delivery.
|
||||||
photo_alt: Tiny Tapeout ETR demoboard with a QFN-64 packaged ASIC on a breakout board
|
photo_alt: Tiny Tapeout ETR demoboard with a QFN-64 packaged ASIC on a breakout board
|
||||||
photo_caption: Demoboard with QFN-64 packaged die on breakout carrier.
|
photo_caption: "" # caption under the hero photo, with a rule above it; blank to hide both
|
||||||
|
|
||||||
features:
|
features:
|
||||||
- kicker: 01 · Toolchain
|
- kicker: 01 · Toolchain
|
||||||
@@ -75,8 +89,8 @@ features:
|
|||||||
- kicker: 02 · Languages
|
- kicker: 02 · Languages
|
||||||
title: HDL agnostic
|
title: HDL agnostic
|
||||||
body: >-
|
body: >-
|
||||||
Any language that can produce Verilog. Project templates and CI are
|
Any language that can produce Verilog. Official support for Verilog,
|
||||||
supplied for Verilog, with community provided VHDL and Chisel.
|
community provided templates for VHDL and Chisel.
|
||||||
- kicker: 03 · I/O
|
- kicker: 03 · I/O
|
||||||
title: 26 pins, plus analog
|
title: 26 pins, plus analog
|
||||||
body: >-
|
body: >-
|
||||||
@@ -100,7 +114,7 @@ features:
|
|||||||
|
|
||||||
pricing:
|
pricing:
|
||||||
heading: Pricing
|
heading: Pricing
|
||||||
note: INDICATIVE FROM-PRICES · EUR
|
note: "" # small grey text right of the heading; blank to hide
|
||||||
columns:
|
columns:
|
||||||
- {label: Item, width: "27%", style: name}
|
- {label: Item, width: "27%", style: name}
|
||||||
- {label: What it buys you}
|
- {label: What it buys you}
|
||||||
@@ -111,15 +125,19 @@ pricing:
|
|||||||
"€70"]
|
"€70"]
|
||||||
- ["Analog pin",
|
- ["Analog pin",
|
||||||
"Multiplexed analog pad access for mixed signal designs. Minimum project size of 2 tiles applies.",
|
"Multiplexed analog pad access for mixed signal designs. Minimum project size of 2 tiles applies.",
|
||||||
"€100 <span class=\"t-sub\">/ pin</span>"]
|
"€100 <span class=\"t-sub\">/ pin, up to a maximum of 6</span>"]
|
||||||
- ["Demoboard PCB",
|
- ["Demoboard PCB",
|
||||||
"Optional add-on: packaged chip on an RP2350 powered demoboard.",
|
"Optional add-on: packaged chip on an RP2350 powered demoboard.",
|
||||||
"€100 <span class=\"t-sub\">first 80 boards for individuals are subsidised</span><br>€300 <span class=\"t-sub\">academic & industry</span>"]
|
"€300"]
|
||||||
|
- ["Postage & packing",
|
||||||
|
"Flat rate worldwide, charged once per order.",
|
||||||
|
"€15"]
|
||||||
footnote: >-
|
footnote: >-
|
||||||
<b>Silicon area and the demoboard are billed separately.</b> Buying area gets
|
<b>The €385 headline is one tile (€70) plus a demoboard (€300) plus postage
|
||||||
your design manufactured on the chip — on its own it does not get you a
|
(€15)</b> — the smallest order that puts a physical chip in your hand.
|
||||||
physical chip. To receive a physical chip, add the demoboard PCB. Confirm
|
Silicon area and the demoboard are billed separately, so buying area alone
|
||||||
current figures at
|
gets your design manufactured but does not get you a chip. Confirm current
|
||||||
|
figures at
|
||||||
<b><a href="https://app.tinytapeout.com/calculator">app.tinytapeout.com/calculator</a></b>.
|
<b><a href="https://app.tinytapeout.com/calculator">app.tinytapeout.com/calculator</a></b>.
|
||||||
|
|
||||||
faq:
|
faq:
|
||||||
@@ -140,15 +158,13 @@ faq:
|
|||||||
packaged chip, an RP2350 demoboard and a breakout board. Bare chips are not available separately.
|
packaged chip, an RP2350 demoboard and a breakout board. Bare chips are not available separately.
|
||||||
- q: Which processes can I use?
|
- q: Which processes can I use?
|
||||||
a: >-
|
a: >-
|
||||||
SkyWater SKY130 (130 nm), IHP sg13g2 (130 nm BiCMOS) and GlobalFoundries
|
SkyWater SKY130, IHP sg13g2 and GlobalFoundries gf180mcu, each on its own shuttle schedule.
|
||||||
gf180mcu (180 nm), each on its own shuttle schedule.
|
- q: Why would I only order area?
|
||||||
- q: Is it only open to individuals?
|
|
||||||
a: >-
|
a: >-
|
||||||
No. Universities, schools and companies run group submissions, and dozens
|
Share the cost of 1 board between a group submitting multiple projects. Save costs by asking us to remotely test your design.
|
||||||
of institutions already teach with Tiny Tapeout.
|
|
||||||
- q: What are the licence terms?
|
- q: What are the licence terms?
|
||||||
a: >-
|
a: >-
|
||||||
Every design is published publicly under Apache-2.0. The minimum
|
Every design must be published publicly under Apache-2.0. The minimum
|
||||||
submission is GDS + LEF, produced with any toolchain you like. For full terms see <a href="https://tinytapeout.com/terms">tinytapeout.com/terms</a>.
|
submission is GDS + LEF, produced with any toolchain you like. For full terms see <a href="https://tinytapeout.com/terms">tinytapeout.com/terms</a>.
|
||||||
|
|
||||||
institutions:
|
institutions:
|
||||||
@@ -163,6 +179,9 @@ institutions:
|
|||||||
- Technical University of Denmark
|
- Technical University of Denmark
|
||||||
- Linköping University
|
- Linköping University
|
||||||
- Graz University of Technology
|
- Graz University of Technology
|
||||||
|
- IEEE
|
||||||
|
- SwissChips
|
||||||
|
- UK Semiconductor Centre
|
||||||
|
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
# PAGE 2
|
# PAGE 2
|
||||||
@@ -172,18 +191,20 @@ process:
|
|||||||
heading: Process & fabrication
|
heading: Process & fabrication
|
||||||
note: TILE DIMENSIONS PER PDK
|
note: TILE DIMENSIONS PER PDK
|
||||||
columns:
|
columns:
|
||||||
- {label: PDK, width: "22%", style: name}
|
- {label: PDK, width: "19%", style: name}
|
||||||
- {label: Foundry, width: "26%"}
|
- {label: Foundry, width: "21%"}
|
||||||
- {label: Node, width: "22%", style: num}
|
- {label: Node, width: "20%", style: num}
|
||||||
- {label: 1×1 tile area, style: mono}
|
- {label: 1×1 tile area, width: "24%", style: mono}
|
||||||
|
- {label: Analog support}
|
||||||
rows:
|
rows:
|
||||||
- ["SKY130A", "SkyWater", "130 nm", "161.00 × 111.52 µm"]
|
- ["SKY130A", "SkyWater", "130 nm", "161.00 × 111.52 µm", "Full"]
|
||||||
- ["ihp-sg13g2", "IHP", "130 nm BiCMOS", "202.08 × 154.98 µm"]
|
- ["ihp-sg13g2", "IHP", "130 nm BiCMOS", "202.08 × 154.98 µm", "Partial"]
|
||||||
- ["gf180mcuD", "GlobalFoundries", "180 nm", "346.64 × 160.72 µm"]
|
- ["gf180mcuD", "GlobalFoundries", "180 nm", "346.64 × 160.72 µm", "Partial"]
|
||||||
footnote: >-
|
footnote: >-
|
||||||
One tile holds approximately <b>1,000 standard cells</b>. Larger designs are
|
One tile holds approximately <b>1,000 standard cells</b>. Larger designs are
|
||||||
built from multi-tile blocks from 1×2 up to 8×4; the available sizes differ
|
built from multi-tile blocks, up to <b>8×4</b> on SKY130A and ihp-sg13g2 and
|
||||||
per PDK. Analog projects require a minimum height of 2 tiles.
|
up to <b>4×4</b> on gf180mcuD; the sizes available in between differ per PDK.
|
||||||
|
Analog projects require a minimum height of 2 tiles.
|
||||||
|
|
||||||
ratings:
|
ratings:
|
||||||
heading: Absolute maximum ratings
|
heading: Absolute maximum ratings
|
||||||
@@ -240,7 +261,6 @@ analog:
|
|||||||
- ["VDPWR digital supply", "1.8 V"]
|
- ["VDPWR digital supply", "1.8 V"]
|
||||||
- ["VAPWR analog supply", "3.3 V"]
|
- ["VAPWR analog supply", "3.3 V"]
|
||||||
linkline: >-
|
linkline: >-
|
||||||
ALLOCATED IN ORDER ·
|
|
||||||
<b><a href="https://tinytapeout.com/specs/analog/">TINYTAPEOUT.COM/SPECS/ANALOG</a></b>
|
<b><a href="https://tinytapeout.com/specs/analog/">TINYTAPEOUT.COM/SPECS/ANALOG</a></b>
|
||||||
|
|
||||||
ordering:
|
ordering:
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
<svg class="bar__logo" viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Tiny Tapeout logo">
|
<!-- The glyph's bounding box is exactly 0..200 on both axes, so it sits tangent
|
||||||
|
to the viewBox and the curves get shaved at small sizes. The source logo
|
||||||
|
had a black square behind it where that bleed was intentional; on the bar
|
||||||
|
it needs margin instead. -->
|
||||||
|
<svg class="bar__logo" viewBox="-9 -9 218 218" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Tiny Tapeout logo">
|
||||||
<g transform="matrix(0.75075075,0,0,0.7513148,-156.00601,-72.426747)" fill="#ffffff">
|
<g transform="matrix(0.75075075,0,0,0.7513148,-156.00601,-72.426747)" fill="#ffffff">
|
||||||
<path d="m 341,96.4 c -44.5,0 -83.9,21.9 -108.1,55.5 -7.9,11 -14.2,23.2 -18.5,36.4 h 21.6 52.1 v 90.1 h 39.3 v -24.3 h 22.7 v 87.8 c -3,0.3 -6.1,0.4 -9.2,0.4 -62.2,0 -112.8,-50.6 -112.8,-112.8 0,-10.3 1.4,-20.2 4,-29.6 h -21 c -2.2,9.5 -3.3,19.4 -3.3,29.6 0,73.4 59.7,133.1 133.1,133.1 3.1,0 6.1,-0.1 9.2,-0.3 1.7,-0.1 3.4,-0.3 5.1,-0.5 0.1,0 0.3,0 0.4,0 11.8,-1.3 23.1,-4.1 33.8,-8.3 v 0 c 0,0 0,0 0,0 V 254.1 H 428 V 217.7 H 327.5 V 188.2 H 366 V 151.8 H 259.3 c 20.5,-21.6 49.6,-35.1 81.7,-35.1 62.2,0 112.8,50.6 112.8,112.8 0,40.1 -21,75.4 -52.6,95.4 v 23.4 c 43.3,-22 73,-67 73,-118.8 C 474.1,156.1 414.4,96.4 341,96.4 Z" />
|
<path d="m 341,96.4 c -44.5,0 -83.9,21.9 -108.1,55.5 -7.9,11 -14.2,23.2 -18.5,36.4 h 21.6 52.1 v 90.1 h 39.3 v -24.3 h 22.7 v 87.8 c -3,0.3 -6.1,0.4 -9.2,0.4 -62.2,0 -112.8,-50.6 -112.8,-112.8 0,-10.3 1.4,-20.2 4,-29.6 h -21 c -2.2,9.5 -3.3,19.4 -3.3,29.6 0,73.4 59.7,133.1 133.1,133.1 3.1,0 6.1,-0.1 9.2,-0.3 1.7,-0.1 3.4,-0.3 5.1,-0.5 0.1,0 0.3,0 0.4,0 11.8,-1.3 23.1,-4.1 33.8,-8.3 v 0 c 0,0 0,0 0,0 V 254.1 H 428 V 217.7 H 327.5 V 188.2 H 366 V 151.8 H 259.3 c 20.5,-21.6 49.6,-35.1 81.7,-35.1 62.2,0 112.8,50.6 112.8,112.8 0,40.1 -21,75.4 -52.6,95.4 v 23.4 c 43.3,-22 73,-67 73,-118.8 C 474.1,156.1 414.4,96.4 341,96.4 Z" />
|
||||||
</g>
|
</g>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 859 B After Width: | Height: | Size: 1.1 KiB |
Reference in New Issue
Block a user