title: How can I implement a sequence generator using a universal shift register?
body: <p>How can I implement a sequence generator that generates the following sequence</p>
  
  <p>0000
  1000
  0001
  0011
  0110
  1101
  1110
  1111 </p>
  
  <p>using a universal shift register? The shift register I need to use is the 74LS194 model shown below where the inputs S1, S0 controls the shift mode.</p>
  
  <p>If (S1,S0) = (0,0), then the current value is locked to the next state.
  If (1,0), it's shift to right. If (0,1), it's shift to left, and (1,1) indicates parallel loading from the parallel data inputs.</p>
  
  <p>I think this would be a simple question if the requirement was just using flip flops of my choice and not the shift register, but with this requirement I don't know where to start. Even though I draw 4 Karnaugh maps for each digit I don't seem to grasp a clue. Any help would be appreciated. Thanks in advance!</p>
  
  <p><strong>Universal shift register 74LS194:</strong></p>
  
  <p><img src="https://i.stack.imgur.com/XGJrM.jpg" alt="Universal shift register 74LS194"></p>
  
  <hr>
  
  <p>Edit: I took the advice and wrote the next state table with the input signals. 
  I noticed that there were too many input variables to consider when I drew the next state table. You have to consider the Qd Qc Qb Qa, CLR, S1, S0, RIn, LIn signals for each next state Qd, Qc, Qb, Qa, which means a 9 variable Karnaugh map for each Q, which I know is ridiculous. Am I missing something here?</p>