started timming plot for registers
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 15s
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 15s
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
#import "../lib/common_rewrite.typ" : *
|
#import "../lib/common_rewrite.typ" : *
|
||||||
#import "@preview/mannot:0.3.1"
|
#import "@preview/mannot:0.3.1"
|
||||||
|
#import "@preview/cetz:0.4.2"
|
||||||
|
|
||||||
#show math.integral: it => math.limits(math.integral)
|
#show math.integral: it => math.limits(math.integral)
|
||||||
#show math.sum: it => math.limits(math.sum)
|
#show math.sum: it => math.limits(math.sum)
|
||||||
@@ -189,13 +190,87 @@
|
|||||||
]
|
]
|
||||||
|
|
||||||
#bgBlock(fill: colorState)[
|
#bgBlock(fill: colorState)[
|
||||||
#subHeading(fill: colorState)[Timing]
|
#subHeading(fill: colorState)[Latches, Flipflops und Register]
|
||||||
]
|
]
|
||||||
|
|
||||||
#bgBlock(fill: colorState)[
|
#bgBlock(fill: colorState)[
|
||||||
#subHeading(fill: colorState)[Latches und Register]
|
#subHeading(fill: colorState)[Timing]
|
||||||
|
|
||||||
|
*Register Bedinungen*
|
||||||
|
|
||||||
|
#cetz.canvas(length: 0.5mm, {
|
||||||
|
import cetz.draw: *
|
||||||
|
|
||||||
|
|
||||||
|
let cycle_time = 38
|
||||||
|
let cycle_start = cycle_time*0.8
|
||||||
|
let cycle_end = cycle_time*4
|
||||||
|
let signal_hight = 10
|
||||||
|
let switch_offset = cycle_time/13
|
||||||
|
let signal_storke = (paint: rgb("#2e2e2e"), thickness: 0.3mm)
|
||||||
|
|
||||||
|
let t_c2q = 0.6
|
||||||
|
let t_setup = 0.6
|
||||||
|
let t_hold = 0.4
|
||||||
|
|
||||||
|
// clk1
|
||||||
|
line((1*cycle_time + switch_offset/2, signal_hight + 1), (1*cycle_time + switch_offset/2, -40), stroke: (paint: rgb("#0004ff"), thickness: 0.4mm, dash: "densely-dashed"))
|
||||||
|
|
||||||
|
// q change
|
||||||
|
line((cycle_time*(t_c2q + 1) + switch_offset/2, -15 + signal_hight + 1), (cycle_time*(t_c2q + 1) + switch_offset/2, -40), stroke: (paint: rgb("#0004ff"), thickness: 0.4mm, dash: "densely-dashed"))
|
||||||
|
|
||||||
|
// d change
|
||||||
|
line((cycle_time*(t_setup + 2) + switch_offset/2, -30 + signal_hight + 1), (cycle_time*(t_setup + 2) + switch_offset/2, -40), stroke: (paint: rgb("#0004ff"), thickness: 0.4mm, dash: "densely-dashed"))
|
||||||
|
|
||||||
|
// clk
|
||||||
|
line((cycle_time*3 + switch_offset/2, signal_hight + 1), (cycle_time*3 + switch_offset/2, -40), stroke: (paint: rgb("#0004ff"), thickness: 0.4mm, dash: "densely-dashed"))
|
||||||
|
|
||||||
|
// hold time
|
||||||
|
line((cycle_time*(3+t_hold) + switch_offset/2, -30 + signal_hight + 1), (cycle_time*(3+t_hold) + switch_offset/2, -40), stroke: (paint: rgb("#0004ff"), thickness: 0.4mm, dash: "densely-dashed"))
|
||||||
|
|
||||||
|
|
||||||
|
content(( cycle_start -7, 5), "clk")
|
||||||
|
|
||||||
|
line((cycle_start,0), (cycle_time,0), (cycle_time + switch_offset,signal_hight), (cycle_time*2, signal_hight), (cycle_time*2 + switch_offset, 0), (cycle_time*3, 0), (cycle_time*3 + switch_offset, 10), (cycle_end, signal_hight), stroke: signal_storke)
|
||||||
|
|
||||||
|
translate((0, -15))
|
||||||
|
content((cycle_start -7, 5), "Q")
|
||||||
|
|
||||||
|
line(
|
||||||
|
(cycle_start,0), (cycle_time*(t_c2q + 1), 0),
|
||||||
|
(cycle_time*(t_c2q + 1) + switch_offset, signal_hight),
|
||||||
|
(cycle_time*(t_c2q + 3),signal_hight), (cycle_time*(t_c2q + 3) + switch_offset, 0),
|
||||||
|
(cycle_end + switch_offset, 0),
|
||||||
|
stroke: signal_storke
|
||||||
|
)
|
||||||
|
line(
|
||||||
|
(cycle_start,signal_hight), (cycle_time*(t_c2q + 1), signal_hight),
|
||||||
|
(cycle_time*(t_c2q + 1) + switch_offset, 0),
|
||||||
|
(cycle_time*(t_c2q + 3),0), (cycle_time*(t_c2q + 3) + switch_offset, signal_hight),
|
||||||
|
(cycle_end + switch_offset, signal_hight),
|
||||||
|
stroke: signal_storke
|
||||||
|
)
|
||||||
|
|
||||||
|
translate((0, -15))
|
||||||
|
content((cycle_start -7, 5), "D")
|
||||||
|
|
||||||
|
line(
|
||||||
|
(cycle_start,0), (cycle_time*(t_setup + 2), 0),
|
||||||
|
(cycle_time*(t_setup + 2) + switch_offset, signal_hight), (cycle_end + switch_offset, signal_hight), stroke: signal_storke
|
||||||
|
|
||||||
|
)
|
||||||
|
line(
|
||||||
|
(cycle_start,signal_hight), (cycle_time*(t_setup + 2), signal_hight),
|
||||||
|
(cycle_time*(t_setup + 2) + switch_offset, 0), (cycle_end + switch_offset, 0), stroke: signal_storke
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#bgBlock(fill: colorState)[
|
#bgBlock(fill: colorState)[
|
||||||
#subHeading(fill: colorState)[Pipeline/Parallele Verarbeitungseinheiten]
|
#subHeading(fill: colorState)[Pipeline/Parallele Verarbeitungseinheiten]
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user