Designing a electronic dice with Arduino, 74HC163 and a 74HC4511 decoder to a 7segment display
Overview
Essentially, you want a 1-6 counter -- either up or down. So let's go with up.
Excitation Table
Excitation tables often used to work out the combinatorial logic needed to transition a set of FFs holding the current state into the next desired state for some arbitrary (usually circular) sequential series of states. They aren't hard to make, though they may take a little persistence. Once produced, they are usually turned into k-maps for minimization purposes.
Most often, these tables are meant to help when using JK-type (JKFF), toggle-type (TFF), or D-type (DFF) flip flops. The JK-type has two inputs and the others have just one input. Their transitions are represented in the following table:
$$\begin{array}{c|c|c}
\text{Transition} &amp; \text{JK FF} &amp; \text{T FF} &amp; \text{D FF}\\\hline
{\begin{smallmatrix}\begin{array}{c}
\text{start }\to\text{ end}\\\\
  0 \quad \to \quad 0\\
  1 \quad \to \quad 1\\
  0 \quad \to \quad 1\\
  1 \quad \to \quad 0
  \end{array}\end{smallmatrix}} &amp;
{\begin{smallmatrix}\begin{array}{cc}
  J &amp; K \\\\
  0&amp;x\\
  x&amp;0\\
  1&amp;x\\
  x&amp;1
  \end{array}\end{smallmatrix}} &amp;
  {\begin{smallmatrix}\begin{array}{c}
  T\\\\
  0\\
  0\\
  1\\
  1
  \end{array}\end{smallmatrix}} &amp;
{\begin{smallmatrix}\begin{array}{c}
  D\\\\
  0\\
  1\\
  1\\
  0
  \end{array}\end{smallmatrix}}
\end{array}$$
(Obviously, the DFF just wants the next state fed to its input.)
For now, we don't choose. We just analyze all possibilities and see what's easier to implement.
$$\begin{array}{c|c}
\text{States} &amp; \text{Excitations}\\\hline\\
{\begin{smallmatrix}\begin{array}{cccc}
  Q_C &amp; Q_B &amp; Q_A\\
  \vphantom{\left.\overbrace{\begin{array}{ccc}J &amp; K &amp; T &amp; D\end{array} } \right.}\\
  0&amp;0&amp;0\\
  0&amp;0&amp;1\\
  0&amp;1&amp;0\\
  0&amp;1&amp;1\\
  1&amp;0&amp;0\\
  1&amp;0&amp;1\\
  1&amp;1&amp;0\\\\
  1&amp;1&amp;1
  \end{array}\end{smallmatrix}} &amp;
{\begin{smallmatrix}\begin{array}{cccc}
  Q_C &amp; Q_B &amp; Q_A\\
  \left.\overbrace{\begin{array}{cccc}J &amp; K &amp; T &amp; D\\
    0&amp;x&amp;0&amp;0\\
    0&amp;x&amp;0&amp;0\\
    0&amp;x&amp;0&amp;0\\
    1&amp;x&amp;1&amp;1\\
    x&amp;0&amp;0&amp;1\\
    x&amp;0&amp;0&amp;1\\
    x&amp;1&amp;1&amp;0\\\\
    x&amp;x&amp;x&amp;x
  \end{array} } \right. &amp;
  \left.\overbrace{\begin{array}{cccc}J &amp; K &amp; T &amp; D\\
    0&amp;x&amp;0&amp;0\\
    1&amp;x&amp;1&amp;1\\
    x&amp;0&amp;0&amp;1\\
    x&amp;1&amp;1&amp;0\\
    0&amp;x&amp;0&amp;0\\
    1&amp;x&amp;1&amp;1\\
    x&amp;1&amp;1&amp;0\\\\
    x&amp;x&amp;x&amp;x
  \end{array} } \right. &amp;
  \left.\overbrace{\begin{array}{cccc}J &amp; K &amp; T &amp; D\\
    1&amp;x&amp;1&amp;1\\
    x&amp;1&amp;1&amp;0\\
    1&amp;x&amp;1&amp;1\\
    x&amp;1&amp;1&amp;0\\
    1&amp;x&amp;1&amp;1\\
    x&amp;1&amp;1&amp;0\\
    0&amp;x&amp;0&amp;0\\\\
    x&amp;x&amp;x&amp;x
  \end{array} } \right.
  \end{array}\end{smallmatrix}}
\end{array}$$
K-Maps
Next, you turn the above excitation table columns into k-maps. (It's often easier to minimize the required logic when in this form.)
Again, for completeness, I'm providing all of them. We'll decide which is better, later.
$$\begin{array}{rl}
\begin{smallmatrix}\begin{array}{r|cccc}
Q_C\text{ }J&amp;\overline{Q_B}\:\overline{Q_A}&amp;\overline{Q_B}\: Q_A&amp;Q_B \:Q_A&amp;Q_B \:\overline{Q_A}\\
\hline
\overline{Q_C}&amp;0&amp;0&amp;1&amp;0\\
Q_C&amp;x&amp;x&amp;x&amp;x
\end{array}\end{smallmatrix}
&amp;
\begin{smallmatrix}\begin{array}{r|cccc}
Q_C\text{ }K&amp;\overline{Q_B}\:\overline{Q_A}&amp;\overline{Q_B}\: Q_A&amp;Q_B \:Q_A&amp;Q_B \:\overline{Q_A}\\
\hline
\overline{Q_C}&amp;x&amp;x&amp;x&amp;x\\
Q_C&amp;0&amp;0&amp;x&amp;1
\end{array}\end{smallmatrix}\\\\
\begin{smallmatrix}\begin{array}{r|cccc}
Q_C\text{ }T&amp;\overline{Q_B}\:\overline{Q_A}&amp;\overline{Q_B}\: Q_A&amp;Q_B \:Q_A&amp;Q_B \:\overline{Q_A}\\
\hline
\overline{Q_C}&amp;0&amp;0&amp;1&amp;0\\
Q_C&amp;0&amp;0&amp;x&amp;1
\end{array}\end{smallmatrix}
&amp;
\begin{smallmatrix}\begin{array}{r|cccc}
Q_C\text{ }D&amp;\overline{Q_B}\:\overline{Q_A}&amp;\overline{Q_B}\: Q_A&amp;Q_B \:Q_A&amp;Q_B \:\overline{Q_A}\\
\hline
\overline{Q_C}&amp;0&amp;0&amp;1&amp;0\\
Q_C&amp;1&amp;1&amp;x&amp;0
\end{array}\end{smallmatrix}
\\\\
\begin{smallmatrix}\begin{array}{r|cccc}
Q_B\text{ }J&amp;\overline{Q_B}\:\overline{Q_A}&amp;\overline{Q_B}\: Q_A&amp;Q_B \:Q_A&amp;Q_B \:\overline{Q_A}\\
\hline
\overline{Q_C}&amp;0&amp;1&amp;x&amp;x\\
Q_C&amp;0&amp;1&amp;x&amp;x
\end{array}\end{smallmatrix}
&amp;
\begin{smallmatrix}\begin{array}{r|cccc}
Q_B\text{ }K&amp;\overline{Q_B}\:\overline{Q_A}&amp;\overline{Q_B}\: Q_A&amp;Q_B \:Q_A&amp;Q_B \:\overline{Q_A}\\
\hline
\overline{Q_C}&amp;x&amp;x&amp;1&amp;0\\
Q_C&amp;x&amp;x&amp;x&amp;1
\end{array}\end{smallmatrix}\\\\
\begin{smallmatrix}\begin{array}{r|cccc}
Q_B\text{ }T&amp;\overline{Q_B}\:\overline{Q_A}&amp;\overline{Q_B}\: Q_A&amp;Q_B \:Q_A&amp;Q_B \:\overline{Q_A}\\
\hline
\overline{Q_C}&amp;0&amp;1&amp;1&amp;0\\
Q_C&amp;0&amp;1&amp;x&amp;1
\end{array}\end{smallmatrix}
&amp;
\begin{smallmatrix}\begin{array}{r|cccc}
Q_B\text{ }D&amp;\overline{Q_B}\:\overline{Q_A}&amp;\overline{Q_B}\: Q_A&amp;Q_B \:Q_A&amp;Q_B \:\overline{Q_A}\\
\hline
\overline{Q_C}&amp;0&amp;1&amp;0&amp;1\\
Q_C&amp;0&amp;1&amp;x&amp;0
\end{array}\end{smallmatrix}
\\\\
\begin{smallmatrix}\begin{array}{r|cccc}
Q_A\text{ }J&amp;\overline{Q_B}\:\overline{Q_A}&amp;\overline{Q_B}\: Q_A&amp;Q_B \:Q_A&amp;Q_B \:\overline{Q_A}\\
\hline
\overline{Q_C}&amp;1&amp;x&amp;x&amp;1\\
Q_C&amp;1&amp;x&amp;x&amp;0
\end{array}\end{smallmatrix}
&amp;
\begin{smallmatrix}\begin{array}{r|cccc}
Q_A\text{ }K&amp;\overline{Q_B}\:\overline{Q_A}&amp;\overline{Q_B}\: Q_A&amp;Q_B \:Q_A&amp;Q_B \:\overline{Q_A}\\
\hline
\overline{Q_C}&amp;x&amp;1&amp;1&amp;x\\
Q_C&amp;x&amp;1&amp;x&amp;x
\end{array}\end{smallmatrix}\\\\
\begin{smallmatrix}\begin{array}{r|cccc}
Q_A\text{ }T&amp;\overline{Q_B}\:\overline{Q_A}&amp;\overline{Q_B}\: Q_A&amp;Q_B \:Q_A&amp;Q_B \:\overline{Q_A}\\
\hline
\overline{Q_C}&amp;1&amp;1&amp;1&amp;1\\
Q_C&amp;1&amp;1&amp;x&amp;0
\end{array}\end{smallmatrix}
&amp;
\begin{smallmatrix}\begin{array}{r|cccc}
Q_A\text{ }D&amp;\overline{Q_B}\:\overline{Q_A}&amp;\overline{Q_B}\: Q_A&amp;Q_B \:Q_A&amp;Q_B \:\overline{Q_A}\\
\hline
\overline{Q_C}&amp;1&amp;0&amp;0&amp;1\\
Q_C&amp;1&amp;0&amp;x&amp;0
\end{array}\end{smallmatrix}
\end{array}$$
From the above, there are a number of options to consider. But I like the J-K option. So here's the result of that:
$$\begin{array}{c|c}
\text{JK FF} &amp; \text{Expression}\\\hline
{\begin{smallmatrix}\begin{array}{r}
  Q_A \left\{\begin{array}{c}
        \vphantom{\overline{Q_B \: Q_C}} J\\
        \vphantom{1} K\end{array}
      \right.\\
  Q_B \left\{\begin{array}{c}
        \vphantom{Q_A} J\\
        \vphantom{Q_A\oplus Q_C} K\end{array}
      \right.\\
  Q_C \left\{\begin{array}{c}
        \vphantom{Q_A\:Q_B} J\\
        \vphantom{Q_B} K\end{array}
      \right.
  \end{array}\end{smallmatrix}} &amp;
{\begin{smallmatrix}\begin{array}{c}
  \left.\begin{array}{c}\overline{Q_B \: Q_C}\\1\end{array}\right.\\
  \left.\begin{array}{c}Q_A\\Q_A\oplus Q_C\end{array}\right.\\
  \left.\begin{array}{c}Q_A\:Q_B\\Q_B\end{array}\right.
  \end{array}\end{smallmatrix}}
\end{array}$$
Assuming only 2-input devices, this can be done with one XOR, one AND, and one NAND, using J-K FF devices to hold the state:

This provides an arrangement that requires a pair of 74HC73 ICs, plus one 74HC00 IC and one 74HC86 IC. You'll still need your 74HC4511, of course.
(You can completely avoid the Arduino and use a 555 or other form of fast clock to feed the above, enabled by gating the 555 output to the above clock input using a manual pushbutton. It will appear to be randomly changing as the human touch interacting with the pushbutton is essentially unpredictable.)