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

Subversion Repositories bustap-jtag

[/] [bustap-jtag/] [trunk/] [rtl/] [xilinx/] [chipscope_vio_addr_mask.v] - Blame information for rev 18

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 18 ash_riple
//**************************************************************
2
// Module             : chipscope_vio_addr_mask.v
3
// Platform           : Ubuntu 10.04
4
// Simulator          : Modelsim 6.5b
5
// Synthesizer        : PlanAhead 14.2
6
// Place and Route    : PlanAhead 14.2
7
// Targets device     : Zynq-7000
8
// Author             : Bibo Yang  (ash_riple@hotmail.com)
9
// Organization       : www.opencores.org
10
// Revision           : 2.3 
11
// Date               : 2012/11/19
12
// Description        : addr/data capture output to debug host
13
//                      via Virtual JTAG.
14
//**************************************************************
15
 
16
`timescale 1ns/1ns
17
 
18
module chipscope_vio_addr_mask(mask_out0 ,mask_out1 ,mask_out2 ,mask_out3 ,
19
                               mask_out4 ,mask_out5 ,mask_out6 ,mask_out7 ,
20
                               mask_out8 ,mask_out9 ,mask_out10,mask_out11,
21
                               mask_out12,mask_out13,mask_out14,mask_out15,
22
                               clk, icon_ctrl
23
                              );
24
 
25
parameter mask_index  = 4, //2**mask_index=mask_num
26
          mask_enabl  = 4,
27
          addr_width  = 32;
28
 
29
output [mask_enabl+addr_width-1:0] mask_out0;
30
output [mask_enabl+addr_width-1:0] mask_out1;
31
output [mask_enabl+addr_width-1:0] mask_out2;
32
output [mask_enabl+addr_width-1:0] mask_out3;
33
output [mask_enabl+addr_width-1:0] mask_out4;
34
output [mask_enabl+addr_width-1:0] mask_out5;
35
output [mask_enabl+addr_width-1:0] mask_out6;
36
output [mask_enabl+addr_width-1:0] mask_out7;
37
output [mask_enabl+addr_width-1:0] mask_out8;
38
output [mask_enabl+addr_width-1:0] mask_out9;
39
output [mask_enabl+addr_width-1:0] mask_out10;
40
output [mask_enabl+addr_width-1:0] mask_out11;
41
output [mask_enabl+addr_width-1:0] mask_out12;
42
output [mask_enabl+addr_width-1:0] mask_out13;
43
output [mask_enabl+addr_width-1:0] mask_out14;
44
output [mask_enabl+addr_width-1:0] mask_out15;
45
 
46
input clk;
47
inout [35:0] icon_ctrl;
48
 
49
reg [mask_enabl+addr_width-1:0] mask_out0;
50
reg [mask_enabl+addr_width-1:0] mask_out1;
51
reg [mask_enabl+addr_width-1:0] mask_out2;
52
reg [mask_enabl+addr_width-1:0] mask_out3;
53
reg [mask_enabl+addr_width-1:0] mask_out4;
54
reg [mask_enabl+addr_width-1:0] mask_out5;
55
reg [mask_enabl+addr_width-1:0] mask_out6;
56
reg [mask_enabl+addr_width-1:0] mask_out7;
57
reg [mask_enabl+addr_width-1:0] mask_out8;
58
reg [mask_enabl+addr_width-1:0] mask_out9;
59
reg [mask_enabl+addr_width-1:0] mask_out10;
60
reg [mask_enabl+addr_width-1:0] mask_out11;
61
reg [mask_enabl+addr_width-1:0] mask_out12;
62
reg [mask_enabl+addr_width-1:0] mask_out13;
63
reg [mask_enabl+addr_width-1:0] mask_out14;
64
reg [mask_enabl+addr_width-1:0] mask_out15;
65
 
66
wire [mask_index+mask_enabl+addr_width-1:0]           index_enabl_value_vi;
67
wire [mask_index-1                      :0] mask_id = index_enabl_value_vi[mask_index+mask_enabl+addr_width-1:mask_enabl+addr_width];
68
wire [           mask_enabl+addr_width-1:0] mask_is = index_enabl_value_vi[                                   mask_enabl+addr_width-1:0];
69
 
70
always @(posedge clk) begin
71
  case (mask_id)
72
    'd0  : mask_out0  <= mask_is;
73
    'd1  : mask_out1  <= mask_is;
74
    'd2  : mask_out2  <= mask_is;
75
    'd3  : mask_out3  <= mask_is;
76
    'd4  : mask_out4  <= mask_is;
77
    'd5  : mask_out5  <= mask_is;
78
    'd6  : mask_out6  <= mask_is;
79
    'd7  : mask_out7  <= mask_is;
80
    'd8  : mask_out8  <= mask_is;
81
    'd9  : mask_out9  <= mask_is;
82
    'd10 : mask_out10 <= mask_is;
83
    'd11 : mask_out11 <= mask_is;
84
    'd12 : mask_out12 <= mask_is;
85
    'd13 : mask_out13 <= mask_is;
86
    'd14 : mask_out14 <= mask_is;
87
    'd15 : mask_out15 <= mask_is;
88
  endcase
89
end
90
 
91
chipscope_vio_mask VIO_inst (
92
  .CONTROL(icon_ctrl), // INOUT BUS [35:0]
93
  .CLK(clk), // IN
94
  .SYNC_OUT(index_enabl_value_vi) // OUT BUS [39:0]
95
);
96
 
97
endmodule

powered by: WebSVN 2.1.0

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