1 -- reset JTAG interface and then IDCODE should be shifted out
4 use ieee.std_logic_1164.ALL;
11 architecture rtl of bench_idcode is
12 signal TCK: std_logic;
13 signal TMS: std_logic;
14 signal TDI: std_logic;
15 signal TDO: std_logic;
16 signal TRST_N: std_logic;
18 constant CLK_PERIOD: time := 10 ns;
19 constant NULL_STDVECTOR: std_logic_vector(1 to 0) := (others => 'X');
22 signal CLK: out std_logic;
27 wait for CLK_PERIOD/4;
29 wait for CLK_PERIOD/2;
31 wait for CLK_PERIOD/4;
36 signal CLK: out std_logic;
41 ClkCycle(CLK, CLK_PERIOD);
45 JTAG_BLOCK: c4m_jtag_tap_controller
58 CORE_OUT => NULL_STDVECTOR,
60 CORE_EN => NULL_STDVECTOR,
62 PAD_IN => NULL_STDVECTOR,
73 wait for 10*CLK_PERIOD;
80 ClkCycle(TCK, CLK_PERIOD);
83 ClkCycle(TCK, CLK_PERIOD);
86 ClkCycle(TCK, CLK_PERIOD);
87 -- Enter Shift, run for 35 CLK cycles
89 ClkCycles(35, TCK, CLK_PERIOD);
92 ClkCycle(TCK, CLK_PERIOD);
95 ClkCycle(TCK, CLK_PERIOD);
98 ClkCycles(4, TCK, CLK_PERIOD);