OpenCores
URL https://opencores.org/ocsvn/socgen/socgen/trunk

Subversion Repositories socgen

[/] [socgen/] [trunk/] [Projects/] [opencores.org/] [fpgas/] [ip/] [Nexys2_T6502/] [sim/] [icarus/] [io_irq_2/] [test_define] - Blame information for rev 131

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

Line No. Rev Author Line
1 131 jt_eaton
 
2
reg actual;
3
 
4
parameter   EXTEST          =   4'b0000;
5
parameter   SAMPLE          =   4'b0001;
6
parameter   HIGHZ_MODE      =   4'b0010;
7
parameter   CHIP_ID_ACCESS  =   4'b0011;
8
parameter   CLAMP           =   4'b1000;
9
parameter   RPC_DATA        =   4'b1010;
10
parameter   RPC_ADD         =   4'b1001;
11
parameter   BYPASS          =   4'b1111;
12
parameter   INST_RETURN     =   4'b1101;
13
 
14
 
15
 
16
initial
17
begin
18
$display("              ");
19
$display("              ===================================================");
20
$display("              Test Start");
21
$display("              ===================================================");
22
$display("              ");
23
test.cg.next(20);
24
 
25
fork
26
begin
27
test.uart_model.rcv_byte(8'h42);
28
test.uart_model.send_byte(8'h65);
29
test.uart_model.rcv_byte(8'h65);
30
test.uart_model.send_byte(8'h37);
31
test.uart_model.rcv_byte(8'h37);
32
test.uart_model.send_byte(8'h20);
33
test.uart_model.rcv_byte(8'h20);
34
test.uart_model.send_byte(8'h41);
35
test.uart_model.rcv_byte(8'h41);
36
test.uart_model.send_byte(8'h45);
37
test.uart_model.rcv_byte(8'h45);
38
test.uart_model.send_byte(8'h25);
39
test.uart_model.rcv_byte(8'h25);
40
test.cg.next(4000);
41
end
42
begin
43
$display("              ");
44
$display("              ===================================================");
45
$display("              JTAG Test Start");
46
$display("              ===================================================");
47
$display("              ");
48
 
49
 
50
 
51
 
52
 
53
test.cg.next(2);
54
test.jtag_model.enable_tclk;
55
test.cg.next(20);
56
 
57
 
58
test.jtag_model.enable_trst_n;
59
test.jtag_model.enable_reset;
60
test.jtag_model.init;
61
test.cg.next(10);
62
test.jtag_model.LoadTapInst(EXTEST,INST_RETURN);
63
test.cg.next(100);
64
test.jtag_model.LoadTapInst(CLAMP,INST_RETURN);
65
 
66
 
67
test.cg.next(100);
68
test.jtag_model.LoadTapInst(CHIP_ID_ACCESS,INST_RETURN);
69
test.jtag_model.Shift_Cmp_32(32'ha5a5a5a5,32'h12345678);
70
 
71
test.cg.next(100);
72
test.jtag_model.LoadTapInst(RPC_DATA,INST_RETURN);
73
Shift_Cmp_8(8'ha5,8'h00);
74
Shift_Cmp_8(8'h00,8'h00);
75
Shift_Cmp_8(8'h00,8'h00);
76
Shift_Cmp_8(8'h00,8'h00);
77
 
78
 
79
 
80
test.cg.next(100);
81
test.jtag_model.LoadTapInst(RPC_ADD,INST_RETURN);
82
 
83
Shift_Cmp_53(53'h1c000000000000,53'h00000000000004);
84
 
85
test.cg.next(4000);
86
 
87
 
88
Shift_Cmp_42(42'b0_11001010_00011000_10000001_11111111_0100_00001       ,42'h00000000004);
89
Shift_Cmp_42(42'b0_00110110_11001100_10011001_01111110_0100_00001       ,42'h2ca1881ff44);
90
 
91
 
92
test.cg.next(5000);
93
 
94
 
95
 
96
 
97
test.cg.next(100);
98
 
99
test.jtag_model.LoadTapInst(BYPASS,INST_RETURN);
100
 
101
test.cg.next(100);
102
 
103
 
104
 
105
 
106
 
107
 
108
end
109
join
110
test.cg.exit;
111
end
112
 
113
 
114
 
115
task automatic  Shift_Cmp_8;    // Initialize boundary register with outputs disabled
116
                         // This tasks starts at RT_IDLE and ends at SHIFT_DR
117
 
118
  parameter [15:0] LENGTH =  8;
119
 
120
  input [LENGTH:1]  Dataout;
121
  input [LENGTH:1]  DataExp;
122
  integer i;
123
 
124
  reg [LENGTH:1]  DataBack;
125
 
126
  begin
127
    test.jtag_model.Clk_bit(1'b1,1'b0,actual);// Transition from RT_IDLE to SELECT_DR
128
    test.jtag_model.Clk_bit(1'b0,1'b0,actual);// Transition from SELECT_DR to CAPTURE_DR
129
    test.jtag_model.Clk_bit(1'b0,1'b0,actual);// Transition from CAPTURE_DR to SHIFT_DR
130
    for (i = 1; i <= LENGTH; i = i+1)
131
       test.jtag_model.Clk_bit((i==LENGTH),Dataout[i],DataBack[i]);
132
    $display  ("%t  %m    Shift_data_register    wr-%h  exp-%h rd-%h    ",$realtime,Dataout,DataExp,DataBack  );
133
 
134
   if (DataBack  !== DataExp )
135
   begin
136
   test.cg.fail  (" Shift_cmp  receive error  ");
137
   end
138
 
139
    test.jtag_model.Clk_bit(1'b1,1'b0,actual);//Transition from EXIT1-DR to UPDATE-DR
140
    test.jtag_model.Clk_bit(1'b0,1'b0,actual);// Transition from UPDATE-DR to IDLE
141
  end
142
endtask // ShiftRegister
143
 
144
 
145
 
146
 
147
 
148
 
149
task automatic  Shift_Cmp_42;    // Initialize boundary register with outputs disabled
150
                         // This tasks starts at RT_IDLE and ends at SHIFT_DR
151
 
152
  parameter [15:0] LENGTH =  42;
153
 
154
  input [LENGTH:1]  Dataout;
155
  input [LENGTH:1]  DataExp;
156
  integer i;
157
 
158
  reg [LENGTH:1]  DataBack;
159
 
160
  begin
161
    test.jtag_model.Clk_bit(1'b1,1'b0,actual);// Transition from RT_IDLE to SELECT_DR
162
    test.jtag_model.Clk_bit(1'b0,1'b0,actual);// Transition from SELECT_DR to CAPTURE_DR
163
    test.jtag_model.Clk_bit(1'b0,1'b0,actual);// Transition from CAPTURE_DR to SHIFT_DR
164
    for (i = 1; i <= LENGTH; i = i+1)
165
       test.jtag_model.Clk_bit((i==LENGTH),Dataout[i],DataBack[i]);
166
    $display  ("%t  %m    Shift_data_register    wr-%h  exp-%h rd-%h    ",$realtime,Dataout,DataExp,DataBack  );
167
 
168
   if (DataBack  != DataExp )
169
   begin
170
   test.cg.fail  (" Shift_cmp  receive error  ");
171
   end
172
 
173
    test.jtag_model.Clk_bit(1'b1,1'b0,actual);//Transition from EXIT1-DR to UPDATE-DR
174
    test.jtag_model.Clk_bit(1'b0,1'b0,actual);// Transition from UPDATE-DR to IDLE
175
  end
176
endtask // ShiftRegister
177
 
178
 
179
 
180
 
181
 
182
task automatic  Shift_Cmp_53;    // Initialize boundary register with outputs disabled
183
                         // This tasks starts at RT_IDLE and ends at SHIFT_DR
184
 
185
  parameter [15:0] LENGTH =  53;
186
 
187
  input [LENGTH:1]  Dataout;
188
  input [LENGTH:1]  DataExp;
189
  integer i;
190
 
191
  reg [LENGTH:1]  DataBack;
192
 
193
  begin
194
    test.jtag_model.Clk_bit(1'b1,1'b0,actual);// Transition from RT_IDLE to SELECT_DR
195
    test.jtag_model.Clk_bit(1'b0,1'b0,actual);// Transition from SELECT_DR to CAPTURE_DR
196
    test.jtag_model.Clk_bit(1'b0,1'b0,actual);// Transition from CAPTURE_DR to SHIFT_DR
197
    for (i = 1; i <= LENGTH; i = i+1)
198
       test.jtag_model.Clk_bit((i==LENGTH),Dataout[i],DataBack[i]);
199
    $display  ("%t  %m    Shift_data_register    wr-%h  exp-%h rd-%h    ",$realtime,Dataout,DataExp,DataBack  );
200
 
201
   if (DataBack  != DataExp )
202
   begin
203
   test.cg.fail  (" Shift_cmp  receive error  ");
204
   end
205
 
206
    test.jtag_model.Clk_bit(1'b1,1'b0,actual);//Transition from EXIT1-DR to UPDATE-DR
207
    test.jtag_model.Clk_bit(1'b0,1'b0,actual);// Transition from UPDATE-DR to IDLE
208
  end
209
endtask // ShiftRegister
210
 
211
 
212
 

powered by: WebSVN 2.1.0

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