OpenCores
no use no use 1/1 no use no use
TAP controller and Debug Interface
by jcastillo on Nov 23, 2004
jcastillo
Posts: 32
Joined: Jun 29, 2004
Last seen: Dec 21, 2021
Hello: I have successfully runned eCos over OR1200 on a Celoxica RC203 platform. Now I am trying to include the debug interface and the TAP controller in the design. The platform I developed is based on the orp_soc platform, but the dbg_interface included on it is quite old and the ports has changed. With the new tap controller and dbg_interface I don't know how to connect them together: Below is part of the code I wrote. How the connections between TAP and dbg_interface might be? Best Regards Javier Castillo //JTAG ports jtag_tdi,jtag_tms,jtag_tck, jtag_tdo, wire debug_select; wire debug_tdi; wire debug_tdo; wire shift_dr; wire pause_dr; wire update_dr; dbg_top dbg_top ( // JTAG pins .tck_i ( jtag_tck), .tdi_i ( debug_tdi), .tdo_o ( debug_tdo), .rst_i ( reset ), // Boundary Scan signals .shift_dr_i( shift_dr), .pause_dr_i( pause_dr), .update_dr_i( update_dr), .debug_select_i( debug_select) , // WISHBONE common .wb_clk_i ( clk ), // WISHBONE master interface .wb_adr_o ( wb_dm_adr_o ), .wb_dat_i ( wb_dm_dat_i ), .wb_dat_o ( wb_dm_dat_o ), .wb_sel_o ( wb_dm_sel_o ), .wb_we_o ( wb_dm_we_o ), .wb_stb_o ( wb_dm_stb_o ), .wb_cyc_o ( wb_dm_cyc_o ), .wb_cab_o ( wb_dm_cab_o ), .wb_ack_i ( wb_dm_ack_i ), .wb_err_i ( wb_dm_err_i ), .wb_cti_o( ), .wb_bte_o( ), // RISC signals .cpu0_clk_i ( clk ), .cpu0_addr_o ( dbg_adr ), .cpu0_data_i ( dbg_dat_risc ), .cpu0_data_o ( dbg_dat_dbg ), .cpu0_bp_i ( dbg_bp ), .cpu0_stall_o( dbg_stall ), .cpu0_stb_o ( dbg_op[2] ), .cpu0_we_o ( dbg_op[0] ), .cpu0_ack_i ( dbg_ack), .cpu0_rst_o ( ) ); tap_top tap_top( .tms_pad_i ( jtag_tms ), .tck_pad_i ( jtag_tck ), .trst_pad_i ( reset ), .tdi_pad_i ( jtag_tdi ), .tdo_pad_o ( jtag_tdo ), .tdo_padoe_o( ), .shift_dr_o ( shift_dr), .pause_dr_o ( pause_dr), .update_dr_o ( update_dr), .capture_dr_o ( ), .extest_select_o( ), .sample_preload_select_o( ), .mbist_select_o( ), .debug_select_o( debug_select), .tdo_o( debug_tdi ), .debug_tdi_i ( debug_tdo), // from debug module .bs_chain_tdi_i ( 1'b0), // from Boundary Scan Chain .mbist_tdi_i ( 1'b0) // from Mbist Chain ); //OpenRISC 1200 Instantiation or1200_top or1200_top( // System .clk_i(clk), .rst_i(reset), .pic_ints_i(pic_ints), .clmode_i(clmode), // Instruction WISHBONE INTERFACE //Data WISHBONE INTERFACE // Debug .dbg_stall_i ( dbg_stall ), .dbg_dat_i ( dbg_dat_dbg ), .dbg_adr_i ( dbg_adr ), .dbg_ewt_i ( 1'b0 ), .dbg_lss_o ( dbg_lss ), .dbg_is_o ( dbg_is ), .dbg_wp_o ( dbg_wp ), .dbg_bp_o ( dbg_bp ), .dbg_dat_o ( dbg_dat_risc ), .dbg_ack_o ( dbg_ack), .dbg_stb_i ( dbg_op[2] ), .dbg_we_i ( dbg_op[0] ), ); -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.opencores.org/forums/openrisc/attachments/20041123/6d147e65/attachment-0001.htm
TAP controller and Debug Interface
by Unknown on Nov 24, 2004
Not available!
There is documentation for the debug module on the opencores website (for both, old and new version). Take the one you need and If you can't connect signals after reading it, I'll be glad to help you. Best regards, Igor On Tue, 23 Nov 2004 18:48:13 +0100, jcastillo jcastillo@opensocdesign.com> wrote:
Hello: I have successfully runned eCos over OR1200 on a Celoxica RC203 platform. Now I am trying to include the debug interface and the TAP controller in the design. The platform I developed is based on the orp_soc platform, but the dbg_interface included on it is quite old and the ports has changed. With the new tap controller and dbg_interface I don't know how to connect them together: Below is part of the code I wrote. How the connections between TAP and dbg_interface might be? Best Regards Javier Castillo //JTAG ports jtag_tdi,jtag_tms,jtag_tck, jtag_tdo, wire debug_select; wire debug_tdi; wire debug_tdo; wire shift_dr; wire pause_dr; wire update_dr; dbg_top dbg_top ( // JTAG pins .tck_i ( jtag_tck), .tdi_i ( debug_tdi), .tdo_o ( debug_tdo), .rst_i ( reset ), // Boundary Scan signals .shift_dr_i( shift_dr), .pause_dr_i( pause_dr), .update_dr_i( update_dr), .debug_select_i( debug_select) , // WISHBONE common .wb_clk_i ( clk ), // WISHBONE master interface .wb_adr_o ( wb_dm_adr_o ), .wb_dat_i ( wb_dm_dat_i ), .wb_dat_o ( wb_dm_dat_o ), .wb_sel_o ( wb_dm_sel_o ), .wb_we_o ( wb_dm_we_o ), .wb_stb_o ( wb_dm_stb_o ), .wb_cyc_o ( wb_dm_cyc_o ), .wb_cab_o ( wb_dm_cab_o ), .wb_ack_i ( wb_dm_ack_i ), .wb_err_i ( wb_dm_err_i ), .wb_cti_o( ), .wb_bte_o( ), // RISC signals .cpu0_clk_i ( clk ), .cpu0_addr_o ( dbg_adr ), .cpu0_data_i ( dbg_dat_risc ), .cpu0_data_o ( dbg_dat_dbg ), .cpu0_bp_i ( dbg_bp ), .cpu0_stall_o( dbg_stall ), .cpu0_stb_o ( dbg_op[2] ), .cpu0_we_o ( dbg_op[0] ), .cpu0_ack_i ( dbg_ack), .cpu0_rst_o ( ) ); tap_top tap_top( .tms_pad_i ( jtag_tms ), .tck_pad_i ( jtag_tck ), .trst_pad_i ( reset ), .tdi_pad_i ( jtag_tdi ), .tdo_pad_o ( jtag_tdo ), .tdo_padoe_o( ), .shift_dr_o ( shift_dr), .pause_dr_o ( pause_dr), .update_dr_o ( update_dr), .capture_dr_o ( ), .extest_select_o( ), .sample_preload_select_o( ), .mbist_select_o( ), .debug_select_o( debug_select), .tdo_o( debug_tdi ), .debug_tdi_i ( debug_tdo), // from debug module .bs_chain_tdi_i ( 1'b0), // from Boundary Scan Chain .mbist_tdi_i ( 1'b0) // from Mbist Chain ); //OpenRISC 1200 Instantiation or1200_top or1200_top( // System .clk_i(clk), .rst_i(reset), .pic_ints_i(pic_ints), .clmode_i(clmode), // Instruction WISHBONE INTERFACE //Data WISHBONE INTERFACE // Debug .dbg_stall_i ( dbg_stall ), .dbg_dat_i ( dbg_dat_dbg ), .dbg_adr_i ( dbg_adr ), .dbg_ewt_i ( 1'b0 ), .dbg_lss_o ( dbg_lss ), .dbg_is_o ( dbg_is ), .dbg_wp_o ( dbg_wp ), .dbg_bp_o ( dbg_bp ), .dbg_dat_o ( dbg_dat_risc ), .dbg_ack_o ( dbg_ack), .dbg_stb_i ( dbg_op[2] ), .dbg_we_i ( dbg_op[0] ), ); _______________________________________________ http://www.opencores.org/mailman/listinfo/openrisc


TAP controller and Debug Interface
by jcastillo on Nov 24, 2004
jcastillo
Posts: 32
Joined: Jun 29, 2004
Last seen: Dec 21, 2021
Hello: I connect the tap controller and the new dbg interface, but it doesn’t work with jp1 program. Has anybody used jp1 with the new dbg_interface and the tap controller? Regards Javier Castillo -----Mensaje original----- De: openrisc-bounces@opencores.org [mailto:openrisc-bounces@opencores.org] En nombre de Igor Mohor Enviado el: miércoles, 24 de noviembre de 2004 8:33 Para: List about OpenRISC project Asunto: Re: [openrisc] TAP controller and Debug Interface There is documentation for the debug module on the opencores website (for both, old and new version). Take the one you need and If you can't connect signals after reading it, I'll be glad to help you. Best regards, Igor On Tue, 23 Nov 2004 18:48:13 +0100, jcastillo jcastillo@opensocdesign.com> wrote:





Hello:



I have successfully runned eCos over OR1200 on a Celoxica RC203

platform.
Now I am trying to include the debug interface and the TAP controller in

the
design. The platform I developed is based on the orp_soc platform, but the dbg_interface included on it is quite old and the ports has changed. With the new tap controller and dbg_interface I don't know how to connect them together: Below is part of the code I wrote. How the connections between TAP and dbg_interface might be? Best Regards Javier Castillo //JTAG ports jtag_tdi,jtag_tms,jtag_tck, jtag_tdo, wire debug_select; wire debug_tdi; wire debug_tdo; wire shift_dr; wire pause_dr; wire update_dr; dbg_top dbg_top ( // JTAG pins .tck_i ( jtag_tck), .tdi_i ( debug_tdi), .tdo_o ( debug_tdo), .rst_i ( reset ), // Boundary Scan signals .shift_dr_i( shift_dr), .pause_dr_i( pause_dr), .update_dr_i( update_dr), .debug_select_i( debug_select) , // WISHBONE common .wb_clk_i ( clk ), // WISHBONE master interface .wb_adr_o ( wb_dm_adr_o ), .wb_dat_i ( wb_dm_dat_i ), .wb_dat_o ( wb_dm_dat_o ), .wb_sel_o ( wb_dm_sel_o ), .wb_we_o ( wb_dm_we_o ), .wb_stb_o ( wb_dm_stb_o ), .wb_cyc_o ( wb_dm_cyc_o ), .wb_cab_o ( wb_dm_cab_o ), .wb_ack_i ( wb_dm_ack_i ), .wb_err_i ( wb_dm_err_i ), .wb_cti_o( ), .wb_bte_o( ), // RISC signals .cpu0_clk_i ( clk ), .cpu0_addr_o ( dbg_adr ), .cpu0_data_i ( dbg_dat_risc ), .cpu0_data_o ( dbg_dat_dbg ), .cpu0_bp_i ( dbg_bp ), .cpu0_stall_o( dbg_stall ), .cpu0_stb_o ( dbg_op[2] ), .cpu0_we_o ( dbg_op[0] ), .cpu0_ack_i ( dbg_ack), .cpu0_rst_o ( ) ); tap_top tap_top( .tms_pad_i ( jtag_tms ), .tck_pad_i ( jtag_tck ), .trst_pad_i ( reset ), .tdi_pad_i ( jtag_tdi ), .tdo_pad_o ( jtag_tdo ), .tdo_padoe_o( ), .shift_dr_o ( shift_dr), .pause_dr_o ( pause_dr), .update_dr_o ( update_dr), .capture_dr_o ( ), .extest_select_o( ), .sample_preload_select_o( ), .mbist_select_o( ), .debug_select_o( debug_select), .tdo_o( debug_tdi ), .debug_tdi_i ( debug_tdo), // from debug module .bs_chain_tdi_i ( 1'b0), // from Boundary Scan Chain .mbist_tdi_i ( 1'b0) // from Mbist Chain ); //OpenRISC 1200 Instantiation or1200_top or1200_top( // System .clk_i(clk), .rst_i(reset), .pic_ints_i(pic_ints), .clmode_i(clmode), // Instruction WISHBONE INTERFACE //Data WISHBONE INTERFACE // Debug .dbg_stall_i ( dbg_stall ), .dbg_dat_i ( dbg_dat_dbg ), .dbg_adr_i ( dbg_adr ), .dbg_ewt_i ( 1'b0 ), .dbg_lss_o ( dbg_lss ), .dbg_is_o ( dbg_is ), .dbg_wp_o ( dbg_wp ), .dbg_bp_o ( dbg_bp ), .dbg_dat_o ( dbg_dat_risc ), .dbg_ack_o ( dbg_ack), .dbg_stb_i ( dbg_op[2] ), .dbg_we_i ( dbg_op[0] ), ); _______________________________________________ http://www.opencores.org/mailman/listinfo/openrisc
_______________________________________________ http://www.opencores.org/mailman/listinfo/openrisc
TAP controller and Debug Interface
by DannyBaumann on Nov 25, 2004
DannyBaumann
Posts: 4
Joined: Sep 30, 2004
Last seen: Feb 24, 2009
Hello, you need to use the JP2 program - but you have to comment out dbg_test() in the main routine if you don't use the SDRAM controller written by Flextronics. Below is my (working) wiring. Of course you have to use all the required wires. Regards Danny Baumann tap_top tap_module( // JTAG pads .tms_pad_i ( jtag_tms ), .tck_pad_i ( jtag_tck ), .trst_pad_i ( ~jtag_trst ), .tdi_pad_i ( jtag_tdi ), .tdo_pad_o ( jtag_tdo ), .tdo_padoe_o ( ), // TAP states .shift_dr_o ( debug_shift_dr ), .pause_dr_o ( debug_pause_dr ), .update_dr_o ( debug_update_dr ), .capture_dr_o ( ), // Select signals for boundary scan or mbist .extest_select_o ( ), .sample_preload_select_o ( ), .mbist_select_o ( ), .debug_select_o ( debug_select ), // TDO signal that is connected to TDI of sub-modules. .tdo_o ( debug_tdi ), // TDI signals from sub-modules .debug_tdi_i ( debug_tdo ), .bs_chain_tdi_i ( 1'b0 ), .mbist_tdi_i ( 1'b0 ) ); dbg_top debug_module( // JTAG signals .tck_i ( jtag_tck ), .tdi_i ( debug_tdi ), .tdo_o ( debug_tdo ), .rst_i ( wb_rst ), // TAP states .shift_dr_i ( debug_shift_dr ), .pause_dr_i ( debug_pause_dr ), .update_dr_i ( debug_update_dr ), // Instructions .debug_select_i ( debug_select ), // WISHBONE signals .wb_clk_i ( wb_clk ), .wb_adr_o ( wbm_debug_adr_o ), .wb_dat_o ( wbm_debug_dat_o ), .wb_dat_i ( wbm_debug_dat_i ), .wb_cyc_o ( wbm_debug_cyc_o ), .wb_stb_o ( wbm_debug_stb_o ), .wb_sel_o ( wbm_debug_sel_o ), .wb_we_o ( wbm_debug_we_o ), .wb_ack_i ( wbm_debug_ack_i ), .wb_cab_o ( ), .wb_err_i ( wbm_debug_err_i ), .wb_cti_o ( ), .wb_bte_o ( ), // CPU signals .cpu0_clk_i ( wb_clk ), .cpu0_addr_o ( dbg_adr ), .cpu0_data_i ( dbg_dat_risc ), .cpu0_data_o ( dbg_dat_dbg ), .cpu0_bp_i ( dbg_bp ), .cpu0_stall_o ( dbg_stall ), .cpu0_stb_o ( dbg_stb ), .cpu0_we_o ( dbg_we ), .cpu0_ack_i ( dbg_ack ), .cpu0_rst_o ( ) ); // // Instantiation of the OR1200 RISC // or1200_top or1200_top ( // Common .rst_i ( wb_rst ), .clk_i ( clk ), .clmode_i ( 2'b00 ), // WISHBONE Instruction Master .iwb_clk_i ( wb_clk ), .iwb_rst_i ( wb_rst ), .iwb_cyc_o ( wbm_cpui_cyc_o ), .iwb_adr_o ( wbm_cpui_adr_o ), .iwb_dat_i ( wbm_cpui_dat_i ), .iwb_dat_o ( wbm_cpui_dat_o ), .iwb_sel_o ( wbm_cpui_sel_o ), .iwb_ack_i ( wbm_cpui_ack_i ), .iwb_err_i ( wbm_cpui_err_i ), .iwb_rty_i ( wbm_cpui_rty_i ), .iwb_we_o ( wbm_cpui_we_o ), .iwb_stb_o ( wbm_cpui_stb_o ), // WISHBONE Data Master .dwb_clk_i ( wb_clk ), .dwb_rst_i ( wb_rst ), .dwb_cyc_o ( wbm_cpud_cyc_o ), .dwb_adr_o ( wbm_cpud_adr_o ), .dwb_dat_i ( wbm_cpud_dat_i ), .dwb_dat_o ( wbm_cpud_dat_o ), .dwb_sel_o ( wbm_cpud_sel_o ), .dwb_ack_i ( wbm_cpud_ack_i ), .dwb_err_i ( wbm_cpud_err_i ), .dwb_rty_i ( wbm_cpud_rty_i ), .dwb_we_o ( wbm_cpud_we_o ), .dwb_stb_o ( wbm_cpud_stb_o ), // Debug .dbg_stall_i ( dbg_stall ), .dbg_dat_i ( dbg_dat_dbg ), .dbg_adr_i ( dbg_adr ), .dbg_ewt_i ( 1'b0 ), .dbg_lss_o ( ), .dbg_is_o ( ), .dbg_wp_o ( ), .dbg_bp_o ( dbg_bp ), .dbg_dat_o ( dbg_dat_risc ), .dbg_ack_o ( dbg_ack ), .dbg_stb_i ( dbg_stb ), .dbg_we_i ( dbg_we ), // Power Management .pm_clksd_o ( ), .pm_cpustall_i ( 1'b0 ), .pm_dc_gate_o ( ), .pm_ic_gate_o ( ), .pm_dmmu_gate_o ( ), .pm_immu_gate_o ( ), .pm_tt_gate_o ( ), .pm_cpu_gate_o ( ), .pm_wakeup_o ( ), .pm_lvolt_o ( ), // Interrupts .pic_ints_i ( ints ) ); jcastillo wrote:
Hello: I connect the tap controller and the new dbg interface, but it doesn’t work with jp1 program. Has anybody used jp1 with the new dbg_interface and the tap controller? Regards Javier Castillo -----Mensaje original----- De: openrisc-bounces@opencores.org [mailto:openrisc-bounces@opencores.org] En nombre de Igor Mohor Enviado el: miércoles, 24 de noviembre de 2004 8:33 Para: List about OpenRISC project Asunto: Re: [openrisc] TAP controller and Debug Interface There is documentation for the debug module on the opencores website (for both, old and new version). Take the one you need and If you can't connect signals after reading it, I'll be glad to help you. Best regards, Igor On Tue, 23 Nov 2004 18:48:13 +0100, jcastillo jcastillo@opensocdesign.com> wrote:





Hello:



I have successfully runned eCos over OR1200 on a Celoxica RC203


platform.

Now I am trying to include the debug interface and the TAP controller in


the

design. The platform I developed is based on the orp_soc platform, but the dbg_interface included on it is quite old and the ports has changed. With the new tap controller and dbg_interface I don't know how to connect them together: Below is part of the code I wrote. How the connections between TAP and dbg_interface might be? Best Regards Javier Castillo //JTAG ports jtag_tdi,jtag_tms,jtag_tck, jtag_tdo, wire debug_select; wire debug_tdi; wire debug_tdo; wire shift_dr; wire pause_dr; wire update_dr; dbg_top dbg_top ( // JTAG pins .tck_i ( jtag_tck), .tdi_i ( debug_tdi), .tdo_o ( debug_tdo), .rst_i ( reset ), // Boundary Scan signals .shift_dr_i( shift_dr), .pause_dr_i( pause_dr), .update_dr_i( update_dr), .debug_select_i( debug_select) , // WISHBONE common .wb_clk_i ( clk ), // WISHBONE master interface .wb_adr_o ( wb_dm_adr_o ), .wb_dat_i ( wb_dm_dat_i ), .wb_dat_o ( wb_dm_dat_o ), .wb_sel_o ( wb_dm_sel_o ), .wb_we_o ( wb_dm_we_o ), .wb_stb_o ( wb_dm_stb_o ), .wb_cyc_o ( wb_dm_cyc_o ), .wb_cab_o ( wb_dm_cab_o ), .wb_ack_i ( wb_dm_ack_i ), .wb_err_i ( wb_dm_err_i ), .wb_cti_o( ), .wb_bte_o( ), // RISC signals .cpu0_clk_i ( clk ), .cpu0_addr_o ( dbg_adr ), .cpu0_data_i ( dbg_dat_risc ), .cpu0_data_o ( dbg_dat_dbg ), .cpu0_bp_i ( dbg_bp ), .cpu0_stall_o( dbg_stall ), .cpu0_stb_o ( dbg_op[2] ), .cpu0_we_o ( dbg_op[0] ), .cpu0_ack_i ( dbg_ack), .cpu0_rst_o ( ) ); tap_top tap_top( .tms_pad_i ( jtag_tms ), .tck_pad_i ( jtag_tck ), .trst_pad_i ( reset ), .tdi_pad_i ( jtag_tdi ), .tdo_pad_o ( jtag_tdo ), .tdo_padoe_o( ), .shift_dr_o ( shift_dr), .pause_dr_o ( pause_dr), .update_dr_o ( update_dr), .capture_dr_o ( ), .extest_select_o( ), .sample_preload_select_o( ), .mbist_select_o( ), .debug_select_o( debug_select), .tdo_o( debug_tdi ), .debug_tdi_i ( debug_tdo), // from debug module .bs_chain_tdi_i ( 1'b0), // from Boundary Scan Chain .mbist_tdi_i ( 1'b0) // from Mbist Chain ); //OpenRISC 1200 Instantiation or1200_top or1200_top( // System .clk_i(clk), .rst_i(reset), .pic_ints_i(pic_ints), .clmode_i(clmode), // Instruction WISHBONE INTERFACE //Data WISHBONE INTERFACE // Debug .dbg_stall_i ( dbg_stall ), .dbg_dat_i ( dbg_dat_dbg ), .dbg_adr_i ( dbg_adr ), .dbg_ewt_i ( 1'b0 ), .dbg_lss_o ( dbg_lss ), .dbg_is_o ( dbg_is ), .dbg_wp_o ( dbg_wp ), .dbg_bp_o ( dbg_bp ), .dbg_dat_o ( dbg_dat_risc ), .dbg_ack_o ( dbg_ack), .dbg_stb_i ( dbg_op[2] ), .dbg_we_i ( dbg_op[0] ), ); _______________________________________________ http://www.opencores.org/mailman/listinfo/openrisc
_______________________________________________ http://www.opencores.org/mailman/listinfo/openrisc _______________________________________________ http://www.opencores.org/mailman/listinfo/openrisc



TAP controller and Debug Interface
by jcastillo on Nov 25, 2004
jcastillo
Posts: 32
Joined: Jun 29, 2004
Last seen: Dec 21, 2021
Hello: Thank you very much, my OR1200 is running over a Celoxica RC203 board. I will add some features and clean the code and I will upload it to OpenCores CVS is anyone is interested on it. Just one comment, with gdb 5.3 I get an error "Debug group should be available in the or1k implementation". I read in the forum that is because a old definition file in gdb5.3. With gdb5.0 or1200 works fine, so can anybody correct this old definition file. Best Regards Javier Castillo jcastillo@opensocdesign.com www.opensocdesign.com -----Mensaje original----- De: openrisc-bounces@opencores.org [mailto:openrisc-bounces@opencores.org] En nombre de Danny Baumann Enviado el: jueves, 25 de noviembre de 2004 8:00 Para: List about OpenRISC project Asunto: Re: [openrisc] TAP controller and Debug Interface Hello, you need to use the JP2 program - but you have to comment out dbg_test() in the main routine if you don't use the SDRAM controller written by Flextronics. Below is my (working) wiring. Of course you have to use all the required wires. Regards Danny Baumann tap_top tap_module( // JTAG pads .tms_pad_i ( jtag_tms ), .tck_pad_i ( jtag_tck ), .trst_pad_i ( ~jtag_trst ), .tdi_pad_i ( jtag_tdi ), .tdo_pad_o ( jtag_tdo ), .tdo_padoe_o ( ), // TAP states .shift_dr_o ( debug_shift_dr ), .pause_dr_o ( debug_pause_dr ), .update_dr_o ( debug_update_dr ), .capture_dr_o ( ), // Select signals for boundary scan or mbist .extest_select_o ( ), .sample_preload_select_o ( ), .mbist_select_o ( ), .debug_select_o ( debug_select ), // TDO signal that is connected to TDI of sub-modules. .tdo_o ( debug_tdi ), // TDI signals from sub-modules .debug_tdi_i ( debug_tdo ), .bs_chain_tdi_i ( 1'b0 ), .mbist_tdi_i ( 1'b0 ) ); dbg_top debug_module( // JTAG signals .tck_i ( jtag_tck ), .tdi_i ( debug_tdi ), .tdo_o ( debug_tdo ), .rst_i ( wb_rst ), // TAP states .shift_dr_i ( debug_shift_dr ), .pause_dr_i ( debug_pause_dr ), .update_dr_i ( debug_update_dr ), // Instructions .debug_select_i ( debug_select ), // WISHBONE signals .wb_clk_i ( wb_clk ), .wb_adr_o ( wbm_debug_adr_o ), .wb_dat_o ( wbm_debug_dat_o ), .wb_dat_i ( wbm_debug_dat_i ), .wb_cyc_o ( wbm_debug_cyc_o ), .wb_stb_o ( wbm_debug_stb_o ), .wb_sel_o ( wbm_debug_sel_o ), .wb_we_o ( wbm_debug_we_o ), .wb_ack_i ( wbm_debug_ack_i ), .wb_cab_o ( ), .wb_err_i ( wbm_debug_err_i ), .wb_cti_o ( ), .wb_bte_o ( ), // CPU signals .cpu0_clk_i ( wb_clk ), .cpu0_addr_o ( dbg_adr ), .cpu0_data_i ( dbg_dat_risc ), .cpu0_data_o ( dbg_dat_dbg ), .cpu0_bp_i ( dbg_bp ), .cpu0_stall_o ( dbg_stall ), .cpu0_stb_o ( dbg_stb ), .cpu0_we_o ( dbg_we ), .cpu0_ack_i ( dbg_ack ), .cpu0_rst_o ( ) ); // // Instantiation of the OR1200 RISC // or1200_top or1200_top ( // Common .rst_i ( wb_rst ), .clk_i ( clk ), .clmode_i ( 2'b00 ), // WISHBONE Instruction Master .iwb_clk_i ( wb_clk ), .iwb_rst_i ( wb_rst ), .iwb_cyc_o ( wbm_cpui_cyc_o ), .iwb_adr_o ( wbm_cpui_adr_o ), .iwb_dat_i ( wbm_cpui_dat_i ), .iwb_dat_o ( wbm_cpui_dat_o ), .iwb_sel_o ( wbm_cpui_sel_o ), .iwb_ack_i ( wbm_cpui_ack_i ), .iwb_err_i ( wbm_cpui_err_i ), .iwb_rty_i ( wbm_cpui_rty_i ), .iwb_we_o ( wbm_cpui_we_o ), .iwb_stb_o ( wbm_cpui_stb_o ), // WISHBONE Data Master .dwb_clk_i ( wb_clk ), .dwb_rst_i ( wb_rst ), .dwb_cyc_o ( wbm_cpud_cyc_o ), .dwb_adr_o ( wbm_cpud_adr_o ), .dwb_dat_i ( wbm_cpud_dat_i ), .dwb_dat_o ( wbm_cpud_dat_o ), .dwb_sel_o ( wbm_cpud_sel_o ), .dwb_ack_i ( wbm_cpud_ack_i ), .dwb_err_i ( wbm_cpud_err_i ), .dwb_rty_i ( wbm_cpud_rty_i ), .dwb_we_o ( wbm_cpud_we_o ), .dwb_stb_o ( wbm_cpud_stb_o ), // Debug .dbg_stall_i ( dbg_stall ), .dbg_dat_i ( dbg_dat_dbg ), .dbg_adr_i ( dbg_adr ), .dbg_ewt_i ( 1'b0 ), .dbg_lss_o ( ), .dbg_is_o ( ), .dbg_wp_o ( ), .dbg_bp_o ( dbg_bp ), .dbg_dat_o ( dbg_dat_risc ), .dbg_ack_o ( dbg_ack ), .dbg_stb_i ( dbg_stb ), .dbg_we_i ( dbg_we ), // Power Management .pm_clksd_o ( ), .pm_cpustall_i ( 1'b0 ), .pm_dc_gate_o ( ), .pm_ic_gate_o ( ), .pm_dmmu_gate_o ( ), .pm_immu_gate_o ( ), .pm_tt_gate_o ( ), .pm_cpu_gate_o ( ), .pm_wakeup_o ( ), .pm_lvolt_o ( ), // Interrupts .pic_ints_i ( ints ) ); jcastillo wrote:
Hello: I connect the tap controller and the new dbg interface, but it doesn’t work with jp1 program. Has anybody used jp1 with the new dbg_interface and the tap controller? Regards Javier Castillo -----Mensaje original----- De: openrisc-bounces@opencores.org [mailto:openrisc-bounces@opencores.org] En nombre de Igor Mohor Enviado el: miércoles, 24 de noviembre de 2004 8:33 Para: List about OpenRISC project Asunto: Re: [openrisc] TAP controller and Debug Interface There is documentation for the debug module on the opencores website (for both, old and new version). Take the one you need and If you can't connect signals after reading it, I'll be glad to help you. Best regards, Igor On Tue, 23 Nov 2004 18:48:13 +0100, jcastillo jcastillo@opensocdesign.com> wrote:





Hello:



I have successfully runned eCos over OR1200 on a Celoxica RC203


platform.

Now I am trying to include the debug interface and the TAP controller in


the

design. The platform I developed is based on the orp_soc platform, but the dbg_interface included on it is quite old and the ports has changed. With the new tap controller and dbg_interface I don't know how to connect them together: Below is part of the code I wrote. How the connections between TAP and dbg_interface might be? Best Regards Javier Castillo //JTAG ports jtag_tdi,jtag_tms,jtag_tck, jtag_tdo, wire debug_select; wire debug_tdi; wire debug_tdo; wire shift_dr; wire pause_dr; wire update_dr; dbg_top dbg_top ( // JTAG pins .tck_i ( jtag_tck), .tdi_i ( debug_tdi), .tdo_o ( debug_tdo), .rst_i ( reset ), // Boundary Scan signals .shift_dr_i( shift_dr), .pause_dr_i( pause_dr), .update_dr_i( update_dr), .debug_select_i( debug_select) , // WISHBONE common .wb_clk_i ( clk ), // WISHBONE master interface .wb_adr_o ( wb_dm_adr_o ), .wb_dat_i ( wb_dm_dat_i ), .wb_dat_o ( wb_dm_dat_o ), .wb_sel_o ( wb_dm_sel_o ), .wb_we_o ( wb_dm_we_o ), .wb_stb_o ( wb_dm_stb_o ), .wb_cyc_o ( wb_dm_cyc_o ), .wb_cab_o ( wb_dm_cab_o ), .wb_ack_i ( wb_dm_ack_i ), .wb_err_i ( wb_dm_err_i ), .wb_cti_o( ), .wb_bte_o( ), // RISC signals .cpu0_clk_i ( clk ), .cpu0_addr_o ( dbg_adr ), .cpu0_data_i ( dbg_dat_risc ), .cpu0_data_o ( dbg_dat_dbg ), .cpu0_bp_i ( dbg_bp ), .cpu0_stall_o( dbg_stall ), .cpu0_stb_o ( dbg_op[2] ), .cpu0_we_o ( dbg_op[0] ), .cpu0_ack_i ( dbg_ack), .cpu0_rst_o ( ) ); tap_top tap_top( .tms_pad_i ( jtag_tms ), .tck_pad_i ( jtag_tck ), .trst_pad_i ( reset ), .tdi_pad_i ( jtag_tdi ), .tdo_pad_o ( jtag_tdo ), .tdo_padoe_o( ), .shift_dr_o ( shift_dr), .pause_dr_o ( pause_dr), .update_dr_o ( update_dr), .capture_dr_o ( ), .extest_select_o( ), .sample_preload_select_o( ), .mbist_select_o( ), .debug_select_o( debug_select), .tdo_o( debug_tdi ), .debug_tdi_i ( debug_tdo), // from debug module .bs_chain_tdi_i ( 1'b0), // from Boundary Scan Chain .mbist_tdi_i ( 1'b0) // from Mbist Chain ); //OpenRISC 1200 Instantiation or1200_top or1200_top( // System .clk_i(clk), .rst_i(reset), .pic_ints_i(pic_ints), .clmode_i(clmode), // Instruction WISHBONE INTERFACE //Data WISHBONE INTERFACE // Debug .dbg_stall_i ( dbg_stall ), .dbg_dat_i ( dbg_dat_dbg ), .dbg_adr_i ( dbg_adr ), .dbg_ewt_i ( 1'b0 ), .dbg_lss_o ( dbg_lss ), .dbg_is_o ( dbg_is ), .dbg_wp_o ( dbg_wp ), .dbg_bp_o ( dbg_bp ), .dbg_dat_o ( dbg_dat_risc ), .dbg_ack_o ( dbg_ack), .dbg_stb_i ( dbg_op[2] ), .dbg_we_i ( dbg_op[0] ), ); _______________________________________________ http://www.opencores.org/mailman/listinfo/openrisc
_______________________________________________ http://www.opencores.org/mailman/listinfo/openrisc _______________________________________________ http://www.opencores.org/mailman/listinfo/openrisc
_______________________________________________ http://www.opencores.org/mailman/listinfo/openrisc
no use no use 1/1 no use no use
© copyright 1999-2026 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.