URL
https://opencores.org/ocsvn/usbhostslave/usbhostslave/trunk
Subversion Repositories usbhostslave
[/] [usbhostslave/] [tags/] [rel_00_06_alpha/] [RTL/] [serialInterfaceEngine/] [processRxBit.asf] - Rev 40
Compare with Previous | Blame | View Log
VERSION=1.15
HEADER
FILE="processRxBit.asf"
FID=4094ffa4
LANGUAGE=VERILOG
ENTITY="processRxBit"
FRAMES=ON
FREEOID=256
"LIBRARIES=//////////////////////////////////////////////////////////////////////\n//// ////\n//// processrxbit\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`timescale 1ns / 1ps\n`include \"usbSerialInterfaceEngine_h.v\"\n\n"
END
BUNDLES
B T "Declarations" 0,0,255 0 0 1 255,255,255 0 3333 0 0000 1 "Arial" 0
B T "Conditions" 0,0,0 0 0 0 255,255,255 0 3333 0 0110 1 "Arial" 0
B F "States" 0,0,0 0 0 1 0,255,0 1 3527 1480 0000 0 "Arial" 0
B T "Actions" 0,0,0 0 0 1 255,255,255 0 3333 0 0000 1 "Arial" 0
B T "Labels" 0,0,0 0 0 0 0,0,0 0 3333 0 0000 1 "Arial" 0
B L "Transitions" 0,0,0 0 0 1 0,0,0 1 3527 1480 0000 0 "Arial" 0
B F "Ports" 0,0,0 0 0 1 0,255,255 1 3527 1480 0000 0 "Arial" 0
B L "Errors" 255,0,0 0 3 1 255,255,255 1 3527 1480 0000 0 "Arial" 0
B T "State Labels" 0,0,0 0 0 0 0,0,0 0 3333 0 0000 1 "Arial" 4
B F "Current State" 255,255,0 0 0 1 255,255,0 1 3527 1480 0000 0 "Arial" 0
B T "Comments" 157,157,157 0 0 1 255,255,255 0 3333 0 0000 0 "Arial" 0
B L "Info" 0,255,0 0 3 1 255,255,255 1 3527 1480 0000 0 "Arial" 0
B F "Junction" 0,0,0 0 0 1 255,0,0 1 3527 1480 0000 0 "Arial" 0
B F "Initial State Indicator" 0,0,0 0 0 1 240,140,40 1 3527 1480 0000 0 "Arial" 0
END
INSTHEADER 1
PAGE 12700,12700 215900,279400
UPPERLEFT 0,0
GRID=OFF
GRIDSIZE 5000,5000 10000,10000
END
INSTHEADER 16
PAGE 12700,12700 215900,279400
UPPERLEFT 0,0
GRID=OFF
GRIDSIZE 0,0 10000,10000
END
INSTHEADER 24
PAGE 12700,12700 215900,279400
UPPERLEFT 0,0
GRID=OFF
GRIDSIZE 0,0 10000,10000
END
INSTHEADER 33
PAGE 12700,12700 215900,279400
UPPERLEFT 0,0
GRID=OFF
GRIDSIZE 0,0 10000,10000
END
INSTHEADER 42
PAGE 12700,12700 215900,279400
UPPERLEFT 0,0
GRID=OFF
GRIDSIZE 0,0 10000,10000
END
INSTHEADER 97
PAGE 12700,12700 215900,279400
UPPERLEFT 0,0
GRID=OFF
GRIDSIZE 0,0 10000,10000
END
INSTHEADER 113
PAGE 12700,12700 215900,279400
UPPERLEFT 0,0
GRID=OFF
GRIDSIZE 0,0 10000,10000
END
INSTHEADER 115
PAGE 12700,12700 215900,279400
UPPERLEFT 0,0
GRID=OFF
GRIDSIZE 0,0 10000,10000
END
INSTHEADER 213
PAGE 12700,12700 215900,279400
UPPERLEFT 0,0
GRID=OFF
GRIDSIZE 0,0 10000,10000
END
INSTHEADER 219
PAGE 12700,12700 215900,279400
UPPERLEFT 0,0
GRID=OFF
GRIDSIZE 0,0 10000,10000
END
INSTHEADER 227
PAGE 12700,12700 215900,279400
UPPERLEFT 0,0
GRID=OFF
GRIDSIZE 0,0 10000,10000
END
OBJECTS
L 7 6 0 TEXT "Labels" | 23239,210942 1 0 0 "prRxBit"
F 6 0 671089152 185 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,221539
G 1 0 0 TEXT 0,0,0 0 0 0 255,255,255 0 3527 1480 0000 0 "Arial" 0 | 94226,265828 1 0 0 "Module: processRxBit"
L 8 9 0 TEXT "State Labels" | 42238,183458 1 0 0 "START\n/0/"
S 9 6 0 ELLIPSE "States" | 42238,183458 6500 6500
I 12 6 0 Builtin Reset | 22728,190398
W 13 6 0 12 9 BEZIER "Transitions" | 22728,190398 27224,190134 31822,186104 35786,184244
L 15 16 0 TEXT "State Labels" | 116068,123104 1 0 0 "IDLE"
S 16 6 4100 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 116068,123104 6500 6500
H 17 16 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
S 18 17 8192 ELLIPSE "States" | 107950,139700 6500 6500
L 19 18 0 TEXT "State Labels" | 107950,139700 1 0 0 "FIRST_BIT\n/1/"
I 20 17 0 Builtin Entry | 56736,212076
I 21 17 0 Builtin Exit | 128380,96970
W 23 17 0 18 21 BEZIER "Transitions" | 111741,134422 116780,127404 120535,103988 125575,96970
S 24 6 12292 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 116801,94499 6500 6500
L 25 24 0 TEXT "State Labels" | 116801,94499 1 0 0 "DATA_RX"
H 32 24 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15330,15700 199830,263700
H 41 33 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
S 33 6 16388 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 118212,64680 6500 6500
L 34 33 0 TEXT "State Labels" | 118212,64680 1 0 0 "RES_RX"
W 35 41 0 40 37 BEZIER "Transitions" | 111741,134422 116780,127404 121695,118778 126735,111760
W 36 41 0 38 40 BEZIER "Transitions" | 90251,167640 94982,160656 99574,152064 104305,145080
I 37 41 0 Builtin Exit | 129540,111760
I 38 41 0 Builtin Entry | 86360,167640
L 39 40 0 TEXT "State Labels" | 107950,139700 1 0 0 "CHK\n/9/"
S 40 41 65536 ELLIPSE "States" | 107950,139700 6500 6500
S 42 6 20484 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 119820,36808 6500 6500
L 43 42 0 TEXT "State Labels" | 119820,36808 1 0 0 "RES_END"
H 50 42 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
W 51 6 0 213 16 BEZIER "Transitions" | 42388,154240 42522,148478 41966,137442 42502,133556\
43038,129670 44914,125650 53423,124511 61932,123372\
93489,123426 109569,123158
W 52 6 0 213 24 BEZIER "Transitions" | 42699,154238 43235,140704 42636,114126 43641,106354\
44646,98582 47594,94562 55902,93624 64210,92686\
94494,92954 102132,93021 109770,93088 110325,93078\
110459,93078
W 53 6 0 213 33 BEZIER "Transitions" | 42645,154234 43047,131722 42770,88800 43976,77142\
45182,65484 49202,63876 57711,63474 66220,63072\
96236,63072 103807,63072 111378,63072 111758,63165\
111892,63165
W 54 6 0 213 42 BEZIER "Transitions" | 42671,154227 43609,125551 43842,70308 45115,54764\
46388,39220 49604,34396 58247,33391 66890,32386\
97657,35973 113335,36375
C 55 51 0 TEXT "Conditions" | 46862,121215 1 0 0 "RXBitStMachCurrState == `IDLE_BIT_ST"
C 56 52 0 TEXT "Conditions" | 48456,87658 1 0 0 "RXBitStMachCurrState == `DATA_RECEIVE_BIT_ST"
C 57 53 0 TEXT "Conditions" | 50070,58068 1 0 0 "RXBitStMachCurrState == `WAIT_RESUME_ST"
C 58 54 0 TEXT "Conditions" | 37965,30092 1 0 0 "RXBitStMachCurrState == `RESUME_END_WAIT_ST"
L 62 63 0 TEXT "State Labels" | 113723,160148 1 0 0 "WAIT_BITS\n/2/"
S 63 6 24576 ELLIPSE "States" | 113456,158815 6500 6500
W 64 6 0 9 63 BEZIER "Transitions" | 48724,183047 60291,181433 96001,163180 107568,161566
W 65 6 0 63 213 BEZIER "Transitions" | 107011,157978 95175,155961 57808,160629 45972,158612
C 66 65 0 TEXT "Conditions" | 64836,155511 1 0 0 "processRxBitsWEn == 1'b1"
W 67 6 0 219 63 BEZIER "Transitions" | 168098,86660 172418,87740 183648,91372 185943,95422\
188238,99472 188778,113512 186145,122422 183513,131332\
167904,143587 159264,149864 150624,156142 133542,158851\
125779,159931 118017,161011 123617,159646 119837,160051
W 68 6 0 16 219 BEZIER "Transitions" | 121312,119265 131167,111435 152206,96104 162061,88274
W 69 6 0 24 219 BEZIER "Transitions" | 123174,93221 132840,90845 152243,88111 161207,86437
W 71 6 0 33 219 BEZIER "Transitions" | 124072,67490 133252,71405 152285,80632 161465,84547
W 72 6 0 42 219 BEZIER "Transitions" | 124182,41625 133497,51750 153075,73168 162390,83293
A 73 18 4 TEXT "Actions" | 122746,145328 1 0 0 "processRxByteWEn <= 1'b0;\nRXBitStMachCurrState <= `DATA_RECEIVE_BIT_ST;\nRXSameBitCount <= 4'h0; \nRXBitCount <= 4'h1;\noldRXBits <= RxBits;\n//zero is always the first RZ data bit of a new packet\nRXByte <= 8'h00;"
L 74 75 0 TEXT "State Labels" | 77268,176778 1 0 0 "CHK_KBIT\n/3/"
S 75 17 28672 ELLIPSE "States" | 77268,176778 6500 6500
W 76 17 4096 241 18 BEZIER "Transitions" | 130017,172236 121274,163054 112530,153872 103787,144690
A 78 65 16 TEXT "Actions" | 57414,163918 1 0 0 "RxBits <= RxBitsIn;\nprocessRxBitRdy <= 1'b0;"
A 95 91 16 TEXT "Actions" | 81602,214284 1 0 0 "RxDataOut <= 8'h00; //redundant data\nRxCtrlOut <= `DATA_STOP; //end of packet\nprocessRxByteWEn <= 1'b1;"
W 94 32 0 85 89 BEZIER "Transitions" | 41504,245373 45564,238486 43946,239209 48006,232322
W 91 32 4096 246 83 BEZIER "Transitions" | 118511,229192 108252,217383 97992,205574 87733,193765
L 90 89 0 TEXT "State Labels" | 51785,227035 1 0 0 "CHK_SE0\n/5/"
S 89 32 36864 ELLIPSE "States" | 51785,227035 6500 6500
A 88 83 4 TEXT "Actions" | 104179,197041 1 0 0 "processRxByteWEn <= 1'b0;\nRXBitStMachCurrState <= `IDLE_BIT_ST;"
I 86 32 0 Builtin Exit | 178157,29567
I 85 32 0 Builtin Entry | 37613,245373
L 84 83 0 TEXT "State Labels" | 82467,189957 1 0 0 "LAST_BIT\n/4/"
S 83 32 32768 ELLIPSE "States" | 82467,189957 6500 6500
W 82 17 8194 75 21 BEZIER "Transitions" | 74719,170800 71529,161085 64380,142085 64960,133312\
65540,124540 74240,108880 82215,104385 90190,99890\
113975,98130 125575,96970
W 81 17 0 20 75 BEZIER "Transitions" | 60627,212076 64687,205189 69782,189186 73842,182299
A 80 76 16 TEXT "Actions" | 98161,161647 1 0 0 "RxDataOut <= 8'h00; //redundant data\nRxCtrlOut <= `DATA_START; //start of packet\nprocessRxByteWEn <= 1'b1;"
W 111 32 0 97 227 BEZIER "Transitions" | 66477,135648 66678,131226 66890,120750 67091,116328
W 108 101 0 102 106 BEZIER "Transitions" | 122599,92427 127505,85589 132688,76607 137595,69768
W 107 101 0 105 102 BEZIER "Transitions" | 101111,125648 105710,118844 110572,109896 115171,103091
I 106 101 0 Builtin Exit | 140400,69768
I 105 101 0 Builtin Entry | 97220,125648
L 103 102 0 TEXT "State Labels" | 118810,97708 1 0 0 "DESTUFF\n/6/"
S 102 101 45056 ELLIPSE "States" | 118810,97708 6500 6500
H 101 97 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
A 99 89 4 TEXT "Actions" | 56907,247297 1 0 0 "bitStuffError <= 1'b0;"
W 98 32 8194 89 97 BEZIER "Transitions" | 49942,220803 46756,202617 58189,166563 64651,148377
S 97 32 40964 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 66418,142124 6500 6500
L 96 97 0 TEXT "State Labels" | 66418,142124 1 0 0 "DATA"
H 122 113 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
C 121 118 0 TEXT "Conditions" | 90285,92809 1 0 0 "bitStuffError == 1'b1"
C 120 117 0 TEXT "Conditions" | 17125,90667 1 0 0 "RXBitCount == 4'h8 & bitStuffError == 1'b0"
W 119 32 8195 227 86 BEZIER "Transitions" | 70866,112476 88554,110332 126022,106808 138752,96624\
151482,86440 167580,47791 175352,29567
W 118 32 8194 227 115 BEZIER "Transitions" | 69923,110435 79839,101323 101636,81685 111552,72573
W 117 32 8193 227 113 BEZIER "Transitions" | 65361,109992 60269,101550 49374,82448 44282,74006
W 116 32 0 83 86 BEZIER "Transitions" | 88704,188128 110546,183706 152420,173406 164480,164897\
176540,156388 181096,131196 181431,113977 181766,96758\
182570,51409 180962,29567
S 115 32 53252 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 116374,68216 6500 6500
L 114 115 0 TEXT "State Labels" | 116374,68216 1 0 0 "ERROR"
S 113 32 49156 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 41334,68216 6500 6500
L 112 113 0 TEXT "State Labels" | 41334,68216 1 0 0 "BYTE"
L 143 142 0 TEXT "State Labels" | 68810,217727 1 0 0 "WAIT_RDY\n/8/"
S 142 122 61440 ELLIPSE "States" | 68810,217727 6500 6500
A 141 136 4 TEXT "Actions" | 98360,168539 1 0 0 "processRxByteWEn <= 1'b0;"
W 140 122 0 136 139 BEZIER "Transitions" | 87355,157633 92394,150615 96149,127199 101189,120181
I 139 122 0 Builtin Exit | 103994,120181
I 138 122 0 Builtin Entry | 32350,235287
L 137 136 0 TEXT "State Labels" | 83564,162911 1 0 0 "SEND2\n/7/"
S 136 122 57344 ELLIPSE "States" | 83564,162911 6500 6500
H 129 115 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
W 159 129 0 155 251 BEZIER "Transitions" | 47328,237621 58765,237907 69242,234957 80679,235243
L 156 151 0 TEXT "State Labels" | 70001,162635 1 0 0 "CHK_RES\n/10/"
I 155 129 0 Builtin Entry | 43437,237621
I 154 129 0 Builtin Exit | 115081,122515
W 153 129 0 151 154 BEZIER "Transitions" | 75624,159375 80663,152357 107236,129533 112276,122515
A 152 151 4 TEXT "Actions" | 94367,174643 1 0 0 "processRxByteWEn <= 1'b0;\nif (RxBits == JBit) //if current bit is a JBit, then\n RXBitStMachCurrState <= `IDLE_BIT_ST; //next state is idle\nelse //else\nbegin\n RXBitStMachCurrState <= `WAIT_RESUME_ST; //check for resume\n resumeWaitCnt <= 0; \nend"
S 151 129 65536 ELLIPSE "States" | 70001,162635 6500 6500
A 148 144 16 TEXT "Actions" | 66554,198501 1 0 0 "RXBitCount <= 4'h0;\nRxDataOut <= RXByte; \nRxCtrlOut <= `DATA_STREAM; \nprocessRxByteWEn <= 1'b1;"
W 147 122 0 138 142 BEZIER "Transitions" | 36241,235287 40301,228400 58702,226995 62762,220108
W 144 122 4096 142 136 BEZIER "Transitions" | 70118,211361 75926,204431 73609,174845 79417,167915
I 175 0 130 Builtin OutPort | 78804,245816 "" ""
L 174 175 0 TEXT "Labels" | 84804,245816 1 0 0 "RxCtrlOut[7:0]"
I 173 0 130 Builtin OutPort | 79602,240762 "" ""
L 172 173 0 TEXT "Labels" | 85602,240762 1 0 0 "RxDataOut[7:0]"
I 171 0 2 Builtin OutPort | 78239,230321 "" ""
L 170 171 0 TEXT "Labels" | 84239,230321 1 0 0 "resumeDetected"
A 169 167 4 TEXT "Actions" | 55436,189333 1 0 0 "if (RxBits != KBit) //line must leave KBit state for the end of resume\nbegin\n RXBitStMachCurrState <= `IDLE_BIT_ST;\n resumeDetected <= 1'b0; //clear resume detected flag\nend"
L 168 167 0 TEXT "State Labels" | 117624,117720 1 0 0 "CHK1\n/11/"
S 167 50 69632 ELLIPSE "States" | 117624,117720 6500 6500
I 166 50 0 Builtin Entry | 96034,145660
I 165 50 0 Builtin Exit | 139214,89780
W 164 50 0 166 167 BEZIER "Transitions" | 99925,145660 104656,138676 109248,130084 113979,123100
W 163 50 0 167 165 BEZIER "Transitions" | 121415,112442 126454,105424 131369,96798 136409,89780
A 162 40 4 TEXT "Actions" | 29424,246323 1 0 0 "if (RxBits != KBit) //can only be a resume if line remains in Kbit state\n RXBitStMachCurrState <= `IDLE_BIT_ST;\nelse \nbegin\n resumeWaitCnt <= resumeWaitCnt + 1'b1; \n //if we've waited long enough, then\n if (resumeWaitCnt == `RESUME_WAIT_TIME_MINUS1)\n begin \n RXBitStMachCurrState <= `RESUME_END_WAIT_ST; \n resumeDetected <= 1'b1; //report resume detected\n end\nend"
W 161 32 0 113 86 BEZIER "Transitions" | 45583,63298 57777,53382 79524,32408 93292,27115\
107061,21822 137747,20482 148467,20415 159187,20348\
171381,21420 174463,22458 177545,23497 178090,26035\
178157,27576
W 160 32 0 115 86 BEZIER "Transitions" | 119806,62698 125032,57070 133928,45540 139522,41252\
145117,36964 157043,31068 161599,29627 166155,28187\
172203,29500 175352,29567
A 191 9 4 TEXT "Actions" | 132502,217743 1 0 0 "processRxByteWEn <= 1'b0;\nRxCtrlOut <= 8'h00;\nRxDataOut <= 8'h00;\nresumeDetected <= 1'b0;\nRXBitStMachCurrState <= `IDLE_BIT_ST;\nRxBits <= 2'b00;\nRXSameBitCount <= 4'h0;\nRXBitCount <= 4'h0;\noldRXBits <= 2'b00;\nRXByte <= 8'h00;\nbitStuffError <= 1'b0;\nresumeWaitCnt <= 4'h0;\nprocessRxBitRdy <= 1'b1;"
C 188 13 0 TEXT "Conditions" | 26243,187081 1 0 0 "rst"
I 187 0 2 Builtin InPort | 183608,259648 "" ""
L 186 187 0 TEXT "Labels" | 189608,259648 1 0 0 "rst"
I 185 0 3 Builtin InPort | 183608,264702 "" ""
L 184 185 0 TEXT "Labels" | 189608,264702 1 0 0 "clk"
I 183 0 130 Builtin InPort | 152486,239964 "" ""
L 182 183 0 TEXT "Labels" | 158486,239964 1 0 0 "KBit[1:0]"
I 181 0 2 Builtin InPort | 152486,249540 "" ""
L 180 181 0 TEXT "Labels" | 158486,249540 1 0 0 "processRxBitsWEn"
I 179 0 130 Builtin InPort | 152752,245018 "" ""
L 178 179 0 TEXT "Labels" | 158752,245018 1 0 0 "RxBitsIn[1:0]"
I 177 0 2 Builtin OutPort | 78272,250604 "" ""
L 176 177 0 TEXT "Labels" | 84272,250604 1 0 0 "processRxByteWEn"
I 207 0 2 Builtin Signal | 18806,227486 "" ""
L 206 207 0 TEXT "Labels" | 21806,227486 1 0 0 "bitStuffError"
I 205 0 130 Builtin Signal | 18834,232706 "" ""
L 204 205 0 TEXT "Labels" | 21834,232706 1 0 0 "RXByte[7:0]"
I 203 0 130 Builtin Signal | 18561,238021 "" ""
L 202 203 0 TEXT "Labels" | 21561,238021 1 0 0 "oldRXBits[1:0]"
I 201 0 130 Builtin Signal | 19264,243362 "" ""
L 200 201 0 TEXT "Labels" | 22264,243362 1 0 0 "RXBitCount[3:0]"
I 199 0 130 Builtin Signal | 18422,248742 "" ""
L 198 199 0 TEXT "Labels" | 21422,248742 1 0 0 "RXSameBitCount[3:0]"
I 197 0 130 Builtin Signal | 18422,253264 "" ""
L 196 197 0 TEXT "Labels" | 21422,253264 1 0 0 "RxBits[1:0]"
I 193 0 130 Builtin Signal | 18954,263638 "" ""
L 192 193 0 TEXT "Labels" | 21954,263638 1 0 0 "RXBitStMachCurrState[1:0]"
I 211 0 130 Builtin Signal | 78080,259259 "" ""
L 210 211 0 TEXT "Labels" | 81080,259259 1 0 0 "resumeWaitCnt[3:0]"
L 209 208 0 TEXT "Labels" | 158667,234292 1 0 0 "JBit[1:0]"
I 208 0 130 Builtin InPort | 152667,234292 "" ""
L 212 213 0 TEXT "State Labels" | 42588,157720 1 0 0 "J1"
S 213 6 73748 ELLIPSE "Junction" | 42588,157720 3500 3500
H 214 213 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
I 215 214 0 Builtin Entry | 86360,167640
I 216 214 0 Builtin Exit | 129540,111760
W 217 214 0 215 216 BEZIER "Transitions" | 90251,167640 102382,150340 114603,129061 126735,111760
L 218 219 0 TEXT "State Labels" | 164672,85946 1 0 0 "J2"
S 219 6 77844 ELLIPSE "Junction" | 164672,85946 3500 3500
H 220 219 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
I 221 220 0 Builtin Entry | 86360,167640
I 222 220 0 Builtin Exit | 129540,111760
W 223 220 0 221 222 BEZIER "Transitions" | 90251,167640 102382,150340 114603,129061 126735,111760
L 226 227 0 TEXT "State Labels" | 67386,112844 1 0 0 "J3"
S 227 32 81940 ELLIPSE "Junction" | 67386,112844 3500 3500
H 228 227 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
I 229 228 0 Builtin Entry | 86360,167640
I 230 228 0 Builtin Exit | 129540,111760
W 231 228 0 229 230 BEZIER "Transitions" | 90251,167640 102488,150092 114497,129309 126735,111760
L 232 233 0 TEXT "Labels" | 156002,229172 1 0 0 "processRxBitRdy"
I 233 0 2 Builtin OutPort | 150002,229172 "" ""
A 234 67 16 TEXT "Actions" | 139445,159206 1 0 0 "processRxBitRdy <= 1'b1;"
A 237 102 2 TEXT "Actions" | 25628,249822 1 0 0 "if (RxBits == oldRXBits) //if the current 'RxBits' are the same as the old 'RxBits', then\nbegin\n RXSameBitCount <= RXSameBitCount + 1'b1; //inc 'RXSameBitCount'\n if (RXSameBitCount == `MAX_CONSEC_SAME_BITS) //if 'RXSameBitCount' == 6 there has been a bit stuff error\n bitStuffError <= 1'b1; //flag 'bitStuffError'\n else //else no bit stuffing error\n begin\n RXBitCount <= RXBitCount + 1'b1;\n if (RXBitCount != `MAX_CONSEC_SAME_BITS_PLUS1) begin\n processRxBitRdy <= 1'b1; //early indication of ready\n end\n RXByte <= { 1'b1, RXByte[7:1]}; //RZ bit = 1 (ie no change in 'RxBits')\n end\nend\nelse //else current 'RxBits' are different from old 'RxBits'\nbegin\n if (RXSameBitCount != `MAX_CONSEC_SAME_BITS) //if this is not the RZ 0 bit after 6 consecutive RZ 1s, then\n begin\n RXBi
tCount <= RXBitCount + 1'b1;\n if (RXBitCount != 4'h7) begin\n processRxBitRdy <= 1'b1; //early indication of ready\n end\n RXByte <= {1'b0, RXByte[7:1]}; //RZ bit = 0 (ie current'RxBits' is different than old 'RxBits')\n end\n RXSameBitCount <= 4'h0; //reset 'RXSameBitCount'\nend\noldRXBits <= RxBits;"
L 238 239 0 TEXT "Labels" | 158372,254090 1 0 0 "processRxByteRdy"
I 239 0 2 Builtin InPort | 152372,254090 "" ""
L 240 241 0 TEXT "State Labels" | 127967,178402 1 0 0 "WAIT_PRB_RDY\n/12/"
S 241 17 86016 ELLIPSE "States" | 127967,178402 6500 6500
W 242 17 8193 75 241 BEZIER "Transitions" | 83767,176813 93495,176723 111780,177768 121508,177678
C 243 242 0 TEXT "Conditions" | 86880,174058 1 0 0 "RxBits == KBit"
C 244 76 0 TEXT "Conditions" | 125584,169201 1 0 0 "processRxByteRdy == 1'b1"
L 245 246 0 TEXT "State Labels" | 123442,233426 1 0 0 "WAIT_PRB_RDY\n/13/"
S 246 32 90112 ELLIPSE "States" | 123442,233426 6500 6500
W 247 32 8193 89 246 BEZIER "Transitions" | 58283,227149 73079,228913 102192,230896 116988,232660
C 248 247 0 TEXT "Conditions" | 63893,236141 1 0 0 "RxBits == `SE0"
C 249 91 0 TEXT "Conditions" | 115810,224225 1 0 0 "processRxByteRdy == 1'b1"
L 250 251 0 TEXT "State Labels" | 87178,235174 1 0 0 "WAIT_RDY\n/14/"
S 251 129 94208 ELLIPSE "States" | 87178,235174 6500 6500
W 252 129 0 251 151 BEZIER "Transitions" | 86179,228754 82949,208010 75931,189290 72701,168546
C 253 252 0 TEXT "Conditions" | 86956,225452 1 0 0 "processRxByteRdy == 1'b1"
A 254 252 16 TEXT "Actions" | 67337,205212 1 0 0 "RxDataOut <= 8'h00; //redundant data\nRxCtrlOut <= `DATA_BIT_STUFF_ERROR; \nprocessRxByteWEn <= 1'b1;"
C 255 144 0 TEXT "Conditions" | 72542,211451 1 0 0 "processRxByteRdy == 1'b1"
END