<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>always_ff — Posts</title><description>Interactive reference, tools and an engineering blog about RTL and digital logic design: live circuits, waveforms and synthesizable SystemVerilog.</description><link>https://alwaysff.com</link><language>en-US</language><item><title>Scaffold sample post</title><link>https://alwaysff.com/posts/scaffold-sample</link><guid isPermaLink="true">https://alwaysff.com/posts/scaffold-sample</guid><description>The fixture the pipeline is rendered against: every element a post can contain, in both languages. Phase 5 deletes it.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate><content:encoded>
&lt;p&gt;This post exists so the scaffold can prove two things. It has a Turkish sibling in the same
folder, so &lt;code&gt;/posts/scaffold-sample&lt;/code&gt; and &lt;code&gt;/tr/posts/scaffold-sample&lt;/code&gt; both exist, each declares the
other with &lt;code&gt;hreflang&lt;/code&gt;, and the language switcher moves between them without touching the home
page. And it contains one of every element a post can contain, so the type scale, the prose
rhythm and the code block are rendered against real material rather than against nothing.&lt;/p&gt;
&lt;p&gt;A real post opens with the behaviour, not with an introduction to the introduction.&lt;/p&gt;
&lt;h2 id=&quot;what-a-heading-has-to-do&quot;&gt;What a heading has to do&lt;/h2&gt;
&lt;p&gt;A heading is a landmark, not an ornament. It has to be findable when the reader is scrolling for
the part they half-remember, and it has to sit far enough from the paragraph above that the eye
stops. Both of those are spacing, not size.&lt;/p&gt;
&lt;h3 id=&quot;and-a-subheading-under-it&quot;&gt;And a subheading under it&lt;/h3&gt;
&lt;p&gt;Three levels are enough for a post. A fourth means the page wanted to be two pages.&lt;/p&gt;
&lt;h2 id=&quot;the-three-values&quot;&gt;The three values&lt;/h2&gt;
&lt;p&gt;Everything on this site that carries a value carries it twice: once in colour, once in
something colour cannot take away.&lt;/p&gt;

























&lt;div class=&quot;scroll-x&quot; tabindex=&quot;0&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Value&lt;/th&gt;&lt;th&gt;Wire&lt;/th&gt;&lt;th&gt;Printed&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;thin, grey&lt;/td&gt;&lt;td&gt;&lt;code&gt;0&lt;/code&gt; in ink, regular&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;double width, blue&lt;/td&gt;&lt;td&gt;&lt;code&gt;1&lt;/code&gt; in blue, bold&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;X&lt;/td&gt;&lt;td&gt;dashed, red, hatched band&lt;/td&gt;&lt;td&gt;&lt;code&gt;X&lt;/code&gt; in red, bold&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;The redundancy is the point. &lt;code&gt;--sig-hi&lt;/code&gt; against &lt;code&gt;--sig-lo&lt;/code&gt; is about 2:1 in luminance, which is
nowhere near enough on its own — so width does the work and hue confirms it.&lt;/p&gt;
&lt;figure class=&quot;figure&quot; id=&quot;figure-1&quot;&gt; &lt;div class=&quot;figure__frame&quot; role=&quot;img&quot; aria-label=&quot;Three wire segments, one per value. A 0 is a thin grey line; a 1 is a line of twice the width, in blue; an X is a thin red line, dashed. Beside each, the same value printed: 0 in ink at regular weight, 1 in blue and bold, X in red and bold.&quot;&gt; &lt;svg viewBox=&quot;0 0 384 120&quot;&gt;&lt;text x=&quot;24&quot; y=&quot;36&quot; text-anchor=&quot;middle&quot; font-family=&quot;var(--font-code)&quot; font-size=&quot;17&quot; font-weight=&quot;400&quot; fill=&quot;var(--fig-ink)&quot;&gt;0&lt;/text&gt;&lt;path d=&quot;M56,30H360&quot; fill=&quot;none&quot; stroke=&quot;var(--sig-lo)&quot; stroke-width=&quot;1.5&quot; stroke-linecap=&quot;butt&quot;&gt;&lt;/path&gt;&lt;text x=&quot;24&quot; y=&quot;66&quot; text-anchor=&quot;middle&quot; font-family=&quot;var(--font-code)&quot; font-size=&quot;17&quot; font-weight=&quot;700&quot; fill=&quot;var(--sig-hi)&quot;&gt;1&lt;/text&gt;&lt;path d=&quot;M56,60H360&quot; fill=&quot;none&quot; stroke=&quot;var(--sig-hi)&quot; stroke-width=&quot;3&quot; stroke-linecap=&quot;butt&quot;&gt;&lt;/path&gt;&lt;text x=&quot;24&quot; y=&quot;96&quot; text-anchor=&quot;middle&quot; font-family=&quot;var(--font-code)&quot; font-size=&quot;17&quot; font-weight=&quot;700&quot; fill=&quot;var(--sig-x)&quot;&gt;X&lt;/text&gt;&lt;path d=&quot;M56,90H360&quot; fill=&quot;none&quot; stroke=&quot;var(--sig-x)&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;5 3&quot; stroke-linecap=&quot;butt&quot;&gt;&lt;/path&gt;&lt;/svg&gt; &lt;/div&gt; &lt;figcaption class=&quot;figure__caption&quot;&gt; &lt;span class=&quot;figure__number&quot;&gt;Figure 1.&lt;/span&gt; The three values, drawn in the pen the figures use. Width carries the difference before colour does: cover the hues and a 1 is still the heavy line. &lt;/figcaption&gt; &lt;/figure&gt;
&lt;blockquote&gt;
&lt;p&gt;Let the reader operate the figure within ten seconds, then read comfortably for ten minutes.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That line from the design brief is the whole argument for the measure, the line height and the
size of a tap target, and it is worth re-reading whenever a page starts to look clever.&lt;/p&gt;
&lt;h2 id=&quot;code&quot;&gt;Code&lt;/h2&gt;
&lt;p&gt;Code is typed as written. Ligatures are off everywhere, so &lt;code&gt;&amp;lt;=&lt;/code&gt; is two characters and a signal
name looks the same in a sentence, in a schematic and in a trace. The block below is not pasted
into this page: it is &lt;code&gt;snippets/rising-edge-detector/rising_edge_detector.sv&lt;/code&gt;, included by the
fence&amp;#39;s &lt;code&gt;file=&lt;/code&gt;, so the code a reader sees is the same text the linter and the simulator read.
The gutter carries the file&amp;#39;s own line numbers, so the washed lines are 15 to 21 and 24 on this
page and 15 to 21 and 24 in the file — which is also how Verilator would name them.&lt;/p&gt;
&lt;div class=&quot;code-block&quot; data-file=&quot;rising-edge-detector/rising_edge_detector.sv&quot;&gt;&lt;div class=&quot;code-block__bar&quot;&gt;&lt;span class=&quot;code-block__label&quot;&gt;rising_edge_detector.sv&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;astro-code alwaysff&quot; style=&quot;background-color:var(--surface);color:var(--ink);overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;systemverilog&quot; data-file=&quot;rising-edge-detector/rising_edge_detector.sv&quot; data-numbers&gt;&lt;code&gt;&lt;span class=&quot;line&quot; data-line=&quot;1&quot;&gt;&lt;span style=&quot;color:var(--muted)&quot;&gt;// One rising edge of sig_in produces one clock period of pulse.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;2&quot;&gt;&lt;span style=&quot;color:var(--muted)&quot;&gt;//&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;3&quot;&gt;&lt;span style=&quot;color:var(--muted)&quot;&gt;// Reset style for this module: asynchronous, active low. One style per page,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;4&quot;&gt;&lt;span style=&quot;color:var(--muted)&quot;&gt;// stated up front, so nothing on the page has to be read twice.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;5&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;module&lt;/span&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt; rising_edge_detector (&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;6&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;    input&lt;/span&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;  logic&lt;/span&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt; clk,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;7&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;    input&lt;/span&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;  logic&lt;/span&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt; rst_n,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;8&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;    input&lt;/span&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;  logic&lt;/span&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt; sig_in,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;9&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;    output&lt;/span&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt; logic&lt;/span&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt; pulse&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;10&quot;&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;11&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;12&quot;&gt;&lt;span style=&quot;color:var(--muted)&quot;&gt;  // The value sig_in had one clock period ago.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;13&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;  logic&lt;/span&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt; sig_d;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;14&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line highlighted&quot; data-line=&quot;15&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;  always_ff&lt;/span&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt; @(&lt;/span&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;posedge&lt;/span&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt; clk or &lt;/span&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;negedge&lt;/span&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt; rst_n) &lt;/span&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;begin&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line highlighted&quot; data-line=&quot;16&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;    if&lt;/span&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt; (!rst_n) &lt;/span&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;begin&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line highlighted&quot; data-line=&quot;17&quot;&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt;      sig_d &amp;lt;= &lt;/span&gt;&lt;span style=&quot;color:var(--code-lit)&quot;&gt;1&amp;#39;b0&lt;/span&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line highlighted&quot; data-line=&quot;18&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;    end&lt;/span&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt; else&lt;/span&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt; begin&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line highlighted&quot; data-line=&quot;19&quot;&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt;      sig_d &amp;lt;= sig_in;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line highlighted&quot; data-line=&quot;20&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;    end&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line highlighted&quot; data-line=&quot;21&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;  end&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;22&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;23&quot;&gt;&lt;span style=&quot;color:var(--muted)&quot;&gt;  // High for exactly one clock period, on the cycle after sig_in rises.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line highlighted&quot; data-line=&quot;24&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;  assign&lt;/span&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt; pulse = sig_in &amp;amp; ~sig_d;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;25&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot; data-line=&quot;26&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;endmodule&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Three things are worth noticing in that block, and all three are typography rather than logic:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;always_ff&lt;/code&gt; and &lt;code&gt;logic&lt;/code&gt; are keywords and take one hue; &lt;code&gt;1&amp;#39;b0&lt;/code&gt; is a literal and takes another.&lt;/li&gt;
&lt;li&gt;The comment is muted and &lt;em&gt;upright&lt;/em&gt;. Italic comments would pull a mono italic file onto every
page that shows code, which is 43 KB for a slant.&lt;/li&gt;
&lt;li&gt;Nothing is hyphenated. &lt;code&gt;rising_edge_detector&lt;/code&gt; would be unreadable broken across a line,
so &lt;code&gt;hyphens&lt;/code&gt; is &lt;strong&gt;manual&lt;/strong&gt; site-wide.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The gutter is drawn only where it is read: on an include, whose numbers are the file&amp;#39;s own, on a
block with a &lt;code&gt;highlight=&lt;/code&gt; range, on any fence that asks with &lt;code&gt;numbers&lt;/code&gt;, and in a diff, where the
same column holds the &lt;code&gt;+&lt;/code&gt; or the &lt;code&gt;−&lt;/code&gt; instead. Outside those, a fence written by hand has none,
and its first character sits on the same left edge as this paragraph — the gutter is about a
tenth of the line on a phone, and a line number means nothing when there is no file to count
into:&lt;/p&gt;
&lt;div class=&quot;code-block&quot;&gt;&lt;div class=&quot;code-block__bar&quot;&gt;&lt;/div&gt;&lt;pre class=&quot;astro-code alwaysff&quot; style=&quot;background-color:var(--surface);color:var(--ink);overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot; data-line=&quot;1&quot;&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt;npm &lt;/span&gt;&lt;span style=&quot;color:var(--code-lit)&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;color:var(--code-lit)&quot;&gt; lint:sv&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Highlighting is written in the meta string rather than as &lt;code&gt;// [!code highlight]&lt;/code&gt; comments in the
file, because the &lt;code&gt;.sv&lt;/code&gt; on disk has to stay exactly what Verilator, Icarus and Yosys read. A
fence written by hand can still use the comment form, and a diff puts its marker where the
number would be:&lt;/p&gt;
&lt;div class=&quot;code-block&quot;&gt;&lt;div class=&quot;code-block__bar&quot;&gt;&lt;/div&gt;&lt;pre class=&quot;astro-code alwaysff has-diff&quot; style=&quot;background-color:var(--surface);color:var(--ink);overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;systemverilog&quot;&gt;&lt;code&gt;&lt;span class=&quot;line diff remove&quot; data-line=&quot;1&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;logic&lt;/span&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt; pulse_q;            &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line diff add&quot; data-line=&quot;2&quot;&gt;&lt;span style=&quot;color:var(--code-kw)&quot;&gt;logic&lt;/span&gt;&lt;span style=&quot;color:var(--ink)&quot;&gt; pulse_d, pulse_q;   &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;maths&quot;&gt;Maths&lt;/h2&gt;
&lt;p&gt;A formula is set with KaTeX, whose stylesheet is loaded only on a page that has one. Inline, the
maximum clock frequency of a path is &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;max&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;/msub&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;/&lt;/mi&gt;&lt;msub&gt;&lt;mi&gt;T&lt;/mi&gt;&lt;mrow&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;c&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;l&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;k&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;f_{\max} = 1/T_{\mathrm{clk}}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8889em;vertical-align:-0.1944em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.1076em&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.1514em&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:-0.1076em;margin-right:0.05em&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mop mtight&quot;&gt;&lt;span class=&quot;mtight&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;mtight&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;mtight&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1/&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.1389em&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3361em&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:-0.1389em;margin-right:0.05em&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathrm mtight&quot;&gt;clk&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, and the slack on that path
is what is left of the period after everything on it has taken its share:&lt;/p&gt;
&lt;span class=&quot;katex-display&quot;&gt;&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot; display=&quot;block&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mrow&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;s&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;l&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;a&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;c&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;k&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;T&lt;/mi&gt;&lt;mrow&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;c&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;l&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;k&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mrow&gt;&lt;mo fence=&quot;true&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mrow&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;c&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;q&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mrow&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;l&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;o&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;g&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;i&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;c&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mrow&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;s&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;e&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;t&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;u&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;p&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mrow&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;s&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;k&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;e&lt;/mi&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;w&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo fence=&quot;true&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;t_{\mathrm{slack}} = T_{\mathrm{clk}} - \left( t_{\mathrm{cq}} + t_{\mathrm{logic}} +
t_{\mathrm{setup}} + t_{\mathrm{skew}} \right)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.7651em;vertical-align:-0.15em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3361em&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:0em;margin-right:0.05em&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathrm mtight&quot;&gt;slack&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8333em;vertical-align:-0.15em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.1389em&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3361em&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:-0.1389em;margin-right:0.05em&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathrm mtight&quot;&gt;clk&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;−&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.0361em;vertical-align:-0.2861em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;minner&quot;&gt;&lt;span class=&quot;mopen delimcenter&quot; style=&quot;top:0em&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.1514em&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:0em;margin-right:0.05em&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathrm mtight&quot;&gt;cq&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.2861em&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3361em&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:0em;margin-right:0.05em&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathrm mtight&quot;&gt;logic&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.2861em&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.2806em&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:0em;margin-right:0.05em&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathrm mtight&quot;&gt;setup&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.2861em&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3361em&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:0em;margin-right:0.05em&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathrm mtight&quot; style=&quot;margin-right:0.0139em&quot;&gt;skew&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose delimcenter&quot; style=&quot;top:0em&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;That is a definition, not a measurement: what any of those terms is worth on a real part comes
from a timing report, and no number on this site is written without one. A display equation sits
in a box that scrolls sideways, for the same reason a table and a code line do — one long formula
must not set the width of the page on a phone.&lt;/p&gt;
&lt;h2 id=&quot;links-and-emphasis&quot;&gt;Links and emphasis&lt;/h2&gt;
&lt;p&gt;A link in prose takes the accent and an underline, because the accent has exactly one job:
marking what the reader can act on. Nothing else on the page may borrow it — not a heading, not
a figure, not a wire. The &lt;a href=&quot;https://alwaysff.com/about&quot;&gt;about page&lt;/a&gt; says who writes this and why.&lt;/p&gt;
&lt;p&gt;Emphasis is &lt;em&gt;italic&lt;/em&gt; for a word and &lt;strong&gt;semibold&lt;/strong&gt; for a phrase, and neither is a colour.&lt;/p&gt;</content:encoded><category>rtl</category><category>scaffold</category></item><item><title>Scaffold sample, English only</title><link>https://alwaysff.com/posts/scaffold-sample-en-only</link><guid isPermaLink="true">https://alwaysff.com/posts/scaffold-sample-en-only</guid><description>A placeholder post with no Turkish sibling, proving how untranslated entries appear on Turkish listings and how a series runs within one language.</description><pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate><content:encoded>
&lt;p&gt;This post has no Turkish sibling. On &lt;code&gt;/tr/posts&lt;/code&gt; it still appears, marked &amp;quot;EN&amp;quot; and linking to
this English page, because hiding it would be worse than admitting it is untranslated. Its page
declares no &lt;code&gt;hreflang&lt;/code&gt; at all, since there is no counterpart to point at, and the language
switcher falls back to the Turkish home page.&lt;/p&gt;</content:encoded><category>scaffold</category></item></channel></rss>