QuickLaTeX: tikZ-timing package

LaTeX package tikZ-timing created by Martin Scharrer allows easy typing of timing diagrams (digital waveforms) in offline documents.

With the aid of QuickLaTeX tikZ-timing diagrams can be used seamlessly in the WordPress blogs (or any other website). You can just paste tikZ-timing commands directly in the text – QuickLaTeX will compile them into images and embed in the published page.

Let’s consider how we can do this (examples are taken from tikz-timing examples).

tikZ-timing commands can be used inside \begin{tikzpicture} ... \end{tikzpicture}:

\timing [
node/.style={rectangle,below left,font=\sffamily}
] at (0,0)
{H N {D7}
L H N {D6} 
L H N {D5} 
L H N {D4} 
L H N {D3} 
L H N {D2} 
L H N {D1} 
L H N {D0} 
L H N[xscale=.8]{ACK} L};

QuickLaTeX renders it as

Rendered by QuickLaTeX.com

For more complex diagrams we can use \begin{tikztimingtable} ... \end{tikztimingtable}. QuickLaTeX supports them inserted directly on the page:


  Clock 128\,MHz 0\degr    & H 2C N(A1) 8{2C} N(A5) 3{2C} G\\
  Clock 128\,MHz 90\degr   & [C] 2{2C} N(A2) 8{2C} N(A6) 2{2C} C\\
  Clock 128\,MHz 180\degr  & C 2{2C} N(A3) 8{2C} N(A7) 2{2C} G\\
  Clock 128\,MHz 270\degr  & 3{2C} N(A4) 8{2C} N(A8) 2C C\\
  Coarse Pulse             & 3L 16H 6L \\
  Coarse Pulse - Delayed 1 & 4L N(B2) 16H N(B6) 5L \\
  Coarse Pulse - Delayed 2 & 5L N(B3) 16H N(B7) 4L \\
  Coarse Pulse - Delayed 3 & 6L 16H 3L \\
  Final Pulse Set          & 3L 16H N(B5) 6L \\
  Final Pulse $\overline{\mbox{Reset}}$ & 6L N(B4) 16H 3L \\
  Final Pulse              & 3L N(B1) 19H N(B8) 3L \\
    \foreach \n in {1,...,8}
      \draw [help lines] (A\n) -- (B\n);

QuickLaTeX compiles this code and places on the page as:

Rendered by QuickLaTeX.com

Here are several other examples.

SR Flip-Flop Timing:

    timing/slope=0,         % no slope
    timing/coldist=2pt,     % column distance
    xscale=5.0,yscale=2.1, % scale diagrams
    semithick               % set line width

   % Defining foreground (fg) and background (bg) colors

  \scriptsize clock     & 7{C}                              \\
  S                     & [fgblue] .75L h 2.25L H LLl       \\
  R                     & [fgblue]  1.8L .8H 2.2L 1.4H 0.8L \\
  Q                     &          L .8H 1.7L 1.5H LL       \\
  $\overline{\mbox{Q}}$ &          H .8L 1.7H 1.5L HH       \\
  Q                     & [fgred]  HLHHHLL                  \\
  $\overline{\mbox{Q}}$ & [fgred]  LHLLLHH                  \\
  % Draw shaded backgrounds
  \shade [right color=bgblue,left color=white]
     (7,-8.45) rectangle (-2,-4.6);
  \shade [right color=bgred,left color=white]
     (7,-12.8) rectangle (-2,-8.6);
  % Add background grid lines
    \foreach \x in {1,...,6}
      \draw (\x,1) -- (\x,-12.8);
    % similar: \vertlines{1,...,6}
  % Add labels
  \node [anchor=south east,inner sep=0pt]
    at (7,-8.45) {\tiny clocked};
  \node [anchor=south east,inner sep=0pt,fgred]
    at (7,-12.8) {\tiny positive edge triggered};

Rendered by QuickLaTeX.com

SPI Timing Diagram:

   xscale=1.5,yscale=1.5, % scale diagrams]

   \usetikztiminglibrary[new={char=Q,reset char=R}]{counters}

          CPOL=0 & LL 15{T} LL \\
          CPOL=1 & HH 15{T} HH \\
                 & H 17L H     \\
        Cycle \# & U     R 8{2Q} 2U    \\
            MISO & D{z}  R 8{2Q} 2D{z} \\
            MOSI & D{z}  R 8{2Q} 2D{z} \\
        Cycle \# & UU    R 8{2Q} U    \\
            MISO & D{z}U R 8{2Q} D{z} \\
            MOSI & D{z}U R 8{2Q} D{z} \\
  % Add vertical lines in two colors
  % Add big group labels
    \node at (  0, 0) {SCK};    \node at (  0,-3 ) {SS};
    \node at (1ex,-9) {CPHA=0}; \node at (1ex,-17) {CPHA=1};

Rendered by QuickLaTeX.com

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5.00)
Loading ... Loading ...


  1. Ram
    Posted February 28, 2013 at 2:33 pm | #

    Can you please tell me how I can just “add” a timing diagram as part of a larger document? All the above examples render a PDF with just the timing diagram. I am looking for an example, where the timing diagram is included as part of a bigger text.

    • Posted February 28, 2013 at 2:35 pm | #

      Could you show an example – I am not quite understand what you mean.

Post a Comment

Your email is never published nor shared.

Use native LaTeX syntax to include formulas: $ ... $, \[ ... \], etc. Do not forget to preview comment before posting.

Also you may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe without commenting