Skip to content

Commit 6569455

Browse files
committed
stall input in xml tests
1 parent 9d07fe7 commit 6569455

File tree

2 files changed

+29
-35
lines changed

2 files changed

+29
-35
lines changed

xml/XMLdecoder_test.v

Lines changed: 27 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ module XMLdecoder_test;
2020
// Outputs
2121
wire [7:0] out;
2222
wire outValid;
23+
wire outEop;
2324
wire isData;
2425
wire isTag;
2526
wire isTagName;
@@ -44,11 +45,11 @@ module XMLdecoder_test;
4445
.CLOCK(CLOCK),
4546
.in(stream),
4647
.inValid(svalid),
47-
.reset(reset),
4848
.inEop(eop),
4949

5050
.out(out),
5151
.outValid(outValid),
52+
.outEop(outEop),
5253
.isData(isData),
5354
.isTag(isTag),
5455
.isComment(isComment),
@@ -71,9 +72,9 @@ module XMLdecoder_test;
7172
always #5 CLOCK = ~CLOCK;
7273
integer file;
7374
integer r;
74-
integer i;
75+
integer i, x;
7576
integer overrun;
76-
reg [7:0] outNoNL;
77+
reg [7:0] outNoNL, inNoNL;
7778

7879
initial begin
7980

@@ -95,52 +96,45 @@ module XMLdecoder_test;
9596

9697
$display("Reading XML");
9798
$display(" ! comment, d data, t tag, n tagname, k tagkey, v tagvalue");
98-
$display(" i in | out dp + - ! d t n k v stack 0 1 2 3 4 5 6 7");
99+
$display(" i e v in | v e out dp + - ! d t n k v stack 0 1 2 3 4 5 6 7");
99100

100101
// Wait 100 ns for global reset to finish
101102
#100;
102103
eop <= $feof(file) != 0;
103104

104105
// stimulus
105-
while (~eop || outValid) begin
106+
while (overrun > 0) begin
106107
@(posedge CLOCK)
107-
stream <= $fgetc(file);
108-
svalid <= $feof(file) == 0;
109-
eop <= $feof(file) != 0;
108+
x = $fgetc(file);
109+
stream <= x;
110+
svalid <= $feof(file) == 0 && x != "#";
111+
eop <= $feof(file) != 0 && overrun == 10;
110112
i <= i+1;
111-
if ( !svalid ) begin
113+
if ( $feof(file) != 0 ) begin
112114
overrun <= overrun - 1;
113115
end
114116
outNoNL = (out == 10) ? "." : out;
115-
$display(" %4d %b %x | %b %x %s %02d %b %b %b %b %b %b %b %b %1d %1d %1d %1d %1d %1d %1d %1d ",
116-
i, svalid, stream,
117-
outValid, out, outNoNL, tagDepth, depthPush, depthPop, isComment, isData, isTag, isTagName, isTagKey, isTagValue,
117+
inNoNL = (stream == 10) ? "." : stream;
118+
$display(" %4d %b %b %x %s | %b %b %x %s %02d %b %b %b %b %b %b %b %b %1d %1d %1d %1d %1d %1d %1d %1d ",
119+
i, eop, svalid, stream, inNoNL,
120+
outValid, outEop, out, outNoNL, tagDepth, depthPush, depthPop, isComment, isData, isTag, isTagName, isTagKey, isTagValue,
118121
s0, s1, s2, s3, s4, s5, s6, s7);
119122

120-
end
123+
if (overrun == 5) begin
124+
// just after EOP
125+
if (s0 != 1) begin
126+
$display("should be exactly one root element");
127+
$finish_and_return(1);
128+
end
129+
if (tagDepth != 0) begin
130+
$display("depth did not finish flat");
131+
$finish_and_return(1);
132+
end
133+
end
121134

122-
// post-test checks
123-
if (tagDepth != 0) begin
124-
$display("depth did not finish flat");
125-
$finish_and_return(1);
126-
end
127-
if (s0 != 1) begin
128-
$display("should be exactly one root element");
129-
$finish_and_return(1);
130135
end
131136

132-
@(posedge CLOCK)
133-
$display(" %4d %b %x | %b %x %s %02d %b %b %b %b %b %b %b %b %1d %1d %1d %1d %1d %1d %1d %1d ",
134-
i, svalid, stream,
135-
outValid, out, outNoNL, tagDepth, depthPush, depthPop, isComment, isData, isTag, isTagName, isTagKey, isTagValue,
136-
s0, s1, s2, s3, s4, s5, s6, s7);
137-
138-
@(posedge CLOCK)
139-
$display(" %4d %b %x | %b %x %s %02d %b %b %b %b %b %b %b %b %1d %1d %1d %1d %1d %1d %1d %1d ",
140-
i, svalid, stream,
141-
outValid, out, outNoNL, tagDepth, depthPush, depthPop, isComment, isData, isTag, isTagName, isTagKey, isTagValue,
142-
s0, s1, s2, s3, s4, s5, s6, s7);
143-
137+
// post-test checks
144138
if (tagDepth != 0) begin
145139
$display("depth did not reset");
146140
$finish_and_return(1);

xml/xmltest.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2-
<!-- by chris -->
2+
<!-- by ########chris -->
33
<note important="false">
44
<to>Tove</to>
5-
<from>Jani &amp; Chris</from>
5+
<from>Jani &amp; Chris</from########>
66
<heading>Reminder<!-- </to> -->x</heading>
77
<body>Don't forget me this weekend!</body>
88
<deleted/>

0 commit comments

Comments
 (0)