mirror of
https://github.com/TinyTapeout/tt-support-tools.git
synced 2026-11-03 04:36:09 +01:00
fix(docs): ensure datasheet can use images properly (#125)
This commit is contained in:
@@ -1,8 +1,10 @@
|
|||||||
|
#import "../src/lib.typ": get_image_by_id
|
||||||
|
|
||||||
= Pinout
|
= Pinout
|
||||||
|
|
||||||
The chip is packaged in a 64-pin QFN package. The pinout is shown below.
|
The chip is packaged in a 64-pin QFN package. The pinout is shown below.
|
||||||
|
|
||||||
#align(center, image("../resources/images/tt-qfn-64.svg"))
|
#align(center, get_image_by_id("images", "chip_pinout_qfn64"))
|
||||||
|
|
||||||
Note: You will receive the chip mounted on a breakout board
|
Note: You will receive the chip mounted on a breakout board
|
||||||
(#link("https://github.com/tinytapeout/breakout-pcb")[github.com/tinytapeout/breakout-pcb]).
|
(#link("https://github.com/tinytapeout/breakout-pcb")[github.com/tinytapeout/breakout-pcb]).
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
#import "../src/lib.typ": get_image_by_id
|
||||||
|
|
||||||
= The Tiny Tapeout Multiplexer
|
= The Tiny Tapeout Multiplexer
|
||||||
== Overview
|
== Overview
|
||||||
The Tiny Tapeout Multiplexer distributes a single set of user IOs to multiple user designs. It is the backbone of the
|
The Tiny Tapeout Multiplexer distributes a single set of user IOs to multiple user designs. It is the backbone of the
|
||||||
@@ -36,24 +38,17 @@ For instance, to select the design at address 12, you need to pulse `sel_rst_n`
|
|||||||
|
|
||||||
#figure(
|
#figure(
|
||||||
caption: [Mux signals for activating the design at address 12],
|
caption: [Mux signals for activating the design at address 12],
|
||||||
|
align(center, get_image_by_id("images", "mux_address_select_waveform"))
|
||||||
align(center)[
|
|
||||||
#image("../resources/images/mux_select_addr_12.svg")
|
|
||||||
]
|
|
||||||
)
|
)
|
||||||
|
|
||||||
#figure(
|
#figure(
|
||||||
caption: [Mux Diagram],
|
caption: [Mux Diagram],
|
||||||
align(center)[
|
align(center, get_image_by_id("images", "mux_diagram", height: 55%))
|
||||||
#image("../resources/images/mux_diagram.svg", height: 55%)
|
|
||||||
]
|
|
||||||
)
|
)
|
||||||
|
|
||||||
#figure(
|
#figure(
|
||||||
caption: [Mux Controller Diagram],
|
caption: [Mux Controller Diagram],
|
||||||
align(center)[
|
align(center, get_image_by_id("images", "mux_controller"))
|
||||||
#image("../resources/images/mux_controller.png")
|
|
||||||
]
|
|
||||||
)
|
)
|
||||||
|
|
||||||
Internally, the controller is just a chain of 10 D-flip-flops. The `sel_inc` signal is connected to the clock of the
|
Internally, the controller is just a chain of 10 D-flip-flops. The `sel_inc` signal is connected to the clock of the
|
||||||
|
|||||||
@@ -65,9 +65,9 @@
|
|||||||
|
|
||||||
let logo = box(baseline: 0.25em, {
|
let logo = box(baseline: 0.25em, {
|
||||||
if invert_text_colour {
|
if invert_text_colour {
|
||||||
image("../resources/logos/tt-logo-white.svg", height: 25%)
|
get_image_by_id("logos", "tt_roundel_white", height: 25%)
|
||||||
} else {
|
} else {
|
||||||
image("../resources/logos/tt-logo-black.svg", height: 25%)
|
get_image_by_id("logos", "tt_roundel_black", height: 25%)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -246,7 +246,7 @@
|
|||||||
let pattern = tiling(
|
let pattern = tiling(
|
||||||
size: (3cm, 3cm),
|
size: (3cm, 3cm),
|
||||||
spacing: (1cm, 1cm),
|
spacing: (1cm, 1cm),
|
||||||
image("../resources/logos/tt-logo-light-grey.svg")
|
get_image_by_id("logos", "tt_roundel_light_grey")
|
||||||
)
|
)
|
||||||
|
|
||||||
page(
|
page(
|
||||||
@@ -309,18 +309,18 @@
|
|||||||
|
|
||||||
// make titlepage
|
// make titlepage
|
||||||
if theme == "classic" {
|
if theme == "classic" {
|
||||||
image("../resources/logos/tt-logo-colourful.png")
|
get_image_by_id("logos", "tt_square_colourful")
|
||||||
cover_text
|
cover_text
|
||||||
|
|
||||||
} else if theme == "bold" {
|
} else if theme == "bold" {
|
||||||
set page(
|
set page(
|
||||||
background: image("../resources/backgrounds/colourful-background-gds-o10-bw.png", height: 100%),
|
background: get_image_by_id("backgrounds", "gds_bw_transparent", height: 100%),
|
||||||
fill: selected_theme_colour
|
fill: selected_theme_colour
|
||||||
)
|
)
|
||||||
|
|
||||||
align(
|
align(
|
||||||
center + horizon,
|
center + horizon,
|
||||||
image("../resources/logos/tt-logo-white.svg", height: 60%)
|
get_image_by_id("logos", "tt_roundel_white", height: 60%)
|
||||||
)
|
)
|
||||||
|
|
||||||
set text(white)
|
set text(white)
|
||||||
@@ -329,7 +329,7 @@
|
|||||||
} else if theme == "monochrome" {
|
} else if theme == "monochrome" {
|
||||||
align(
|
align(
|
||||||
center + horizon,
|
center + horizon,
|
||||||
image("../resources/logos/tt-logo-black.svg", height: 60%)
|
get_image_by_id("logos", "tt_roundel_black", height: 60%)
|
||||||
)
|
)
|
||||||
cover_text
|
cover_text
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-20
@@ -124,29 +124,14 @@
|
|||||||
|
|
||||||
// external manifest is used for artwork repo
|
// external manifest is used for artwork repo
|
||||||
// since large photos would bloat the template size
|
// since large photos would bloat the template size
|
||||||
let external_manifest = yaml("../resources/external/manifest.yaml")
|
let manifest = yaml("../resources/external/manifest.yaml")
|
||||||
let local_manifest = yaml("../resources/manifest.yaml")
|
|
||||||
let combined_manifest = (:)
|
|
||||||
|
|
||||||
// combine the two
|
if type not in manifest {
|
||||||
for (k, v) in local_manifest.pairs() {
|
panic("type not in manifest")
|
||||||
combined_manifest.insert(k, v)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (k, v) in external_manifest.pairs() {
|
let root_path = "../resources/external"
|
||||||
combined_manifest.insert(k, v)
|
let img_details = manifest.at(type).at(id)
|
||||||
}
|
|
||||||
|
|
||||||
if type not in combined_manifest {
|
|
||||||
panic("type not in either local or external manifest")
|
|
||||||
}
|
|
||||||
|
|
||||||
let root_path = "../resources"
|
|
||||||
if type in external_manifest {
|
|
||||||
root_path += "/external"
|
|
||||||
}
|
|
||||||
|
|
||||||
let img_details = combined_manifest.at(type).at(id)
|
|
||||||
|
|
||||||
// make image
|
// make image
|
||||||
image(root_path + "/" + type + "/" + img_details.file, ..args)
|
image(root_path + "/" + type + "/" + img_details.file, ..args)
|
||||||
|
|||||||
Reference in New Issue
Block a user