Line 45... |
Line 45... |
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//
|
//
|
// CVS Revision History
|
// CVS Revision History
|
//
|
//
|
// $Log: xilinx_internal_jtag.v,v $
|
// $Log: xilinx_internal_jtag.v,v $
|
|
// Revision 1.3 2009/06/16 02:54:23 Nathan
|
|
// Changed some signal names for better consistency between different hardware modules.
|
|
//
|
// Revision 1.2 2009/05/17 20:54:16 Nathan
|
// Revision 1.2 2009/05/17 20:54:16 Nathan
|
// Changed email address to opencores.org
|
// Changed email address to opencores.org
|
//
|
//
|
// Revision 1.1 2008/07/18 20:07:32 Nathan
|
// Revision 1.1 2008/07/18 20:07:32 Nathan
|
// Changed the directory structure to match existing projects.
|
// Changed the directory structure to match existing projects.
|
Line 79... |
Line 82... |
// "virtex_jtag_chain".
|
// "virtex_jtag_chain".
|
|
|
|
|
module xilinx_internal_jtag (
|
module xilinx_internal_jtag (
|
tck_o,
|
tck_o,
|
debug_tdi_i,
|
debug_tdo_i,
|
tdo_o,
|
tdi_o,
|
test_logic_reset_o,
|
test_logic_reset_o,
|
run_test_idle_o,
|
run_test_idle_o,
|
shift_dr_o,
|
shift_dr_o,
|
capture_dr_o,
|
capture_dr_o,
|
pause_dr_o,
|
pause_dr_o,
|
Line 94... |
Line 97... |
|
|
// May be 1, 2, 3, or 4
|
// May be 1, 2, 3, or 4
|
// Only used for Virtex 4/5 devices
|
// Only used for Virtex 4/5 devices
|
parameter virtex_jtag_chain = 1;
|
parameter virtex_jtag_chain = 1;
|
|
|
input debug_tdi_i;
|
input debug_tdo_i;
|
output tck_o;
|
output tck_o;
|
output tdo_o;
|
output tdi_o;
|
output test_logic_reset_o;
|
output test_logic_reset_o;
|
output run_test_idle_o;
|
output run_test_idle_o;
|
output shift_dr_o;
|
output shift_dr_o;
|
output capture_dr_o;
|
output capture_dr_o;
|
output pause_dr_o;
|
output pause_dr_o;
|
output update_dr_o;
|
output update_dr_o;
|
output debug_select_o;
|
output debug_select_o;
|
|
|
wire debug_tdi_i;
|
wire debug_tdo_i;
|
wire tck_o;
|
wire tck_o;
|
wire drck;
|
wire drck;
|
wire tdo_o;
|
wire tdi_o;
|
wire test_logic_reset_o;
|
wire test_logic_reset_o;
|
wire run_test_idle_o;
|
wire run_test_idle_o;
|
wire shift_dr_o;
|
wire shift_dr_o;
|
wire pause_dr_o;
|
wire pause_dr_o;
|
wire update_dr_o;
|
wire update_dr_o;
|
Line 136... |
Line 139... |
.DRCK2(), // Data register output for USER2 functions
|
.DRCK2(), // Data register output for USER2 functions
|
.RESET(test_logic_reset_o), // Reset output from TAP controller
|
.RESET(test_logic_reset_o), // Reset output from TAP controller
|
.SEL1(debug_select_o), // USER1 active output
|
.SEL1(debug_select_o), // USER1 active output
|
.SEL2(), // USER2 active output
|
.SEL2(), // USER2 active output
|
.SHIFT(shift_dr_o), // SHIFT output from TAP controller
|
.SHIFT(shift_dr_o), // SHIFT output from TAP controller
|
.TDI(tdo_o), // TDI output from TAP controller
|
.TDI(tdi_o), // TDI output from TAP controller
|
.UPDATE(update_bscan), // UPDATE output from TAP controller
|
.UPDATE(update_bscan), // UPDATE output from TAP controller
|
.TDO1(debug_tdi_i), // Data input for USER1 function
|
.TDO1(debug_tdo_i), // Data input for USER1 function
|
.TDO2( 1'b0 ) // Data input for USER2 function
|
.TDO2( 1'b0 ) // Data input for USER2 function
|
);
|
);
|
|
|
assign pause_dr_o = 1'b0;
|
assign pause_dr_o = 1'b0;
|
assign run_test_idle_o = 1'b0;
|
assign run_test_idle_o = 1'b0;
|
Line 190... |
Line 193... |
.DRCK2(), // Data register output for USER2 functions
|
.DRCK2(), // Data register output for USER2 functions
|
.RESET(test_logic_reset_o), // Reset output from TAP controller
|
.RESET(test_logic_reset_o), // Reset output from TAP controller
|
.SEL1(debug_select_o), // USER1 active output
|
.SEL1(debug_select_o), // USER1 active output
|
.SEL2(), // USER2 active output
|
.SEL2(), // USER2 active output
|
.SHIFT(shift_dr_o), // SHIFT output from TAP controller
|
.SHIFT(shift_dr_o), // SHIFT output from TAP controller
|
.TDI(tdo_o), // TDI output from TAP controller
|
.TDI(tdi_o), // TDI output from TAP controller
|
.UPDATE(update_bscan), // UPDATE output from TAP controller
|
.UPDATE(update_bscan), // UPDATE output from TAP controller
|
.TDO1(debug_tdi_i), // Data input for USER1 function
|
.TDO1(debug_tdo_i), // Data input for USER1 function
|
.TDO2(1'b0) // Data input for USER2 function
|
.TDO2(1'b0) // Data input for USER2 function
|
);
|
);
|
|
|
assign pause_dr_o = 1'b0;
|
assign pause_dr_o = 1'b0;
|
assign run_test_idle_o = 1'b0;
|
assign run_test_idle_o = 1'b0;
|
Line 231... |
Line 234... |
.RESET(test_logic_reset_o), // Reset output from TAP controller
|
.RESET(test_logic_reset_o), // Reset output from TAP controller
|
.SEL1(debug_select_o), // USER1 active output
|
.SEL1(debug_select_o), // USER1 active output
|
.SEL2(), // USER2 active output
|
.SEL2(), // USER2 active output
|
.SHIFT(shift_dr_o), // SHIFT output from TAP controller
|
.SHIFT(shift_dr_o), // SHIFT output from TAP controller
|
.TCK(tck_o), // TCK output from TAP controller
|
.TCK(tck_o), // TCK output from TAP controller
|
.TDI(tdo_o), // TDI output from TAP controller
|
.TDI(tdi_o), // TDI output from TAP controller
|
.TMS(), // TMS output from TAP controller
|
.TMS(), // TMS output from TAP controller
|
.UPDATE(update_dr_o), // UPDATE output from TAP controller
|
.UPDATE(update_dr_o), // UPDATE output from TAP controller
|
.TDO1(debug_tdi_i), // Data input for USER1 function
|
.TDO1(debug_tdo_i), // Data input for USER1 function
|
.TDO2( 1'b0) // Data input for USER2 function
|
.TDO2( 1'b0) // Data input for USER2 function
|
);
|
);
|
|
|
assign pause_dr_o = 1'b0;
|
assign pause_dr_o = 1'b0;
|
assign run_test_idle_o = 1'b0;
|
assign run_test_idle_o = 1'b0;
|
Line 258... |
Line 261... |
.DRCK2(), // Data register output for USER2 functions
|
.DRCK2(), // Data register output for USER2 functions
|
.RESET(test_logic_reset_o), // Reset output from TAP controller
|
.RESET(test_logic_reset_o), // Reset output from TAP controller
|
.SEL1(debug_select_o), // USER1 active output
|
.SEL1(debug_select_o), // USER1 active output
|
.SEL2(), // USER2 active output
|
.SEL2(), // USER2 active output
|
.SHIFT(shift_dr_o), // SHIFT output from TAP controller
|
.SHIFT(shift_dr_o), // SHIFT output from TAP controller
|
.TDI(tdo_o), // TDI output from TAP controller
|
.TDI(tdi_o), // TDI output from TAP controller
|
.UPDATE(update_bscan), // UPDATE output from TAP controller
|
.UPDATE(update_bscan), // UPDATE output from TAP controller
|
.TDO1(debug_tdi_i), // Data input for USER1 function
|
.TDO1(debug_tdo_i), // Data input for USER1 function
|
.TDO2( 1'b0) // Data input for USER2 function
|
.TDO2( 1'b0) // Data input for USER2 function
|
);
|
);
|
|
|
assign pause_dr_o = 1'b0;
|
assign pause_dr_o = 1'b0;
|
assign run_test_idle_o = 1'b0;
|
assign run_test_idle_o = 1'b0;
|
Line 312... |
Line 315... |
.DRCK2(), // Data register output for USER2 functions
|
.DRCK2(), // Data register output for USER2 functions
|
.RESET(test_logic_reset_o), // Reset output from TAP controller
|
.RESET(test_logic_reset_o), // Reset output from TAP controller
|
.SEL1(debug_select_o), // USER1 active output
|
.SEL1(debug_select_o), // USER1 active output
|
.SEL2(), // USER2 active output
|
.SEL2(), // USER2 active output
|
.SHIFT(shift_dr_o), // SHIFT output from TAP controller
|
.SHIFT(shift_dr_o), // SHIFT output from TAP controller
|
.TDI(tdo_o), // TDI output from TAP controller
|
.TDI(tdi_o), // TDI output from TAP controller
|
.UPDATE(update_bscan), // UPDATE output from TAP controller
|
.UPDATE(update_bscan), // UPDATE output from TAP controller
|
.TDO1(debug_tdi_i), // Data input for USER1 function
|
.TDO1(debug_tdo_i), // Data input for USER1 function
|
.TDO2( 1'b0 ) // Data input for USER2 function
|
.TDO2( 1'b0 ) // Data input for USER2 function
|
);
|
);
|
|
|
assign pause_dr_o = 1'b0;
|
assign pause_dr_o = 1'b0;
|
assign run_test_idle_o = 1'b0;
|
assign run_test_idle_o = 1'b0;
|
Line 354... |
Line 357... |
.CAPTURE(capture_dr_o), // CAPTURE output from TAP controller
|
.CAPTURE(capture_dr_o), // CAPTURE output from TAP controller
|
.DRCK(drck), // Data register output for USER function
|
.DRCK(drck), // Data register output for USER function
|
.RESET(test_logic_reset_o), // Reset output from TAP controller
|
.RESET(test_logic_reset_o), // Reset output from TAP controller
|
.SEL(debug_select_o), // USER active output
|
.SEL(debug_select_o), // USER active output
|
.SHIFT(shift_dr_o), // SHIFT output from TAP controller
|
.SHIFT(shift_dr_o), // SHIFT output from TAP controller
|
.TDI(tdo_o), // TDI output from TAP controller
|
.TDI(tdi_o), // TDI output from TAP controller
|
.UPDATE(update_bscan), // UPDATE output from TAP controller
|
.UPDATE(update_bscan), // UPDATE output from TAP controller
|
.TDO( debug_tdi_i ) // Data input for USER function
|
.TDO( debug_tdo_i ) // Data input for USER function
|
);
|
);
|
|
|
assign pause_dr_o = 1'b0;
|
assign pause_dr_o = 1'b0;
|
assign run_test_idle_o = 1'b0;
|
assign run_test_idle_o = 1'b0;
|
|
|
Line 395... |
Line 398... |
.CAPTURE(capture_dr_o), // CAPTURE output from TAP controller
|
.CAPTURE(capture_dr_o), // CAPTURE output from TAP controller
|
.DRCK(drck), // Data register output for USER function
|
.DRCK(drck), // Data register output for USER function
|
.RESET(test_logic_reset), // Reset output from TAP controller
|
.RESET(test_logic_reset), // Reset output from TAP controller
|
.SEL(debug_select_o), // USER active output
|
.SEL(debug_select_o), // USER active output
|
.SHIFT(shift_dr_o), // SHIFT output from TAP controller
|
.SHIFT(shift_dr_o), // SHIFT output from TAP controller
|
.TDI(tdo_o), // TDI output from TAP controller
|
.TDI(tdi_o), // TDI output from TAP controller
|
.UPDATE(update_bscan), // UPDATE output from TAP controller
|
.UPDATE(update_bscan), // UPDATE output from TAP controller
|
.TDO(debug_tdi_i) // Data input for USER function
|
.TDO(debug_tdo_i) // Data input for USER function
|
);
|
);
|
|
|
assign pause_dr_o = 1'b0;
|
assign pause_dr_o = 1'b0;
|
assign run_test_idle_o = 1'b0;
|
assign run_test_idle_o = 1'b0;
|
|
|