1 |
22 |
sfielding |
VERSION=1.21
|
2 |
|
|
HEADER
|
3 |
|
|
FILE="processRxByte.asf"
|
4 |
|
|
FID=4094ffa4
|
5 |
|
|
LANGUAGE=VERILOG
|
6 |
|
|
ENTITY="processRxByte"
|
7 |
|
|
FREEOID=384
|
8 |
|
|
"LIBRARIES=//////////////////////////////////////////////////////////////////////\n//// ////\n//// processRxByte\n//// ////\n//// This file is part of the usbhostslave opencores effort.\n//// http://www.opencores.org/cores/usbhostslave/ ////\n//// ////\n//// Module Description: ////\n//// \n//// ////\n//// To Do: ////\n//// \n//// ////\n//// Author(s): ////\n//// - Steve Fielding, sfielding@base2designs.com ////\n//// ////\n//////////////////////////////////////////////////////////////////////\n//// ////\n//// Copyright (C) 2004 Steve Fielding and OPENCORES.ORG ////\n//// ////\n//// This source file may be used and distributed without ////\n//// restriction provided that this copyright statement is not ////\n//// removed from the file and that any derivative work contains ////\n//// the original copyright notice and the associated disclaimer. ////\n//// ////\n//// This source file is free software; you can redistribute it ////\n//// and/or modify it under the terms of the GNU Lesser General ////\n//// Public License as published by the Free Software Foundation; ////\n//// either version 2.1 of the License, or (at your option) any ////\n//// later version. ////\n//// ////\n//// This source is distributed in the hope that it will be ////\n//// useful, but WITHOUT ANY WARRANTY; without even the implied ////\n//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////\n//// PURPOSE. See the GNU Lesser General Public License for more ////\n//// details. ////\n//// ////\n//// You should have received a copy of the GNU Lesser General ////\n//// Public License along with this source; if not, download it ////\n//// from http://www.opencores.org/lgpl.shtml ////\n//// ////\n//////////////////////////////////////////////////////////////////////\n//\n`include \"timescale.v\"\n`include \"usbSerialInterfaceEngine_h.v\"\n`include \"usbConstants_h.v\"\n"
|
9 |
|
|
MULTIPLEARCHSTATUS=FALSE
|
10 |
|
|
SYNTHESISATTRIBUTES=TRUE
|
11 |
|
|
HEADER_PARAM="AUTHOR,"
|
12 |
|
|
HEADER_PARAM="COMPANY,"
|
13 |
|
|
HEADER_PARAM="CREATIONDATE,"
|
14 |
|
|
HEADER_PARAM="TITLE,No Title"
|
15 |
|
|
BLOCKTABLE_FILE=""
|
16 |
|
|
BLOCKTABLE_TEMPL="0"
|
17 |
|
|
BLOCKTABLE_VISIBLE="1"
|
18 |
|
|
END
|
19 |
|
|
BUNDLES
|
20 |
|
|
B T "Declarations" 0,0,255 0 0 1 255,255,255 0 3333 0 0000 0 "Arial" 0
|
21 |
|
|
B T "Conditions" 236,0,236 0 0 0 255,255,255 0 3333 0 0110 0 "Arial" 0
|
22 |
|
|
B F "States" 0,0,0 0 0 1 0,255,0 1 3527 1480 0000 0 "Arial" 0
|
23 |
|
|
B T "Actions" 0,0,0 0 0 1 255,255,255 0 3333 0 0000 0 "Arial" 0
|
24 |
|
|
B T "Labels" 0,0,0 0 0 0 0,0,0 0 3333 0 0000 0 "Arial" 0
|
25 |
|
|
B L "Transitions" 0,0,0 0 0 1 0,0,0 1 3527 1480 0000 0 "Arial" 0
|
26 |
|
|
B F "Ports" 0,0,0 0 0 1 0,255,255 1 3527 1480 0000 0 "Arial" 0
|
27 |
|
|
B L "Errors" 255,0,0 0 3 1 255,255,255 1 3527 1480 0000 0 "Arial" 0
|
28 |
|
|
B T "State Labels" 0,0,0 0 0 0 0,0,0 0 3333 0 0000 0 "Arial" 4
|
29 |
|
|
B F "Current State" 255,255,0 0 0 1 255,255,0 1 3527 1480 0000 0 "Arial" 0
|
30 |
|
|
B T "Comments" 157,157,157 0 0 1 255,255,255 0 3333 0 0000 0 "Arial" 0
|
31 |
|
|
B L "Info" 0,255,0 0 3 1 255,255,255 1 3527 1480 0000 0 "Arial" 0
|
32 |
|
|
B F "Junction" 0,0,0 0 0 1 255,0,0 1 3527 1480 0000 0 "Arial" 0
|
33 |
|
|
B F "Initial State Indicator" 0,0,0 0 0 1 240,140,40 1 3527 1480 0000 0 "Arial" 0
|
34 |
|
|
B T "Alias" 0,128,0 0 0 1 255,255,255 0 3527 1480 0000 0 "Arial" 0
|
35 |
|
|
B F "Delay" 0,0,0 0 0 1 180,180,180 1 3527 1480 0000 0 "Arial" 0
|
36 |
|
|
END
|
37 |
|
|
INSTHEADER 1
|
38 |
|
|
PAGE 0,0 215900,279400
|
39 |
|
|
MARGINS 12700,0 0,12700
|
40 |
|
|
END
|
41 |
|
|
INSTHEADER 16
|
42 |
|
|
PAGE 0,0 215900,279400
|
43 |
|
|
MARGINS 12700,0 0,12700
|
44 |
|
|
END
|
45 |
|
|
INSTHEADER 24
|
46 |
|
|
PAGE 0,0 215900,279400
|
47 |
|
|
MARGINS 12700,0 0,12700
|
48 |
|
|
END
|
49 |
|
|
INSTHEADER 33
|
50 |
|
|
PAGE 0,0 215900,279400
|
51 |
|
|
MARGINS 12700,0 0,12700
|
52 |
|
|
END
|
53 |
|
|
INSTHEADER 42
|
54 |
|
|
PAGE 0,0 215900,279400
|
55 |
|
|
MARGINS 12700,0 0,12700
|
56 |
|
|
END
|
57 |
|
|
INSTHEADER 216
|
58 |
|
|
PAGE 0,0 215900,279400
|
59 |
|
|
MARGINS 12700,0 0,12700
|
60 |
|
|
END
|
61 |
|
|
INSTHEADER 213
|
62 |
|
|
PAGE 0,0 215900,279400
|
63 |
|
|
MARGINS 12700,0 0,12700
|
64 |
|
|
END
|
65 |
|
|
INSTHEADER 18
|
66 |
|
|
PAGE 0,0 215900,279400
|
67 |
|
|
MARGINS 12700,0 0,12700
|
68 |
|
|
END
|
69 |
|
|
INSTHEADER 357
|
70 |
|
|
PAGE 0,0 215900,279400
|
71 |
|
|
MARGINS 12700,0 0,12700
|
72 |
|
|
END
|
73 |
|
|
OBJECTS
|
74 |
33 |
sfielding |
L 15 16 0 TEXT "State Labels" | 115714,112364 1 0 0 "CHK_PID"
|
75 |
|
|
W 13 6 0 12 9 BEZIER "Transitions" | 22016,192062 26512,191798 31110,187768 35074,185908
|
76 |
|
|
I 12 6 0 Builtin Reset | 22016,192062
|
77 |
|
|
S 11 6 0 ELLIPSE "States" | 41526,162904 6500 6500
|
78 |
|
|
L 10 11 0 TEXT "State Labels" | 41526,162904 1 0 0 "CHK_ST\n/0/"
|
79 |
|
|
S 9 6 4096 ELLIPSE "States" | 41526,185122 6500 6500
|
80 |
|
|
L 8 9 0 TEXT "State Labels" | 41526,185122 1 0 0 "START_PRBY\n/1/"
|
81 |
|
|
G 1 0 0 TEXT 0,0,0 0 0 0 255,255,255 0 3527 1480 0000 0 "Arial" 0 | 93869,253485 1 0 0 "Module: processRxByte"
|
82 |
|
|
F 6 0 671089152 185 0 "" 0 RECT 0,0,0 0 0 1 255,255,255 0 | 14988,3000 199488,197598
|
83 |
|
|
L 7 6 0 TEXT "Labels" | 57079,194838 1 0 0 "prRxByte"
|
84 |
|
|
A 278 257 4 TEXT "Actions" | 130366,127109 1 0 0 "RxDataOutWEn <= 1'b0;\nRXByteStMachCurrState <= `IDLE_BYTE_ST;"
|
85 |
|
|
L 279 280 0 TEXT "State Labels" | 49504,129936 1 0 0 "FIN\n/10/"
|
86 |
|
|
S 280 41 69632 ELLIPSE "States" | 49504,129936 6500 6500
|
87 |
|
|
W 281 41 0 40 280 BEZIER "Transitions" | 71655,187272 66885,174036 56388,149316 51618,136080
|
88 |
|
|
A 282 280 4 TEXT "Actions" | 68321,131530 1 0 0 "CRC5En <= 1'b0;\nRxDataOutWEn <= 1'b0;"
|
89 |
|
|
W 284 41 0 280 37 BEZIER "Transitions" | 54276,125525 62504,119205 74052,104895 82280,98575
|
90 |
|
|
W 285 50 0 286 291 BEZIER "Transitions" | 59473,89872 67701,83552 79249,69242 87477,62922
|
91 |
|
|
S 286 50 73728 ELLIPSE "States" | 54701,94283 6500 6500
|
92 |
22 |
sfielding |
A 287 286 4 TEXT "Actions" | 73518,95877 1 0 0 "CRC16En <= 1'b0;\nRxDataOutWEn <= 1'b0;"
|
93 |
33 |
sfielding |
L 303 304 0 TEXT "Labels" | 84462,230495 1 0 0 "RxByteIn[7:0]"
|
94 |
|
|
I 302 0 2 Builtin OutPort | 76139,237545 "" ""
|
95 |
|
|
L 301 302 0 TEXT "Labels" | 82139,237545 1 0 0 "RxDataOutWEn"
|
96 |
|
|
I 300 0 130 Builtin OutPort | 76848,242565 "" ""
|
97 |
|
|
L 299 300 0 TEXT "Labels" | 82848,242565 1 0 0 "RxCtrlOut[7:0]"
|
98 |
|
|
I 298 0 130 Builtin OutPort | 76848,247579 "" ""
|
99 |
|
|
L 297 298 0 TEXT "Labels" | 82848,247579 1 0 0 "RxDataOut[7:0]"
|
100 |
|
|
A 296 0 1 TEXT "Actions" | 13933,252227 1 0 0 "always @\n(next_CRCError or next_bitStuffError or\n next_RxOverflow or next_NAKRxed or \n next_stallRxed or next_ACKRxed or \n next_dataSequence)\nbegin \n RxStatus <= \n {1'b0, next_dataSequence, \n next_ACKRxed, \n next_stallRxed, next_NAKRxed, \n next_RxOverflow, \n next_bitStuffError, next_CRCError };\nend"
|
101 |
|
|
L 25 24 0 TEXT "State Labels" | 115892,81996 1 0 0 "HSHAKE"
|
102 |
|
|
S 24 6 8196 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 115892,81996 6500 6500
|
103 |
|
|
I 21 17 0 Builtin Exit | 89220,92674
|
104 |
|
|
I 20 17 0 Builtin Entry | 45216,248076
|
105 |
|
|
L 19 18 0 TEXT "State Labels" | 109233,155402 1 0 0 "FIRST_BYTE"
|
106 |
|
|
S 18 17 49156 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 109233,155402 6500 6500
|
107 |
|
|
H 17 16 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
|
108 |
|
|
S 16 6 12292 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 115714,110762 6500 6500
|
109 |
|
|
W 288 50 0 293 286 BEZIER "Transitions" | 76852,151619 72082,138383 61585,113663 56815,100427
|
110 |
|
|
L 289 286 0 TEXT "State Labels" | 54701,94283 1 0 0 "FIN\n/11/"
|
111 |
|
|
I 291 50 0 Builtin Exit | 90483,62922
|
112 |
|
|
I 292 50 0 Builtin Entry | 33692,252435
|
113 |
|
|
S 293 50 77824 ELLIPSE "States" | 79792,157415 6500 6500
|
114 |
|
|
L 294 293 0 TEXT "State Labels" | 79792,157415 1 0 0 "CHK_STRM\n/12/"
|
115 |
22 |
sfielding |
A 295 293 4 TEXT "Actions" | 114075,218259 1 0 0 "RXDataByteCnt <= RXDataByteCnt + 1'b1;\ncase (RxCtrl)\n `DATA_STOP:\n begin\n if (CRC16Result != 16'hb001)\n CRCError <= 1'b1;\n RxDataOut <= RxStatus;\n RxCtrlOut <= `RX_PACKET_STOP;\n RXByteStMachCurrState <= `IDLE_BYTE_ST;\n end\n `DATA_BIT_STUFF_ERROR:\n begin\n bitStuffError <= 1'b1;\n RxDataOut <= RxStatus;\n RxCtrlOut <= `RX_PACKET_STOP;\n RXByteStMachCurrState <= `IDLE_BYTE_ST;\n end\n `DATA_STREAM:\n begin\n RxDataOut <= RxByte;\n RxCtrlOut <= `RX_PACKET_STREAM;\n CRCData <= RxByte;\n CRC16En <= 1'b1;\n end\n default:\n begin\n RXByteStMachCurrState <= `IDLE_BYTE_ST;\n end\nendcase\nRxDataOutWEn <= 1'b1;"
|
116 |
33 |
sfielding |
L 319 320 0 TEXT "Labels" | 130127,218643 1 0 0 "CRC16En"
|
117 |
|
|
I 318 0 2 Builtin OutPort | 123866,228310 "" ""
|
118 |
|
|
L 317 318 0 TEXT "Labels" | 129866,228310 1 0 0 "CRC5_8Bit"
|
119 |
|
|
I 316 0 2 Builtin OutPort | 123509,232929 "" ""
|
120 |
|
|
L 315 316 0 TEXT "Labels" | 129509,232929 1 0 0 "CRC5En"
|
121 |
|
|
I 314 0 130 Builtin InPort | 125655,237903 "" ""
|
122 |
|
|
L 313 314 0 TEXT "Labels" | 131655,237903 1 0 0 "CRC5Result[4:0]"
|
123 |
|
|
I 312 0 130 Builtin OutPort | 123156,242520 "" ""
|
124 |
|
|
L 311 312 0 TEXT "Labels" | 129156,242520 1 0 0 "CRCData[7:0]"
|
125 |
|
|
I 310 0 2 Builtin OutPort | 123515,247488 "" ""
|
126 |
|
|
L 309 310 0 TEXT "Labels" | 129515,247488 1 0 0 "rstCRC"
|
127 |
|
|
I 308 0 2 Builtin InPort | 78462,219728 "" ""
|
128 |
|
|
L 307 308 0 TEXT "Labels" | 85176,219728 1 0 0 "processRxDataInWEn"
|
129 |
|
|
I 306 0 130 Builtin InPort | 78465,225472 "" ""
|
130 |
|
|
L 305 306 0 TEXT "Labels" | 84465,225472 1 0 0 "RxCtrlIn[7:0]"
|
131 |
|
|
I 304 0 130 Builtin InPort | 78462,230495 "" ""
|
132 |
|
|
L 43 42 0 TEXT "State Labels" | 118750,24108 1 0 0 "DATA"
|
133 |
|
|
S 42 6 16388 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 118750,24108 6500 6500
|
134 |
|
|
S 40 41 65536 ELLIPSE "States" | 74595,193068 6500 6500
|
135 |
|
|
L 39 40 0 TEXT "State Labels" | 74595,193068 1 0 0 "CHK_STRM\n/9/"
|
136 |
|
|
I 38 41 0 Builtin Entry | 30541,258592
|
137 |
|
|
I 37 41 0 Builtin Exit | 85286,98575
|
138 |
|
|
W 36 41 0 38 371 BEZIER "Transitions" | 34549,258592 38576,254357 47806,246433 31745,235718
|
139 |
|
|
L 34 33 0 TEXT "State Labels" | 117500,51980 1 0 0 "TOKEN"
|
140 |
|
|
S 33 6 20484 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 117500,51980 6500 6500
|
141 |
|
|
H 41 33 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
|
142 |
22 |
sfielding |
H 32 24 0 RECT 0,0,0 0 0 1 255,255,255 0 | 17144,15700 201644,263700
|
143 |
33 |
sfielding |
L 335 336 0 TEXT "Labels" | 175074,230643 1 0 0 "ACKRxed"
|
144 |
|
|
I 334 0 2 Builtin Signal | 172074,234927 "" ""
|
145 |
|
|
L 333 334 0 TEXT "Labels" | 175074,234927 1 0 0 "stallRxed"
|
146 |
|
|
I 332 0 2 Builtin Signal | 171717,239568 "" ""
|
147 |
|
|
L 331 332 0 TEXT "Labels" | 174717,239568 1 0 0 "NAKRxed"
|
148 |
|
|
I 330 0 2 Builtin Signal | 172074,243852 "" ""
|
149 |
|
|
L 329 330 0 TEXT "Labels" | 175074,243852 1 0 0 "RxTimeOut"
|
150 |
|
|
I 328 0 2 Builtin Signal | 172074,248136 "" ""
|
151 |
|
|
L 327 328 0 TEXT "Labels" | 175074,248136 1 0 0 "RxOverflow"
|
152 |
|
|
I 326 0 2 Builtin Signal | 172074,252420 "" ""
|
153 |
|
|
L 325 326 0 TEXT "Labels" | 175074,252420 1 0 0 "bitStuffError"
|
154 |
|
|
I 324 0 130 Builtin InPort | 126267,223603 "" ""
|
155 |
|
|
L 323 324 0 TEXT "Labels" | 132267,223603 1 0 0 "CRC16Result[15:0]"
|
156 |
|
|
I 320 0 2 Builtin OutPort | 124127,218643 "" ""
|
157 |
|
|
S 63 6 24576 ELLIPSE "States" | 112744,160479 6500 6500
|
158 |
|
|
L 62 63 0 TEXT "State Labels" | 113731,159652 1 0 0 "WAIT_BYTE\n/2/"
|
159 |
|
|
C 58 54 0 TEXT "Conditions" | 46403,18824 1 0 0 "RXByteStMachCurrState == `DATA_BYTE_ST"
|
160 |
|
|
C 57 53 0 TEXT "Conditions" | 45420,45726 1 0 0 "RXByteStMachCurrState == `TOKEN_BYTE_ST"
|
161 |
|
|
C 56 52 0 TEXT "Conditions" | 45596,78180 1 0 0 "RXByteStMachCurrState == `HS_BYTE_ST"
|
162 |
|
|
C 55 51 0 TEXT "Conditions" | 43455,108692 1 0 0 "RXByteStMachCurrState == `CHECK_PID_ST"
|
163 |
|
|
W 54 6 0 11 42 BEZIER "Transitions" | 41669,156431 42607,127755 43130,57608 44403,42064\
|
164 |
|
|
45676,26520 48892,21696 57535,20691 66178,19686\
|
165 |
|
|
96662,22630 112340,23032
|
166 |
|
|
W 53 6 0 11 33 BEZIER "Transitions" | 41642,156408 42044,133896 42058,76100 43264,64442\
|
167 |
|
|
44470,52784 48490,51176 56999,50774 65508,50372\
|
168 |
|
|
95524,50372 103095,50372 110666,50372 111053,50434\
|
169 |
|
|
111187,50434
|
170 |
22 |
sfielding |
W 52 6 0 11 24 BEZIER "Transitions" | 41273,156415 41809,142881 41924,101426 42929,93654\
|
171 |
|
|
43934,85882 46882,81862 55190,80924 63498,79986\
|
172 |
|
|
93782,80254 101420,80321 109058,80388 109445,80450\
|
173 |
|
|
109579,80450
|
174 |
33 |
sfielding |
W 51 6 0 11 16 BEZIER "Transitions" | 41219,156419 41353,150657 41254,124742 41790,120856\
|
175 |
|
|
42326,116970 44202,112950 52711,111811 61220,110672\
|
176 |
|
|
93136,110915 109216,110647
|
177 |
|
|
H 50 42 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
|
178 |
|
|
I 340 0 128 Builtin Signal | 172498,216552 "" ""
|
179 |
|
|
L 339 340 0 TEXT "Labels" | 175498,216552 1 0 0 "RxStatus[7:0]"
|
180 |
22 |
sfielding |
W 351 6 0 357 63 BEZIER "Transitions" | 165899,75618 165621,78724 166582,88726 164321,92532\
|
181 |
|
|
162060,96338 152965,99917 149770,102482 146575,105047\
|
182 |
|
|
142560,111540 140625,118020 138690,124500 135270,144660\
|
183 |
|
|
132480,150150 129690,155640 122852,157755 118982,158655
|
184 |
33 |
sfielding |
A 349 9 4 TEXT "Actions" | 143783,194927 1 0 0 "RxByte <= 8'h00;\nRxCtrl <= 8'h00;\nRXByteStMachCurrState <= `IDLE_BYTE_ST;\nCRCError <= 1'b0;\nbitStuffError <= 1'b0;\nRxOverflow <= 1'b0;\nRxTimeOut <= 1'b0;\nNAKRxed <= 1'b0;\nstallRxed <= 1'b0;\nACKRxed <= 1'b0;\ndataSequence <= 1'b0;\nRxDataOut <= 8'h00;\nRxCtrlOut <= 8'h00;\nRxDataOutWEn <= 1'b0;\nrstCRC <= 1'b0;\nCRCData <= 8'h00;\nCRC5En <= 1'b0;\nCRC5_8Bit <= 1'b0;\nCRC16En <= 1'b0;\nRXDataByteCnt <= 10'h00;\nprocessRxByteRdy <= 1'b1;"
|
185 |
|
|
I 346 0 130 Builtin Signal | 116382,203511 "" ""
|
186 |
|
|
L 345 346 0 TEXT "Labels" | 119382,203511 1 0 0 "RXByteStMachCurrState[2:0]"
|
187 |
|
|
I 344 0 130 Builtin Signal | 172286,208921 "" ""
|
188 |
|
|
L 343 344 0 TEXT "Labels" | 175286,208921 1 0 0 "RxCtrl[7:0]"
|
189 |
|
|
I 342 0 130 Builtin Signal | 171929,203923 "" ""
|
190 |
|
|
L 341 342 0 TEXT "Labels" | 174929,203923 1 0 0 "RxByte[7:0]"
|
191 |
|
|
I 338 0 2 Builtin Signal | 172074,226002 "" ""
|
192 |
|
|
L 337 338 0 TEXT "Labels" | 175074,226002 1 0 0 "dataSequence"
|
193 |
|
|
I 336 0 2 Builtin Signal | 172074,230643 "" ""
|
194 |
|
|
A 78 65 16 TEXT "Actions" | 51039,169927 1 0 0 "RxByte <= RxByteIn;\nRxCtrl <= RxCtrlIn;\nprocessRxByteRdy <= 1'b0;"
|
195 |
|
|
W 76 17 8194 75 18 BEZIER "Transitions" | 69849,207737 75657,200807 99461,167483 105269,160553
|
196 |
|
|
S 75 17 45056 ELLIPSE "States" | 65748,212778 6500 6500
|
197 |
|
|
L 74 75 0 TEXT "State Labels" | 65748,212778 1 0 0 "DO_CHK\n/5/"
|
198 |
|
|
W 72 6 0 42 357 BEZIER "Transitions" | 123133,28907 132448,39032 153635,59470 162950,69595
|
199 |
|
|
W 71 6 0 33 357 BEZIER "Transitions" | 123360,54790 132540,58705 152828,67124 162008,71039
|
200 |
|
|
W 69 6 0 24 357 BEZIER "Transitions" | 122281,80803 131596,78778 152599,74997 161914,72972
|
201 |
|
|
W 68 6 0 16 357 BEZIER "Transitions" | 120926,106881 130781,99051 152663,82096 162518,74266
|
202 |
|
|
C 66 65 0 TEXT "Conditions" | 62843,155863 1 0 0 "processRxDataInWEn == 1'b1"
|
203 |
|
|
W 65 6 0 63 11 BEZIER "Transitions" | 106255,160115 94419,158098 59763,166047 47927,164030
|
204 |
|
|
W 64 6 0 9 63 BEZIER "Transitions" | 48012,184711 59579,183097 95649,168804 106856,163230
|
205 |
|
|
I 367 0 2 Builtin Signal | 77453,208858 "" ""
|
206 |
|
|
L 366 367 0 TEXT "Labels" | 80453,208858 1 0 0 "Signal1"
|
207 |
|
|
I 355 0 130 Builtin Signal | 77612,203504 "" ""
|
208 |
|
|
L 354 355 0 TEXT "Labels" | 80612,203504 1 0 0 "RXDataByteCnt[9:0]"
|
209 |
|
|
I 353 0 2 Builtin Signal | 172356,221968 "" ""
|
210 |
|
|
L 352 353 0 TEXT "Labels" | 175356,221968 1 0 0 "CRCError"
|
211 |
|
|
W 81 17 0 20 75 BEZIER "Transitions" | 49078,248076 53138,241189 58262,225186 62322,218299
|
212 |
22 |
sfielding |
W 82 17 4097 75 21 BEZIER "Transitions" | 63199,206800 60009,197085 40708,156469 41288,147696\
|
213 |
|
|
41868,138924 51896,113272 59871,108777 67846,104282\
|
214 |
33 |
sfielding |
74994,97474 86594,92674
|
215 |
|
|
L 356 357 0 TEXT "State Labels" | 165320,72170 1 0 0 "J1"
|
216 |
|
|
S 357 6 81940 ELLIPSE "Junction" | 165320,72170 3500 3500
|
217 |
|
|
H 358 357 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
|
218 |
|
|
I 359 358 0 Builtin Entry | 86360,167640
|
219 |
|
|
I 360 358 0 Builtin Exit | 129540,111760
|
220 |
|
|
W 361 358 0 359 360 BEZIER "Transitions" | 90523,167640 102693,150317 114474,129084 126644,111760
|
221 |
|
|
C 380 379 0 TEXT "Conditions" | 39560,213610 1 0 0 "CRC16UpdateRdy == 1'b1"
|
222 |
|
|
W 379 50 0 377 293 BEZIER "Transitions" | 76802,222169 77769,207119 78297,178932 79264,163882
|
223 |
|
|
W 378 50 0 292 377 BEZIER "Transitions" | 37700,252435 46407,247168 62458,237581 71165,232314
|
224 |
|
|
S 377 50 90112 ELLIPSE "States" | 76540,228660 6500 6500
|
225 |
|
|
L 376 377 0 TEXT "State Labels" | 76540,228660 1 0 0 "WAIT_CRC\n/14/"
|
226 |
|
|
I 375 0 2 Builtin InPort | 126404,209416 "" ""
|
227 |
|
|
L 374 375 0 TEXT "Labels" | 132404,209416 1 0 0 "CRC16UpdateRdy"
|
228 |
|
|
C 373 372 0 TEXT "Conditions" | 40381,225556 1 0 0 "CRC5UpdateRdy == 1'b1"
|
229 |
|
|
W 372 41 0 371 40 BEZIER "Transitions" | 35330,224745 46935,215765 58540,206785 70145,197805
|
230 |
|
|
S 371 41 86016 ELLIPSE "States" | 30702,229308 6500 6500
|
231 |
|
|
L 370 371 0 TEXT "State Labels" | 30702,229308 1 0 0 "WAIT_CRC\n/13/"
|
232 |
|
|
I 369 0 2 Builtin InPort | 126404,214168 "" ""
|
233 |
|
|
L 368 369 0 TEXT "Labels" | 132404,214168 1 0 0 "CRC5UpdateRdy"
|
234 |
|
|
L 381 382 0 TEXT "Labels" | 84990,214964 1 0 0 "processRxByteRdy"
|
235 |
|
|
I 382 0 2 Builtin OutPort | 78990,214964 "" ""
|
236 |
22 |
sfielding |
A 383 351 16 TEXT "Actions" | 154286,95504 1 0 0 "processRxByteRdy <= 1'b1;"
|
237 |
|
|
A 162 40 4 TEXT "Actions" | 109188,255837 1 0 0 "RXDataByteCnt <= RXDataByteCnt + 1'b1;\ncase (RxCtrl)\n `DATA_STOP:\n begin\n if (CRC5Result != 5'h6)\n CRCError <= 1'b1;\n RxDataOut <= RxStatus;\n RxCtrlOut <= `RX_PACKET_STOP;\n RXByteStMachCurrState <= `IDLE_BYTE_ST;\n end\n `DATA_BIT_STUFF_ERROR:\n begin\n bitStuffError <= 1'b1;\n RxDataOut <= RxStatus;\n RxCtrlOut <= `RX_PACKET_STOP;\n RXByteStMachCurrState <= `IDLE_BYTE_ST;\n end\n `DATA_STREAM:\n begin\n if (RXDataByteCnt > 10'h2) \n begin\n RxOverflow <= 1'b1;\n RxDataOut <= RxStatus;\n RxCtrlOut <= `RX_PACKET_STOP;\n RXByteStMachCurrState <= `IDLE_BYTE_ST;\n end\n else \n begin\n RxDataOut <= RxByte;\n RxCtrlOut <= `RX_PACKET_STREAM;\n CRCData <= RxByte;\n CRC5_8Bit <= 1'b1;\n CRC5En <= 1'b1;\n end\n end \n default:\n begin\n RXByteStMachCurrState <= `IDLE_BYTE_ST;\n end\nendcase\nRxDataOutWEn <= 1'b1;"
|
238 |
33 |
sfielding |
L 184 185 0 TEXT "Labels" | 161048,252716 1 0 0 "clk"
|
239 |
|
|
I 185 0 3 Builtin InPort | 155048,252716 "" ""
|
240 |
|
|
L 186 187 0 TEXT "Labels" | 160691,247662 1 0 0 "rst"
|
241 |
|
|
I 187 0 2 Builtin InPort | 154691,247662 "" ""
|
242 |
22 |
sfielding |
C 188 13 0 TEXT "Conditions" | 25531,188745 1 0 0 "rst"
|
243 |
33 |
sfielding |
W 223 217 4096 218 221 BEZIER "Transitions" | 111743,134422 116788,127400 128768,96077 133814,89055
|
244 |
|
|
W 222 217 0 220 218 BEZIER "Transitions" | 90523,167640 95262,160652 99562,152068 104302,145079
|
245 |
|
|
I 221 217 0 Builtin Exit | 136710,89055
|
246 |
|
|
I 220 217 0 Builtin Entry | 86360,167640
|
247 |
|
|
L 219 218 0 TEXT "State Labels" | 107950,139700 1 0 0 "CHK_START\n/3/"
|
248 |
|
|
S 218 217 36864 ELLIPSE "States" | 107950,139700 6500 6500
|
249 |
|
|
H 217 216 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
|
250 |
|
|
S 216 6 32772 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 113402,144340 6500 6500
|
251 |
|
|
L 215 216 0 TEXT "State Labels" | 113402,144340 1 0 0 "IDLE"
|
252 |
|
|
S 213 6 28676 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 113934,127848 6500 6500
|
253 |
22 |
sfielding |
L 212 213 0 TEXT "State Labels" | 113934,129450 1 0 0 "CHK_SYNC"
|
254 |
33 |
sfielding |
W 236 6 0 213 357 BEZIER "Transitions" | 118353,123082 128966,111334 152340,86494 162953,74746
|
255 |
|
|
W 235 6 0 216 357 BEZIER "Transitions" | 117419,139231 129033,122944 151793,91387 163407,75100
|
256 |
|
|
C 234 231 0 TEXT "Conditions" | 42504,140676 1 0 0 "RXByteStMachCurrState == `IDLE_BYTE_ST"
|
257 |
|
|
C 233 232 0 TEXT "Conditions" | 41970,122520 1 0 0 "RXByteStMachCurrState == `CHECK_SYNC_ST"
|
258 |
|
|
W 232 6 0 11 213 BEZIER "Transitions" | 41377,156411 41443,149937 41370,137271 41770,133433\
|
259 |
|
|
42170,129596 43639,127192 51882,126624 60126,126057\
|
260 |
|
|
91699,127301 107452,127367
|
261 |
22 |
sfielding |
W 231 6 0 11 216 BEZIER "Transitions" | 41320,156431 41386,153761 41370,148419 41770,146583\
|
262 |
|
|
42170,144748 43639,142745 51849,142311 60059,141877\
|
263 |
|
|
91249,143561 106935,143694
|
264 |
33 |
sfielding |
W 230 224 0 225 228 BEZIER "Transitions" | 111743,134422 116788,127400 121803,118782 126849,111760
|
265 |
|
|
W 229 224 0 227 225 BEZIER "Transitions" | 90396,167640 95135,160652 99562,152068 104302,145079
|
266 |
|
|
I 228 224 0 Builtin Exit | 129540,111760
|
267 |
|
|
I 227 224 0 Builtin Entry | 86360,167640
|
268 |
|
|
L 226 225 0 TEXT "State Labels" | 107950,139700 1 0 0 "DO\n/4/"
|
269 |
|
|
S 225 224 40960 ELLIPSE "States" | 107950,139700 6500 6500
|
270 |
|
|
H 224 213 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
|
271 |
|
|
W 255 248 0 249 253 BEZIER "Transitions" | 60789,195800 65743,188968 70713,179952 75668,173120
|
272 |
|
|
W 254 248 0 252 249 BEZIER "Transitions" | 39547,229000 44083,222216 48824,213248 53361,206463
|
273 |
|
|
I 253 248 0 Builtin Exit | 78564,173120
|
274 |
|
|
I 252 248 0 Builtin Entry | 35384,229000
|
275 |
|
|
A 251 249 4 TEXT "Actions" | 92522,232212 1 0 0 "rstCRC <= 1'b0;\nRxDataOutWEn <= 1'b0;\ncase (RxByte[1:0] )\n `SPECIAL: //Special PID.\n RXByteStMachCurrState <= `IDLE_BYTE_ST;\n `TOKEN: //Token PID\n begin\n RXByteStMachCurrState <= `TOKEN_BYTE_ST;\n RXDataByteCnt <= 0;\n end\n `HANDSHAKE: //Handshake PID\n begin\n case (RxByte[3:2] )\n 2'b00:\n ACKRxed <= 1'b1;\n 2'b10:\n NAKRxed <= 1'b1;\n 2'b11:\n stallRxed <= 1'b1;\n default:\n begin\n $display (\"Invalid Handshake PID detected in ProcessRXByte\\n\");\n end\n endcase\n RXByteStMachCurrState <= `HS_BYTE_ST;\n end\n `DATA: //Data PID\n begin\n case (RxByte[3:2] )\n 2'b00:\n dataSequence <= 1'b0;\n 2'b10:\n dataSequence <= 1'b1;\n default:\n $display (\"Invalid DATA PID detected in ProcessRXByte\\n\");\n endcase\n RXByteStMachCurrState <= `DATA_BYTE_ST;\n RXDataByteCnt <= 0;\n end\nendcase"
|
276 |
|
|
L 250 249 0 TEXT "State Labels" | 56974,201060 1 0 0 "PROC\n/6/"
|
277 |
|
|
S 249 248 53248 ELLIPSE "States" | 56974,201060 6500 6500
|
278 |
|
|
H 248 18 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
|
279 |
|
|
A 245 76 16 TEXT "Actions" | 83312,221127 1 0 0 "CRCError <= 1'b0;\nbitStuffError <= 1'b0;\nRxOverflow <= 1'b0;\nNAKRxed <= 1'b0;\nstallRxed <= 1'b0;\nACKRxed <= 1'b0;\ndataSequence <= 1'b0;\nRxTimeOut <= 1'b0;\nRXDataByteCnt <= 10'h000;\nRxDataOut <= RxByte;\nRxCtrlOut <= `RX_PACKET_START;\nRxDataOutWEn <= 1'b1;\nrstCRC <= 1'b1;"
|
280 |
|
|
A 244 82 16 TEXT "Actions" | 20263,162000 1 0 0 "RXByteStMachCurrState <= `IDLE_BYTE_ST ;"
|
281 |
|
|
C 243 82 0 TEXT "Conditions" | 20905,184375 1 0 0 "(RxByte[7:4] ^ RxByte[3:0] ) != 4'hf"
|
282 |
|
|
A 242 218 4 TEXT "Actions" | 127244,141208 1 0 0 "if (RxCtrl == `DATA_START)\n RXByteStMachCurrState <= `CHECK_SYNC_ST;"
|
283 |
22 |
sfielding |
A 240 225 4 TEXT "Actions" | 124532,142082 1 0 0 "if (RxByte == `SYNC_BYTE)\n RXByteStMachCurrState <= `CHECK_PID_ST;\nelse\n RXByteStMachCurrState <= `IDLE_BYTE_ST;"
|
284 |
33 |
sfielding |
W 256 17 0 18 21 BEZIER "Transitions" | 106988,149304 107171,135945 97823,112446 93593,107407\
|
285 |
|
|
89364,102368 89220,95212 89220,94846
|
286 |
|
|
S 257 32 57344 ELLIPSE "States" | 129646,141752 5778 5778
|
287 |
|
|
L 258 257 0 TEXT "State Labels" | 129668,142146 1 0 0 "FIN\n/7/"
|
288 |
|
|
I 259 32 0 Builtin Entry | 66351,233704
|
289 |
|
|
I 260 32 0 Builtin Exit | 110355,78302
|
290 |
|
|
S 261 32 61440 ELLIPSE "States" | 86883,198406 6500 6500
|
291 |
|
|
L 262 261 0 TEXT "State Labels" | 86883,198406 1 0 0 "CHK\n/8/"
|
292 |
|
|
W 263 32 4096 261 257 BEZIER "Transitions" | 90984,193365 96792,186435 120426,153343 126234,146413
|
293 |
|
|
W 265 32 0 259 261 BEZIER "Transitions" | 70514,233704 74574,226817 79397,210814 83457,203927
|
294 |
|
|
A 268 263 16 TEXT "Actions" | 100115,177875 1 0 0 "if (RxCtrl != `DATA_STOP) //If more than PID rxed, then report error\n RxOverflow <= 1'b1;\nRxDataOut <= RxStatus;\nRxCtrlOut <= `RX_PACKET_STOP;\nRxDataOutWEn <= 1'b1;"
|
295 |
22 |
sfielding |
W 269 32 0 257 260 BEZIER "Transitions" | 128387,136115 128570,122756 118958,98074 114728,93035\
|
296 |
|
|
110499,87996 110355,80840 110355,80474
|
297 |
|
|
END
|