1 |
22 |
sfielding |
VERSION=1.15
|
2 |
|
|
HEADER
|
3 |
|
|
FILE="slavecontroller.asf"
|
4 |
|
|
FID=403fbdc7
|
5 |
|
|
LANGUAGE=VERILOG
|
6 |
|
|
ENTITY="slavecontroller"
|
7 |
|
|
FRAMES=ON
|
8 |
|
|
FREEOID=863
|
9 |
|
|
"LIBRARIES=//////////////////////////////////////////////////////////////////////\n//// ////\n//// slaveController\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 \"usbSlaveControl_h.v\"\n`include \"usbConstants_h.v\"\n\n"
|
10 |
|
|
END
|
11 |
|
|
BUNDLES
|
12 |
|
|
B T "Declarations" 0,0,255 0 0 1 255,255,255 0 3333 0 0000 1 "Arial" 0
|
13 |
|
|
B T "Conditions" 0,0,0 0 0 0 255,255,255 0 3333 0 0110 1 "Arial" 0
|
14 |
|
|
B F "States" 0,0,0 0 0 1 0,255,0 1 3527 1480 0000 0 "Arial" 0
|
15 |
|
|
B T "Actions" 0,0,0 0 0 1 255,255,255 0 3333 0 0000 1 "Arial" 0
|
16 |
|
|
B T "Labels" 0,0,0 0 0 0 255,255,255 0 3333 0 0000 1 "Arial" 0
|
17 |
|
|
B L "Transitions" 0,0,0 0 0 1 0,0,0 1 3527 1480 0000 0 "Arial" 0
|
18 |
|
|
B F "Ports" 0,0,0 0 0 1 0,255,255 1 3527 1480 0000 0 "Arial" 0
|
19 |
|
|
B L "Errors" 255,0,0 0 3 1 255,255,255 1 3527 1480 0000 0 "Arial" 0
|
20 |
|
|
B T "State Labels" 0,0,0 0 0 0 255,255,255 0 3333 0 0000 1 "Arial" 4
|
21 |
|
|
B F "Current State" 255,255,0 0 0 1 255,255,0 1 3527 1480 0000 0 "Arial" 0
|
22 |
|
|
B T "Comments" 157,157,157 0 0 1 255,255,255 0 3333 0 0000 0 "Arial" 0
|
23 |
|
|
B L "Info" 0,255,0 0 3 1 255,255,255 1 3527 1480 0000 0 "Arial" 0
|
24 |
|
|
B F "Junction" 0,0,0 0 0 1 255,0,0 1 3527 1480 0000 0 "Arial" 0
|
25 |
|
|
B F "Initial State Indicator" 0,0,0 0 0 1 240,140,40 1 3527 1480 0000 0 "Arial" 0
|
26 |
|
|
END
|
27 |
|
|
INSTHEADER 1
|
28 |
|
|
PAGE 25400,0 215900,279400
|
29 |
|
|
UPPERLEFT 0,0
|
30 |
|
|
GRID=OFF
|
31 |
|
|
GRIDSIZE 5000,5000 10000,10000
|
32 |
|
|
END
|
33 |
|
|
INSTHEADER 376
|
34 |
|
|
PAGE 25400,0 215900,279400
|
35 |
|
|
UPPERLEFT 0,0
|
36 |
|
|
GRID=OFF
|
37 |
|
|
GRIDSIZE 0,0 10000,10000
|
38 |
|
|
END
|
39 |
|
|
INSTHEADER 420
|
40 |
|
|
PAGE 25400,0 215900,279400
|
41 |
|
|
UPPERLEFT 0,0
|
42 |
|
|
GRID=OFF
|
43 |
|
|
GRIDSIZE 0,0 10000,10000
|
44 |
|
|
END
|
45 |
|
|
INSTHEADER 551
|
46 |
|
|
PAGE 25400,0 215900,279400
|
47 |
|
|
UPPERLEFT 0,0
|
48 |
|
|
GRID=OFF
|
49 |
|
|
GRIDSIZE 0,0 10000,10000
|
50 |
|
|
END
|
51 |
|
|
INSTHEADER 580
|
52 |
|
|
PAGE 25400,0 215900,279400
|
53 |
|
|
UPPERLEFT 0,0
|
54 |
|
|
GRID=OFF
|
55 |
|
|
GRIDSIZE 0,0 10000,10000
|
56 |
|
|
END
|
57 |
|
|
INSTHEADER 617
|
58 |
|
|
PAGE 25400,0 215900,279400
|
59 |
|
|
UPPERLEFT 0,0
|
60 |
|
|
GRID=OFF
|
61 |
|
|
GRIDSIZE 0,0 10000,10000
|
62 |
|
|
END
|
63 |
|
|
INSTHEADER 698
|
64 |
|
|
PAGE 25400,0 215900,279400
|
65 |
|
|
UPPERLEFT 0,0
|
66 |
|
|
GRID=OFF
|
67 |
|
|
GRIDSIZE 0,0 10000,10000
|
68 |
|
|
END
|
69 |
|
|
INSTHEADER 15
|
70 |
|
|
PAGE 25400,0 215900,279400
|
71 |
|
|
UPPERLEFT 0,0
|
72 |
|
|
GRID=OFF
|
73 |
|
|
GRIDSIZE 0,0 10000,10000
|
74 |
|
|
END
|
75 |
|
|
INSTHEADER 800
|
76 |
|
|
PAGE 25400,25400 215900,279400
|
77 |
|
|
UPPERLEFT 0,0
|
78 |
|
|
GRID=OFF
|
79 |
|
|
GRIDSIZE 0,0 10000,10000
|
80 |
|
|
END
|
81 |
|
|
INSTHEADER 820
|
82 |
|
|
PAGE 25400,25400 215900,279400
|
83 |
|
|
UPPERLEFT 0,0
|
84 |
|
|
GRID=OFF
|
85 |
|
|
GRIDSIZE 0,0 10000,10000
|
86 |
|
|
END
|
87 |
|
|
OBJECTS
|
88 |
|
|
G 1 0 0 TEXT 0,0,0 0 0 0 255,255,255 0 3527 1480 0000 0 "Arial" 0 | 102610,273136 1 0 0 "Module: slavecontroller"
|
89 |
|
|
F 6 0 671089152 282 0 RECT 0,0,0 0 0 1 255,255,255 0 | 28400,3000 212900,202584
|
90 |
|
|
L 7 6 0 TEXT "Labels" | 30788,196844 1 0 0 "slvCntrl"
|
91 |
|
|
L 14 15 0 TEXT "State Labels" | 111713,189976 1 0 0 "START"
|
92 |
|
|
S 15 6 77828 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 111713,189976 6500 6500
|
93 |
|
|
L 272 271 0 TEXT "Labels" | 186628,209022 1 0 0 "getPacketREn"
|
94 |
|
|
I 273 0 130 Builtin InPort | 182869,214288 "" ""
|
95 |
|
|
L 274 273 0 TEXT "Labels" | 190399,213982 1 0 0 "getPacketRdy"
|
96 |
|
|
L 281 282 0 TEXT "Labels" | 202539,250534 1 0 0 "clk"
|
97 |
|
|
I 282 0 3 Builtin InPort | 194091,250840 "" ""
|
98 |
|
|
L 283 284 0 TEXT "Labels" | 200131,244906 1 0 0 "rst"
|
99 |
|
|
I 284 0 2 Builtin InPort | 194131,244906 "" ""
|
100 |
|
|
C 285 97 0 TEXT "Conditions" | 99944,129593 1 0 0 "rst"
|
101 |
|
|
W 546 6 8194 531 81 BEZIER "Transitions" | 193355,54360 193121,48042 196557,33707 194740,28964\
|
102 |
|
|
192923,24221 173766,19421 163644,19865 153522,20309\
|
103 |
|
|
122483,20608 111915,23020 101347,25432 81761,37919\
|
104 |
|
|
69710,37919
|
105 |
|
|
C 547 546 0 TEXT "Conditions" | 180628,44450 1 0 0 "NAKSent == 1'b1"
|
106 |
|
|
A 548 546 16 TEXT "Actions" | 104043,25328 1 0 0 "USBEndPNakTransTypeReg <= tempUSBEndPTransTypeReg;\nendPMuxErrorsWEn <= 1'b1;"
|
107 |
|
|
W 550 6 0 81 41 BEZIER "Transitions" | 57945,41731 51978,46294 36355,53695 33342,69899\
|
108 |
|
|
30330,86104 25492,143212 35905,156667 46318,170122\
|
109 |
|
|
96612,168665 117496,167729
|
110 |
|
|
H 559 551 0 RECT 0,0,0 0 0 1 255,255,255 0 | 28400,3275 212900,251275
|
111 |
|
|
S 551 6 40964 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 63527,72146 6500 6500
|
112 |
|
|
L 554 551 0 TEXT "State Labels" | 63527,72146 1 0 0 "SETUP_OUT"
|
113 |
|
|
L 819 820 0 TEXT "State Labels" | 67420,66064 1 0 0 "RESP"
|
114 |
|
|
S 820 589 102404 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 67420,66064 6500 6500
|
115 |
|
|
H 821 820 0 RECT 0,0,0 0 0 1 255,255,255 0 | 28400,28400 212900,276400
|
116 |
|
|
W 828 821 2 847 833 BEZIER "Transitions" | 143788,176826 110094,161523 73824,121282 61589,104841
|
117 |
|
|
A 829 828 16 TEXT "Actions" | 74668,133998 1 0 0 "getPacketREn <= 1'b1;"
|
118 |
|
|
W 830 821 1 847 832 BEZIER "Transitions" | 149052,177611 172803,163396 180803,116530 192775,92880
|
119 |
|
|
C 831 830 0 TEXT "Conditions" | 112905,152704 1 0 0 "USBEndPControlRegCopy [`ENDPOINT_ISO_ENABLE_BIT] == 1'b1"
|
120 |
|
|
A 291 81 4 TEXT "Actions" | 34763,22801 1 0 0 "transDone <= 1'b0;\nclrEPRdy <= 1'b0;\nendPMuxErrorsWEn <= 1'b0;"
|
121 |
|
|
I 298 0 2 Builtin OutPort | 28486,231226 "" ""
|
122 |
|
|
L 299 298 0 TEXT "Labels" | 34135,231226 1 0 0 "sendPacketWEn"
|
123 |
|
|
I 300 0 130 Builtin InPort | 30658,236044 "" ""
|
124 |
|
|
L 301 300 0 TEXT "Labels" | 38188,235738 1 0 0 "sendPacketRdy"
|
125 |
|
|
A 302 83 16 TEXT "Actions" | 100377,150834 1 0 0 "PIDByte <= RxByte;"
|
126 |
|
|
I 832 821 0 Builtin Exit | 195662,92880
|
127 |
|
|
S 833 821 106496 ELLIPSE "States" | 56676,100586 6500 6500
|
128 |
|
|
L 834 833 0 TEXT "State Labels" | 56676,100586 1 0 0 "GET_RESP\n/17/"
|
129 |
|
|
S 839 821 110592 ELLIPSE "States" | 49830,194919 6500 6500
|
130 |
|
|
L 840 839 0 TEXT "State Labels" | 49830,194919 1 0 0 "DATA\n/18/"
|
131 |
|
|
A 843 833 4 TEXT "Actions" | 70674,110022 1 0 0 "getPacketREn <= 1'b0;"
|
132 |
|
|
W 844 821 0 839 847 BEZIER "Transitions" | 51640,188679 108408,173735 108918,187523 139645,180358
|
133 |
|
|
C 845 844 0 TEXT "Conditions" | 79180,187273 1 0 0 "sendPacketRdy == 1'b1"
|
134 |
|
|
A 846 839 4 TEXT "Actions" | 65120,205455 1 0 0 "sendPacketWEn <= 1'b0;"
|
135 |
|
|
S 847 821 114688 ELLIPSE "States" | 145546,183083 6500 6500
|
136 |
|
|
I 862 0 2 Builtin OutPort | 120122,261308 "" ""
|
137 |
|
|
L 861 862 0 TEXT "Labels" | 126122,261308 1 0 0 "endPointReadyToGetPkt"
|
138 |
|
|
A 860 457 16 TEXT "Actions" | 93778,19821 1 0 0 "USBEndPControlRegCopy <= USBEndPControlReg;\nendPointReadyToGetPkt <= USBEndPControlReg [`ENDPOINT_READY_BIT] ;"
|
139 |
|
|
I 859 0 130 Builtin Signal | 35412,208838 "" ""
|
140 |
|
|
L 858 859 0 TEXT "Labels" | 38412,208838 1 0 0 "USBEndPControlRegCopy[4:0]"
|
141 |
|
|
S 41 6 0 ELLIPSE "States" | 123993,167568 6500 6500
|
142 |
|
|
L 40 41 0 TEXT "State Labels" | 123993,167263 1 0 0 "WAIT_RX1\n/0/"
|
143 |
|
|
H 589 580 0 RECT 0,0,0 0 0 1 255,255,255 0 | 28400,28400 212900,249826
|
144 |
|
|
S 580 6 45060 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 176572,76868 6500 6500
|
145 |
|
|
L 586 580 0 TEXT "State Labels" | 176572,76868 1 0 0 "IN"
|
146 |
|
|
I 587 589 0 Builtin Exit | 192962,45432
|
147 |
|
|
I 588 589 0 Builtin Entry | 205195,243792
|
148 |
|
|
L 848 847 0 TEXT "State Labels" | 145546,183083 1 0 0 "CHK_ISO\n/19/"
|
149 |
|
|
I 850 821 0 Builtin Entry | 49920,240120
|
150 |
|
|
W 851 821 0 850 839 BEZIER "Transitions" | 49920,237971 49996,228608 49199,210758 49275,201395
|
151 |
|
|
W 852 589 1 800 605 BEZIER "Transitions" | 112033,243004 131211,241916 168722,239928 178018,237332\
|
152 |
|
|
187314,234737 186141,226528 176133,223346 166125,220164\
|
153 |
|
|
127582,215026 108152,212765
|
154 |
|
|
C 853 852 0 TEXT "Conditions" | 112257,227462 1 0 0 "USBEndPControlRegCopy[`ENDPOINT_ISO_ENABLE_BIT] == 1'b0"
|
155 |
|
|
W 854 821 0 833 832 BEZIER "Transitions" | 63119,99731 96001,98583 159828,94028 192710,92880
|
156 |
|
|
C 855 854 0 TEXT "Conditions" | 79768,96292 1 0 0 "getPacketRdy == 1'b1"
|
157 |
|
|
W 856 589 0 820 587 BEZIER "Transitions" | 73765,64656 103240,60314 160481,49774 189956,45432
|
158 |
|
|
S 596 589 49152 ELLIPSE "States" | 180409,114797 6500 6500
|
159 |
|
|
L 597 596 0 TEXT "State Labels" | 181443,115599 1 0 0 "NAK_STALL\n/9/"
|
160 |
|
|
C 598 600 0 TEXT "Conditions" | 169310,83968 1 0 0 "sendPacketRdy == 1'b1"
|
161 |
|
|
A 599 601 16 TEXT "Actions" | 160934,183503 1 0 0 "sendPacketWEn <= 1'b1;\nsendPacketPID <= `NAK;\nNAKSent <= 1'b1;"
|
162 |
|
|
W 600 589 8192 596 587 BEZIER "Transitions" | 180237,108305 188996,66496 180453,87386 196184,45432
|
163 |
|
|
W 601 589 8193 605 596 BEZIER "Transitions" | 108219,211536 117760,212835 193154,194500 186733,113295
|
164 |
|
|
A 603 596 4 TEXT "Actions" | 173404,104745 1 0 0 "sendPacketWEn <= 1'b0;"
|
165 |
|
|
L 604 605 0 TEXT "State Labels" | 101725,211799 1 0 0 "CHK_RDY\n/10/"
|
166 |
|
|
S 605 589 53248 ELLIPSE "States" | 101725,211799 6500 6500
|
167 |
|
|
W 606 589 0 588 800 BEZIER "Transitions" | 201176,243744 189026,243939 117602,246614 110257,246222
|
168 |
|
|
C 607 601 0 TEXT "Conditions" | 120473,202106 1 0 0 "USBEndPControlRegCopy [`ENDPOINT_READY_BIT] == 1'b0"
|
169 |
|
|
W 612 589 8194 605 596 BEZIER "Transitions" | 102126,205324 97268,194370 163866,132884 176477,119972
|
170 |
|
|
W 613 589 8195 605 617 BEZIER "Transitions" | 96173,208420 81310,204985 61686,186612 53042,177585
|
171 |
|
|
C 614 612 0 TEXT "Conditions" | 62794,182643 1 0 0 "USBEndPControlRegCopy [`ENDPOINT_SEND_STALL_BIT] == 1'b1"
|
172 |
|
|
A 615 612 16 TEXT "Actions" | 138346,155279 1 0 0 "sendPacketWEn <= 1'b1;\nsendPacketPID <= `STALL;\nstallSent <= 1'b1;"
|
173 |
|
|
L 616 617 0 TEXT "State Labels" | 50796,174902 1 0 0 "J2"
|
174 |
|
|
S 617 589 57364 ELLIPSE "Junction" | 50796,174902 3500 3500
|
175 |
|
|
H 618 617 0 RECT 0,0,0 0 0 1 255,255,255 0 | 28400,3000 212900,251000
|
176 |
|
|
I 619 618 0 Builtin Entry | 96520,152400
|
177 |
|
|
I 620 618 0 Builtin Exit | 144780,101600
|
178 |
|
|
W 621 618 0 619 620 BEZIER "Transitions" | 100816,152400 114862,136691 127511,117310 141558,101600
|
179 |
|
|
L 80 81 0 TEXT "State Labels" | 63570,37922 1 0 0 "FIN_SC\n/1/"
|
180 |
|
|
S 81 6 4096 ELLIPSE "States" | 63211,37922 6500 6500
|
181 |
|
|
W 82 6 0 15 41 BEZIER "Transitions" | 111847,183487 114548,179878 117251,176267 119952,172658
|
182 |
|
|
W 83 6 0 41 376 BEZIER "Transitions" | 122170,161331 124629,151114 122118,150575 124577,140358
|
183 |
|
|
W 630 589 8193 617 820 BEZIER "Transitions" | 48004,172793 44616,170945 44594,164562 42823,162021\
|
184 |
|
|
41052,159480 41752,153900 40959,141711 40167,129522\
|
185 |
|
|
46701,89176 50135,78506 53570,67837 54978,65340\
|
186 |
|
|
57981,65109 60984,64878 60458,64813 61074,64659
|
187 |
|
|
W 631 589 8194 617 820 BEZIER "Transitions" | 54078,173688 59930,171532 83885,163128 122946,146882\
|
188 |
|
|
162008,130636 151291,117855 140238,106874 129185,95894\
|
189 |
|
|
77774,78896 71279,71294
|
190 |
|
|
C 636 630 0 TEXT "Conditions" | 35003,128975 1 0 0 "USBEndPControlRegCopy [`ENDPOINT_OUTDATA_SEQUENCE_BIT] == 1'b0"
|
191 |
|
|
A 637 630 16 TEXT "Actions" | 47297,102245 1 0 0 "sendPacketWEn <= 1'b1;\nsendPacketPID <= `DATA0;"
|
192 |
|
|
A 638 631 16 TEXT "Actions" | 117990,107831 1 0 0 "sendPacketWEn <= 1'b1;\nsendPacketPID <= `DATA1;"
|
193 |
|
|
I 96 722 0 Builtin Reset | 76296,129336
|
194 |
|
|
W 97 722 0 96 723 BEZIER "Transitions" | 76296,129336 85450,126984 105102,130518 114256,128166
|
195 |
|
|
C 98 83 0 TEXT "Conditions" | 135898,150246 1 0 0 "RxDataWEn == 1'b1 && \nRxStatus == `RX_PACKET_START && \nRxByte[1:0] == `TOKEN"
|
196 |
|
|
L 375 376 0 TEXT "State Labels" | 127082,135048 1 0 0 "GET_TOKEN"
|
197 |
|
|
S 376 6 86020 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 127085,134364 6500 6500
|
198 |
|
|
H 377 376 0 RECT 0,0,0 0 0 1 255,255,255 0 | 28400,3000 212900,251000
|
199 |
|
|
I 380 377 0 Builtin Entry | 48940,236580
|
200 |
|
|
I 381 377 0 Builtin Exit | 206487,14249
|
201 |
|
|
I 649 559 0 Builtin Entry | 37971,243103
|
202 |
|
|
I 650 559 0 Builtin Exit | 194044,45058
|
203 |
|
|
W 651 559 8193 654 656 BEZIER "Transitions" | 98921,152700 206574,151900 173740,105072 113816,89949
|
204 |
|
|
C 652 651 0 TEXT "Conditions" | 116707,136533 1 0 0 "USBEndPControlRegCopy [`ENDPOINT_READY_BIT] == 1'b0"
|
205 |
|
|
W 653 559 8192 649 690 BEZIER "Transitions" | 42267,243103 56803,242798 88976,238518 92493,238212
|
206 |
|
|
S 654 559 61440 ELLIPSE "States" | 92422,152802 6500 6500
|
207 |
|
|
L 655 654 0 TEXT "State Labels" | 92422,152802 1 0 0 "CHK\n/11/"
|
208 |
|
|
S 384 377 12288 ELLIPSE "States" | 116864,202628 6500 6500
|
209 |
|
|
L 385 384 0 TEXT "State Labels" | 117245,202194 1 0 0 "WAIT_ADDR\n/3/"
|
210 |
|
|
W 388 377 8193 384 392 BEZIER "Transitions" | 117619,196179 118049,188396 118224,180484 118654,172701
|
211 |
|
|
C 389 388 0 TEXT "Conditions" | 120725,194517 1 0 0 "RxDataWEn == 1'b1 && \nRxStatus == `RX_PACKET_STREAM"
|
212 |
|
|
S 392 377 8192 ELLIPSE "States" | 120690,166529 6500 6500
|
213 |
|
|
L 393 392 0 TEXT "State Labels" | 120066,166529 1 0 0 "WAIT_CRC\n/2/"
|
214 |
|
|
A 394 388 16 TEXT "Actions" | 109989,182895 1 0 0 "addrEndPTemp <= RxByte;"
|
215 |
|
|
L 398 399 0 TEXT "Labels" | 56547,17304 1 0 0 "WAIT_RX1"
|
216 |
|
|
I 399 377 0 Builtin Link | 54419,17564
|
217 |
|
|
S 656 559 65536 ELLIPSE "States" | 109789,85208 5889 6500
|
218 |
|
|
A 657 656 4 TEXT "Actions" | 131151,85140 1 0 0 "sendPacketWEn <= 1'b0;"
|
219 |
|
|
W 658 559 8192 656 650 BEZIER "Transitions" | 115135,82483 143029,70601 162928,56940 190822,45058
|
220 |
|
|
A 659 651 16 TEXT "Actions" | 154655,125925 1 0 0 "sendPacketWEn <= 1'b1;\nsendPacketPID <= `NAK;\nNAKSent <= 1'b1;"
|
221 |
|
|
L 661 656 0 TEXT "State Labels" | 110208,84806 1 0 0 "SEND\n/12/"
|
222 |
|
|
W 664 559 8194 654 656 BEZIER "Transitions" | 93066,146337 91981,138849 92975,108162 108216,91470
|
223 |
|
|
A 665 664 16 TEXT "Actions" | 80842,130315 1 0 0 "sendPacketWEn <= 1'b1;\nsendPacketPID <= `STALL;\nstallSent <= 1'b1;"
|
224 |
|
|
C 666 664 0 TEXT "Conditions" | 53275,145515 1 0 0 "USBEndPControlRegCopy [`ENDPOINT_SEND_STALL_BIT] == 1'b1"
|
225 |
|
|
C 660 658 0 TEXT "Conditions" | 106335,67684 1 0 0 "sendPacketRdy == 1'b1"
|
226 |
|
|
W 400 377 8194 384 399 BEZIER "Transitions" | 110498,201318 102308,200382 54233,209312 50372,191138\
|
227 |
|
|
46511,172964 33727,90292 34975,71611 36223,52930\
|
228 |
|
|
35724,34993 37785,28932 39847,22872 46307,16188\
|
229 |
|
|
54419,15564
|
230 |
|
|
C 401 400 0 TEXT "Conditions" | 52882,213899 1 0 0 "RxDataWEn == 1'b1 && \nRxStatus != `RX_PACKET_STREAM"
|
231 |
|
|
L 402 403 0 TEXT "State Labels" | 124030,135117 1 0 0 "WAIT_STOP\n/4/"
|
232 |
|
|
S 403 377 16384 ELLIPSE "States" | 124030,135117 6500 6500
|
233 |
|
|
W 404 377 8193 392 403 BEZIER "Transitions" | 121200,160058 121710,155348 122669,146268 123179,141558
|
234 |
|
|
C 405 404 0 TEXT "Conditions" | 124159,160729 1 0 0 "RxDataWEn == 1'b1 && \nRxStatus == `RX_PACKET_STREAM"
|
235 |
|
|
W 406 377 8194 392 399 BEZIER "Transitions" | 114191,166474 101160,166788 74889,166988 67471,166085\
|
236 |
|
|
60053,165183 57484,160822 55722,148570 53960,136319\
|
237 |
|
|
36935,95064 38880,77714 40826,60365 38327,20823\
|
238 |
|
|
54419,15564
|
239 |
|
|
C 409 406 0 TEXT "Conditions" | 56206,176408 1 0 0 "RxDataWEn == 1'b1 && \nRxStatus != `RX_PACKET_STREAM"
|
240 |
|
|
A 410 404 16 TEXT "Actions" | 120222,150346 1 0 0 "endpCRCTemp <= RxByte;"
|
241 |
|
|
W 416 377 0 380 384 BEZIER "Transitions" | 53236,236580 66436,236340 92720,236440 100440,234920\
|
242 |
|
|
108160,233400 112640,227800 113920,224400 115200,221000\
|
243 |
|
|
116013,213096 116333,209096
|
244 |
|
|
L 419 420 0 TEXT "State Labels" | 125039,108996 1 0 0 "J1"
|
245 |
|
|
S 420 377 20500 ELLIPSE "Junction" | 125039,108996 3500 3500
|
246 |
|
|
H 421 420 0 RECT 0,0,0 0 0 1 255,255,255 0 | 28400,3000 212900,251000
|
247 |
|
|
I 422 421 0 Builtin Entry | 96520,152400
|
248 |
|
|
I 423 421 0 Builtin Exit | 144780,101600
|
249 |
|
|
W 424 421 0 422 423 BEZIER "Transitions" | 100816,152400 114662,136960 127711,117040 141558,101600
|
250 |
|
|
W 425 377 0 403 420 BEZIER "Transitions" | 125217,128730 124944,123298 124669,117866 124396,112434
|
251 |
|
|
C 426 425 0 TEXT "Conditions" | 126599,128290 1 0 0 "RxDataWEn == 1'b1"
|
252 |
|
|
W 427 377 8194 420 399 BEZIER "Transitions" | 121546,109207 108910,108883 84850,107106 77399,105791\
|
253 |
|
|
69948,104476 47394,95074 43302,84878 39210,74682\
|
254 |
|
|
42917,24960 54419,15564
|
255 |
|
|
W 431 377 8193 420 508 BEZIER "Transitions" | 124244,105590 124829,100936 125414,96281 125999,91627
|
256 |
|
|
A 688 653 16 TEXT "Actions" | 49697,242131 1 0 0 "getPacketREn <= 1'b1;"
|
257 |
|
|
L 689 690 0 TEXT "State Labels" | 98991,238090 1 0 0 "GET_PKT\n/13/"
|
258 |
|
|
S 690 559 69632 ELLIPSE "States" | 98991,238090 6500 6500
|
259 |
|
|
A 691 690 4 TEXT "Actions" | 108619,243631 1 0 0 "getPacketREn <= 1'b0;"
|
260 |
|
|
W 692 559 8194 698 654 BEZIER "Transitions" | 115978,206479 88070,190212 85643,190437 93781,159154
|
261 |
|
|
C 693 692 0 TEXT "Conditions" | 66756,183110 1 0 0 "CRCError == 1'b0 &&\nbitStuffError == 1'b0 && \nRxOverflow == 1'b0 && \nRxTimeOut == 1'b0"
|
262 |
|
|
W 694 559 8195 654 656 BEZIER "Transitions" | 85930,152497 74648,152804 51806,152609 45513,150767\
|
263 |
|
|
39220,148925 36609,140943 36571,133460 36533,125977\
|
264 |
|
|
38989,104026 47738,97617 56488,91209 87662,87731\
|
265 |
|
|
103933,85889
|
266 |
|
|
A 695 694 16 TEXT "Actions" | 32235,126207 1 0 0 "sendPacketWEn <= 1'b1;\nsendPacketPID <= `ACK;"
|
267 |
|
|
W 696 559 8195 698 650 BEZIER "Transitions" | 120484,209499 143962,203805 174018,217078 187161,210058\
|
268 |
|
|
200304,203038 205920,186346 207441,167119 208962,147892\
|
269 |
|
|
209430,87676 208962,71608 208494,55540 206154,51484\
|
270 |
|
|
204438,50041 202722,48598 199528,45916 197266,45058
|
271 |
|
|
L 697 698 0 TEXT "State Labels" | 117000,209824 1 0 0 "J3"
|
272 |
|
|
S 698 559 73748 ELLIPSE "Junction" | 117000,209824 3500 3500
|
273 |
|
|
H 699 698 0 RECT 0,0,0 0 0 1 255,255,255 0 | 28400,3000 212900,251000
|
274 |
|
|
I 700 699 0 Builtin Entry | 96520,152400
|
275 |
|
|
I 701 699 0 Builtin Exit | 144780,101600
|
276 |
|
|
W 702 699 0 700 701 BEZIER "Transitions" | 100816,152400 114718,136923 127655,117078 141558,101600
|
277 |
|
|
W 703 559 0 690 698 BEZIER "Transitions" | 102158,232416 105512,227268 111593,217805 114947,212657
|
278 |
|
|
C 432 431 0 TEXT "Conditions" | 128096,105689 1 0 0 "RxByte[`CRC_ERROR_BIT] == 1'b0 &&\nRxByte[`BIT_STUFF_ERROR_BIT] == 1'b0 &&\nRxByte [`RX_OVERFLOW_BIT] == 1'b0"
|
279 |
|
|
L 443 444 0 TEXT "State Labels" | 127565,109879 1 0 0 "CHK_PID\n/5/"
|
280 |
|
|
S 444 6 24576 ELLIPSE "States" | 127565,109879 6500 6500
|
281 |
|
|
C 704 703 0 TEXT "Conditions" | 106392,230416 1 0 0 "getPacketRdy == 1'b1"
|
282 |
|
|
W 457 377 8193 462 381 BEZIER "Transitions" | 100978,49712 129304,39439 174939,24522 203265,14249
|
283 |
|
|
W 461 377 8194 508 786 BEZIER "Transitions" | 125260,78741 125862,71938 126464,65135 127066,58332
|
284 |
|
|
S 462 377 94208 ELLIPSE "States" | 94684,51331 6500 6500
|
285 |
|
|
L 463 462 0 TEXT "State Labels" | 94684,51331 1 0 0 "CHK_ADDR\n/16/"
|
286 |
|
|
H 722 15 0 RECT 0,0,0 0 0 1 255,255,255 0 | 28400,3000 212900,251000
|
287 |
|
|
S 723 722 81920 ELLIPSE "States" | 120650,127000 6500 6500
|
288 |
|
|
L 724 723 0 TEXT "State Labels" | 120650,127000 1 0 0 "S1\n/14/"
|
289 |
|
|
A 725 723 2 TEXT "Actions" | 132523,206729 1 0 0 "transDone <= 1'b0;\nclearEPRdy <= 1'b0;\ngetPacketREn <= 1'b0;\nsendPacketPID <= 4'b0;\nsendPacketWEn <= 1'b0;\nclrEPRdy <= 1'b0\nUSBEndPTransTypeReg <= 2'b00;\nUSBEndPNakTransTypeReg <= 2'b00;\ntempUSBEndPTransTypeReg <= 2'b00;\nNAKSent <= 1'b0;\nstallSent <= 1'b0;\nendPMuxErrorsWEn <= 1'b0;\naddrEndPTemp <= 8'h00;\nendpCRCTemp <= 8'h00;\nUSBAddress <= 7'b0000000;\nUSBEndP <= 4'h0;\nframeNum <= 11'b00000000000;\nSOFRxed <= 1'b0;\nPIDByte <= 8'h00;\nUSBEndPControlRegCopy <= 5'b00000;\nendPointReadyToGetPkt <= 1'b0;"
|
290 |
|
|
I 726 722 0 Builtin Entry | 96520,152400
|
291 |
|
|
I 727 722 0 Builtin Exit | 144780,101600
|
292 |
|
|
W 728 722 0 726 723 BEZIER "Transitions" | 100816,152400 106104,146248 111125,138081 116414,131928
|
293 |
|
|
W 729 722 0 723 727 BEZIER "Transitions" | 125025,122194 130662,116001 135921,107794 141558,101600
|
294 |
|
|
L 730 731 0 TEXT "Labels" | 189218,228230 1 0 0 "CRCError"
|
295 |
|
|
I 731 0 2 Builtin InPort | 183218,228230 "" ""
|
296 |
|
|
L 732 733 0 TEXT "Labels" | 189218,223490 1 0 0 "bitStuffError"
|
297 |
|
|
I 733 0 2 Builtin InPort | 183218,223490 "" ""
|
298 |
|
|
L 734 735 0 TEXT "Labels" | 189218,218987 1 0 0 "RxTimeOut"
|
299 |
|
|
I 735 0 2 Builtin InPort | 183218,218987 "" ""
|
300 |
|
|
C 468 457 0 TEXT "Conditions" | 82804,40533 1 0 0 "USBEndP < `NUM_OF_ENDPOINTS &&\nUSBAddress == USBTgtAddress &&\nSCGlobalEn == 1'b1 &&\nUSBEndPControlReg[`ENDPOINT_ENABLE_BIT] == 1'b1"
|
301 |
|
|
L 736 737 0 TEXT "Labels" | 189455,232970 1 0 0 "RxOverflow"
|
302 |
|
|
I 737 0 2 Builtin InPort | 183455,232970 "" ""
|
303 |
|
|
L 742 743 0 TEXT "Labels" | 125778,227003 1 0 0 "USBEndP[3:0]"
|
304 |
|
|
I 743 0 130 Builtin OutPort | 119778,227003 "" ""
|
305 |
|
|
L 744 745 0 TEXT "Labels" | 35748,252068 1 0 0 "SCGlobalEn"
|
306 |
|
|
I 745 0 2 Builtin InPort | 29748,252068 "" ""
|
307 |
|
|
L 746 747 0 TEXT "Labels" | 35748,247328 1 0 0 "USBTgtAddress[6:0]"
|
308 |
|
|
I 747 0 130 Builtin InPort | 29748,247328 "" ""
|
309 |
|
|
L 748 749 0 TEXT "Labels" | 128043,237048 1 0 0 "USBEndPControlReg[4:0]"
|
310 |
|
|
I 749 0 130 Builtin InPort | 122043,237048 "" ""
|
311 |
|
|
L 750 751 0 TEXT "Labels" | 80282,236074 1 0 0 "NAKSent"
|
312 |
|
|
I 751 0 2 Builtin OutPort | 74282,236074 "" ""
|
313 |
|
|
I 767 0 2 Builtin InPort | 77236,251752 "" ""
|
314 |
|
|
L 766 767 0 TEXT "Labels" | 83236,251752 1 0 0 "RxDataWEn"
|
315 |
|
|
I 765 0 130 Builtin Signal | 120578,208940 "" ""
|
316 |
|
|
L 764 765 0 TEXT "Labels" | 123578,208940 1 0 0 "tempUSBEndPTransTypeReg[1:0]"
|
317 |
|
|
L 752 753 0 TEXT "Labels" | 79882,231167 1 0 0 "stallSent"
|
318 |
|
|
I 753 0 2 Builtin OutPort | 73882,231167 "" ""
|
319 |
|
|
L 754 755 0 TEXT "Labels" | 125826,241925 1 0 0 "USBEndPTransTypeReg[1:0]"
|
320 |
|
|
I 755 0 130 Builtin OutPort | 119826,241925 "" ""
|
321 |
|
|
L 756 757 0 TEXT "Labels" | 125853,246737 1 0 0 "USBEndPNakTransTypeReg[1:0]"
|
322 |
|
|
I 757 0 130 Builtin OutPort | 119853,246737 "" ""
|
323 |
|
|
L 758 759 0 TEXT "Labels" | 125476,231925 1 0 0 "endPMuxErrorsWEn"
|
324 |
|
|
I 759 0 2 Builtin OutPort | 119476,231925 "" ""
|
325 |
|
|
A 763 41 68 TEXT "Actions" | 141963,177130 1 0 0 "stallSent <= 1'b0;\nNAKSent <= 1'b0;\nSOFRxed <= 1'b0;"
|
326 |
|
|
I 783 0 130 Builtin Signal | 83088,208940 "" ""
|
327 |
|
|
L 782 783 0 TEXT "Labels" | 86088,208940 1 0 0 "USBAddress[6:0]"
|
328 |
|
|
I 781 0 2 Builtin OutPort | 28572,224032 "" ""
|
329 |
|
|
L 780 781 0 TEXT "Labels" | 34572,224032 1 0 0 "SOFRxed"
|
330 |
|
|
I 779 0 130 Builtin OutPort | 28880,219720 "" ""
|
331 |
|
|
L 778 779 0 TEXT "Labels" | 34880,219720 1 0 0 "frameNum[10:0]"
|
332 |
|
|
I 777 0 130 Builtin Signal | 120664,221876 "" ""
|
333 |
|
|
L 776 777 0 TEXT "Labels" | 123664,221876 1 0 0 "addrEndPTemp[7:0]"
|
334 |
|
|
I 775 0 130 Builtin Signal | 120664,217872 "" ""
|
335 |
|
|
L 774 775 0 TEXT "Labels" | 123664,217872 1 0 0 "endpCRCTemp[7:0]"
|
336 |
|
|
I 773 0 130 Builtin Signal | 120664,213560 "" ""
|
337 |
|
|
L 772 773 0 TEXT "Labels" | 123664,213560 1 0 0 "PIDByte[7:0]"
|
338 |
|
|
I 771 0 130 Builtin InPort | 76928,242820 "" ""
|
339 |
|
|
L 770 771 0 TEXT "Labels" | 82928,242820 1 0 0 "RxByte[7:0]"
|
340 |
|
|
I 769 0 130 Builtin InPort | 77236,247440 "" ""
|
341 |
|
|
L 768 769 0 TEXT "Labels" | 83236,247440 1 0 0 "RxStatus[7:0]"
|
342 |
|
|
A 502 461 16 TEXT "Actions" | 125613,71590 1 0 0 "USBAddress <= addrEndPTemp[6:0];\nUSBEndP <= { endpCRCTemp[2:0], addrEndPTemp[7]} ;"
|
343 |
|
|
L 507 508 0 TEXT "State Labels" | 124896,85224 1 0 0 "CHK_SOF\n/6/"
|
344 |
|
|
S 508 377 28672 ELLIPSE "States" | 124896,85224 6500 6500
|
345 |
|
|
W 509 377 8193 508 399 BEZIER "Transitions" | 118401,84993 100664,84333 64762,83050 55811,78512\
|
346 |
|
|
46860,73975 46530,57145 47396,48771 48262,40398\
|
347 |
|
|
52522,23896 54419,15564
|
348 |
|
|
C 510 509 0 TEXT "Conditions" | 63200,88160 1 0 0 "PIDByte[3:0] == `SOF"
|
349 |
|
|
A 511 509 16 TEXT "Actions" | 43897,75831 1 0 0 "frameNum <= {endpCRCTemp[2:0],addrEndPTemp};\nSOFRxed <= 1'b1;"
|
350 |
|
|
W 784 6 8195 531 81 BEZIER "Transitions" | 199428,57678 201969,56523 206519,54247 207866,48664\
|
351 |
|
|
209214,43082 209522,23062 208983,17094 208444,11127\
|
352 |
|
|
205980,7277 191773,6353 177567,5429 123205,5583\
|
353 |
|
|
106804,9317 90403,13052 79161,27836 75696,31763\
|
354 |
|
|
72231,35690 70888,36159 69579,36621
|
355 |
|
|
W 512 377 8194 462 399 BEZIER "Transitions" | 88426,49577 72698,46423 68764,43598 61315,39137\
|
356 |
|
|
53866,34676 56339,23332 57169,17564
|
357 |
|
|
W 514 6 8193 444 551 BEZIER "Transitions" | 121093,109287 106000,107942 75635,105075 68176,101390\
|
358 |
|
|
60717,97705 62441,84600 62616,78575
|
359 |
|
|
W 515 6 8194 444 551 BEZIER "Transitions" | 125173,103837 123535,98514 118808,88227 112022,84659\
|
360 |
|
|
105236,81091 81842,75191 69908,73378
|
361 |
|
|
W 516 6 8195 444 580 BEZIER "Transitions" | 133157,106567 143277,99957 161264,87392 171384,80782
|
362 |
|
|
W 517 6 0 376 444 BEZIER "Transitions" | 126740,127881 127032,124839 126993,119409 127285,116367
|
363 |
|
|
C 518 514 0 TEXT "Conditions" | 68498,113792 1 0 0 "PIDByte[3:0] == `SETUP"
|
364 |
|
|
C 519 515 0 TEXT "Conditions" | 96466,92704 1 0 0 "PIDByte[3:0] == `OUT"
|
365 |
|
|
A 521 515 16 TEXT "Actions" | 72876,85256 1 0 0 "tempUSBEndPTransTypeReg <= `SC_OUTDATA_TRANS;"
|
366 |
|
|
A 522 514 16 TEXT "Actions" | 34060,103488 1 0 0 "tempUSBEndPTransTypeReg <= `SC_SETUP_TRANS;"
|
367 |
|
|
C 523 516 0 TEXT "Conditions" | 138452,109100 1 0 0 "PIDByte[3:0] == `IN"
|
368 |
|
|
L 525 526 0 TEXT "State Labels" | 84644,142808 1 0 0 "PID_ERROR\n/7/"
|
369 |
|
|
S 526 6 32768 ELLIPSE "States" | 84644,142808 6500 6500
|
370 |
|
|
W 527 6 8196 444 526 BEZIER "Transitions" | 122444,113881 113611,119906 98358,132491 89525,138516
|
371 |
|
|
A 524 516 16 TEXT "Actions" | 132740,96932 1 0 0 "tempUSBEndPTransTypeReg <= `SC_IN_TRANS;"
|
372 |
|
|
L 785 786 0 TEXT "State Labels" | 123152,53144 1 0 0 "DELAY\n/15/"
|
373 |
|
|
S 786 377 90112 ELLIPSE "States" | 123152,53144 6500 6500
|
374 |
|
|
W 787 377 0 786 462 BEZIER "Transitions" | 116687,52476 112749,52476 105105,51800 101167,51800
|
375 |
|
|
K 788 786 0 TEXT "Comments" | 122196,51478 1 0 0 "Insert delay to allow USBEndP etc to update"
|
376 |
|
|
W 790 559 1 698 650 BEZIER "Transitions" | 120235,208489 139440,201809 176211,187874 186899,181444\
|
377 |
|
|
197587,175015 201929,162657 202973,147251 204017,131846\
|
378 |
|
|
203849,82580 202847,68719 201846,54859 198970,48147\
|
379 |
|
|
197050,45058
|
380 |
|
|
C 791 790 0 TEXT "Conditions" | 102423,188540 1 0 0 "USBEndPControlRegCopy [`ENDPOINT_ISO_ENABLE_BIT] == 1'b1"
|
381 |
|
|
L 263 264 0 TEXT "Labels" | 79978,216725 1 0 0 "clrEPRdy"
|
382 |
|
|
I 264 0 2 Builtin OutPort | 74329,216725 "" ""
|
383 |
|
|
L 265 266 0 TEXT "Labels" | 79978,226532 1 0 0 "transDone"
|
384 |
|
|
I 266 0 2 Builtin OutPort | 74329,226532 "" ""
|
385 |
|
|
L 269 270 0 TEXT "Labels" | 34450,240616 1 0 0 "sendPacketPID[3:0]"
|
386 |
|
|
I 270 0 130 Builtin OutPort | 28450,240616 "" ""
|
387 |
|
|
I 271 0 2 Builtin OutPort | 180979,209022 "" ""
|
388 |
|
|
W 529 6 0 526 41 BEZIER "Transitions" | 89828,146728 97140,151466 110862,159936 118174,164674
|
389 |
|
|
L 530 531 0 TEXT "State Labels" | 193752,60844 1 0 0 "CHK_RDY\n/8/"
|
390 |
|
|
S 531 6 36864 ELLIPSE "States" | 193752,60844 6500 6500
|
391 |
|
|
W 532 6 8193 531 81 BEZIER "Transitions" | 187378,59573 161170,57818 95812,40849 69604,39094
|
392 |
|
|
W 533 6 0 580 531 BEZIER "Transitions" | 181097,72204 183278,69441 186374,67510 188555,64747
|
393 |
|
|
W 534 6 0 551 531 BEZIER "Transitions" | 69967,71266 96526,67873 160748,65078 187307,61685
|
394 |
|
|
C 535 532 0 TEXT "Conditions" | 69699,59883 1 0 0 "USBEndPControlRegCopy [`ENDPOINT_READY_BIT] == 1'b1"
|
395 |
|
|
A 536 532 16 TEXT "Actions" | 87626,51585 1 0 0 "transDone <= 1'b1;\nclrEPRdy <= 1'b1;\nUSBEndPTransTypeReg <= tempUSBEndPTransTypeReg;\nendPMuxErrorsWEn <= 1'b1;"
|
396 |
|
|
H 805 800 0 RECT 0,0,0 0 0 1 255,255,255 0 | 28400,3000 212900,251000
|
397 |
|
|
S 800 589 98324 ELLIPSE "Junction" | 108538,243174 3500 3500
|
398 |
|
|
L 801 800 0 TEXT "State Labels" | 108538,243174 1 0 0 "J4"
|
399 |
|
|
W 802 805 0 804 803 BEZIER "Transitions" | 100816,152400 114862,136691 127511,117310 141558,101600
|
400 |
|
|
I 803 805 0 Builtin Exit | 144780,101600
|
401 |
|
|
I 804 805 0 Builtin Entry | 96520,152400
|
402 |
|
|
W 807 589 2 800 617 BEZIER "Transitions" | 106097,240666 80398,219718 50449,190675 50573,178391
|
403 |
|
|
W 810 589 3 800 587 BEZIER "Transitions" | 105040,243281 73377,254491 34925,221320 34178,196665\
|
404 |
|
|
33432,172010 34721,79558 53522,54375 72324,29193\
|
405 |
|
|
153226,30396 173104,33029 192983,35662 193169,40577\
|
406 |
|
|
192962,43440
|
407 |
|
|
C 812 807 0 TEXT "Conditions" | 65637,235739 1 0 0 "USBEndPControlRegCopy [`ENDPOINT_READY_BIT] == 1'b1"
|
408 |
|
|
END
|