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

Subversion Repositories bustap-jtag

[/] [bustap-jtag/] [trunk/] [rtl/] [altera/] [virtual_jtag_adda_trig.v] - Blame information for rev 5

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 ash_riple
//**************************************************************
2
// Module             : virtual_jtag_adda_trig.v
3
// Platform           : Windows xp sp2
4
// Simulator          : Modelsim 6.5b
5
// Synthesizer        : QuartusII 10.1 sp1
6
// Place and Route    : QuartusII 10.1 sp1
7
// Targets device     : Cyclone III
8
// Author             : Bibo Yang  (ash_riple@hotmail.com)
9
// Organization       : www.opencores.org
10
// Revision           : 2.0 
11
// Date               : 2012/03/12
12
// Description        : addr/data trigger input from debug host
13
//                      via Virtual JTAG.
14
//**************************************************************
15
 
16
`timescale 1ns/1ns
17
 
18 2 ash_riple
module virtual_jtag_adda_trig(trig_out);
19
 
20
parameter trig_width  = 32;
21
 
22
output [trig_width-1:0] trig_out;
23
 
24
reg [trig_width-1:0] trig_out;
25
 
26
wire tdi, tck, cdr, cir, e1dr, e2dr, pdr, sdr, udr, uir;
27
reg  tdo;
28
reg  [trig_width-1:0] trig_instr_reg;
29
reg  bypass_reg;
30
 
31
wire [1:0] ir_in;
32
wire trig_instr = ~ir_in[1] &  ir_in[0]; // 1
33
 
34
always @(posedge tck)
35
begin
36
  if (trig_instr && e1dr)
37
    trig_out <= trig_instr_reg;
38
end
39
 
40
/* trig_instr Instruction Handler */
41
always @ (posedge tck)
42
  if ( trig_instr && cdr )
43
    trig_instr_reg <= trig_instr_reg;
44
  else if ( trig_instr && sdr )
45
    trig_instr_reg <= {tdi, trig_instr_reg[trig_width-1:1]};
46
 
47
/* Bypass register */
48
always @ (posedge tck)
49
  bypass_reg <= tdi;
50
 
51
/* Node TDO Output */
52
always @ ( trig_instr, trig_instr_reg, bypass_reg )
53
begin
54
  if (trig_instr)
55
    tdo <= trig_instr_reg[0];
56
  else
57
    tdo <= bypass_reg;// Used to maintain the continuity of the scan chain.
58
end
59
 
60
sld_virtual_jtag        sld_virtual_jtag_component (
61
                                .ir_in (ir_in),
62
                                .ir_out (2'b0),
63
                                .tdo (tdo),
64
                                .tdi (tdi),
65
                                .tms (),
66
                                .tck (tck),
67
                                .virtual_state_cir (cir),
68
                                .virtual_state_pdr (pdr),
69
                                .virtual_state_uir (uir),
70
                                .virtual_state_sdr (sdr),
71
                                .virtual_state_cdr (cdr),
72
                                .virtual_state_udr (udr),
73
                                .virtual_state_e1dr (e1dr),
74
                                .virtual_state_e2dr (e2dr),
75
                                .jtag_state_rti (),
76
                                .jtag_state_e1dr (),
77
                                .jtag_state_e2dr (),
78
                                .jtag_state_pir (),
79
                                .jtag_state_tlr (),
80
                                .jtag_state_sir (),
81
                                .jtag_state_cir (),
82
                                .jtag_state_uir (),
83
                                .jtag_state_pdr (),
84
                                .jtag_state_sdrs (),
85
                                .jtag_state_sdr (),
86
                                .jtag_state_cdr (),
87
                                .jtag_state_udr (),
88
                                .jtag_state_sirs (),
89
                                .jtag_state_e1ir (),
90
                                .jtag_state_e2ir ());
91
        defparam
92
                sld_virtual_jtag_component.sld_auto_instance_index = "NO",
93
                sld_virtual_jtag_component.sld_instance_index = 2,
94
                sld_virtual_jtag_component.sld_ir_width = 2,
95
                sld_virtual_jtag_component.sld_sim_action = "((1,1,1,2))",
96
                sld_virtual_jtag_component.sld_sim_n_scan = 1,
97
                sld_virtual_jtag_component.sld_sim_total_length = 2;
98
 
99
endmodule

powered by: WebSVN 2.1.0

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