|
Message
From: OpenCores CVS Agent<cvs@o...>
Date: Thu Jan 20 14:47:46 CET 2005
Subject: [cvs-checkins] MODIFIED: usbhostslave ...
Date: 00/05/01 20:14:47 Modified: usbhostslave/RTL/serialInterfaceEngine SIETransmitter.asf SIETransmitter.v lineControlUpdate.v processRxBit.asf processRxBit.v processRxByte.asf processRxByte.v processTxByte.asf processTxByte.v readUSBWireData.v siereceiver.asf siereceiver.v updateCRC16.v updateCRC5.v usbSerialInterfaceEngine.v usbTxWireArbiter.asf usbTxWireArbiter.v writeUSBWireData.v Log: Fixed bus turn-around problems, added version number Revision Changes Path 1.4 +418 -460 usbhostslave/RTL/serialInterfaceEngine/SIETransmitter.asf http://www.opencores.org/cvsweb.shtml/usbhostslave/RTL/serialInterfaceEngine/SIETransmitter.asf.diff?r1=1.3&r2=1.4 (In the diff below, changes in quantity of whitespace are not shown.) Index: SIETransmitter.asf =================================================================== RCS file: /cvsroot/sfielding/usbhostslave/RTL/serialInterfaceEngine/SIETransmitter.asf,v retrieving revision 1.3 retrieving revision 1.4 diff -u -b -r1.3 -r1.4 --- SIETransmitter.asf 31 Dec 2004 14:40:43 -0000 1.3 +++ SIETransmitter.asf 20 Jan 2005 13:45:20 -0000 1.4 @@ -5,8 +5,8 @@ LANGUAGE=VERILOG ENTITY="SIETransmitter" FRAMES=ON -FREEOID=955 -"LIBRARIES=//////////////////////////////////////////////////////////////////////\n//// ////\n//// SIETransmitter\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@b... ////\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// $Id: SIETransmitter.asf,v 1.3 2004/12/31 14:40:43 sfielding Exp $\n//\n// CVS Revision History\n//\n// $Log$\n//\n`timescale 1ns / 1ps\n`include \"usbSerialInterfaceEngine_h.v\"\n`include \"usbConstants_h.v\"\n\n" +FREEOID=957 +"LIBRARIES=//////////////////////////////////////////////////////////////////////\n//// ////\n//// SIETransmitter\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@b... ////\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`include \"usbConstants_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 @@ -36,12 +36,6 @@ GRID=OFF GRIDSIZE 0,0 10000,10000 END -INSTHEADER 216 -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 @@ -121,494 +115,458 @@ GRIDSIZE 0,0 10000,10000 END OBJECTS -S 9 6 0 ELLIPSE "States" | 41526,197822 6500 6500 -L 8 9 0 TEXT "State Labels" | 41526,197822 1 0 0 "START_SIETX\n/22/" -W 545 458 0 530 540 BEZIER "Transitions" | 168710,66267 156425,60534 83183,49066 70898,43333 -C 557 555 0 TEXT "Conditions" | 72988,107460 1 0 0 "USBWireRdy == 1'b1" -A 556 555 16 TEXT "Actions" | 112553,111735 1 0 0 "USBWireData <= JBit;\nUSBWireCtrl <= `TRI_STATE;\nUSBWireWEn <= 1'b1;" -W 555 458 0 543 534 BEZIER "Transitions" | 69825,102352 80940,102469 155253,103091 166368,103208 -A 554 534 4 TEXT "Actions" | 157773,116901 1 0 0 "USBWireWEn <= 1'b0;" -C 553 549 0 TEXT "Conditions" | 134841,94437 1 0 0 "USBWireRdy == 1'b1" -C 552 547 0 TEXT "Conditions" | 72597,69165 1 0 0 "USBWireRdy == 1'b1" -A 550 549 16 TEXT "Actions" | 89913,93969 1 0 0 "USBWireData <= JBit;\nUSBWireCtrl <= `TRI_STATE;\nUSBWireWEn <= 1'b1;" -W 549 458 0 534 532 BEZIER "Transitions" | 166590,101641 155007,95674 81782,81027 70199,75060 -A 548 547 16 TEXT "Actions" | 109101,76185 1 0 0 "USBWireData <= JBit;\nUSBWireCtrl <= `TRI_STATE;\nUSBWireWEn <= 1'b1;" -W 547 458 0 532 530 BEZIER "Transitions" | 71250,71190 82482,70839 157007,69015 168239,68664 -L 544 543 0 TEXT "State Labels" | 63328,102539 1 0 0 "WAIT_WIRE\n/47/" -L 7 6 0 TEXT "Labels" | 57079,207538 1 0 0 "SIETx" -F 6 0 671089152 185 0 RECT 0,0,0 0 0 1 255,255,255 0 | 14988,15700 199488,210298 -G 1 0 0 TEXT 0,0,0 0 0 0 255,255,255 0 3527 1480 0000 0 "Arial" 0 | 93869,266185 1 0 0 "Module: SIETransmitter" -L 10 11 0 TEXT "State Labels" | 41526,175604 1 0 0 "STX_CHK_ST\n/23/" -S 11 6 0 ELLIPSE "States" | 41526,175604 6500 6500 -I 12 6 0 Builtin Reset | 22016,204762 -W 13 6 0 12 9 BEZIER "Transitions" | 22016,204762 26512,204498 31110,200468 35074,198608 -L 15 16 0 TEXT "State Labels" | 115356,124706 1 0 0 "RES_ST" -I 816 0 2 Builtin OutPort | 64372,260578 "" "" -L 817 818 0 TEXT "Labels" | 72692,255938 1 0 0 "processTxByteRdy" -I 818 0 2 Builtin InPort | 66692,255938 "" "" -L 819 820 0 TEXT "Labels" | 70372,251298 1 0 0 "TxByteOut[7:0]" -I 820 0 130 Builtin OutPort | 64372,251298 "" "" -L 821 822 0 TEXT "Labels" | 70372,246658 1 0 0 "TxByteOutCtrl[7:0]" -I 822 0 130 Builtin OutPort | 64372,246658 "" "" -L 823 824 0 TEXT "Labels" | 21604,240596 1 0 0 "USBWireData[1:0]" -I 824 0 130 Builtin OutPort | 15604,240596 "" "" -L 825 826 0 TEXT "Labels" | 21140,235724 1 0 0 "USBWireCtrl" -I 826 0 2 Builtin OutPort | 15372,236188 "" "" -L 827 828 0 TEXT "Labels" | 23692,231780 1 0 0 "USBWireGnt" -I 828 0 2 Builtin InPort | 17692,231780 "" "" -L 829 830 0 TEXT "Labels" | 21372,227372 1 0 0 "USBWireReq" -I 830 0 2 Builtin OutPort | 15372,227372 "" "" L 831 832 0 TEXT "Labels" | 21372,222732 1 0 0 "USBWireWEn" -A 835 9 4 TEXT "Actions" | 153876,205564 1 0 0 "processTxByteWEn <= 1'b0;\nTxByteOut <= 8'h00;\nTxByteOutCtrl <= 8'h00;\nUSBWireData <= 2'b00;\nUSBWireCtrl <= `TRI_STATE;\nUSBWireReq <= 1'b0;\nUSBWireWEn <= 1'b0;\nrstCRC <= 1'b0;\nCRCData <= 8'h00;\nCRC5En <= 1'b0;\nCRC5_8Bit <= 1'b0;\nCRC16En <= 1'b0;\nSIEPortTxRdy <= 1'b0;\nSIEPortData <= 8'h00;\nSIEPortCtrl <= 8'h00;\ni <= 5'h0;" -W 574 458 0 567 543 BEZIER "Transitions" | 44298,153135 48358,141709 56556,119871 60616,108445 -A 563 530 4 TEXT "Actions" | 161517,83673 1 0 0 "USBWireWEn <= 1'b0;" -A 573 567 4 TEXT "Actions" | 56696,160909 1 0 0 "processTxByteWEn <= 1'b0;" -I 572 458 0 Builtin Entry | 44780,253519 -W 571 458 0 572 564 BEZIER "Transitions" | 48542,253519 46980,242300 45702,231079 44140,219860 -C 570 566 0 TEXT "Conditions" | 44385,204992 1 0 0 "processTxByteRdy == 1'b1" -A 569 566 16 TEXT "Actions" | 23113,191369 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= SIEPortData;\nTxByteOutCtrl <= `DATA_STOP;"
-L 568 567 0 TEXT "State Labels" | 42474,159373 1 0 0 "PKT_SENT\n/5/"
-S 567 458 0 ELLIPSE "States" | 42474,159373 6500 6500
-W 566 458 0 564 567 BEZIER "Transitions" | 43356,206909 43221,193222 43084,179535 42949,165848
-L 565 564 0 TEXT "State Labels" | 43751,213384 1 0 0 "WAIT_RDY\n/37/"
-S 564 458 0 ELLIPSE "States" | 43751,213384 6500 6500
-A 562 532 4 TEXT "Actions" | 37965,60741 1 0 0 "USBWireWEn <= 1'b0;"
-S 16 6 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 115356,123104 6500 6500
-H 17 16 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-I 832 0 2 Builtin OutPort | 15372,222732 "" ""
-L 833 834 0 TEXT "Labels" | 23692,218324 1 0 0 "USBWireRdy"
-I 834 0 2 Builtin InPort | 17692,218324 "" ""
-A 836 63 4 TEXT "Actions" | 101212,188184 1 0 0 "SIEPortTxRdy <= 1'b1;"
-L 837 838 0 TEXT "Labels" | 74732,224652 1 0 0 "SIEPortData[7:0]"
-I 838 0 130 Builtin Signal | 71732,224652 "" ""
-L 839 840 0 TEXT "Labels" | 74500,220244 1 0 0 "SIEPortCtrl[7:0]"
-I 840 0 130 Builtin Signal | 71500,220244 "" ""
-L 843 844 0 TEXT "Labels" | 74500,215836 1 0 0 "i[4:0]"
-I 844 0 130 Builtin Signal | 71500,215836 "" ""
-L 845 846 0 TEXT "Labels" | 131108,216932 1 0 0 "KBit[1:0]"
-I 846 0 130 Builtin InPort | 125108,216932 "" ""
+I 830 0 2 Builtin OutPort | 15372,227372 "" ""
+L 829 830 0 TEXT "Labels" | 21372,227372 1 0 0 "USBWireReq"
+I 828 0 2 Builtin InPort | 17692,231780 "" ""
+L 827 828 0 TEXT "Labels" | 23692,231780 1 0 0 "USBWireGnt"
+I 826 0 2 Builtin OutPort | 15372,236188 "" ""
+L 825 826 0 TEXT "Labels" | 21140,235724 1 0 0 "USBWireCtrl"
+I 824 0 130 Builtin OutPort | 15604,240596 "" ""
+L 823 824 0 TEXT "Labels" | 21604,240596 1 0 0 "USBWireData[1:0]"
+I 822 0 130 Builtin OutPort | 64372,246658 "" ""
+L 821 822 0 TEXT "Labels" | 70372,246658 1 0 0 "TxByteOutCtrl[7:0]"
+I 820 0 130 Builtin OutPort | 64372,251298 "" ""
+L 819 820 0 TEXT "Labels" | 70372,251298 1 0 0 "TxByteOut[7:0]"
+I 818 0 2 Builtin InPort | 66692,255938 "" ""
+L 817 818 0 TEXT "Labels" | 72692,255938 1 0 0 "processTxByteRdy"
+I 816 0 2 Builtin OutPort | 64372,260578 "" ""
+L 15 16 0 TEXT "State Labels" | 115356,124706 1 0 0 "RES_ST"
+W 13 6 0 12 9 BEZIER "Transitions" | 22016,204762 26512,204498 31110,200468 35074,198608
+I 12 6 0 Builtin Reset | 22016,204762
+S 11 6 0 ELLIPSE "States" | 41526,175604 6500 6500
+L 10 11 0 TEXT "State Labels" | 41526,175604 1 0 0 "STX_CHK_ST\n/23/"
+G 1 0 0 TEXT 0,0,0 0 0 0 255,255,255 0 3527 1480 0000 0 "Arial" 0 | 93869,266185 1 0 0 "Module: SIETransmitter"
+F 6 0 671089152 185 0 RECT 0,0,0 0 0 1 255,255,255 0 | 14988,15700 199488,210298
+L 7 6 0 TEXT "Labels" | 57079,207538 1 0 0 "SIETx"
+L 544 543 0 TEXT "State Labels" | 63328,102539 1 0 0 "WAIT_WIRE\n/45/"
+W 547 458 0 532 530 BEZIER "Transitions" | 71250,71190 82482,70839 157007,69015 168239,68664
+A 548 547 16 TEXT "Actions" | 109101,76185 1 0 0 "USBWireData <= JBit;\nUSBWireCtrl <= `TRI_STATE;\nUSBWireWEn <= 1'b1;"
+W 549 458 0 534 532 BEZIER "Transitions" | 166590,101641 155007,95674 81782,81027 70199,75060
+A 550 549 16 TEXT "Actions" | 89913,93969 1 0 0 "USBWireData <= JBit;\nUSBWireCtrl <= `TRI_STATE;\nUSBWireWEn <= 1'b1;"
+C 552 547 0 TEXT "Conditions" | 72597,69165 1 0 0 "USBWireRdy == 1'b1"
+C 553 549 0 TEXT "Conditions" | 134841,94437 1 0 0 "USBWireRdy == 1'b1"
+A 554 534 4 TEXT "Actions" | 157773,116901 1 0 0 "USBWireWEn <= 1'b0;"
+W 555 458 0 543 534 BEZIER "Transitions" | 69825,102352 80940,102469 155253,103091 166368,103208
+A 556 555 16 TEXT "Actions" | 112553,111735 1 0 0 "USBWireData <= JBit;\nUSBWireCtrl <= `TRI_STATE;\nUSBWireWEn <= 1'b1;"
+C 557 555 0 TEXT "Conditions" | 72988,107460 1 0 0 "USBWireRdy == 1'b1"
+W 545 458 0 530 540 BEZIER "Transitions" | 168710,66267 156425,60534 83183,49066 70898,43333
+L 8 9 0 TEXT "State Labels" | 41526,197822 1 0 0 "START_SIETX\n/22/"
+S 9 6 0 ELLIPSE "States" | 41526,197822 6500 6500
I 847 0 130 Builtin InPort | 125241,221252 "" ""
-L 309 310 0 TEXT "Labels" | 129515,260188 1 0 0 "rstCRC"
-I 310 0 2 Builtin OutPort | 123515,260188 "" ""
-L 311 312 0 TEXT "Labels" | 129156,255220 1 0 0 "CRCData[7:0]"
-I 312 0 130 Builtin OutPort | 123156,255220 "" ""
-L 313 314 0 TEXT "Labels" | 131655,250603 1 0 0 "CRC5Result[4:0]"
-I 314 0 130 Builtin InPort | 125655,250603 "" ""
-L 315 316 0 TEXT "Labels" | 129509,245629 1 0 0 "CRC5En"
-I 316 0 2 Builtin OutPort | 123509,245629 "" ""
-L 317 318 0 TEXT "Labels" | 129866,241010 1 0 0 "CRC5_8Bit"
-I 318 0 2 Builtin OutPort | 123866,241010 "" ""
-L 319 320 0 TEXT "Labels" | 130127,231343 1 0 0 "CRC16En"
+I 846 0 130 Builtin InPort | 125108,216932 "" ""
+L 845 846 0 TEXT "Labels" | 131108,216932 1 0 0 "KBit[1:0]"
+I 844 0 130 Builtin Signal | 71500,215836 "" ""
+L 843 844 0 TEXT "Labels" | 74500,215836 1 0 0 "i[4:0]"
+I 840 0 130 Builtin Signal | 71500,220244 "" ""
+L 839 840 0 TEXT "Labels" | 74500,220244 1 0 0 "SIEPortCtrl[7:0]"
+I 838 0 130 Builtin Signal | 71732,224652 "" ""
+L 837 838 0 TEXT "Labels" | 74732,224652 1 0 0 "SIEPortData[7:0]"
+A 836 63 4 TEXT "Actions" | 101212,188184 1 0 0 "SIEPortTxRdy <= 1'b1;"
+I 834 0 2 Builtin InPort | 17692,218324 "" ""
+L 833 834 0 TEXT "Labels" | 23692,218324 1 0 0 "USBWireRdy"
+I 832 0 2 Builtin OutPort | 15372,222732 "" ""
+H 17 16 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
+S 16 6 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 115356,123104 6500 6500
+A 562 532 4 TEXT "Actions" | 37965,60741 1 0 0 "USBWireWEn <= 1'b0;"
+S 564 458 0 ELLIPSE "States" | 43751,213384 6500 6500
+L 565 564 0 TEXT "State Labels" | 43751,213384 1 0 0 "WAIT_RDY\n/35/"
+W 566 458 0 564 567 BEZIER "Transitions" | 43356,206909 43221,193222 43084,179535 42949,165848
+S 567 458 0 ELLIPSE "States" | 42474,159373 6500 6500
+L 568 567 0 TEXT "State Labels" | 42474,159373 1 0 0 "PKT_SENT\n/9/"
+A 569 566 16 TEXT "Actions" | 23113,191369 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= SIEPortData;\nTxByteOutCtrl <= `DATA_STOP;"
+C 570 566 0 TEXT "Conditions" | 44385,204992 1 0 0 "processTxByteRdy == 1'b1"
+W 571 458 0 572 564 BEZIER "Transitions" | 48542,253519 46980,242300 45702,231079 44140,219860
+I 572 458 0 Builtin Entry | 44780,253519
+A 573 567 4 TEXT "Actions" | 56696,160909 1 0 0 "processTxByteWEn <= 1'b0;"
+A 563 530 4 TEXT "Actions" | 161517,83673 1 0 0 "USBWireWEn <= 1'b0;"
+W 574 458 0 567 543 BEZIER "Transitions" | 44298,153135 48358,141709 56556,119871 60616,108445
+A 835 9 4 TEXT "Actions" | 153876,205564 1 0 0 "processTxByteWEn <= 1'b0;\nTxByteOut <= 8'h00;\nTxByteOutCtrl <= 8'h00;\nUSBWireData <= 2'b00;\nUSBWireCtrl <= `TRI_STATE;\nUSBWireReq <= 1'b0;\nUSBWireWEn <= 1'b0;\nrstCRC <= 1'b0;\nCRCData <= 8'h00;\nCRC5En <= 1'b0;\nCRC5_8Bit <= 1'b0;\nCRC16En <= 1'b0;\nSIEPortTxRdy <= 1'b0;\nSIEPortData <= 8'h00;\nSIEPortCtrl <= 8'h00;\ni <= 5'h0;"
L 848 847 0 TEXT "Labels" | 131241,221252 1 0 0 "JBit[1:0]"
-I 872 360 0 Builtin Exit | 188676,86316
+L 319 320 0 TEXT "Labels" | 130127,231343 1 0 0 "CRC16En"
+I 318 0 2 Builtin OutPort | 123866,241010 "" ""
+L 317 318 0 TEXT "Labels" | 129866,241010 1 0 0 "CRC5_8Bit"
+I 316 0 2 Builtin OutPort | 123509,245629 "" ""
+L 315 316 0 TEXT "Labels" | 129509,245629 1 0 0 "CRC5En"
+I 314 0 130 Builtin InPort | 125655,250603 "" ""
+L 313 314 0 TEXT "Labels" | 131655,250603 1 0 0 "CRC5Result[4:0]"
+I 312 0 130 Builtin OutPort | 123156,255220 "" ""
+L 311 312 0 TEXT "Labels" | 129156,255220 1 0 0 "CRCData[7:0]"
+I 310 0 2 Builtin OutPort | 123515,260188 "" ""
+L 309 310 0 TEXT "Labels" | 129515,260188 1 0 0 "rstCRC"
+I 606 489 0 Builtin Exit | 138120,51311
+I 599 489 0 Builtin Entry | 81144,219546
+I 324 0 130 Builtin InPort | 126267,236303 "" ""
+L 323 324 0 TEXT "Labels" | 132267,236303 1 0 0 "CRC16Result[15:0]"
+I 320 0 2 Builtin OutPort | 124127,231343 "" ""
+S 63 6 0 ELLIPSE "States" | 112744,173179 6500 6500
+L 62 63 0 TEXT "State Labels" | 113731,172352 1 0 0 "STX_WAIT_BYTE\n/24/"
+C 55 51 0 TEXT "Conditions" | 43286,121215 1 0 0 "SIEPortCtrl == `TX_RESUME_START"
W 51 6 0 11 16 BEZIER "Transitions" | 41219,169119 41353,163357 41254,137442 41790,133556\
42326,129670 44202,125650 52711,124511 61220,123372\
92777,123293 108857,123025
-C 55 51 0 TEXT "Conditions" | 43286,121215 1 0 0 "SIEPortCtrl == `TX_RESUME_START"
-L 62 63 0 TEXT "State Labels" | 113731,172352 1 0 0 "STX_WAIT_BYTE\n/24/"
-S 63 6 0 ELLIPSE "States" | 112744,173179 6500 6500
-I 320 0 2 Builtin OutPort | 124127,231343 "" ""
-L 323 324 0 TEXT "Labels" | 132267,236303 1 0 0 "CRC16Result[15:0]"
-I 324 0 130 Builtin InPort | 126267,236303 "" ""
-I 599 489 0 Builtin Entry | 81144,219546
-I 606 489 0 Builtin Exit | 138120,51311
-W 895 224 8194 891 897 BEZIER "Transitions" | 101794,119505 95833,118125 85494,117151 81290,118312\
- 77086,119473 72191,126878 71751,132901 71312,138925\
- 74451,155618 76866,160637 79282,165657 85808,169046\
- 89165,169297 92522,169548 98692,166980 102143,165788
-C 894 893 0 TEXT "Conditions" | 109367,115011 1 0 0 "i == 5'h7"
-W 893 224 8193 891 909 BEZIER "Transitions" | 107977,115304 108094,108635 108755,97421 108872,90752
-L 892 891 0 TEXT "State Labels" | 107874,121801 1 0 0 "CHK_FIN\n/2/"
-S 891 224 0 ELLIPSE "States" | 107874,121801 6500 6500
-L 890 885 0 TEXT "State Labels" | 60832,129059 1 0 0 "CHK_FIN\n/1/"
-C 889 888 0 TEXT "Conditions" | 62558,122269 1 0 0 "i == 5'h7"
-W 888 217 8193 885 221 BEZIER "Transitions" | 60935,122562 61052,115893 61713,104679 61830,98010
-W 887 217 8194 885 883 BEZIER "Transitions" | 54752,126763 48791,125383 38452,124409 34248,125570\
- 30044,126731 25149,134136 24709,140159 24270,146183\
- 27409,162876 29824,167895 32240,172915 38766,176304\
- 42123,176555 45480,176806 51650,174238 55101,173046
-A 886 885 4 TEXT "Actions" | 76742,138579 1 0 0 "USBWireWEn <= 1'b0;\ni <= i + 1'b1;"
-S 885 217 0 ELLIPSE "States" | 60832,129059 6500 6500
-L 884 883 0 TEXT "State Labels" | 60901,170112 1 0 0 "STX_WAIT_RDY\n/26/"
-S 883 217 0 ELLIPSE "States" | 60901,170112 6500 6500
-C 882 880 0 TEXT "Conditions" | 61330,163577 1 0 0 "USBWireRdy == 1'b1"
-A 881 880 16 TEXT "Actions" | 49805,157344 1 0 0 "USBWireData <= 2'b00;\nUSBWireCtrl <= `TRI_STATE;\nUSBWireWEn <= 1'b1;"
-W 880 217 0 883 885 BEZIER "Transitions" | 60836,163644 60774,157457 60714,141730 60652,135543
-W 65 6 0 63 11 BEZIER "Transitions" | 106255,172815 94419,170798 59299,174571 47927,176730
-C 66 65 0 TEXT "Conditions" | 67688,166172 1 0 0 "SIEPortWEn == 1'b1"
-W 68 6 0 16 911 BEZIER "Transitions" | 120272,118853 129598,109443 150861,93096 161245,86846
-A 78 65 16 TEXT "Actions" | 54348,179673 1 0 0 "SIEPortData <= SIEPortDataIn;\nSIEPortCtrl <= SIEPortCtrlIn;\nSIEPortTxRdy <= 1'b0;"
+I 872 360 0 Builtin Exit | 188676,86316
+S 617 489 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 114123,147554 6500 6500
+H 610 609 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
+S 609 489 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 111818,198264 6500 6500
+L 608 609 0 TEXT "State Labels" | 111818,198264 1 0 0 "PID"
W 351 6 0 911 63 BEZIER "Transitions" | 165111,88472 164661,92612 166410,102460 164070,105655\
161730,108850 152965,112617 149770,115182 146575,117747\
142560,124240 140625,130720 138690,137200 135270,157360\
132480,162850 129690,168340 122852,170455 118982,171355
-L 608 609 0 TEXT "State Labels" | 111818,198264 1 0 0 "PID"
-S 609 489 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 111818,198264 6500 6500
-H 610 609 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-S 617 489 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 114123,147554 6500 6500
-I 909 224 0 Builtin Exit | 108872,88817
-I 908 224 0 Builtin Entry | 85162,237767
-L 907 906 0 TEXT "State Labels" | 100220,209467 1 0 0 "WAIT_GNT\n/33/"
-S 906 224 0 ELLIPSE "States" | 100220,209467 6500 6500
-A 905 904 16 TEXT "Actions" | 90803,229890 1 0 0 "USBWireReq <= 1'b1;"
-W 904 224 0 908 906 BEZIER "Transitions" | 88924,237767 91942,232360 93569,220262 96587,214855
-C 903 902 0 TEXT "Conditions" | 103902,201102 1 0 0 "USBWireGnt == 1'b1"
-W 902 224 0 906 897 BEZIER "Transitions" | 100017,202983 102891,191758 105765,180532 108639,169307
-A 901 899 16 TEXT "Actions" | 96847,150086 1 0 0 "USBWireData <= SIEPortData[1:0];\nUSBWireCtrl <= `DRIVE;\nUSBWireWEn <= 1'b1;"
-C 900 899 0 TEXT "Conditions" | 108372,156319 1 0 0 "USBWireRdy == 1'b1"
-W 899 224 0 897 891 BEZIER "Transitions" | 107878,156386 107816,150199 107756,134472 107694,128285
-L 898 897 0 TEXT "State Labels" | 107943,162854 1 0 0 "WAIT_RDY\n/43/"
-S 897 224 0 ELLIPSE "States" | 107943,162854 6500 6500
-A 896 891 4 TEXT "Actions" | 123784,131321 1 0 0 "USBWireWEn <= 1'b0;\ni <= i + 1'b1;"
+A 78 65 16 TEXT "Actions" | 54348,179673 1 0 0 "SIEPortData <= SIEPortDataIn;\nSIEPortCtrl <= SIEPortCtrlIn;\nSIEPortTxRdy <= 1'b0;"
+W 68 6 0 16 911 BEZIER "Transitions" | 120272,118853 129598,109443 150861,93096 161245,86846
+C 66 65 0 TEXT "Conditions" | 67688,166172 1 0 0 "SIEPortWEn == 1'b1"
+W 65 6 0 63 11 BEZIER "Transitions" | 106255,172815 94419,170798 59299,174571 47927,176730
+S 891 224 0 ELLIPSE "States" | 107874,121801 6500 6500
+L 892 891 0 TEXT "State Labels" | 107874,121801 1 0 0 "CHK_FIN\n/1/"
+W 893 224 8193 891 909 BEZIER "Transitions" | 107977,115304 108094,108635 108755,97421 108872,90752
+C 894 893 0 TEXT "Conditions" | 109367,115011 1 0 0 "i == 5'h7"
+W 895 224 8194 891 897 BEZIER "Transitions" | 101794,119505 95833,118125 85494,117151 81290,118312\
+ 77086,119473 72191,126878 71751,132901 71312,138925\
+ 74451,155618 76866,160637 79282,165657 85808,169046\
+ 89165,169297 92522,169548 98692,166980 102143,165788
+S 911 6 4116 ELLIPSE "Junction" | 164265,85078 3500 3500
+L 910 911 0 TEXT "State Labels" | 164265,85078 1 0 0 "J1"
+C 639 638 0 TEXT "Conditions" | 98125,186740 1 0 0 "processTxByteRdy == 1'b1"
+W 638 610 0 635 641 BEZIER "Transitions" | 97095,188632 96960,174945 96824,161717 96689,148030
+W 637 610 0 636 635 BEZIER "Transitions" | 71380,234686 69818,223467 90464,208437 97872,201588
+I 636 610 0 Builtin Entry | 71380,236621
+S 635 610 0 ELLIPSE "States" | 97491,195105 6500 6500
+L 634 626 0 TEXT "State Labels" | 112740,88546 1 0 0 "CRC"
+S 626 489 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 112740,88546 6500 6500
+H 633 626 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
+L 625 617 0 TEXT "State Labels" | 114123,147554 1 0 0 "BYTE1"
+H 624 617 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
+W 356 6 0 9 63 BEZIER "Transitions" | 48006,198320 68542,191838 89078,185356 109614,178874
+L 358 359 0 TEXT "State Labels" | 116250,97088 1 0 0 "PKT_ST"
+S 359 6 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 116250,97088 6500 6500
+H 360 359 512 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
+I 363 360 0 Builtin Entry | 26888,244668
W 367 6 0 11 359 BEZIER "Transitions" | 41599,169132 41831,151927 41618,118013 42489,108539\
43361,99065 46384,95576 54928,94878 63472,94181\
94207,96080 109784,96428
-I 363 360 0 Builtin Entry | 47792,257148
-H 360 359 512 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-S 359 6 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 116250,97088 6500 6500
-L 358 359 0 TEXT "State Labels" | 116250,97088 1 0 0 "PKT_ST"
-W 356 6 0 9 63 BEZIER "Transitions" | 48006,198320 68542,191838 89078,185356 109614,178874
-H 624 617 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-L 625 617 0 TEXT "State Labels" | 114123,147554 1 0 0 "BYTE1"
-H 633 626 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-S 626 489 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 112740,88546 6500 6500
-L 634 626 0 TEXT "State Labels" | 112740,88546 1 0 0 "CRC"
-S 635 610 0 ELLIPSE "States" | 97491,195105 6500 6500
-I 636 610 0 Builtin Entry | 71380,236621
-W 637 610 0 636 635 BEZIER "Transitions" | 71380,234686 69818,223467 90464,208437 97872,201588
-W 638 610 0 635 641 BEZIER "Transitions" | 97095,188632 96960,174945 96824,161717 96689,148030
-C 639 638 0 TEXT "Conditions" | 98125,186740 1 0 0 "processTxByteRdy == 1'b1"
-L 910 911 0 TEXT "State Labels" | 164265,85078 1 0 0 "J1"
-S 911 6 4116 ELLIPSE "Junction" | 164265,85078 3500 3500
-W 927 360 0 933 929 BEZIER "Transitions" | 144010,222256 143885,215969 143879,198227 143754,191940
-C 924 922 0 TEXT "Conditions" | 97818,190135 1 0 0 "USBWireRdy == 1'b1"
-A 923 922 16 TEXT "Actions" | 93859,209922 1 0 0 "//actively drive the first J bit\nUSBWireData <= JBit; \nUSBWireCtrl <= `DRIVE;\nUSBWireWEn <= 1'b1;"
-W 922 360 0 929 453 BEZIER "Transitions" | 138043,187612 109537,196045 81451,206574 52945,215007
-A 921 893 16 TEXT "Actions" | 106866,104347 1 0 0 "USBWireReq <= 1'b0;"
-A 920 888 16 TEXT "Actions" | 54464,112031 1 0 0 "USBWireReq <= 1'b0;"
-A 917 371 4 TEXT "Actions" | 71825,218040 1 0 0 "i <= 5'h0;"
-A 916 906 4 TEXT "Actions" | 119076,210436 1 0 0 "i <= 5'h0;"
-C 378 377 0 TEXT "Conditions" | 56860,208360 1 0 0 "USBWireGnt == 1'b1"
-W 377 217 0 371 883 BEZIER "Transitions" | 52975,210241 55849,199016 58723,187790 61597,176565
-A 374 373 16 TEXT "Actions" | 43761,237148 1 0 0 "USBWireReq <= 1'b1;"
-W 373 217 0 220 371 BEZIER "Transitions" | 41882,245025 44900,239618 46527,227520 49545,222113
-S 371 217 0 ELLIPSE "States" | 53178,216725 6500 6500
-L 370 371 0 TEXT "State Labels" | 53178,216725 1 0 0 "STX_WAIT_GNT\n/25/"
-C 369 367 0 TEXT "Conditions" | 48825,92438 1 0 0 "SIEPortCtrl == `TX_PACKET_START"
-W 368 6 0 359 911 BEZIER "Transitions" | 122468,95197 131651,92175 151659,88825 160842,85803
-A 640 638 16 TEXT "Actions" | 76852,173362 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= SIEPortData;\nTxByteOutCtrl <= `DATA_STREAM;\nrstCRC <= 1'b1;"
-S 641 610 0 ELLIPSE "States" | 96214,141555 6500 6500
-L 642 641 0 TEXT "State Labels" | 96214,141555 1 0 0 "PKT_SENT\n/7/"
-L 643 635 0 TEXT "State Labels" | 97491,195105 1 0 0 "WAIT_RDY\n/40/"
-A 644 641 4 TEXT "Actions" | 110436,143091 1 0 0 "processTxByteWEn <= 1'b0;\nrstCRC <= 1'b0;"
-I 645 610 0 Builtin Exit | 114540,97930
-W 647 610 0 641 645 BEZIER "Transitions" | 96587,135073 97277,126966 98440,110637 100308,106008\
- 102177,101380 108698,99080 111745,97930
-W 648 489 0 599 609 BEZIER "Transitions" | 84906,219546 91705,215743 99788,205923 106587,202120
-W 649 489 0 609 617 BEZIER "Transitions" | 111887,191768 112232,181972 113177,163821 113522,154025
-W 650 489 0 617 626 BEZIER "Transitions" | 113848,141065 113272,128964 113115,107129 112539,95028
-W 651 489 0 626 606 BEZIER "Transitions" | 115586,82704 120772,74867 130139,59148 135325,51311
-S 652 624 0 ELLIPSE "States" | 91348,185851 6500 6500
-L 653 652 0 TEXT "State Labels" | 91348,185851 1 0 0 "UPD_CRC\n/29/"
-H 912 911 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-I 913 912 0 Builtin Entry | 86360,167640
-I 914 912 0 Builtin Exit | 129540,111760
+A 896 891 4 TEXT "Actions" | 123784,131321 1 0 0 "USBWireWEn <= 1'b0;\ni <= i + 1'b1;"
+S 897 224 0 ELLIPSE "States" | 107943,162854 6500 6500
+L 898 897 0 TEXT "State Labels" | 107943,162854 1 0 0 "WAIT_RDY\n/39/"
+W 899 224 0 897 891 BEZIER "Transitions" | 107878,156386 107816,150199 107756,134472 107694,128285
+C 900 899 0 TEXT "Conditions" | 108372,156319 1 0 0 "USBWireRdy == 1'b1"
+A 901 899 16 TEXT "Actions" | 96847,150086 1 0 0 "USBWireData <= SIEPortData[1:0];\nUSBWireCtrl <= `DRIVE;\nUSBWireWEn <= 1'b1;"
+W 902 224 0 906 897 BEZIER "Transitions" | 100017,202983 102891,191758 105765,180532 108639,169307
+C 903 902 0 TEXT "Conditions" | 103902,201102 1 0 0 "USBWireGnt == 1'b1"
+W 904 224 0 908 906 BEZIER "Transitions" | 88924,237767 91942,232360 93569,220262 96587,214855
+A 905 904 16 TEXT "Actions" | 90803,229890 1 0 0 "USBWireReq <= 1'b1;"
+S 906 224 0 ELLIPSE "States" | 100220,209467 6500 6500
+L 907 906 0 TEXT "State Labels" | 100220,209467 1 0 0 "WAIT_GNT\n/32/"
+I 908 224 0 Builtin Entry | 85162,237767
+I 909 224 0 Builtin Exit | 108872,88817
W 915 912 0 913 914 BEZIER "Transitions" | 90122,167640 102263,150334 114604,129067 126745,111760
-A 937 453 4 TEXT "Actions" | 60460,224205 1 0 0 "USBWireWEn <= 1'b0;\nUSBWireReq <= 1'b0;"
-L 934 933 0 TEXT "State Labels" | 144285,228746 1 0 0 "WAIT_GNT\n/49/"
-S 933 360 12288 ELLIPSE "States" | 144285,228746 6500 6500
-A 932 931 16 TEXT "Actions" | 105661,247407 1 0 0 "USBWireReq <= 1'b1;"
-W 931 360 0 363 933 BEZIER "Transitions" | 51554,257148 80200,248283 109429,239528 138075,230663
-L 930 929 0 TEXT "State Labels" | 144175,185833 1 0 0 "WAIT_RDY_WIRE\n/48/"
-S 929 360 8192 ELLIPSE "States" | 144175,185458 6500 6500
-C 928 927 0 TEXT "Conditions" | 145669,221771 1 0 0 "USBWireGnt == 1'b1"
-S 656 624 0 ELLIPSE "States" | 88966,234486 6500 6500
-L 657 656 0 TEXT "State Labels" | 89953,233659 1 0 0 "WAIT_BYTE\n/31/"
-W 658 624 0 656 952 BEZIER "Transitions" | 89478,228015 72707,215911 56621,202132 39850,190028
-A 659 658 16 TEXT "Actions" | 39361,213175 1 0 0 "SIEPortData <= SIEPortDataIn;\nSIEPortCtrl <= SIEPortCtrlIn;\nSIEPortTxRdy <= 1'b0;"
-C 660 658 0 TEXT "Conditions" | 52953,228497 1 0 0 "SIEPortWEn == 1'b1"
-A 662 656 4 TEXT "Actions" | 107490,236900 1 0 0 "SIEPortTxRdy <= 1'b1;"
-I 663 624 0 Builtin Entry | 59190,254840
-W 664 624 0 663 656 BEZIER "Transitions" | 63260,254840 69355,251390 77619,241763 83714,238313
-W 665 624 0 669 672 BEZIER "Transitions" | 98957,134637 98822,120950 98686,107722 98551,94035
-C 666 665 0 TEXT "Conditions" | 99987,132745 1 0 0 "processTxByteRdy == 1'b1"
-S 669 624 0 ELLIPSE "States" | 99353,141110 6500 6500
+I 914 912 0 Builtin Exit | 129540,111760
+I 913 912 0 Builtin Entry | 86360,167640
+H 912 911 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
+L 653 652 0 TEXT "State Labels" | 91348,185851 1 0 0 "UPD_CRC\n/27/"
+S 652 624 0 ELLIPSE "States" | 91348,185851 6500 6500
+W 651 489 0 626 606 BEZIER "Transitions" | 115586,82704 120772,74867 130139,59148 135325,51311
+W 650 489 0 617 626 BEZIER "Transitions" | 113848,141065 113272,128964 113115,107129 112539,95028
+W 649 489 0 609 617 BEZIER "Transitions" | 111887,191768 112232,181972 113177,163821 113522,154025
+W 648 489 0 599 609 BEZIER "Transitions" | 84906,219546 91705,215743 99788,205923 106587,202120
+W 647 610 0 641 645 BEZIER "Transitions" | 96587,135073 97277,126966 98440,110637 100308,106008\
+ 102177,101380 108698,99080 111745,97930
+I 645 610 0 Builtin Exit | 114540,97930
+A 644 641 4 TEXT "Actions" | 110436,143091 1 0 0 "processTxByteWEn <= 1'b0;\nrstCRC <= 1'b0;"
+L 643 635 0 TEXT "State Labels" | 97491,195105 1 0 0 "WAIT_RDY\n/33/"
+L 642 641 0 TEXT "State Labels" | 96214,141555 1 0 0 "PKT_SENT\n/10/"
+S 641 610 0 ELLIPSE "States" | 96214,141555 6500 6500
+A 640 638 16 TEXT "Actions" | 76852,173362 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= SIEPortData;\nTxByteOutCtrl <= `DATA_STREAM;\nrstCRC <= 1'b1;"
+W 368 6 0 359 911 BEZIER "Transitions" | 122468,95197 131651,92175 151659,88825 160842,85803
+C 369 367 0 TEXT "Conditions" | 48825,92438 1 0 0 "SIEPortCtrl == `TX_PACKET_START"
+A 916 906 4 TEXT "Actions" | 119076,210436 1 0 0 "i <= 5'h0;"
+A 921 893 16 TEXT "Actions" | 106866,104347 1 0 0 "USBWireReq <= 1'b0;"
+I 943 0 2 Builtin InPort | 165188,226482 "" ""
+L 942 943 0 TEXT "Labels" | 171188,226482 1 0 0 "CRC5UpdateRdy"
+C 941 940 0 TEXT "Conditions" | 49910,177844 1 0 0 "CRC5UpdateRdy == 1'b1"
+W 940 633 0 939 680 BEZIER "Transitions" | 45698,178573 56873,179224 77330,179808 88505,180459
+S 939 633 8192 ELLIPSE "States" | 39277,179580 6500 6500
+L 938 939 0 TEXT "State Labels" | 39277,179580 1 0 0 "WAIT_CRC_RDY\n/46/"
+I 671 624 0 Builtin Exit | 116402,43935
W 670 624 0 672 671 BEZIER "Transitions" | 98449,81078 99139,72971 100302,56642 102170,52013\
104039,47385 110550,45085 113597,43935
-I 671 624 0 Builtin Exit | 116402,43935
-L 938 939 0 TEXT "State Labels" | 39277,179580 1 0 0 "WAIT_CRC_RDY\n/50/"
-S 939 633 16384 ELLIPSE "States" | 39277,179580 6500 6500
-W 940 633 0 939 680 BEZIER "Transitions" | 45698,178573 56873,179224 77330,179808 88505,180459
-C 941 940 0 TEXT "Conditions" | 49910,177844 1 0 0 "CRC5UpdateRdy == 1'b1"
-L 942 943 0 TEXT "Labels" | 171188,226482 1 0 0 "CRC5UpdateRdy"
-I 943 0 2 Builtin InPort | 165188,226482 "" ""
-W 404 17 0 411 407 BEZIER "Transitions" | 59469,165399 59407,159212 59347,143485 59285,137298
-A 405 404 16 TEXT "Actions" | 48438,159099 1 0 0 "USBWireData <= KBit;\nUSBWireCtrl <= `DRIVE;\nUSBWireWEn <= 1'b1; \ni <= i + 1'b1;"
-C 406 404 0 TEXT "Conditions" | 59963,165332 1 0 0 "USBWireRdy == 1'b1"
-S 407 17 0 ELLIPSE "States" | 59465,130814 6500 6500
-L 408 407 0 TEXT "State Labels" | 59465,130814 1 0 0 "CHK_FIN\n/0/"
-W 409 17 0 415 411 BEZIER "Transitions" | 59369,208665 59244,202378 59238,184636 59113,178349
-C 410 409 0 TEXT "Conditions" | 61028,208180 1 0 0 "USBWireGnt == 1'b1"
-S 411 17 0 ELLIPSE "States" | 59534,171867 6500 6500
-L 412 411 0 TEXT "State Labels" | 59534,171867 1 0 0 "WAIT_RDY\n/38/"
-W 413 17 0 417 415 BEZIER "Transitions" | 48348,243455 51366,238048 55001,226201 56011,220543
-A 414 413 16 TEXT "Actions" | 50880,235676 1 0 0 "USBWireReq <= 1'b1;\ni <= 5'h0;"
-S 415 17 0 ELLIPSE "States" | 59644,215155 6500 6500
-S 672 624 0 ELLIPSE "States" | 98076,87560 6500 6500
-A 673 672 4 TEXT "Actions" | 112298,89096 1 0 0 "processTxByteWEn <= 1'b0;"
-L 674 669 0 TEXT "State Labels" | 99353,141110 1 0 0 "WAIT_RDY\n/42/"
-L 675 672 0 TEXT "State Labels" | 98076,87560 1 0 0 "PKT_SENT1\n/12/"
-A 676 665 16 TEXT "Actions" | 78714,119367 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= SIEPortData;\nTxByteOutCtrl <= `DATA_STREAM;"
-A 677 652 4 TEXT "Actions" | 110170,186940 1 0 0 "CRCData <= SIEPortData;\nCRC5_8Bit <= 1'b1;\nCRC5En <= 1'b1;"
-W 678 624 0 652 669 BEZIER "Transitions" | 91940,179382 93550,171217 96164,155578 97774,147413
-A 679 669 4 TEXT "Actions" | 117070,144160 1 0 0 "CRC5En <= 1'b0;"
-S 680 633 0 ELLIPSE "States" | 94863,181807 6500 6500
-L 681 680 0 TEXT "State Labels" | 94863,181807 1 0 0 "UPD_CRC\n/27/"
-I 682 633 0 Builtin Exit | 119917,39891
+S 669 624 0 ELLIPSE "States" | 99353,141110 6500 6500
+C 666 665 0 TEXT "Conditions" | 99987,132745 1 0 0 "processTxByteRdy == 1'b1"
+W 665 624 0 669 672 BEZIER "Transitions" | 98957,134637 98822,120950 98686,107722 98551,94035
+W 664 624 0 663 656 BEZIER "Transitions" | 63260,254840 69355,251390 77619,241763 83714,238313
+I 663 624 0 Builtin Entry | 59190,254840
+A 662 656 4 TEXT "Actions" | 107490,236900 1 0 0 "SIEPortTxRdy <= 1'b1;"
+C 660 658 0 TEXT "Conditions" | 52953,228497 1 0 0 "SIEPortWEn == 1'b1"
+A 659 658 16 TEXT "Actions" | 39361,213175 1 0 0 "SIEPortData <= SIEPortDataIn;\nSIEPortCtrl <= SIEPortCtrlIn;\nSIEPortTxRdy <= 1'b0;"
+W 658 624 0 656 952 BEZIER "Transitions" | 89478,228015 72707,215911 56621,202132 39850,190028
+L 657 656 0 TEXT "State Labels" | 89953,233659 1 0 0 "WAIT_BYTE\n/29/"
+S 656 624 0 ELLIPSE "States" | 88966,234486 6500 6500
+W 956 360 0 363 453 BEZIER "Transitions" | 30788,244668 34532,239130 40619,228589 44363,223051
+C 954 953 0 TEXT "Conditions" | 44940,182382 1 0 0 "CRC5UpdateRdy == 1'b1"
+W 953 624 0 952 652 BEZIER "Transitions" | 41843,183928 52367,184199 74470,184214 84994,184485
+S 952 624 16384 ELLIPSE "States" | 35474,185224 6500 6500
+L 951 952 0 TEXT "State Labels" | 35474,185224 1 0 0 "WAIT_CRC_RDY\n/48/"
+C 950 949 0 TEXT "Conditions" | 135665,186735 1 0 0 "CRC16UpdateRdy == 1'b1"
+W 949 734 0 947 736 BEZIER "Transitions" | 154483,194558 140347,189882 115269,177738 101133,173062
+W 948 734 8194 789 947 BEZIER "Transitions" | 96995,194201 111991,195168 138952,197162 153948,198129
+S 947 734 12288 ELLIPSE "States" | 160390,197270 6500 6500
+L 946 947 0 TEXT "State Labels" | 160390,197270 1 0 0 "WAIT_CRC_RDY\n/47/"
+L 945 944 0 TEXT "Labels" | 171012,221724 1 0 0 "CRC16UpdateRdy"
+I 944 0 2 Builtin InPort | 165012,221724 "" ""
+W 687 633 0 688 689 BEZIER "Transitions" | 66467,250796 72562,247346 81134,237719 87229,234269
+C 686 685 0 TEXT "Conditions" | 103502,128701 1 0 0 "processTxByteRdy == 1'b1"
+W 685 633 0 684 699 BEZIER "Transitions" | 102472,130593 102337,116906 102201,103678 102066,89991
+S 684 633 0 ELLIPSE "States" | 102868,137066 6500 6500
W 683 633 0 699 682 BEZIER "Transitions" | 101964,77034 102654,68927 103817,52598 105685,47969\
107554,43341 114075,41041 117122,39891
-S 684 633 0 ELLIPSE "States" | 102868,137066 6500 6500
-W 685 633 0 684 699 BEZIER "Transitions" | 102472,130593 102337,116906 102201,103678 102066,89991
-C 686 685 0 TEXT "Conditions" | 103502,128701 1 0 0 "processTxByteRdy == 1'b1"
-W 687 633 0 688 689 BEZIER "Transitions" | 66467,250796 72562,247346 81134,237719 87229,234269
-I 944 0 2 Builtin InPort | 165012,221724 "" ""
-L 945 944 0 TEXT "Labels" | 171012,221724 1 0 0 "CRC16UpdateRdy"
-L 946 947 0 TEXT "State Labels" | 160390,197270 1 0 0 "WAIT_CRC_RDY\n/51/"
-S 947 734 20480 ELLIPSE "States" | 160390,197270 6500 6500
-W 948 734 8194 789 947 BEZIER "Transitions" | 96995,194201 111991,195168 138952,197162 153948,198129
-W 949 734 0 947 736 BEZIER "Transitions" | 154483,194558 140347,189882 115269,177738 101133,173062
-C 950 949 0 TEXT "Conditions" | 135665,186735 1 0 0 "CRC16UpdateRdy == 1'b1"
-L 951 952 0 TEXT "State Labels" | 35474,185224 1 0 0 "WAIT_CRC_RDY\n/52/"
-S 952 624 24576 ELLIPSE "States" | 35474,185224 6500 6500
-W 953 624 0 952 652 BEZIER "Transitions" | 41843,183928 52367,184199 74470,184214 84994,184485
-C 954 953 0 TEXT "Conditions" | 44940,182382 1 0 0 "CRC5UpdateRdy == 1'b1"
-L 431 432 0 TEXT "State Labels" | 171639,58504 1 0 0 "S5\n/17/"
-S 430 17 0 ELLIPSE "States" | 61659,61312 6500 6500
-L 429 430 0 TEXT "State Labels" | 61659,61312 1 0 0 "S4\n/16/"
-S 428 17 0 ELLIPSE "States" | 169767,93136 6500 6500
-L 427 428 0 TEXT "State Labels" | 169767,93136 1 0 0 "S3\n/15/"
-C 426 425 0 TEXT "Conditions" | 60723,121216 1 0 0 "i == `RESUME_LEN"
-W 425 17 0 407 424 BEZIER "Transitions" | 59198,124338 59315,117669 59604,105482 59721,98813
-L 416 415 0 TEXT "State Labels" | 59644,215155 1 0 0 "WAIT_GNT\n/34/"
-I 417 17 0 Builtin Entry | 44586,243455
-I 418 17 0 Builtin Exit | 145044,30588
-A 420 407 4 TEXT "Actions" | 77715,133314 1 0 0 "USBWireWEn <= 1'b0;"
+I 682 633 0 Builtin Exit | 119917,39891
+L 681 680 0 TEXT "State Labels" | 94863,181807 1 0 0 "UPD_CRC\n/26/"
+S 680 633 0 ELLIPSE "States" | 94863,181807 6500 6500
+A 679 669 4 TEXT "Actions" | 117070,144160 1 0 0 "CRC5En <= 1'b0;"
+W 678 624 0 652 669 BEZIER "Transitions" | 91940,179382 93550,171217 96164,155578 97774,147413
+A 677 652 4 TEXT "Actions" | 110170,186940 1 0 0 "CRCData <= SIEPortData;\nCRC5_8Bit <= 1'b1;\nCRC5En <= 1'b1;"
+A 676 665 16 TEXT "Actions" | 78714,119367 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= SIEPortData;\nTxByteOutCtrl <= `DATA_STREAM;"
+L 675 672 0 TEXT "State Labels" | 98076,87560 1 0 0 "PKT_SENT1\n/12/"
+L 674 669 0 TEXT "State Labels" | 99353,141110 1 0 0 "WAIT_RDY\n/38/"
+A 673 672 4 TEXT "Actions" | 112298,89096 1 0 0 "processTxByteWEn <= 1'b0;"
+S 672 624 0 ELLIPSE "States" | 98076,87560 6500 6500
+S 415 17 0 ELLIPSE "States" | 59644,215155 6500 6500
+A 414 413 16 TEXT "Actions" | 50880,235676 1 0 0 "USBWireReq <= 1'b1;\ni <= 5'h0;"
+W 413 17 0 417 415 BEZIER "Transitions" | 48348,243455 51366,238048 55001,226201 56011,220543
+L 412 411 0 TEXT "State Labels" | 59534,171867 1 0 0 "WAIT_RDY\n/40/"
+S 411 17 0 ELLIPSE "States" | 59534,171867 6500 6500
+C 410 409 0 TEXT "Conditions" | 61028,208180 1 0 0 "USBWireGnt == 1'b1"
+W 409 17 0 415 411 BEZIER "Transitions" | 59369,208665 59244,202378 59238,184636 59113,178349
+L 408 407 0 TEXT "State Labels" | 59465,130814 1 0 0 "CHK_FIN\n/0/"
+S 407 17 0 ELLIPSE "States" | 59465,130814 6500 6500
+C 406 404 0 TEXT "Conditions" | 59963,165332 1 0 0 "USBWireRdy == 1'b1"
+A 405 404 16 TEXT "Actions" | 48438,159099 1 0 0 "USBWireData <= KBit;\nUSBWireCtrl <= `DRIVE;\nUSBWireWEn <= 1'b1; \ni <= i + 1'b1;"
+W 404 17 0 411 407 BEZIER "Transitions" | 59469,165399 59407,159212 59347,143485 59285,137298
+S 703 480 0 ELLIPSE "States" | 69140,212180 6500 6500
+A 702 699 4 TEXT "Actions" | 115813,85052 1 0 0 "processTxByteWEn <= 1'b0;"
+L 701 684 0 TEXT "State Labels" | 102868,137066 1 0 0 "WAIT_RDY\n/37/"
+L 700 699 0 TEXT "State Labels" | 101591,83516 1 0 0 "PKT_SENT\n/5/"
+S 699 633 0 ELLIPSE "States" | 101591,83516 6500 6500
+A 698 685 16 TEXT "Actions" | 82229,115323 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= {~CRC5Result, SIEPortData[2:0] };\nTxByteOutCtrl <= `DATA_STOP;"
+A 697 680 4 TEXT "Actions" | 113685,182896 1 0 0 "CRCData <= SIEPortData;\nCRC5_8Bit <= 1'b0;\nCRC5En <= 1'b1;"
+W 696 633 0 680 684 BEZIER "Transitions" | 95455,175338 97065,167173 99679,151534 101289,143369
+A 695 684 4 TEXT "Actions" | 120585,140116 1 0 0 "CRC5En <= 1'b0;"
+L 694 689 0 TEXT "State Labels" | 93468,229615 1 0 0 "WAIT_BYTE\n/30/"
+A 693 691 16 TEXT "Actions" | 43803,209291 1 0 0 "SIEPortData <= SIEPortDataIn;\nSIEPortCtrl <= SIEPortCtrlIn;\nSIEPortTxRdy <= 1'b0;"
+C 692 691 0 TEXT "Conditions" | 56194,223187 1 0 0 "SIEPortWEn == 1'b1"
+W 691 633 0 689 939 BEZIER "Transitions" | 92993,223971 75388,211318 57781,198664 40176,186011
+A 690 689 4 TEXT "Actions" | 111005,232856 1 0 0 "SIEPortTxRdy <= 1'b1;"
+S 689 633 0 ELLIPSE "States" | 92481,230442 6500 6500
+I 688 633 0 Builtin Entry | 62705,250796
+S 424 17 0 ELLIPSE "States" | 60229,92346 6500 6500
+L 423 424 0 TEXT "State Labels" | 60229,92346 1 0 0 "S1\n/14/"
W 422 17 8194 407 411 BEZIER "Transitions" | 53385,128518 47424,127138 37085,126164 32881,127325\
28677,128486 23782,135891 23342,141914 22903,147938\
26042,164631 28457,169650 30873,174670 37399,178059\
40756,178310 44113,178561 50283,175993 53734,174801
-L 423 424 0 TEXT "State Labels" | 60229,92346 1 0 0 "S1\n/14/"
-S 424 17 0 ELLIPSE "States" | 60229,92346 6500 6500
-I 688 633 0 Builtin Entry | 62705,250796
-S 689 633 0 ELLIPSE "States" | 92481,230442 6500 6500
-A 690 689 4 TEXT "Actions" | 111005,232856 1 0 0 "SIEPortTxRdy <= 1'b1;"
-W 691 633 0 689 939 BEZIER "Transitions" | 92993,223971 75388,211318 57781,198664 40176,186011
-C 692 691 0 TEXT "Conditions" | 56194,223187 1 0 0 "SIEPortWEn == 1'b1"
-A 693 691 16 TEXT "Actions" | 43803,209291 1 0 0 "SIEPortData <= SIEPortDataIn;\nSIEPortCtrl <= SIEPortCtrlIn;\nSIEPortTxRdy <= 1'b0;"
-L 694 689 0 TEXT "State Labels" | 93468,229615 1 0 0 "WAIT_BYTE\n/30/"
-A 695 684 4 TEXT "Actions" | 120585,140116 1 0 0 "CRC5En <= 1'b0;"
-W 696 633 0 680 684 BEZIER "Transitions" | 95455,175338 97065,167173 99679,151534 101289,143369
-A 697 680 4 TEXT "Actions" | 113685,182896 1 0 0 "CRCData <= SIEPortData;\nCRC5_8Bit <= 1'b0;\nCRC5En <= 1'b1;"
-A 698 685 16 TEXT "Actions" | 82229,115323 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= {~CRC5Result, SIEPortData[2:0] };\nTxByteOutCtrl <= `DATA_STOP;"
-S 699 633 0 ELLIPSE "States" | 101591,83516 6500 6500
-L 700 699 0 TEXT "State Labels" | 101591,83516 1 0 0 "PKT_SENT\n/6/"
-L 701 684 0 TEXT "State Labels" | 102868,137066 1 0 0 "WAIT_RDY\n/41/"
-A 702 699 4 TEXT "Actions" | 115813,85052 1 0 0 "processTxByteWEn <= 1'b0;"
-S 703 480 0 ELLIPSE "States" | 69140,212180 6500 6500
-A 447 438 16 TEXT "Actions" | 92898,48208 1 0 0 "USBWireData <= JBit;\nUSBWireCtrl <= `TRI_STATE;\nUSBWireWEn <= 1'b1;"
-A 446 437 16 TEXT "Actions" | 106002,65992 1 0 0 "USBWireData <= JBit;\nUSBWireCtrl <= `DRIVE;\nUSBWireWEn <= 1'b1;"
-A 445 436 16 TEXT "Actions" | 86814,83776 1 0 0 "USBWireData <= `SE0;\nUSBWireCtrl <= `DRIVE;\nUSBWireWEn <= 1'b1;"
-C 444 438 0 TEXT "Conditions" | 142974,49612 1 0 0 "USBWireRdy == 1'b1"
-C 443 437 0 TEXT "Conditions" | 69498,58972 1 0 0 "USBWireRdy == 1'b1"
-C 442 436 0 TEXT "Conditions" | 131742,84244 1 0 0 "USBWireRdy == 1'b1"
-A 441 428 4 TEXT "Actions" | 154674,106708 1 0 0 "USBWireWEn <= 1'b0;"
-A 440 435 16 TEXT "Actions" | 109454,101542 1 0 0 "USBWireData <= `SE0;\nUSBWireCtrl <= `DRIVE;\nUSBWireWEn <= 1'b1;"
-C 439 435 0 TEXT "Conditions" | 69889,97267 1 0 0 "USBWireRdy == 1'b1"
-W 438 17 0 432 434 BEZIER "Transitions" | 165378,56758 153093,51025 79495,38601 67210,32868
-W 437 17 0 430 432 BEZIER "Transitions" | 68151,60997 79383,60646 153908,58822 165140,58471
-W 436 17 0 428 430 BEZIER "Transitions" | 163491,91448 151908,85481 78683,70834 67100,64867
-W 435 17 0 424 428 BEZIER "Transitions" | 66726,92159 77841,92276 152154,92898 163269,93015
-S 434 17 0 ELLIPSE "States" | 61659,29488 6500 6500
-L 433 434 0 TEXT "State Labels" | 61659,29488 1 0 0 "S6\n/18/"
-S 432 17 0 ELLIPSE "States" | 171639,58504 6500 6500
-L 704 703 0 TEXT "State Labels" | 69140,212180 1 0 0 "WAIT_RDY\n/35/"
-W 705 480 0 703 706 BEZIER "Transitions" | 68745,205705 68610,192018 68473,178331 68338,164644
-S 706 480 0 ELLIPSE "States" | 67863,158169 6500 6500
-L 707 706 0 TEXT "State Labels" | 67863,158169 1 0 0 "PKT_SENT\n/10/"
-A 708 705 16 TEXT "Actions" | 48502,190165 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= SIEPortData;\nTxByteOutCtrl <= `DATA_STOP;"
-C 709 705 0 TEXT "Conditions" | 69774,203788 1 0 0 "processTxByteRdy == 1'b1"
-W 710 480 0 711 703 BEZIER "Transitions" | 43257,251308 41695,240089 71091,229875 69529,218656
-I 711 480 0 Builtin Entry | 43257,253243
-A 712 706 4 TEXT "Actions" | 82085,159705 1 0 0 "processTxByteWEn <= 1'b0;"
-I 713 480 0 Builtin Exit | 85376,122104
-W 714 480 0 706 713 BEZIER "Transitions" | 69635,151918 72955,144404 79261,129618 82581,122104
-I 715 471 0 Builtin Exit | 140592,59380
-I 716 471 0 Builtin Entry | 83616,227615
-S 717 471 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 116595,155623 6500 6500
-S 718 471 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 114290,206333 6500 6500
+A 420 407 4 TEXT "Actions" | 77715,133314 1 0 0 "USBWireWEn <= 1'b0;"
+I 418 17 0 Builtin Exit | 145044,30588
+I 417 17 0 Builtin Entry | 44586,243455
+L 416 415 0 TEXT "State Labels" | 59644,215155 1 0 0 "WAIT_GNT\n/31/"
+W 425 17 0 407 424 BEZIER "Transitions" | 59198,124338 59315,117669 59604,105482 59721,98813
+C 426 425 0 TEXT "Conditions" | 60723,121216 1 0 0 "i == `RESUME_LEN"
+L 427 428 0 TEXT "State Labels" | 169767,93136 1 0 0 "S3\n/15/"
+S 428 17 0 ELLIPSE "States" | 169767,93136 6500 6500
+L 429 430 0 TEXT "State Labels" | 61659,61312 1 0 0 "S4\n/16/"
+S 430 17 0 ELLIPSE "States" | 61659,61312 6500 6500
+L 431 432 0 TEXT "State Labels" | 171639,58504 1 0 0 "S5\n/17/"
L 719 718 0 TEXT "State Labels" | 114290,206333 1 0 0 "PID"
-H 458 455 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-S 455 360 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 132272,125032 6500 6500
-L 454 455 0 TEXT "State Labels" | 132272,125032 1 0 0 "SPCL"
-S 453 360 0 ELLIPSE "States" | 46763,217013 6500 6500
-L 452 453 0 TEXT "State Labels" | 46763,217013 1 0 0 "WAIT_RDY_PKT\n/46/"
-W 451 17 0 434 418 BEZIER "Transitions" | 68149,29834 86752,29717 123646,30705 142249,30588
-A 450 434 4 TEXT "Actions" | 48667,24292 1 0 0 "USBWireWEn <= 1'b0;\nUSBWireReq <= 1'b0;"
-A 449 430 4 TEXT "Actions" | 34866,50548 1 0 0 "USBWireWEn <= 1'b0;"
-A 448 432 4 TEXT "Actions" | 158418,73480 1 0 0 "USBWireWEn <= 1'b0;"
-C 188 13 0 TEXT "Conditions" | 25531,201445 1 0 0 "rst"
-I 187 0 2 Builtin InPort | 186243,259666 "" ""
-L 186 187 0 TEXT "Labels" | 192243,259666 1 0 0 "rst"
-I 185 0 3 Builtin InPort | 186136,264720 "" ""
-L 184 185 0 TEXT "Labels" | 192136,264720 1 0 0 "clk"
-H 727 718 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-H 733 720 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-H 734 717 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-S 720 471 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 115212,96615 6500 6500
-L 721 720 0 TEXT "State Labels" | 115212,96615 1 0 0 "CRC"
-L 722 717 0 TEXT "State Labels" | 116595,155623 1 0 0 "DATA"
-W 723 471 0 720 715 BEZIER "Transitions" | 118058,90773 123244,82936 132611,67217 137797,59380
-W 724 471 0 717 720 BEZIER "Transitions" | 116320,149134 115744,137033 115587,115198 115011,103097
-W 725 471 0 718 717 BEZIER "Transitions" | 114359,199837 114704,190041 115649,171890 115994,162094
-W 726 471 0 716 718 BEZIER "Transitions" | 87378,227615 94177,223812 102260,213992 109059,210189
-C 728 729 0 TEXT "Conditions" | 98125,186740 1 0 0 "processTxByteRdy == 1'b1"
-W 729 727 0 732 742 BEZIER "Transitions" | 97095,188632 96960,174945 96824,161717 96689,148030
-W 730 727 0 731 732 BEZIER "Transitions" | 71380,234686 69818,223467 90464,208437 97872,201588
-I 731 727 0 Builtin Entry | 71380,236621
+S 718 471 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 114290,206333 6500 6500
+S 717 471 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 116595,155623 6500 6500
+I 716 471 0 Builtin Entry | 83616,227615
+I 715 471 0 Builtin Exit | 140592,59380
+W 714 480 0 706 713 BEZIER "Transitions" | 69635,151918 72955,144404 79261,129618 82581,122104
+I 713 480 0 Builtin Exit | 85376,122104
+A 712 706 4 TEXT "Actions" | 82085,159705 1 0 0 "processTxByteWEn <= 1'b0;"
+I 711 480 0 Builtin Entry | 43257,253243
+W 710 480 0 711 703 BEZIER "Transitions" | 43257,251308 41695,240089 71091,229875 69529,218656
+C 709 705 0 TEXT "Conditions" | 69774,203788 1 0 0 "processTxByteRdy == 1'b1"
+A 708 705 16 TEXT "Actions" | 48502,190165 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= SIEPortData;\nTxByteOutCtrl <= `DATA_STOP;"
+L 707 706 0 TEXT "State Labels" | 67863,158169 1 0 0 "PKT_SENT\n/6/"
+S 706 480 0 ELLIPSE "States" | 67863,158169 6500 6500
+W 705 480 0 703 706 BEZIER "Transitions" | 68745,205705 68610,192018 68473,178331 68338,164644
+L 704 703 0 TEXT "State Labels" | 69140,212180 1 0 0 "WAIT_RDY\n/36/"
+S 432 17 0 ELLIPSE "States" | 171639,58504 6500 6500
+L 433 434 0 TEXT "State Labels" | 61659,29488 1 0 0 "S6\n/18/"
+S 434 17 0 ELLIPSE "States" | 61659,29488 6500 6500
+W 435 17 0 424 428 BEZIER "Transitions" | 66726,92159 77841,92276 152154,92898 163269,93015
+W 436 17 0 428 430 BEZIER "Transitions" | 163491,91448 151908,85481 78683,70834 67100,64867
+W 437 17 0 430 432 BEZIER "Transitions" | 68151,60997 79383,60646 153908,58822 165140,58471
+W 438 17 0 432 434 BEZIER "Transitions" | 165378,56758 153093,51025 79495,38601 67210,32868
+C 439 435 0 TEXT "Conditions" | 69889,97267 1 0 0 "USBWireRdy == 1'b1"
+A 440 435 16 TEXT "Actions" | 109454,101542 1 0 0 "USBWireData <= `SE0;\nUSBWireCtrl <= `DRIVE;\nUSBWireWEn <= 1'b1;"
+A 441 428 4 TEXT "Actions" | 154674,106708 1 0 0 "USBWireWEn <= 1'b0;"
+C 442 436 0 TEXT "Conditions" | 131742,84244 1 0 0 "USBWireRdy == 1'b1"
+C 443 437 0 TEXT "Conditions" | 69498,58972 1 0 0 "USBWireRdy == 1'b1"
+C 444 438 0 TEXT "Conditions" | 142974,49612 1 0 0 "USBWireRdy == 1'b1"
+A 445 436 16 TEXT "Actions" | 86814,83776 1 0 0 "USBWireData <= `SE0;\nUSBWireCtrl <= `DRIVE;\nUSBWireWEn <= 1'b1;"
+A 446 437 16 TEXT "Actions" | 106002,65992 1 0 0 "USBWireData <= JBit;\nUSBWireCtrl <= `DRIVE;\nUSBWireWEn <= 1'b1;"
+A 447 438 16 TEXT "Actions" | 92898,48208 1 0 0 "USBWireData <= JBit;\nUSBWireCtrl <= `TRI_STATE;\nUSBWireWEn <= 1'b1;"
+L 735 736 0 TEXT "State Labels" | 95348,170101 1 0 0 "UPD_CRC\n/25/"
S 732 727 0 ELLIPSE "States" | 97491,195105 6500 6500
-L 735 736 0 TEXT "State Labels" | 95348,170101 1 0 0 "UPD_CRC\n/28/"
-S 474 360 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 134154,68885 6500 6500
-L 472 465 0 TEXT "State Labels" | 134778,36136 1 0 0 "DATA"
-S 465 360 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 134778,36136 6500 6500
-H 471 465 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-S 736 734 0 ELLIPSE "States" | 95348,170101 6500 6500
+I 731 727 0 Builtin Entry | 71380,236621
+W 730 727 0 731 732 BEZIER "Transitions" | 71380,234686 69818,223467 90464,208437 97872,201588
+W 729 727 0 732 742 BEZIER "Transitions" | 97095,188632 96960,174945 96824,161717 96689,148030
+C 728 729 0 TEXT "Conditions" | 98125,186740 1 0 0 "processTxByteRdy == 1'b1"
+W 726 471 0 716 718 BEZIER "Transitions" | 87378,227615 94177,223812 102260,213992 109059,210189
+W 725 471 0 718 717 BEZIER "Transitions" | 114359,199837 114704,190041 115649,171890 115994,162094
+W 724 471 0 717 720 BEZIER "Transitions" | 116320,149134 115744,137033 115587,115198 115011,103097
+W 723 471 0 720 715 BEZIER "Transitions" | 118058,90773 123244,82936 132611,67217 137797,59380
+L 722 717 0 TEXT "State Labels" | 116595,155623 1 0 0 "DATA"
+L 721 720 0 TEXT "State Labels" | 115212,96615 1 0 0 "CRC"
+S 720 471 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 115212,96615 6500 6500
+H 734 717 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
+H 733 720 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
+H 727 718 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
+L 184 185 0 TEXT "Labels" | 192136,264720 1 0 0 "clk"
+I 185 0 3 Builtin InPort | 186136,264720 "" ""
+L 186 187 0 TEXT "Labels" | 192243,259666 1 0 0 "rst"
+I 187 0 2 Builtin InPort | 186243,259666 "" ""
+C 188 13 0 TEXT "Conditions" | 25531,201445 1 0 0 "rst"
+A 448 432 4 TEXT "Actions" | 158418,73480 1 0 0 "USBWireWEn <= 1'b0;"
+A 449 430 4 TEXT "Actions" | 34866,50548 1 0 0 "USBWireWEn <= 1'b0;"
+A 450 434 4 TEXT "Actions" | 48667,24292 1 0 0 "USBWireWEn <= 1'b0;\nUSBWireReq <= 1'b0;"
+W 451 17 0 434 418 BEZIER "Transitions" | 68149,29834 86752,29717 123646,30705 142249,30588
+L 452 453 0 TEXT "State Labels" | 46763,217013 1 0 0 "WAIT_RDY_PKT\n/44/"
+S 453 360 0 ELLIPSE "States" | 46763,217013 6500 6500
+L 454 455 0 TEXT "State Labels" | 132272,125032 1 0 0 "SPCL"
+S 455 360 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 132272,125032 6500 6500
+H 458 455 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
+A 751 756 4 TEXT "Actions" | 107490,236900 1 0 0 "SIEPortTxRdy <= 1'b1;"
+I 750 734 0 Builtin Entry | 59190,254840
+W 749 734 0 750 756 BEZIER "Transitions" | 62952,254840 69047,251390 77619,241763 83714,238313
+W 748 734 0 746 772 BEZIER "Transitions" | 98957,134637 98822,120950 98686,107722 98551,94035
+C 747 748 0 TEXT "Conditions" | 99987,132745 1 0 0 "processTxByteRdy == 1'b1"
+S 746 734 0 ELLIPSE "States" | 99353,141110 6500 6500
+I 744 734 0 Builtin Exit | 116402,43935
+A 743 729 16 TEXT "Actions" | 76852,173362 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= SIEPortData;\nTxByteOutCtrl <= `DATA_STREAM;\nrstCRC <= 1'b1;"
+S 742 727 0 ELLIPSE "States" | 96214,141555 6500 6500
+L 741 742 0 TEXT "State Labels" | 96214,141555 1 0 0 "PKT_SENT\n/8/"
+L 740 732 0 TEXT "State Labels" | 97491,195105 1 0 0 "WAIT_RDY\n/34/"
+A 739 742 4 TEXT "Actions" | 110436,143091 1 0 0 "processTxByteWEn <= 1'b0;\nrstCRC <= 1'b0;"
+I 738 727 0 Builtin Exit | 114540,97930
W 737 727 0 742 738 BEZIER "Transitions" | 96587,135073 97277,126966 98440,110637 100308,106008\
102177,101380 108698,99080 111745,97930
-I 738 727 0 Builtin Exit | 114540,97930
-A 739 742 4 TEXT "Actions" | 110436,143091 1 0 0 "processTxByteWEn <= 1'b0;\nrstCRC <= 1'b0;"
-L 740 732 0 TEXT "State Labels" | 97491,195105 1 0 0 "WAIT_RDY\n/36/"
-L 741 742 0 TEXT "State Labels" | 96214,141555 1 0 0 "PKT_SENT\n/9/"
-S 742 727 0 ELLIPSE "States" | 96214,141555 6500 6500
-A 743 729 16 TEXT "Actions" | 76852,173362 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= SIEPortData;\nTxByteOutCtrl <= `DATA_STREAM;\nrstCRC <= 1'b1;"
-I 744 734 0 Builtin Exit | 116402,43935
-S 746 734 0 ELLIPSE "States" | 99353,141110 6500 6500
-C 747 748 0 TEXT "Conditions" | 99987,132745 1 0 0 "processTxByteRdy == 1'b1"
-W 748 734 0 746 772 BEZIER "Transitions" | 98957,134637 98822,120950 98686,107722 98551,94035
-W 749 734 0 750 756 BEZIER "Transitions" | 62952,254840 69047,251390 77619,241763 83714,238313
-I 750 734 0 Builtin Entry | 59190,254840
-A 751 756 4 TEXT "Actions" | 107490,236900 1 0 0 "SIEPortTxRdy <= 1'b1;"
-W 495 360 0 453 493 BEZIER "Transitions" | 46368,210538 46233,196851 46096,183164 45961,169477
-S 493 360 0 ELLIPSE "States" | 45486,163002 6500 6500
-L 492 493 0 TEXT "State Labels" | 45486,163002 1 0 0 "CHK_PID\n/3/"
-L 490 483 0 TEXT "State Labels" | 134497,103286 1 0 0 "TKN"
-S 483 360 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 134497,103286 6500 6500
-H 489 483 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-L 481 474 0 TEXT "State Labels" | 134154,68885 1 0 0 "HS"
-H 480 474 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-L 212 213 0 TEXT "State Labels" | 113703,142150 1 0 0 "DIR_CTL"
-S 213 6 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 113934,140548 6500 6500
-L 215 216 0 TEXT "State Labels" | 113402,157040 1 0 0 "IDLE"
-S 216 6 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 113402,157040 6500 6500
-H 217 216 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-I 220 217 0 Builtin Entry | 38120,245025
-I 221 217 0 Builtin Exit | 61830,96075
-C 752 754 0 TEXT "Conditions" | 92034,227575 1 0 0 "SIEPortWEn == 1'b1"
-A 753 754 16 TEXT "Actions" | 69186,217034 1 0 0 "SIEPortData <= SIEPortDataIn;\nSIEPortCtrl <= SIEPortCtrlIn;\nSIEPortTxRdy <= 1'b0;"
-W 754 734 0 756 789 BEZIER "Transitions" | 89129,228010 89081,216045 90467,210855 90419,198890
-L 755 756 0 TEXT "State Labels" | 89953,233659 1 0 0 "WAIT_BYTE\n/32/"
-S 756 734 0 ELLIPSE "States" | 88966,234486 6500 6500
-C 758 759 0 TEXT "Conditions" | 103502,128701 1 0 0 "processTxByteRdy == 1'b1"
-W 759 733 0 760 776 BEZIER "Transitions" | 102472,130593 102337,116906 102201,103678 102066,89991
-S 760 733 0 ELLIPSE "States" | 102868,137066 6500 6500
+S 736 734 0 ELLIPSE "States" | 95348,170101 6500 6500
+H 471 465 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
+S 465 360 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 134778,36136 6500 6500
+L 472 465 0 TEXT "State Labels" | 134778,36136 1 0 0 "DATA"
+S 474 360 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 134154,68885 6500 6500
+A 767 736 4 TEXT "Actions" | 114170,171190 1 0 0 "CRCData <= SIEPortData;\nCRC16En <= 1'b1;"
+W 766 734 0 736 746 BEZIER "Transitions" | 95556,163608 97166,155443 96164,155578 97774,147413
+A 765 746 4 TEXT "Actions" | 117070,144160 1 0 0 "CRC16En <= 1'b0;"
+I 762 733 0 Builtin Exit | 119917,39891
W 761 733 0 776 762 BEZIER "Transitions" | 101964,77034 102654,68927 103817,52598 105685,47969\
107554,43341 114075,41041 117122,39891
-I 762 733 0 Builtin Exit | 119917,39891
-A 765 746 4 TEXT "Actions" | 117070,144160 1 0 0 "CRC16En <= 1'b0;"
-W 766 734 0 736 746 BEZIER "Transitions" | 95556,163608 97166,155443 96164,155578 97774,147413
-A 767 736 4 TEXT "Actions" | 114170,171190 1 0 0 "CRCData <= SIEPortData;\nCRC16En <= 1'b1;"
-C 511 507 0 TEXT "Conditions" | 51054,101600 1 0 0 "SIEPortData[1:0] == `TOKEN"
-C 510 506 0 TEXT "Conditions" | 63617,125837 1 0 0 "SIEPortData[1:0] == `SPECIAL"
-W 509 360 0 493 465 BEZIER "Transitions" | 45611,156504 46243,128295 46932,73331 47880,57961\
- 48829,42592 51359,37532 61605,36267 71852,35002\
- 109061,35775 128289,35775
-W 508 360 0 493 474 BEZIER "Transitions" | 45400,156533 46032,136040 46426,97493 47311,86108\
- 48196,74723 50474,70169 60657,69030 70840,67892\
- 108432,68626 127660,68626
-W 507 360 0 493 483 BEZIER "Transitions" | 45216,156518 45469,145133 45287,123299 46109,116405\
- 46931,109511 49715,104703 60024,103501 70334,102300\
- 108774,103037 128002,103037
-W 506 360 0 493 455 BEZIER "Transitions" | 45177,156529 45177,152608 45034,145689 45666,142780\
- 46299,139871 48829,136075 59202,135063 69575,134052\
- 106314,125693 125795,125567
-A 498 493 4 TEXT "Actions" | 59708,164538 1 0 0 "processTxByteWEn <= 1'b0;"
-A 497 495 16 TEXT "Actions" | 26125,194998 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= `SYNC_BYTE;\nTxByteOutCtrl <= `DATA_START;"
-C 496 495 0 TEXT "Conditions" | 47022,204871 1 0 0 "processTxByteRdy == 1'b1"
-H 224 213 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
-W 231 6 0 11 216 BEZIER "Transitions" | 41320,169131 41386,166461 41370,161119 41770,159283\
- 42170,157448 43639,155445 51849,155011 60059,154577\
- 91249,156261 106935,156394
+S 760 733 0 ELLIPSE "States" | 102868,137066 6500 6500
+W 759 733 0 760 776 BEZIER "Transitions" | 102472,130593 102337,116906 102201,103678 102066,89991
+C 758 759 0 TEXT "Conditions" | 103502,128701 1 0 0 "processTxByteRdy == 1'b1"
+S 756 734 0 ELLIPSE "States" | 88966,234486 6500 6500
+L 755 756 0 TEXT "State Labels" | 89953,233659 1 0 0 "WAIT_BYTE\n/28/"
+W 754 734 0 756 789 BEZIER "Transitions" | 89129,228010 89081,216045 90467,210855 90419,198890
+A 753 754 16 TEXT "Actions" | 69186,217034 1 0 0 "SIEPortData <= SIEPortDataIn;\nSIEPortCtrl <= SIEPortCtrlIn;\nSIEPortTxRdy <= 1'b0;"
+C 752 754 0 TEXT "Conditions" | 92034,227575 1 0 0 "SIEPortWEn == 1'b1"
+S 216 6 0 ELLIPSE "States" | 113402,157040 6500 6500
+L 215 216 0 TEXT "State Labels" | 113402,157040 1 0 0 "IDLE\n/4/"
+S 213 6 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 113934,140548 6500 6500
+L 212 213 0 TEXT "State Labels" | 113703,142150 1 0 0 "DIR_CTL"
+H 480 474 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
+L 481 474 0 TEXT "State Labels" | 134154,68885 1 0 0 "HS"
+H 489 483 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
+S 483 360 4 ELLIPSE 0,0,0 0 0 1 0,255,255 1 | 134497,103286 6500 6500
+L 490 483 0 TEXT "State Labels" | 134497,103286 1 0 0 "TKN"
+L 492 493 0 TEXT "State Labels" | 45486,163002 1 0 0 "CHK_PID\n/2/"
+S 493 360 0 ELLIPSE "States" | 45486,163002 6500 6500
+W 495 360 0 453 493 BEZIER "Transitions" | 46368,210538 46233,196851 46096,183164 45961,169477
+A 777 759 16 TEXT "Actions" | 82229,115323 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= ~CRC16Result[15:8];\nTxByteOutCtrl <= `DATA_STOP;"
+S 776 733 0 ELLIPSE "States" | 101591,83516 6500 6500
+L 775 776 0 TEXT "State Labels" | 101591,83516 1 0 0 "PKT_SENT2\n/13/"
+L 774 760 0 TEXT "State Labels" | 102868,137066 1 0 0 "WAIT_RDY2\n/43/"
+A 773 776 4 TEXT "Actions" | 115813,85052 1 0 0 "processTxByteWEn <= 1'b0;"
+S 772 734 0 ELLIPSE "States" | 98076,87560 6500 6500
+A 771 772 4 TEXT "Actions" | 112298,89096 1 0 0 "processTxByteWEn <= 1'b0;"
+L 770 746 0 TEXT "State Labels" | 99353,141110 1 0 0 "WAIT_RDY\n/41/"
+L 769 772 0 TEXT "State Labels" | 98076,87560 1 0 0 "PKT_SENT\n/7/"
+A 768 748 16 TEXT "Actions" | 78714,119367 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= SIEPortData;\nTxByteOutCtrl <= `DATA_STREAM;"
+W 236 6 0 213 911 BEZIER "Transitions" | 118353,135782 128966,124034 151320,99434 161933,87686
+W 235 6 0 216 911 BEZIER "Transitions" | 117419,151931 129033,135644 150867,104376 162481,88089
+C 234 231 0 TEXT "Conditions" | 59709,153376 1 0 0 "SIEPortCtrl == `TX_IDLE"
+C 233 232 0 TEXT "Conditions" | 46155,137545 1 0 0 "SIEPortCtrl == `TX_DIRECT_CONTROL"
W 232 6 0 11 213 BEZIER "Transitions" | 41377,169111 41443,162637 41370,149971 41770,146133\
42170,142296 43639,139892 51882,139324 60126,138757\
91699,140001 107452,140067
-C 233 232 0 TEXT "Conditions" | 46155,137545 1 0 0 "SIEPortCtrl == `TX_DIRECT_CONTROL"
-C 234 231 0 TEXT "Conditions" | 59709,153376 1 0 0 "SIEPortCtrl == `TX_IDLE"
-W 235 6 0 216 911 BEZIER "Transitions" | 117419,151931 129033,135644 150867,104376 162481,88089
-W 236 6 0 213 911 BEZIER "Transitions" | 118353,135782 128966,124034 151320,99434 161933,87686
-A 768 748 16 TEXT "Actions" | 78714,119367 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= SIEPortData;\nTxByteOutCtrl <= `DATA_STREAM;"
-L 769 772 0 TEXT "State Labels" | 98076,87560 1 0 0 "PKT_SENT\n/8/"
-L 770 746 0 TEXT "State Labels" | 99353,141110 1 0 0 "WAIT_RDY\n/39/"
-A 771 772 4 TEXT "Actions" | 112298,89096 1 0 0 "processTxByteWEn <= 1'b0;"
-S 772 734 0 ELLIPSE "States" | 98076,87560 6500 6500
-A 773 776 4 TEXT "Actions" | 115813,85052 1 0 0 "processTxByteWEn <= 1'b0;"
-L 774 760 0 TEXT "State Labels" | 102868,137066 1 0 0 "WAIT_RDY2\n/45/"
-L 775 776 0 TEXT "State Labels" | 101591,83516 1 0 0 "PKT_SENT2\n/13/"
-S 776 733 0 ELLIPSE "States" | 101591,83516 6500 6500
-A 777 759 16 TEXT "Actions" | 82229,115323 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= ~CRC16Result[15:8];\nTxByteOutCtrl <= `DATA_STOP;"
-W 517 360 0 465 872 BEZIER "Transitions" | 139358,40747 150851,52494 174388,74569 185881,86316
-W 516 360 0 474 872 BEZIER "Transitions" | 140265,71099 152076,75607 174070,81808 185881,86316
-W 515 360 0 483 872 BEZIER "Transitions" | 140706,101366 152453,97810 174134,89872 185881,86316
-W 514 360 0 455 872 BEZIER "Transitions" | 137766,121560 150783,110638 172864,97238 185881,86316
-C 513 509 0 TEXT "Conditions" | 55372,33724 1 0 0 "SIEPortData[1:0] == `DATA"
-C 512 508 0 TEXT "Conditions" | 54864,67310 1 0 0 "SIEPortData[1:0] == `HANDSHAKE"
-I 787 733 0 Builtin Entry | 62705,250796
-L 788 789 0 TEXT "State Labels" | 90750,192400 1 0 0 "CHK_STOP\n/4/"
-S 789 734 0 ELLIPSE "States" | 90750,192400 6500 6500
-W 790 734 8193 789 744 BEZIER "Transitions" | 84430,190883 71180,188633 44000,183400 37625,167025\
- 31250,150650 32250,89650 34750,72525 37250,55400\
- 46250,47900 56000,46150 65750,44400 95896,46012\
- 103573,44899 111250,43786 113107,43935 113607,43935
-C 791 790 0 TEXT "Conditions" | 28148,194956 1 0 0 "SIEPortCtrl == `TX_PACKET_STOP"
+W 231 6 0 11 216 BEZIER "Transitions" | 41320,169131 41386,166461 41370,161119 41770,159283\
+ 42170,157448 43639,155445 51849,155011 60059,154577\
+ 91249,156261 106935,156394
+H 224 213 0 RECT 0,0,0 0 0 1 255,255,255 0 | 15700,15700 200200,263700
+C 496 495 0 TEXT "Conditions" | 47022,204871 1 0 0 "processTxByteRdy == 1'b1"
+A 497 495 16 TEXT "Actions" | 26125,194998 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= `SYNC_BYTE;\nTxByteOutCtrl <= `DATA_START;"
+A 498 493 4 TEXT "Actions" | 59708,164538 1 0 0 "processTxByteWEn <= 1'b0;"
+W 506 360 0 493 455 BEZIER "Transitions" | 45177,156529 45177,152608 45034,145689 45666,142780\
+ 46299,139871 48829,136075 59202,135063 69575,134052\
+ 106314,125693 125795,125567
+W 507 360 0 493 483 BEZIER "Transitions" | 45216,156518 45469,145133 45287,123299 46109,116405\
+ 46931,109511 49715,104703 60024,103501 70334,102300\
+ 108774,103037 128002,103037
+W 508 360 0 493 474 BEZIER "Transitions" | 45400,156533 46032,136040 46426,97493 47311,86108\
+ 48196,74723 50474,70169 60657,69030 70840,67892\
+ 108432,68626 127660,68626
+W 509 360 0 493 465 BEZIER "Transitions" | 45611,156504 46243,128295 46932,73331 47880,57961\
+ 48829,42592 51359,37532 61605,36267 71852,35002\
+ 109061,35775 128289,35775
+C 510 506 0 TEXT "Conditions" | 63617,125837 1 0 0 "SIEPortData[1:0] == `SPECIAL"
+C 511 507 0 TEXT "Conditions" | 51054,101600 1 0 0 "SIEPortData[1:0] == `TOKEN"
+C 799 798 0 TEXT "Conditions" | 99353,221346 1 0 0 "processTxByteRdy == 1'b1"
+W 798 733 0 797 801 BEZIER "Transitions" | 98323,223238 98188,209551 98052,196323 97917,182636
+S 797 733 0 ELLIPSE "States" | 98719,229711 6500 6500
W 795 734 0 772 756 BEZIER "Transitions" | 100994,81753 104106,78392 108938,71609 118897,69430\
128857,67252 162473,65260 171997,66691 181521,68123\
186003,75843 187123,97692 188244,119542 188244,199222\
184384,221196 180525,243170 165087,251388 155563,253628\
146039,255869 123379,256617 115100,254625 106821,252633\
98206,243956 92977,239599
-S 797 733 0 ELLIPSE "States" | 98719,229711 6500 6500
-W 798 733 0 797 801 BEZIER "Transitions" | 98323,223238 98188,209551 98052,196323 97917,182636
-C 799 798 0 TEXT "Conditions" | 99353,221346 1 0 0 "processTxByteRdy == 1'b1"
-S 530 458 0 ELLIPSE "States" | 174738,68697 6500 6500
-L 531 530 0 TEXT "State Labels" | 174738,68697 1 0 0 "SEND_IDLE3\n/21/"
-S 543 458 0 ELLIPSE "States" | 63328,102539 6500 6500
-I 540 458 0 Builtin Exit | 68103,43333
-L 535 534 0 TEXT "State Labels" | 172866,103329 1 0 0 "SEND_IDLE1\n/19/"
-S 534 458 0 ELLIPSE "States" | 172866,103329 6500 6500
-L 533 532 0 TEXT "State Labels" | 64758,71505 1 0 0 "SEND_IDLE2\n/20/"
-S 532 458 0 ELLIPSE "States" | 64758,71505 6500 6500
-A 800 798 16 TEXT "Actions" | 78080,207968 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= ~CRC16Result[7:0];\nTxByteOutCtrl <= `DATA_STREAM;"
-S 801 733 0 ELLIPSE "States" | 97442,176161 6500 6500
-L 802 801 0 TEXT "State Labels" | 97442,176161 1 0 0 "PKT_SENT1\n/11/"
-L 803 797 0 TEXT "State Labels" | 98719,229711 1 0 0 "WAIT_RDY1\n/44/"
-A 804 801 4 TEXT "Actions" | 111664,177697 1 0 0 "processTxByteWEn <= 1'b0;"
-W 805 733 0 787 797 BEZIER "Transitions" | 66467,250796 73606,246725 85810,236773 92949,232702
-W 806 733 0 801 760 BEZIER "Transitions" | 98101,169695 98927,162969 100807,150169 101633,143443
-L 807 808 0 TEXT "Labels" | 24830,264678 1 0 0 "SIEPortWEn"
-I 808 0 2 Builtin InPort | 18830,264678 "" ""
-L 809 810 0 TEXT "Labels" | 22510,259806 1 0 0 "SIEPortTxRdy"
-I 810 0 2 Builtin OutPort | 16510,259806 "" ""
-L 811 812 0 TEXT "Labels" | 24598,255166 1 0 0 "SIEPortDataIn[7:0]"
-I 812 0 130 Builtin InPort | 18598,255166 "" ""
-L 813 814 0 TEXT "Labels" | 25062,250526 1 0 0 "SIEPortCtrlIn[7:0]"
-I 814 0 130 Builtin InPort | 19062,250526 "" ""
+C 791 790 0 TEXT "Conditions" | 28148,194956 1 0 0 "SIEPortCtrl == `TX_PACKET_STOP"
+W 790 734 8193 789 744 BEZIER "Transitions" | 84430,190883 71180,188633 44000,183400 37625,167025\
+ 31250,150650 32250,89650 34750,72525 37250,55400\
+ 46250,47900 56000,46150 65750,44400 95896,46012\
+ 103573,44899 111250,43786 113107,43935 113607,43935
+S 789 734 0 ELLIPSE "States" | 90750,192400 6500 6500
+L 788 789 0 TEXT "State Labels" | 90750,192400 1 0 0 "CHK_STOP\n/3/"
+I 787 733 0 Builtin Entry | 62705,250796
+C 512 508 0 TEXT "Conditions" | 54864,67310 1 0 0 "SIEPortData[1:0] == `HANDSHAKE"
+C 513 509 0 TEXT "Conditions" | 55372,33724 1 0 0 "SIEPortData[1:0] == `DATA"
+W 514 360 0 455 872 BEZIER "Transitions" | 137766,121560 150783,110638 172864,97238 185881,86316
+W 515 360 0 483 872 BEZIER "Transitions" | 140706,101366 152453,97810 174134,89872 185881,86316
+W 516 360 0 474 872 BEZIER "Transitions" | 140265,71099 152076,75607 174070,81808 185881,86316
+W 517 360 0 465 872 BEZIER "Transitions" | 139358,40747 150851,52494 174388,74569 185881,86316
L 815 816 0 TEXT "Labels" | 70372,260578 1 0 0 "processTxByteWEn"
+I 814 0 130 Builtin InPort | 19062,250526 "" ""
+L 813 814 0 TEXT "Labels" | 25062,250526 1 0 0 "SIEPortCtrlIn[7:0]"
+I 812 0 130 Builtin InPort | 18598,255166 "" ""
+L 811 812 0 TEXT "Labels" | 24598,255166 1 0 0 "SIEPortDataIn[7:0]"
+I 810 0 2 Builtin OutPort | 16510,259806 "" ""
+L 809 810 0 TEXT "Labels" | 22510,259806 1 0 0 "SIEPortTxRdy"
+I 808 0 2 Builtin InPort | 18830,264678 "" ""
+L 807 808 0 TEXT "Labels" | 24830,264678 1 0 0 "SIEPortWEn"
+W 806 733 0 801 760 BEZIER "Transitions" | 98101,169695 98927,162969 100807,150169 101633,143443
+W 805 733 0 787 797 BEZIER "Transitions" | 66467,250796 73606,246725 85810,236773 92949,232702
+A 804 801 4 TEXT "Actions" | 111664,177697 1 0 0 "processTxByteWEn <= 1'b0;"
+L 803 797 0 TEXT "State Labels" | 98719,229711 1 0 0 "WAIT_RDY1\n/42/"
+L 802 801 0 TEXT "State Labels" | 97442,176161 1 0 0 "PKT_SENT1\n/11/"
+S 801 733 0 ELLIPSE "States" | 97442,176161 6500 6500
+A 800 798 16 TEXT "Actions" | 78080,207968 1 0 0 "processTxByteWEn <= 1'b1;\nTxByteOut <= ~CRC16Result[7:0];\nTxByteOutCtrl <= `DATA_STREAM;"
+S 532 458 0 ELLIPSE "States" | 64758,71505 6500 6500
+L 533 532 0 TEXT "State Labels" | 64758,71505 1 0 0 "SEND_IDLE2\n/20/"
+S 534 458 0 ELLIPSE "States" | 172866,103329 6500 6500
+L 535 534 0 TEXT "State Labels" | 172866,103329 1 0 0 "SEND_IDLE1\n/19/"
+I 540 458 0 Builtin Exit | 68103,43333
+S 543 458 0 ELLIPSE "States" | 63328,102539 6500 6500
+L 531 530 0 TEXT "State Labels" | 174738,68697 1 0 0 "SEND_IDLE3\n/21/"
+S 530 458 0 ELLIPSE "States" | 174738,68697 6500 6500
END
1.4 +50 -110 usbhostslave/RTL/serialInterfaceEngine/SIETransmitter.v
http://www.opencores.org/cvsweb.shtml/usbhostslave/RTL/serialInterfaceEngine/SIETransmitter.v.diff?r1=1.3&r2=1.4
(In the diff below, changes in quantity of whitespace are not shown.)
Index: SIETransmitter.v
===================================================================
RCS file: /cvsroot/sfielding/usbhostslave/RTL/serialInterfaceEngine/SIETransmitter.v,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- SIETransmitter.v 31 Dec 2004 14:40:43 -0000 1.3
+++ SIETransmitter.v 20 Jan 2005 13:45:25 -0000 1.4
@@ -42,15 +42,6 @@
//// ////
//////////////////////////////////////////////////////////////////////
//
-// $Id: SIETransmitter.v,v 1.3 2004/12/31 14:40:43 sfielding Exp $
-//
-// CVS Revision History
-//
-// $Log: SIETransmitter.v,v $
-// Revision 1.3 2004/12/31 14:40:43 sfielding
-// Fixed some blocking assignments, changed module name, fixed SOF_TX_TIME
-//
-//
`timescale 1ns / 1ps
`include "usbSerialInterfaceEngine_h.v"
`include "usbConstants_h.v"
@@ -121,16 +112,16 @@
// BINARY ENCODED state machine: SIETx
// State codes definitions:
`define RES_ST_CHK_FIN 6'b000000
-`define IDLE_CHK_FIN 6'b000001
-`define DIR_CTL_CHK_FIN 6'b000010
-`define PKT_ST_CHK_PID 6'b000011
-`define PKT_ST_DATA_DATA_CHK_STOP 6'b000100
-`define PKT_ST_SPCL_PKT_SENT 6'b000101
-`define PKT_ST_TKN_CRC_PKT_SENT 6'b000110
-`define PKT_ST_TKN_PID_PKT_SENT 6'b000111
-`define PKT_ST_DATA_DATA_PKT_SENT 6'b001000
-`define PKT_ST_DATA_PID_PKT_SENT 6'b001001
-`define PKT_ST_HS_PKT_SENT 6'b001010
+`define DIR_CTL_CHK_FIN 6'b000001
+`define PKT_ST_CHK_PID 6'b000010
+`define PKT_ST_DATA_DATA_CHK_STOP 6'b000011
+`define IDLE 6'b000100
+`define PKT_ST_TKN_CRC_PKT_SENT 6'b000101
+`define PKT_ST_HS_PKT_SENT 6'b000110
+`define PKT_ST_DATA_DATA_PKT_SENT 6'b000111
+`define PKT_ST_DATA_PID_PKT_SENT 6'b001000
+`define PKT_ST_SPCL_PKT_SENT 6'b001001
+`define PKT_ST_TKN_PID_PKT_SENT 6'b001010
`define PKT_ST_DATA_CRC_PKT_SENT1 6'b001011
`define PKT_ST_TKN_BYTE1_PKT_SENT1 6'b001100
`define PKT_ST_DATA_CRC_PKT_SENT2 6'b001101
@@ -145,34 +136,30 @@
`define START_SIETX 6'b010110
`define STX_CHK_ST 6'b010111
`define STX_WAIT_BYTE 6'b011000
-`define IDLE_STX_WAIT_GNT 6'b011001
-`define IDLE_STX_WAIT_RDY 6'b011010
-`define PKT_ST_TKN_CRC_UPD_CRC 6'b011011
-`define PKT_ST_DATA_DATA_UPD_CRC 6'b011100
-`define PKT_ST_TKN_BYTE1_UPD_CRC 6'b011101
+`define PKT_ST_DATA_DATA_UPD_CRC 6'b011001
+`define PKT_ST_TKN_CRC_UPD_CRC 6'b011010
+`define PKT_ST_TKN_BYTE1_UPD_CRC 6'b011011
+`define PKT_ST_DATA_DATA_WAIT_BYTE 6'b011100
+`define PKT_ST_TKN_BYTE1_WAIT_BYTE 6'b011101
`define PKT_ST_TKN_CRC_WAIT_BYTE 6'b011110
-`define PKT_ST_TKN_BYTE1_WAIT_BYTE 6'b011111
-`define PKT_ST_DATA_DATA_WAIT_BYTE 6'b100000
-`define DIR_CTL_WAIT_GNT 6'b100001
-`define RES_ST_WAIT_GNT 6'b100010
-`define PKT_ST_HS_WAIT_RDY 6'b100011
-`define PKT_ST_DATA_PID_WAIT_RDY 6'b100100
-`define PKT_ST_SPCL_WAIT_RDY 6'b100101
-`define RES_ST_WAIT_RDY 6'b100110
-`define PKT_ST_DATA_DATA_WAIT_RDY 6'b100111
-`define PKT_ST_TKN_PID_WAIT_RDY 6'b101000
-`define PKT_ST_TKN_CRC_WAIT_RDY 6'b101001
-`define PKT_ST_TKN_BYTE1_WAIT_RDY 6'b101010
-`define DIR_CTL_WAIT_RDY 6'b101011
-`define PKT_ST_DATA_CRC_WAIT_RDY1 6'b101100
-`define PKT_ST_DATA_CRC_WAIT_RDY2 6'b101101
-`define PKT_ST_WAIT_RDY_PKT 6'b101110
-`define PKT_ST_SPCL_WAIT_WIRE 6'b101111
-`define PKT_ST_WAIT_RDY_WIRE 6'b110000
-`define PKT_ST_WAIT_GNT 6'b110001
-`define PKT_ST_TKN_CRC_WAIT_CRC_RDY 6'b110010
-`define PKT_ST_DATA_DATA_WAIT_CRC_RDY 6'b110011
-`define PKT_ST_TKN_BYTE1_WAIT_CRC_RDY 6'b110100
+`define RES_ST_WAIT_GNT 6'b011111
+`define DIR_CTL_WAIT_GNT 6'b100000
+`define PKT_ST_TKN_PID_WAIT_RDY 6'b100001
+`define PKT_ST_DATA_PID_WAIT_RDY 6'b100010
+`define PKT_ST_SPCL_WAIT_RDY 6'b100011
+`define PKT_ST_HS_WAIT_RDY 6'b100100
+`define PKT_ST_TKN_CRC_WAIT_RDY 6'b100101
+`define PKT_ST_TKN_BYTE1_WAIT_RDY 6'b100110
+`define DIR_CTL_WAIT_RDY 6'b100111
+`define RES_ST_WAIT_RDY 6'b101000
+`define PKT_ST_DATA_DATA_WAIT_RDY 6'b101001
+`define PKT_ST_DATA_CRC_WAIT_RDY1 6'b101010
+`define PKT_ST_DATA_CRC_WAIT_RDY2 6'b101011
+`define PKT_ST_WAIT_RDY_PKT 6'b101100
+`define PKT_ST_SPCL_WAIT_WIRE 6'b101101
+`define PKT_ST_TKN_CRC_WAIT_CRC_RDY 6'b101110
+`define PKT_ST_DATA_DATA_WAIT_CRC_RDY 6'b101111
+`define PKT_ST_TKN_BYTE1_WAIT_CRC_RDY 6'b110000
reg [5:0]CurrState_SIETx, NextState_SIETx;
@@ -180,7 +167,7 @@
// Machine: SIETx
// NextState logic (combinatorial)
-always @ (i or SIEPortData or SIEPortCtrl or USBWireRdy or JBit or SIEPortWEn or SIEPortDataIn or SIEPortCtrlIn or USBWireGnt or processTxByteRdy or KBit or CRC5Result or CRC16Result or CRC5UpdateRdy or CRC16UpdateRdy or USBWireWEn or USBWireReq or processTxByteWEn or rstCRC or USBWireData or USBWireCtrl or TxByteOut or TxByteOutCtrl or CRCData or CRC5En or CRC5_8Bit or CRC16En or SIEPortTxRdy or CurrState_SIETx)
+always @ (i or SIEPortData or SIEPortCtrl or USBWireRdy or JBit or SIEPortWEn or SIEPortDataIn or SIEPortCtrlIn or USBWireGnt or processTxByteRdy or CRC5Result or KBit or CRC16Result or CRC5UpdateRdy or CRC16UpdateRdy or USBWireWEn or USBWireReq or processTxByteWEn or rstCRC or USBWireData or USBWireCtrl or TxByteOut or TxByteOutCtrl or CRCData or CRC5En or CRC5_8Bit or CRC16En or SIEPortTxRdy or CurrState_SIETx)
begin
NextState_SIETx <= CurrState_SIETx;
// Set default values for outputs and signals
@@ -201,6 +188,10 @@
next_SIEPortData <= SIEPortData;
next_SIEPortCtrl <= SIEPortCtrl;
case (CurrState_SIETx) // synopsys parallel_case full_case
+ `IDLE:
+ begin
+ NextState_SIETx <= `STX_WAIT_BYTE;
+ end
`START_SIETX:
begin
next_processTxByteWEn <= 1'b0;
@@ -225,19 +216,17 @@
begin
if (SIEPortCtrl == `TX_PACKET_START)
begin
- NextState_SIETx <= `PKT_ST_WAIT_GNT;
- next_USBWireReq <= 1'b1;
- end
- else if (SIEPortCtrl == `TX_IDLE)
- begin
- NextState_SIETx <= `IDLE_STX_WAIT_GNT;
- next_USBWireReq <= 1'b1;
+ NextState_SIETx <= `PKT_ST_WAIT_RDY_PKT;
end
else if (SIEPortCtrl == `TX_DIRECT_CONTROL)
begin
NextState_SIETx <= `DIR_CTL_WAIT_GNT;
next_USBWireReq <= 1'b1;
end
+ else if (SIEPortCtrl == `TX_IDLE)
+ begin
+ NextState_SIETx <= `IDLE;
+ end
else if (SIEPortCtrl == `TX_RESUME_START)
begin
NextState_SIETx <= `RES_ST_WAIT_GNT;
@@ -288,62 +277,28 @@
next_USBWireWEn <= 1'b1;
end
end
- `IDLE_CHK_FIN:
- begin
- next_USBWireWEn <= 1'b0;
- next_i <= i + 1'b1;
- if (i == 5'h7)
- begin
- NextState_SIETx <= `STX_WAIT_BYTE;
- next_USBWireReq <= 1'b0;
- end
- else
- begin
- NextState_SIETx <= `IDLE_STX_WAIT_RDY;
- end
- end
- `IDLE_STX_WAIT_GNT:
- begin
- next_i <= 5'h0;
- if (USBWireGnt == 1'b1)
- begin
- NextState_SIETx <= `IDLE_STX_WAIT_RDY;
- end
- end
- `IDLE_STX_WAIT_RDY:
- begin
- if (USBWireRdy == 1'b1)
- begin
- NextState_SIETx <= `IDLE_CHK_FIN;
- next_USBWireData <= 2'b00;
- next_USBWireCtrl <= `TRI_STATE;
- next_USBWireWEn <= 1'b1;
- end
- end
`PKT_ST_CHK_PID:
begin
next_processTxByteWEn <= 1'b0;
- if (SIEPortData[1:0] == `HANDSHAKE)
- begin
- NextState_SIETx <= `PKT_ST_HS_WAIT_RDY;
- end
- else if (SIEPortData[1:0] == `TOKEN)
+ if (SIEPortData[1:0] == `TOKEN)
begin
NextState_SIETx <= `PKT_ST_TKN_PID_WAIT_RDY;
end
- else if (SIEPortData[1:0] == `SPECIAL)
+ else if (SIEPortData[1:0] == `HANDSHAKE)
begin
- NextState_SIETx <= `PKT_ST_SPCL_WAIT_RDY;
+ NextState_SIETx <= `PKT_ST_HS_WAIT_RDY;
end
else if (SIEPortData[1:0] == `DATA)
begin
NextState_SIETx <= `PKT_ST_DATA_PID_WAIT_RDY;
end
+ else if (SIEPortData[1:0] == `SPECIAL)
+ begin
+ NextState_SIETx <= `PKT_ST_SPCL_WAIT_RDY;
+ end
end
`PKT_ST_WAIT_RDY_PKT:
begin
- next_USBWireWEn <= 1'b0;
- next_USBWireReq <= 1'b0;
if (processTxByteRdy == 1'b1)
begin
NextState_SIETx <= `PKT_ST_CHK_PID;
@@ -352,24 +307,6 @@
next_TxByteOutCtrl <= `DATA_START;
end
end
- `PKT_ST_WAIT_RDY_WIRE:
- begin
- if (USBWireRdy == 1'b1)
- begin
- NextState_SIETx <= `PKT_ST_WAIT_RDY_PKT;
- //actively drive the first J bit
- next_USBWireData <= JBit;
- next_USBWireCtrl <= `DRIVE;
- next_USBWireWEn <= 1'b1;
- end
- end
- `PKT_ST_WAIT_GNT:
- begin
- if (USBWireGnt == 1'b1)
- begin
- NextState_SIETx <= `PKT_ST_WAIT_RDY_WIRE;
- end
- end
`PKT_ST_DATA_CRC_PKT_SENT1:
begin
next_processTxByteWEn <= 1'b0;
1.3 +1 -10 usbhostslave/RTL/serialInterfaceEngine/lineControlUpdate.v
http://www.opencores.org/cvsweb.shtml/usbhostslave/RTL/serialInterfaceEngine/lineControlUpdate.v.diff?r1=1.2&r2=1.3
(In the diff below, changes in quantity of whitespace are not shown.)
Index: lineControlUpdate.v
===================================================================
RCS file: /cvsroot/sfielding/usbhostslave/RTL/serialInterfaceEngine/lineControlUpdate.v,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- lineControlUpdate.v 18 Dec 2004 14:36:15 -0000 1.2
+++ lineControlUpdate.v 20 Jan 2005 13:45:26 -0000 1.3
@@ -41,20 +41,8 @@
//// ////
//////////////////////////////////////////////////////////////////////
//
-// $Id: lineControlUpdate.v,v 1.2 2004/12/18 14:36:15 sfielding Exp $
-//
-// CVS Revision History
-//
-// $Log: lineControlUpdate.v,v $
-// Revision 1.2 2004/12/18 14:36:15 sfielding
-// Removed html documentation
-//
-// Revision 1.1.1.1 2004/10/11 04:00:57 sfielding
-// Created
-//
-//
-
`timescale 1ns / 1ps
+
`include "usbSerialInterfaceEngine_h.v"
module lineControlUpdate(fullSpeedPolarity, fullSpeedBitRate, JBit, KBit);
1.4 +1 -1 usbhostslave/RTL/serialInterfaceEngine/processRxBit.asf
http://www.opencores.org/cvsweb.shtml/usbhostslave/RTL/serialInterfaceEngine/processRxBit.asf.diff?r1=1.3&r2=1.4
(In the diff below, changes in quantity of whitespace are not shown.)
Index: processRxBit.asf
===================================================================
RCS file: /cvsroot/sfielding/usbhostslave/RTL/serialInterfaceEngine/processRxBit.asf,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- processRxBit.asf 31 Dec 2004 14:40:43 -0000 1.3
+++ processRxBit.asf 20 Jan 2005 13:45:26 -0000 1.4
@@ -6,7 +6,7 @@
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@b... ////\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// $Id: processRxBit.asf,v 1.3 2004/12/31 14:40:43 sfielding Exp $\n//\n// CVS Revision History\n//\n// $Log$\n//\n`timescale 1ns / 1ps\n`include \"usbSerialInterfaceEngine_h.v\"\n\n"
+"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@b... ////\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, |