OpenCores
URL https://opencores.org/ocsvn/bustap-jtag/bustap-jtag/trunk

Subversion Repositories bustap-jtag

[/] [bustap-jtag/] [trunk/] [rtl/] [up_monitor.v] - Diff between revs 15 and 18

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 15 Rev 18
Line 1... Line 1...
//**************************************************************
//**************************************************************
// Module             : up_monitor.v
// Module             : up_monitor.v
// Platform           : Windows xp sp2
// Platform           : Windows xp sp2, Ubuntu 10.04
// Simulator          : Modelsim 6.5b
// Simulator          : Modelsim 6.5b
// Synthesizer        : QuartusII 10.1 sp1
// Synthesizer        : QuartusII 10.1 sp1, PlanAhead 14.2
// Place and Route    : QuartusII 10.1 sp1
// Place and Route    : QuartusII 10.1 sp1, PlanAhead 14.2
// Targets device     : Cyclone III
// Targets device     : Cyclone III, Zynq-7000
// Author             : Bibo Yang  (ash_riple@hotmail.com)
// Author             : Bibo Yang  (ash_riple@hotmail.com)
// Organization       : www.opencores.org
// Organization       : www.opencores.org
// Revision           : 2.2 
// Revision           : 2.3 
// Date               : 2012/03/28
// Date               : 2012/11/19
// Description        : Top level glue logic to group together 
// Description        : Top level: transaction record generation
 
//                      and glue logic to group together 
//                      the JTAG input and output modules.
//                      the JTAG input and output modules.
//**************************************************************
//**************************************************************
 
 
`timescale 1ns/1ns
`timescale 1ns/1ns
 
`include "vendor.h"
 
 
module up_monitor (
module up_monitor (
        input        clk,
        `ifdef XILINX `ifdef AXI_IP
        input        wr_en,rd_en,
        icontrol0, icontrol1, icontrol2,
        input [15:2] addr_in,
        `endif `endif
        input [31:0] data_in
        clk,
 
        wr_en,rd_en,
 
        addr_in,
 
        data_in
);
);
 
 
 
input        clk;
 
input        wr_en,rd_en;
 
input [15:2] addr_in;
 
input [31:0] data_in;
/////////////////////////////////////////////////
/////////////////////////////////////////////////
// Registers and wires announcment
// Registers and wires announcment
/////////////////////////////////////////////////
/////////////////////////////////////////////////
 
 
// for CPU bus signal buffer
// for CPU bus signal buffer
Line 164... Line 173...
end
end
 
 
/////////////////////////////////////////////////
/////////////////////////////////////////////////
// Instantiate vendor specific JTAG functions
// Instantiate vendor specific JTAG functions
/////////////////////////////////////////////////
/////////////////////////////////////////////////
 
`ifdef ALTERA
// index 0, instantiate capture fifo, as output
// index 0, instantiate capture fifo, as output
virtual_jtag_adda_fifo u_virtual_jtag_adda_fifo (
virtual_jtag_adda_fifo u_virtual_jtag_adda_fifo (
        .clk(clk),
        .clk(clk),
        .wr_in(capture_wr || pretrig_wr),
        .wr_in(capture_wr || pretrig_wr),
        .data_in(capture_in),
        .data_in(capture_in),
Line 213... Line 222...
        .pnum_out(pretrig_num)
        .pnum_out(pretrig_num)
        );
        );
defparam
defparam
        u_virtual_jtag_adda_trig.trig_width     = 56,
        u_virtual_jtag_adda_trig.trig_width     = 56,
        u_virtual_jtag_adda_trig.pnum_width     = 10;
        u_virtual_jtag_adda_trig.pnum_width     = 10;
 
`endif
 
 
 
`ifdef XILINX
 
 
 
`ifdef AXI_IP
 
// external ICON
 
inout [35:0] icontrol0, icontrol1, icontrol2;
 
`else
 
// internal ICON
 
wire [35:0] icontrol0, icontrol1, icontrol2;
 
`endif
 
 
 
// index 0, instantiate capture fifo, as output
 
chipscope_vio_adda_fifo u_chipscope_vio_adda_fifo (
 
        .wr_in(capture_wr || pretrig_wr),
 
        .data_in(capture_in),
 
        .rd_in(pretrig_rd),
 
        .clk(clk),
 
        .icon_ctrl(icontrol0)
 
        );
 
defparam
 
        u_chipscope_vio_adda_fifo.data_width    = 82,
 
        u_chipscope_vio_adda_fifo.addr_width    = 10,
 
        u_chipscope_vio_adda_fifo.al_full_val   = 511;
 
 
 
// index 1, instantiate capture mask, as input
 
chipscope_vio_addr_mask u_chipscope_vio_addr_mask (
 
        // inclusive
 
        .mask_out0(addr_mask0),
 
        .mask_out1(addr_mask1),
 
        .mask_out2(addr_mask2),
 
        .mask_out3(addr_mask3),
 
        .mask_out4(addr_mask4),
 
        .mask_out5(addr_mask5),
 
        .mask_out6(addr_mask6),
 
        .mask_out7(addr_mask7),
 
        // exclusive
 
        .mask_out8(addr_mask8),
 
        .mask_out9(addr_mask9),
 
        .mask_out10(addr_mask10),
 
        .mask_out11(addr_mask11),
 
        .mask_out12(addr_mask12),
 
        .mask_out13(addr_mask13),
 
        .mask_out14(addr_mask14),
 
        .mask_out15(addr_mask15),
 
        .clk(clk),
 
        .icon_ctrl(icontrol1)
 
        );
 
defparam
 
        u_chipscope_vio_addr_mask.mask_index    = 4,
 
        u_chipscope_vio_addr_mask.mask_enabl    = 4,
 
        u_chipscope_vio_addr_mask.addr_width    = 32;
 
 
 
// index 2, instantiate capture trigger, as input
 
chipscope_vio_adda_trig u_chipscope_vio_adda_trig (
 
        .trig_out(trig_cond),
 
        .pnum_out(pretrig_num),
 
        .clk(clk),
 
        .icon_ctrl(icontrol2)
 
        );
 
defparam
 
        u_chipscope_vio_adda_trig.trig_width    = 56,
 
        u_chipscope_vio_adda_trig.pnum_width    = 10;
 
 
 
`ifdef AXI_IP
 
// external ICON
 
`else
 
// internal ICON
 
chipscope_icon u_chipscope_icon (
 
        .CONTROL0(icontrol0),
 
        .CONTROL1(icontrol1),
 
        .CONTROL2(icontrol2)
 
        );
 
`endif
 
 
 
`endif
 
 
endmodule
endmodule
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.