tikz rectangle nodes fail to align
You made a syntax error when using the positioning library. It is necessary to write below = of...
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows, decorations.pathreplacing, positioning}
\tikzstyle{instruction-bits-variable} = [rectangle split,
rectangle split horizontal,
draw,
text centered,
minimum height=1em]
\begin{document}
\begin{figure}%[H]
\centering
\begin{tikzpicture}[auto]
\node [instruction-bits-variable,
rectangle split parts=7,
label={west:{instr 0:}}] (instr0) {};
\node [instruction-bits-variable,
rectangle split parts=8,
node distance = 2em,
label={west:{instr 1:}},
below =of instr0.west,
anchor=west] (instr1) {};
\end{tikzpicture}
\caption {Fixed length instructions}
\label {fig:instruction-format-components}
\end {figure}
\end{document}
Slightly shorter code, recent syntax for determining of node style:
\documentclass{report}
\usepackage{tikz}
\usetikzlibrary{arrows,
decorations.pathreplacing, positioning,
shapes,}
\tikzset{instruction-bits-variable/.style = {% <---
rectangle split,
rectangle split horizontal,
rectangle split parts=#1, % <---
draw, align=center, minimum height=1em}
}
\begin{document}
\begin {figure}[ht]
\centering
\begin{tikzpicture}[
node distance = 7mm and 4mm % <---
]
\node [instruction-bits-variable=7,
label=west:{instr 0:}] (instr0) {};
\node [instruction-bits-variable=8,
label=west:{instr 1:},
below = of instr0.west, anchor=west] (instr1) {};
\end{tikzpicture}
\caption {Fixed length instructions}
\label {fig:instruction-format-components}
\end {figure}
\end{document}
Result is the same as it is in other answer.