- elsif rising_edge(TCK) then
- if IRSTATE = '1' then
- case STATE is
- when Capture =>
- SHIFT_IR(1) <= '0';
- SHIFT_IR(0) <= '1';
-
- when Shift =>
- SHIFT_IR(IR_WIDTH-2 downto 0) <= SHIFT_IR(IR_WIDTH-1 downto 1);
- SHIFT_IR(IR_WIDTH-1) <= TDI;
-
- when Update =>
- IR <= SHIFT_IR;
-
- when others =>
- null;
- end case;
+ elsif CAPTURE = '1' then
+ SHIFT_IR(1) <= '0';
+ SHIFT_IR(0) <= '1';
+ elsif SHIFT = '1' then
+ SHIFT_IR(IR_WIDTH-2 downto 0) <= SHIFT_IR(IR_WIDTH-1 downto 1);
+ SHIFT_IR(IR_WIDTH-1) <= TDI;
+ elsif UPDATE = '1' then
+ IR <= SHIFT_IR;