URL
https://opencores.org/ocsvn/or1200_soc/or1200_soc/trunk
Subversion Repositories or1200_soc
Compare Revisions
- This comparison shows the changes necessary to convert path
/or1200_soc/trunk/src
- from Rev 24 to Rev 25
- ↔ Reverse comparison
Rev 24 → Rev 25
/amf_sld_virtual_jtag.v
0,0 → 1,279
// megafunction wizard: %Virtual JTAG% |
// GENERATION: STANDARD |
// VERSION: WM1.0 |
// MODULE: sld_virtual_jtag |
|
// ============================================================ |
// File Name: amf_sld_virtual_jtag.v |
// Megafunction Name(s): |
// sld_virtual_jtag |
// |
// Simulation Library Files(s): |
// altera_mf |
// ============================================================ |
// ************************************************************ |
// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! |
// |
// 9.1 Build 304 01/25/2010 SP 1 SJ Web Edition |
// ************************************************************ |
|
|
//Copyright (C) 1991-2010 Altera Corporation |
//Your use of Altera Corporation's design tools, logic functions |
//and other software and tools, and its AMPP partner logic |
//functions, and any output files from any of the foregoing |
//(including device programming or simulation files), and any |
//associated documentation or information are expressly subject |
//to the terms and conditions of the Altera Program License |
//Subscription Agreement, Altera MegaCore Function License |
//Agreement, or other applicable license agreement, including, |
//without limitation, that your use is for the sole purpose of |
//programming logic devices manufactured by Altera and sold by |
//Altera or its authorized distributors. Please refer to the |
//applicable agreement for further details. |
|
|
// synopsys translate_off |
`timescale 1 ps / 1 ps |
// synopsys translate_on |
module amf_sld_virtual_jtag ( |
ir_out, |
tdo, |
ir_in, |
jtag_state_cdr, |
jtag_state_cir, |
jtag_state_e1dr, |
jtag_state_e1ir, |
jtag_state_e2dr, |
jtag_state_e2ir, |
jtag_state_pdr, |
jtag_state_pir, |
jtag_state_rti, |
jtag_state_sdr, |
jtag_state_sdrs, |
jtag_state_sir, |
jtag_state_sirs, |
jtag_state_tlr, |
jtag_state_udr, |
jtag_state_uir, |
tck, |
tdi, |
tms, |
virtual_state_cdr, |
virtual_state_cir, |
virtual_state_e1dr, |
virtual_state_e2dr, |
virtual_state_pdr, |
virtual_state_sdr, |
virtual_state_udr, |
virtual_state_uir); |
|
input [3:0] ir_out; |
input tdo; |
output [3:0] ir_in; |
output jtag_state_cdr; |
output jtag_state_cir; |
output jtag_state_e1dr; |
output jtag_state_e1ir; |
output jtag_state_e2dr; |
output jtag_state_e2ir; |
output jtag_state_pdr; |
output jtag_state_pir; |
output jtag_state_rti; |
output jtag_state_sdr; |
output jtag_state_sdrs; |
output jtag_state_sir; |
output jtag_state_sirs; |
output jtag_state_tlr; |
output jtag_state_udr; |
output jtag_state_uir; |
output tck; |
output tdi; |
output tms; |
output virtual_state_cdr; |
output virtual_state_cir; |
output virtual_state_e1dr; |
output virtual_state_e2dr; |
output virtual_state_pdr; |
output virtual_state_sdr; |
output virtual_state_udr; |
output virtual_state_uir; |
|
wire sub_wire0; |
wire sub_wire1; |
wire sub_wire2; |
wire sub_wire3; |
wire sub_wire4; |
wire sub_wire5; |
wire sub_wire6; |
wire sub_wire7; |
wire sub_wire8; |
wire [3:0] sub_wire9; |
wire sub_wire10; |
wire sub_wire11; |
wire sub_wire12; |
wire sub_wire13; |
wire sub_wire14; |
wire sub_wire15; |
wire sub_wire16; |
wire sub_wire17; |
wire sub_wire18; |
wire sub_wire19; |
wire sub_wire20; |
wire sub_wire21; |
wire sub_wire22; |
wire sub_wire23; |
wire sub_wire24; |
wire sub_wire25; |
wire sub_wire26; |
wire sub_wire27; |
wire tdi = sub_wire0; |
wire jtag_state_rti = sub_wire1; |
wire jtag_state_e1dr = sub_wire2; |
wire jtag_state_e2dr = sub_wire3; |
wire tms = sub_wire4; |
wire jtag_state_pir = sub_wire5; |
wire jtag_state_tlr = sub_wire6; |
wire tck = sub_wire7; |
wire jtag_state_sir = sub_wire8; |
wire [3:0] ir_in = sub_wire9[3:0]; |
wire virtual_state_cir = sub_wire10; |
wire virtual_state_pdr = sub_wire11; |
wire virtual_state_uir = sub_wire12; |
wire jtag_state_cir = sub_wire13; |
wire jtag_state_uir = sub_wire14; |
wire jtag_state_pdr = sub_wire15; |
wire jtag_state_sdrs = sub_wire16; |
wire virtual_state_sdr = sub_wire17; |
wire virtual_state_cdr = sub_wire18; |
wire jtag_state_sdr = sub_wire19; |
wire jtag_state_cdr = sub_wire20; |
wire virtual_state_udr = sub_wire21; |
wire jtag_state_udr = sub_wire22; |
wire jtag_state_sirs = sub_wire23; |
wire jtag_state_e1ir = sub_wire24; |
wire jtag_state_e2ir = sub_wire25; |
wire virtual_state_e1dr = sub_wire26; |
wire virtual_state_e2dr = sub_wire27; |
|
sld_virtual_jtag sld_virtual_jtag_component ( |
.ir_out (ir_out), |
.tdo (tdo), |
.tdi (sub_wire0), |
.jtag_state_rti (sub_wire1), |
.jtag_state_e1dr (sub_wire2), |
.jtag_state_e2dr (sub_wire3), |
.tms (sub_wire4), |
.jtag_state_pir (sub_wire5), |
.jtag_state_tlr (sub_wire6), |
.tck (sub_wire7), |
.jtag_state_sir (sub_wire8), |
.ir_in (sub_wire9), |
.virtual_state_cir (sub_wire10), |
.virtual_state_pdr (sub_wire11), |
.virtual_state_uir (sub_wire12), |
.jtag_state_cir (sub_wire13), |
.jtag_state_uir (sub_wire14), |
.jtag_state_pdr (sub_wire15), |
.jtag_state_sdrs (sub_wire16), |
.virtual_state_sdr (sub_wire17), |
.virtual_state_cdr (sub_wire18), |
.jtag_state_sdr (sub_wire19), |
.jtag_state_cdr (sub_wire20), |
.virtual_state_udr (sub_wire21), |
.jtag_state_udr (sub_wire22), |
.jtag_state_sirs (sub_wire23), |
.jtag_state_e1ir (sub_wire24), |
.jtag_state_e2ir (sub_wire25), |
.virtual_state_e1dr (sub_wire26), |
.virtual_state_e2dr (sub_wire27)); |
defparam |
sld_virtual_jtag_component.sld_auto_instance_index = "YES", |
sld_virtual_jtag_component.sld_instance_index = 0, |
sld_virtual_jtag_component.sld_ir_width = 4, |
sld_virtual_jtag_component.sld_sim_action = "", |
sld_virtual_jtag_component.sld_sim_n_scan = 0, |
sld_virtual_jtag_component.sld_sim_total_length = 0; |
|
|
endmodule |
|
// ============================================================ |
// CNX file retrieval info |
// ============================================================ |
// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone II" |
// Retrieval info: PRIVATE: show_jtag_state STRING "1" |
// Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all |
// Retrieval info: CONSTANT: SLD_AUTO_INSTANCE_INDEX STRING "YES" |
// Retrieval info: CONSTANT: SLD_INSTANCE_INDEX NUMERIC "0" |
// Retrieval info: CONSTANT: SLD_IR_WIDTH NUMERIC "4" |
// Retrieval info: CONSTANT: SLD_SIM_ACTION STRING "" |
// Retrieval info: CONSTANT: SLD_SIM_N_SCAN NUMERIC "0" |
// Retrieval info: CONSTANT: SLD_SIM_TOTAL_LENGTH NUMERIC "0" |
// Retrieval info: USED_PORT: ir_in 0 0 4 0 OUTPUT NODEFVAL "ir_in[3..0]" |
// Retrieval info: USED_PORT: ir_out 0 0 4 0 INPUT NODEFVAL "ir_out[3..0]" |
// Retrieval info: USED_PORT: jtag_state_cdr 0 0 0 0 OUTPUT NODEFVAL "jtag_state_cdr" |
// Retrieval info: USED_PORT: jtag_state_cir 0 0 0 0 OUTPUT NODEFVAL "jtag_state_cir" |
// Retrieval info: USED_PORT: jtag_state_e1dr 0 0 0 0 OUTPUT NODEFVAL "jtag_state_e1dr" |
// Retrieval info: USED_PORT: jtag_state_e1ir 0 0 0 0 OUTPUT NODEFVAL "jtag_state_e1ir" |
// Retrieval info: USED_PORT: jtag_state_e2dr 0 0 0 0 OUTPUT NODEFVAL "jtag_state_e2dr" |
// Retrieval info: USED_PORT: jtag_state_e2ir 0 0 0 0 OUTPUT NODEFVAL "jtag_state_e2ir" |
// Retrieval info: USED_PORT: jtag_state_pdr 0 0 0 0 OUTPUT NODEFVAL "jtag_state_pdr" |
// Retrieval info: USED_PORT: jtag_state_pir 0 0 0 0 OUTPUT NODEFVAL "jtag_state_pir" |
// Retrieval info: USED_PORT: jtag_state_rti 0 0 0 0 OUTPUT NODEFVAL "jtag_state_rti" |
// Retrieval info: USED_PORT: jtag_state_sdr 0 0 0 0 OUTPUT NODEFVAL "jtag_state_sdr" |
// Retrieval info: USED_PORT: jtag_state_sdrs 0 0 0 0 OUTPUT NODEFVAL "jtag_state_sdrs" |
// Retrieval info: USED_PORT: jtag_state_sir 0 0 0 0 OUTPUT NODEFVAL "jtag_state_sir" |
// Retrieval info: USED_PORT: jtag_state_sirs 0 0 0 0 OUTPUT NODEFVAL "jtag_state_sirs" |
// Retrieval info: USED_PORT: jtag_state_tlr 0 0 0 0 OUTPUT NODEFVAL "jtag_state_tlr" |
// Retrieval info: USED_PORT: jtag_state_udr 0 0 0 0 OUTPUT NODEFVAL "jtag_state_udr" |
// Retrieval info: USED_PORT: jtag_state_uir 0 0 0 0 OUTPUT NODEFVAL "jtag_state_uir" |
// Retrieval info: USED_PORT: tck 0 0 0 0 OUTPUT NODEFVAL "tck" |
// Retrieval info: USED_PORT: tdi 0 0 0 0 OUTPUT NODEFVAL "tdi" |
// Retrieval info: USED_PORT: tdo 0 0 0 0 INPUT NODEFVAL "tdo" |
// Retrieval info: USED_PORT: tms 0 0 0 0 OUTPUT NODEFVAL "tms" |
// Retrieval info: USED_PORT: virtual_state_cdr 0 0 0 0 OUTPUT NODEFVAL "virtual_state_cdr" |
// Retrieval info: USED_PORT: virtual_state_cir 0 0 0 0 OUTPUT NODEFVAL "virtual_state_cir" |
// Retrieval info: USED_PORT: virtual_state_e1dr 0 0 0 0 OUTPUT NODEFVAL "virtual_state_e1dr" |
// Retrieval info: USED_PORT: virtual_state_e2dr 0 0 0 0 OUTPUT NODEFVAL "virtual_state_e2dr" |
// Retrieval info: USED_PORT: virtual_state_pdr 0 0 0 0 OUTPUT NODEFVAL "virtual_state_pdr" |
// Retrieval info: USED_PORT: virtual_state_sdr 0 0 0 0 OUTPUT NODEFVAL "virtual_state_sdr" |
// Retrieval info: USED_PORT: virtual_state_udr 0 0 0 0 OUTPUT NODEFVAL "virtual_state_udr" |
// Retrieval info: USED_PORT: virtual_state_uir 0 0 0 0 OUTPUT NODEFVAL "virtual_state_uir" |
// Retrieval info: CONNECT: jtag_state_cir 0 0 0 0 @jtag_state_cir 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_sdr 0 0 0 0 @jtag_state_sdr 0 0 0 0 |
// Retrieval info: CONNECT: virtual_state_uir 0 0 0 0 @virtual_state_uir 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_e1ir 0 0 0 0 @jtag_state_e1ir 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_e1dr 0 0 0 0 @jtag_state_e1dr 0 0 0 0 |
// Retrieval info: CONNECT: virtual_state_sdr 0 0 0 0 @virtual_state_sdr 0 0 0 0 |
// Retrieval info: CONNECT: @ir_out 0 0 4 0 ir_out 0 0 4 0 |
// Retrieval info: CONNECT: virtual_state_udr 0 0 0 0 @virtual_state_udr 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_pir 0 0 0 0 @jtag_state_pir 0 0 0 0 |
// Retrieval info: CONNECT: virtual_state_cir 0 0 0 0 @virtual_state_cir 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_udr 0 0 0 0 @jtag_state_udr 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_sdrs 0 0 0 0 @jtag_state_sdrs 0 0 0 0 |
// Retrieval info: CONNECT: ir_in 0 0 4 0 @ir_in 0 0 4 0 |
// Retrieval info: CONNECT: @tdo 0 0 0 0 tdo 0 0 0 0 |
// Retrieval info: CONNECT: tms 0 0 0 0 @tms 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_sir 0 0 0 0 @jtag_state_sir 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_sirs 0 0 0 0 @jtag_state_sirs 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_cdr 0 0 0 0 @jtag_state_cdr 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_rti 0 0 0 0 @jtag_state_rti 0 0 0 0 |
// Retrieval info: CONNECT: virtual_state_pdr 0 0 0 0 @virtual_state_pdr 0 0 0 0 |
// Retrieval info: CONNECT: virtual_state_cdr 0 0 0 0 @virtual_state_cdr 0 0 0 0 |
// Retrieval info: CONNECT: virtual_state_e2dr 0 0 0 0 @virtual_state_e2dr 0 0 0 0 |
// Retrieval info: CONNECT: virtual_state_e1dr 0 0 0 0 @virtual_state_e1dr 0 0 0 0 |
// Retrieval info: CONNECT: tck 0 0 0 0 @tck 0 0 0 0 |
// Retrieval info: CONNECT: tdi 0 0 0 0 @tdi 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_pdr 0 0 0 0 @jtag_state_pdr 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_uir 0 0 0 0 @jtag_state_uir 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_e2ir 0 0 0 0 @jtag_state_e2ir 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_e2dr 0 0 0 0 @jtag_state_e2dr 0 0 0 0 |
// Retrieval info: CONNECT: jtag_state_tlr 0 0 0 0 @jtag_state_tlr 0 0 0 0 |
// Retrieval info: GEN_FILE: TYPE_NORMAL amf_sld_virtual_jtag.v TRUE |
// Retrieval info: GEN_FILE: TYPE_NORMAL amf_sld_virtual_jtag.inc FALSE |
// Retrieval info: GEN_FILE: TYPE_NORMAL amf_sld_virtual_jtag.cmp FALSE |
// Retrieval info: GEN_FILE: TYPE_NORMAL amf_sld_virtual_jtag.bsf FALSE |
// Retrieval info: GEN_FILE: TYPE_NORMAL amf_sld_virtual_jtag_inst.v TRUE |
// Retrieval info: GEN_FILE: TYPE_NORMAL amf_sld_virtual_jtag_bb.v FALSE |
// Retrieval info: LIB_FILE: altera_mf |
/altera_virtual_jtag.v
0,0 → 1,67
// -------------------------------------------------------------------- |
// |
// -------------------------------------------------------------------- |
|
|
module |
altera_virtual_jtag( |
output tck_o, |
input debug_tdo_i, |
output tdi_o, |
output test_logic_reset_o, |
output run_test_idle_o, |
output shift_dr_o, |
output capture_dr_o, |
output pause_dr_o, |
output update_dr_o, |
output debug_select_o |
); |
|
wire [3:0] ir_value; |
|
|
//--------------------------------------------------- |
// |
amf_sld_virtual_jtag |
i_amf_sld_virtual_jtag ( |
.ir_out ( ir_value ), |
.tdo ( debug_tdo_i ), |
.ir_in ( ir_value ), |
.jtag_state_cdr ( ), |
.jtag_state_cir ( ), |
.jtag_state_e1dr ( ), |
.jtag_state_e1ir ( ), |
.jtag_state_e2dr ( ), |
.jtag_state_e2ir ( ), |
.jtag_state_pdr ( ), |
.jtag_state_pir ( ), |
.jtag_state_rti ( run_test_idle_o ), |
.jtag_state_sdr ( ), |
.jtag_state_sdrs ( ), |
.jtag_state_sir ( ), |
.jtag_state_sirs ( ), |
.jtag_state_tlr ( test_logic_reset_o ), |
.jtag_state_udr ( ), |
.jtag_state_uir ( ), |
.tck ( tck_o ), |
.tdi ( tdi_o ), |
.tms ( tms_sig ), |
.virtual_state_cdr ( capture_dr_o ), |
.virtual_state_cir ( capture_ir ), |
.virtual_state_e1dr ( exit1_dr ), |
.virtual_state_e2dr ( exit2_dr ), |
.virtual_state_pdr ( pause_dr_o ), |
.virtual_state_sdr ( shift_dr_o ), |
.virtual_state_udr ( update_dr_o ), |
.virtual_state_uir ( update_ir ) |
); |
|
|
//--------------------------------------------------- |
// outputs |
|
assign debug_select_o = (ir_value == 4'b1000 ) ? 1'b1 : 1'b0; |
|
endmodule |
|
|
/soc_adv_dbg.v
0,0 → 1,171
// -------------------------------------------------------------------- |
// |
// -------------------------------------------------------------------- |
|
|
`include "timescale.v" |
`include "soc_defines.v" |
|
|
module soc_adv_dbg |
#( |
parameter ALTERA_JTAG = 1 |
) |
( |
`ifdef USE_EXT_JTAG |
input jtag_tck_i, |
input jtag_tms_i, |
input jtag_tdo_i, |
output jtag_tdi_o, |
`endif |
|
input wb_clk_i, |
output [31:0] wb_adr_o, |
output [31:0] wb_dat_o, |
input [31:0] wb_dat_i, |
output wb_cyc_o, |
output wb_stb_o, |
output [3:0] wb_sel_o, |
output wb_we_o, |
input wb_ack_i, |
output wb_cab_o, |
input wb_err_i, |
output [2:0] wb_cti_o, |
output [1:0] wb_bte_o, |
|
// CPU signals |
input cpu0_clk_i, |
output [31:0] cpu0_addr_o, |
input [31:0] cpu0_data_i, |
output [31:0] cpu0_data_o, |
input cpu0_bp_i, |
output cpu0_stall_o, |
output cpu0_stb_o, |
output cpu0_we_o, |
input cpu0_ack_i, |
output cpu0_rst_o |
|
); |
|
|
//--------------------------------------------------- |
// adbg_top |
|
// Connections between TAP and debug module |
wire capture_dr; |
wire shift_dr; |
wire pause_dr; |
wire update_dr; |
wire dbg_rst; |
wire dbg_tdi; |
wire dbg_tck; |
wire dbg_tdo; |
wire dbg_sel; |
|
`ifdef USE_EXT_JTAG |
assign dbg_tck = jtag_tck_i; |
`endif |
|
adbg_top |
i_adbg_top( |
.tck_i(dbg_tck), // JTAG signals |
.tdi_i(dbg_tdo), |
.tdo_o(dbg_tdi), |
.rst_i(dbg_rst), |
|
.shift_dr_i(shift_dr), // TAP states |
.pause_dr_i(pause_dr), |
.update_dr_i(update_dr), |
.capture_dr_i(capture_dr), |
.debug_select_i(dbg_sel), // Instructions |
|
.wb_clk_i(wb_clk_i), // WISHBONE common signals |
.wb_adr_o(wb_adr_o), // WISHBONE master interface |
.wb_dat_o(wb_dat_o), |
.wb_dat_i(wb_dat_i), |
.wb_cyc_o(wb_cyc_o), |
.wb_stb_o(wb_stb_o), |
.wb_sel_o(wb_sel_o), |
.wb_we_o(wb_we_o), |
.wb_ack_i(wb_ack_i), |
.wb_cab_o(wb_cab_o), |
.wb_err_i(wb_err_i), |
.wb_cti_o(wb_cti_o), |
.wb_bte_o(wb_bte_o), |
.cpu0_clk_i(cpu0_clk_i), // CPU signals |
.cpu0_addr_o(cpu0_addr_o), |
.cpu0_data_i(cpu0_data_i), |
.cpu0_data_o(cpu0_data_o), |
.cpu0_bp_i(cpu0_bp_i), |
.cpu0_stall_o(cpu0_stall_o), |
.cpu0_stb_o(cpu0_stb_o), |
.cpu0_we_o(cpu0_we_o), |
.cpu0_ack_i(cpu0_ack_i), |
.cpu0_rst_o(cpu0_rst_o) |
); |
|
|
//--------------------------------------------------- |
// JTAG TAP controller instantiation |
generate |
if( ALTERA_JTAG ) |
begin |
altera_virtual_jtag |
i_altera_virtual_jtag( |
.tck_o(dbg_tck), |
.debug_tdo_i(dbg_tdi), |
.tdi_o(dbg_tdo), |
.test_logic_reset_o(dbg_rst), |
.run_test_idle_o(), |
.shift_dr_o(shift_dr), |
.capture_dr_o(capture_dr), |
.pause_dr_o(pause_dr), |
.update_dr_o(update_dr), |
.debug_select_o(dbg_sel) |
); |
end |
else |
begin |
tap_top |
i_tap ( |
// JTAG pads |
.tms_pad_i(jtag_tms_i), |
.tck_pad_i(dbg_tck), |
.trstn_pad_i(1'b1), |
.tdi_pad_i(jtag_tdo_i), |
.tdo_pad_o(jtag_tdi_o), |
.tdo_padoe_o(), |
|
// TAP states |
.test_logic_reset_o(dbg_rst), |
.run_test_idle_o(), |
.shift_dr_o(shift_dr), |
.pause_dr_o(pause_dr), |
.update_dr_o(update_dr), |
.capture_dr_o(capture_dr), |
|
// Select signals for boundary scan or mbist |
.extest_select_o(), |
.sample_preload_select_o(), |
.mbist_select_o(), |
.debug_select_o(dbg_sel), |
|
// TDO signal that is connected to TDI of sub-modules. |
.tdi_o(dbg_tdo), |
|
// TDI signals from sub-modules |
.debug_tdo_i(dbg_tdi), // from debug module |
.bs_chain_tdo_i(1'b0), // from Boundary Scan Chain |
.mbist_tdo_i(1'b0) // from Mbist Chain |
); |
end |
endgenerate |
|
|
//--------------------------------------------------- |
// |
|
|
endmodule |
|
|