//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//// ////
|
//// ////
|
//// usbSerialInterfaceEngine.v ////
|
//// usbSerialInterfaceEngine.v ////
|
//// ////
|
//// ////
|
//// This file is part of the usbhostslave opencores effort.
|
//// This file is part of the usbhostslave opencores effort.
|
//// <http://www.opencores.org/cores//> ////
|
//// <http://www.opencores.org/cores//> ////
|
//// ////
|
//// ////
|
//// Module Description: ////
|
//// Module Description: ////
|
////
|
////
|
//// ////
|
//// ////
|
//// To Do: ////
|
//// To Do: ////
|
////
|
////
|
//// ////
|
//// ////
|
//// Author(s): ////
|
//// Author(s): ////
|
//// - Steve Fielding, sfielding@base2designs.com ////
|
//// - Steve Fielding, sfielding@base2designs.com ////
|
//// ////
|
//// ////
|
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//// ////
|
//// ////
|
//// Copyright (C) 2004 Steve Fielding and OPENCORES.ORG ////
|
//// Copyright (C) 2004 Steve Fielding and OPENCORES.ORG ////
|
//// ////
|
//// ////
|
//// This source file may be used and distributed without ////
|
//// This source file may be used and distributed without ////
|
//// restriction provided that this copyright statement is not ////
|
//// restriction provided that this copyright statement is not ////
|
//// removed from the file and that any derivative work contains ////
|
//// removed from the file and that any derivative work contains ////
|
//// the original copyright notice and the associated disclaimer. ////
|
//// the original copyright notice and the associated disclaimer. ////
|
//// ////
|
//// ////
|
//// This source file is free software; you can redistribute it ////
|
//// This source file is free software; you can redistribute it ////
|
//// and/or modify it under the terms of the GNU Lesser General ////
|
//// and/or modify it under the terms of the GNU Lesser General ////
|
//// Public License as published by the Free Software Foundation; ////
|
//// Public License as published by the Free Software Foundation; ////
|
//// either version 2.1 of the License, or (at your option) any ////
|
//// either version 2.1 of the License, or (at your option) any ////
|
//// later version. ////
|
//// later version. ////
|
//// ////
|
//// ////
|
//// This source is distributed in the hope that it will be ////
|
//// This source is distributed in the hope that it will be ////
|
//// useful, but WITHOUT ANY WARRANTY; without even the implied ////
|
//// useful, but WITHOUT ANY WARRANTY; without even the implied ////
|
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
|
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
|
//// PURPOSE. See the GNU Lesser General Public License for more ////
|
//// PURPOSE. See the GNU Lesser General Public License for more ////
|
//// details. ////
|
//// details. ////
|
//// ////
|
//// ////
|
//// You should have received a copy of the GNU Lesser General ////
|
//// You should have received a copy of the GNU Lesser General ////
|
//// Public License along with this source; if not, download it ////
|
//// Public License along with this source; if not, download it ////
|
//// from <http://www.opencores.org/lgpl.shtml> ////
|
//// from <http://www.opencores.org/lgpl.shtml> ////
|
//// ////
|
//// ////
|
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//
|
//
|
`timescale 1ns / 1ps
|
`timescale 1ns / 1ps
|
|
|
module usbSerialInterfaceEngine(
|
module usbSerialInterfaceEngine(
|
clk, rst,
|
clk, rst,
|
//readUSBWireData
|
//readUSBWireData
|
USBWireDataIn,
|
USBWireDataIn,
|
USBWireDataInTick,
|
USBWireDataInTick,
|
//writeUSBWireData
|
//writeUSBWireData
|
USBWireDataOut,
|
USBWireDataOut,
|
USBWireCtrlOut,
|
USBWireCtrlOut,
|
USBWireDataOutTick,
|
USBWireDataOutTick,
|
//SIEReceiver
|
//SIEReceiver
|
connectState,
|
connectState,
|
//processRxBit
|
//processRxBit
|
resumeDetected,
|
resumeDetected,
|
//processRxByte
|
//processRxByte
|
RxCtrlOut,
|
RxCtrlOut,
|
RxDataOutWEn,
|
RxDataOutWEn,
|
RxDataOut,
|
RxDataOut,
|
//SIETransmitter
|
//SIETransmitter
|
SIEPortCtrlIn,
|
SIEPortCtrlIn,
|
SIEPortDataIn,
|
SIEPortDataIn,
|
SIEPortTxRdy,
|
SIEPortTxRdy,
|
SIEPortWEn,
|
SIEPortWEn,
|
//lineControlUpdate
|
//lineControlUpdate
|
fullSpeedPolarity,
|
fullSpeedPolarity,
|
fullSpeedBitRate,
|
fullSpeedBitRate,
|
noActivityTimeOut
|
noActivityTimeOut
|
);
|
);
|
|
|
input clk, rst;
|
input clk, rst;
|
//readUSBWireData
|
//readUSBWireData
|
input [1:0] USBWireDataIn;
|
input [1:0] USBWireDataIn;
|
output USBWireDataInTick;
|
output USBWireDataInTick;
|
|
|
//writeUSBWireData
|
//writeUSBWireData
|
output [1:0] USBWireDataOut;
|
output [1:0] USBWireDataOut;
|
output USBWireCtrlOut;
|
output USBWireCtrlOut;
|
output noActivityTimeOut;
|
output noActivityTimeOut;
|
output USBWireDataOutTick;
|
output USBWireDataOutTick;
|
|
|
//SIEReceiver
|
//SIEReceiver
|
output [1:0] connectState;
|
output [1:0] connectState;
|
//processRxBit
|
//processRxBit
|
output resumeDetected;
|
output resumeDetected;
|
//processRxByte
|
//processRxByte
|
output [7:0] RxCtrlOut;
|
output [7:0] RxCtrlOut;
|
output RxDataOutWEn;
|
output RxDataOutWEn;
|
output [7:0] RxDataOut;
|
output [7:0] RxDataOut;
|
//SIETransmitter
|
//SIETransmitter
|
input [7:0] SIEPortCtrlIn;
|
input [7:0] SIEPortCtrlIn;
|
input [7:0] SIEPortDataIn;
|
input [7:0] SIEPortDataIn;
|
output SIEPortTxRdy;
|
output SIEPortTxRdy;
|
input SIEPortWEn;
|
input SIEPortWEn;
|
//lineControlUpdate
|
//lineControlUpdate
|
input fullSpeedPolarity;
|
input fullSpeedPolarity;
|
input fullSpeedBitRate;
|
input fullSpeedBitRate;
|
|
|
wire clk, rst;
|
wire clk, rst;
|
//readUSBWireData
|
//readUSBWireData
|
wire [1:0] USBWireDataIn;
|
wire [1:0] USBWireDataIn;
|
wire USBWireDataInTick;
|
wire USBWireDataInTick;
|
//writeUSBWireData
|
//writeUSBWireData
|
wire [1:0] USBWireDataOut;
|
wire [1:0] USBWireDataOut;
|
wire USBWireCtrlOut;
|
wire USBWireCtrlOut;
|
wire noActivityTimeOut;
|
wire noActivityTimeOut;
|
wire USBWireDataOutTick;
|
wire USBWireDataOutTick;
|
//SIEReceiver
|
//SIEReceiver
|
wire [1:0] connectState;
|
wire [1:0] connectState;
|
//processRxBit
|
//processRxBit
|
wire resumeDetected;
|
wire resumeDetected;
|
//processRxByte
|
//processRxByte
|
wire [7:0] RxCtrlOut;
|
wire [7:0] RxCtrlOut;
|
wire RxDataOutWEn;
|
wire RxDataOutWEn;
|
wire [7:0] RxDataOut;
|
wire [7:0] RxDataOut;
|
//SIETransmitter
|
//SIETransmitter
|
wire [7:0] SIEPortCtrlIn;
|
wire [7:0] SIEPortCtrlIn;
|
wire [7:0] SIEPortDataIn;
|
wire [7:0] SIEPortDataIn;
|
wire SIEPortTxRdy;
|
wire SIEPortTxRdy;
|
wire SIEPortWEn;
|
wire SIEPortWEn;
|
//lineControlUpdate
|
//lineControlUpdate
|
wire fullSpeedPolarity;
|
wire fullSpeedPolarity;
|
wire fullSpeedBitRate;
|
wire fullSpeedBitRate;
|
|
|
//internal wiring
|
//internal wiring
|
wire processRxBitsWEn;
|
wire processRxBitsWEn;
|
wire processRxBitRdy;
|
wire processRxBitRdy;
|
wire [1:0] RxWireDataFromWireRx;
|
wire [1:0] RxWireDataFromWireRx;
|
wire RxWireDataWEn;
|
wire RxWireDataWEn;
|
wire TxWireActiveDrive;
|
wire TxWireActiveDrive;
|
wire [1:0] TxBitsFromArbToWire;
|
wire [1:0] TxBitsFromArbToWire;
|
wire TxCtrlFromArbToWire;
|
wire TxCtrlFromArbToWire;
|
wire USBWireRdy;
|
wire USBWireRdy;
|
wire USBWireWEn;
|
wire USBWireWEn;
|
wire USBWireReadyFromTxArb;
|
wire USBWireReadyFromTxArb;
|
wire prcTxByteCtrl;
|
wire prcTxByteCtrl;
|
wire [1:0] prcTxByteData;
|
wire [1:0] prcTxByteData;
|
wire prcTxByteGnt;
|
wire prcTxByteGnt;
|
wire prcTxByteReq;
|
wire prcTxByteReq;
|
wire prcTxByteWEn;
|
wire prcTxByteWEn;
|
wire SIETxCtrl;
|
wire SIETxCtrl;
|
wire [1:0] SIETxData;
|
wire [1:0] SIETxData;
|
wire SIETxGnt;
|
wire SIETxGnt;
|
wire SIETxReq;
|
wire SIETxReq;
|
wire SIETxWEn;
|
wire SIETxWEn;
|
wire [7:0] TxByteFromSIEToPrcTxByte;
|
wire [7:0] TxByteFromSIEToPrcTxByte;
|
wire [7:0] TxCtrlFromSIEToPrcTxByte;
|
wire [7:0] TxCtrlFromSIEToPrcTxByte;
|
wire [1:0] JBit;
|
wire [1:0] JBit;
|
wire [1:0] KBit;
|
wire [1:0] KBit;
|
wire processRxByteWEn;
|
wire processRxByteWEn;
|
wire [7:0] RxDataFromPrcRxBitToPrcRxByte;
|
wire [7:0] RxDataFromPrcRxBitToPrcRxByte;
|
wire [7:0] RxCtrlFromPrcRxBitToPrcRxByte;
|
wire [7:0] RxCtrlFromPrcRxBitToPrcRxByte;
|
wire processRxByteRdy;
|
wire processRxByteRdy;
|
//Rx CRC
|
//Rx CRC
|
wire RxCRC16En;
|
wire RxCRC16En;
|
wire [15:0] RxCRC16Result;
|
wire [15:0] RxCRC16Result;
|
wire RxCRC16UpdateRdy;
|
wire RxCRC16UpdateRdy;
|
wire RxCRC5En;
|
wire RxCRC5En;
|
wire [4:0] RxCRC5Result;
|
wire [4:0] RxCRC5Result;
|
wire RxCRC5_8Bit;
|
wire RxCRC5_8Bit;
|
wire [7:0] RxCRCData;
|
wire [7:0] RxCRCData;
|
wire RxRstCRC;
|
wire RxRstCRC;
|
wire RxCRC5UpdateRdy;
|
wire RxCRC5UpdateRdy;
|
//Tx CRC
|
//Tx CRC
|
wire TxCRC16En;
|
wire TxCRC16En;
|
wire [15:0] TxCRC16Result;
|
wire [15:0] TxCRC16Result;
|
wire TxCRC16UpdateRdy;
|
wire TxCRC16UpdateRdy;
|
wire TxCRC5En;
|
wire TxCRC5En;
|
wire [4:0] TxCRC5Result;
|
wire [4:0] TxCRC5Result;
|
wire TxCRC5_8Bit;
|
wire TxCRC5_8Bit;
|
wire [7:0] TxCRCData;
|
wire [7:0] TxCRCData;
|
wire TxRstCRC;
|
wire TxRstCRC;
|
wire TxCRC5UpdateRdy;
|
wire TxCRC5UpdateRdy;
|
|
|
wire processTxByteRdy;
|
wire processTxByteRdy;
|
wire processTxByteWEn;
|
wire processTxByteWEn;
|
|
|
lineControlUpdate u_lineControlUpdate
|
lineControlUpdate u_lineControlUpdate
|
(.fullSpeedPolarity(fullSpeedPolarity),
|
(.fullSpeedPolarity(fullSpeedPolarity),
|
.fullSpeedBitRate(fullSpeedBitRate),
|
.fullSpeedBitRate(fullSpeedBitRate),
|
.JBit(JBit),
|
.JBit(JBit),
|
.KBit(KBit) );
|
.KBit(KBit) );
|
|
|
SIEReceiver u_SIEReceiver
|
SIEReceiver u_SIEReceiver
|
(
|
(
|
.RxWireDataIn(RxWireDataFromWireRx),
|
.RxWireDataIn(RxWireDataFromWireRx),
|
.RxWireDataWEn(RxWireDataWEn),
|
.RxWireDataWEn(RxWireDataWEn),
|
.clk(clk),
|
.clk(clk),
|
.connectState(connectState),
|
.connectState(connectState),
|
.rst(rst) );
|
.rst(rst) );
|
|
|
|
|
processRxBit u_processRxBit
|
processRxBit u_processRxBit
|
(.JBit(JBit),
|
(.JBit(JBit),
|
.KBit(KBit),
|
.KBit(KBit),
|
.RxBitsIn(RxWireDataFromWireRx),
|
.RxBitsIn(RxWireDataFromWireRx),
|
.RxCtrlOut(RxCtrlFromPrcRxBitToPrcRxByte),
|
.RxCtrlOut(RxCtrlFromPrcRxBitToPrcRxByte),
|
.RxDataOut(RxDataFromPrcRxBitToPrcRxByte),
|
.RxDataOut(RxDataFromPrcRxBitToPrcRxByte),
|
.clk(clk),
|
.clk(clk),
|
.processRxBitRdy(processRxBitRdy),
|
.processRxBitRdy(processRxBitRdy),
|
.processRxBitsWEn(RxWireDataWEn),
|
.processRxBitsWEn(RxWireDataWEn),
|
.processRxByteWEn(processRxByteWEn),
|
.processRxByteWEn(processRxByteWEn),
|
.resumeDetected(resumeDetected),
|
.resumeDetected(resumeDetected),
|
.rst(rst),
|
.rst(rst),
|
.processRxByteRdy(processRxByteRdy) );
|
.processRxByteRdy(processRxByteRdy) );
|
|
|
processRxByte u_processRxByte
|
processRxByte u_processRxByte
|
(.CRC16En(RxCRC16En),
|
(.CRC16En(RxCRC16En),
|
.CRC16Result(RxCRC16Result),
|
.CRC16Result(RxCRC16Result),
|
.CRC16UpdateRdy(RxCRC16UpdateRdy),
|
.CRC16UpdateRdy(RxCRC16UpdateRdy),
|
.CRC5En(RxCRC5En),
|
.CRC5En(RxCRC5En),
|
.CRC5Result(RxCRC5Result),
|
.CRC5Result(RxCRC5Result),
|
.CRC5_8Bit(RxCRC5_8Bit),
|
.CRC5_8Bit(RxCRC5_8Bit),
|
.CRC5UpdateRdy(RxCRC5UpdateRdy),
|
.CRC5UpdateRdy(RxCRC5UpdateRdy),
|
.CRCData(RxCRCData),
|
.CRCData(RxCRCData),
|
.RxByteIn(RxDataFromPrcRxBitToPrcRxByte),
|
.RxByteIn(RxDataFromPrcRxBitToPrcRxByte),
|
.RxCtrlIn(RxCtrlFromPrcRxBitToPrcRxByte),
|
.RxCtrlIn(RxCtrlFromPrcRxBitToPrcRxByte),
|
.RxCtrlOut(RxCtrlOut),
|
.RxCtrlOut(RxCtrlOut),
|
.RxDataOutWEn(RxDataOutWEn),
|
.RxDataOutWEn(RxDataOutWEn),
|
.RxDataOut(RxDataOut),
|
.RxDataOut(RxDataOut),
|
.clk(clk),
|
.clk(clk),
|
.processRxDataInWEn(processRxByteWEn),
|
.processRxDataInWEn(processRxByteWEn),
|
.rst(rst),
|
.rst(rst),
|
.rstCRC(RxRstCRC),
|
.rstCRC(RxRstCRC),
|
.processRxByteRdy(processRxByteRdy) );
|
.processRxByteRdy(processRxByteRdy) );
|
|
|
|
|
updateCRC5 RxUpdateCRC5
|
updateCRC5 RxUpdateCRC5
|
(.rstCRC(RxRstCRC),
|
(.rstCRC(RxRstCRC),
|
.CRCResult(RxCRC5Result),
|
.CRCResult(RxCRC5Result),
|
.CRCEn(RxCRC5En),
|
.CRCEn(RxCRC5En),
|
.CRC5_8BitIn(RxCRC5_8Bit),
|
.CRC5_8BitIn(RxCRC5_8Bit),
|
.dataIn(RxCRCData),
|
.dataIn(RxCRCData),
|
.ready(RxCRC5UpdateRdy),
|
.ready(RxCRC5UpdateRdy),
|
.clk(clk),
|
.clk(clk),
|
.rst(rst) );
|
.rst(rst) );
|
|
|
updateCRC16 RxUpdateCRC16
|
updateCRC16 RxUpdateCRC16
|
(.rstCRC(RxRstCRC),
|
(.rstCRC(RxRstCRC),
|
.CRCResult(RxCRC16Result),
|
.CRCResult(RxCRC16Result),
|
.CRCEn(RxCRC16En),
|
.CRCEn(RxCRC16En),
|
.dataIn(RxCRCData),
|
.dataIn(RxCRCData),
|
.ready(RxCRC16UpdateRdy),
|
.ready(RxCRC16UpdateRdy),
|
.clk(clk),
|
.clk(clk),
|
.rst(rst) );
|
.rst(rst) );
|
|
|
SIETransmitter u_SIETransmitter
|
SIETransmitter u_SIETransmitter
|
(.CRC16En(TxCRC16En),
|
(.CRC16En(TxCRC16En),
|
.CRC16Result(TxCRC16Result),
|
.CRC16Result(TxCRC16Result),
|
.CRC5En(TxCRC5En),
|
.CRC5En(TxCRC5En),
|
.CRC5Result(TxCRC5Result),
|
.CRC5Result(TxCRC5Result),
|
.CRC5_8Bit(TxCRC5_8Bit),
|
.CRC5_8Bit(TxCRC5_8Bit),
|
.CRCData(TxCRCData),
|
.CRCData(TxCRCData),
|
.CRC5UpdateRdy(TxCRC5UpdateRdy),
|
.CRC5UpdateRdy(TxCRC5UpdateRdy),
|
.CRC16UpdateRdy(TxCRC16UpdateRdy),
|
.CRC16UpdateRdy(TxCRC16UpdateRdy),
|
.JBit(JBit),
|
.JBit(JBit),
|
.KBit(KBit),
|
.KBit(KBit),
|
.SIEPortCtrlIn(SIEPortCtrlIn),
|
.SIEPortCtrlIn(SIEPortCtrlIn),
|
.SIEPortDataIn(SIEPortDataIn),
|
.SIEPortDataIn(SIEPortDataIn),
|
.SIEPortTxRdy(SIEPortTxRdy),
|
.SIEPortTxRdy(SIEPortTxRdy),
|
.SIEPortWEn(SIEPortWEn),
|
.SIEPortWEn(SIEPortWEn),
|
.TxByteOutCtrl(TxCtrlFromSIEToPrcTxByte),
|
.TxByteOutCtrl(TxCtrlFromSIEToPrcTxByte),
|
.TxByteOut(TxByteFromSIEToPrcTxByte),
|
.TxByteOut(TxByteFromSIEToPrcTxByte),
|
.USBWireCtrl(SIETxCtrl),
|
.USBWireCtrl(SIETxCtrl),
|
.USBWireData(SIETxData),
|
.USBWireData(SIETxData),
|
.USBWireGnt(SIETxGnt),
|
.USBWireGnt(SIETxGnt),
|
.USBWireRdy(USBWireReadyFromTxArb),
|
.USBWireRdy(USBWireReadyFromTxArb),
|
.USBWireReq(SIETxReq),
|
.USBWireReq(SIETxReq),
|
.USBWireWEn(SIETxWEn),
|
.USBWireWEn(SIETxWEn),
|
.clk(clk),
|
.clk(clk),
|
.processTxByteRdy(processTxByteRdy),
|
.processTxByteRdy(processTxByteRdy),
|
.processTxByteWEn(processTxByteWEn),
|
.processTxByteWEn(processTxByteWEn),
|
.rst(rst),
|
.rst(rst),
|
.rstCRC(TxRstCRC) );
|
.rstCRC(TxRstCRC) );
|
|
|
updateCRC5 TxUpdateCRC5
|
updateCRC5 TxUpdateCRC5
|
(.rstCRC(TxRstCRC),
|
(.rstCRC(TxRstCRC),
|
.CRCResult(TxCRC5Result),
|
.CRCResult(TxCRC5Result),
|
.CRCEn(TxCRC5En),
|
.CRCEn(TxCRC5En),
|
.CRC5_8BitIn(TxCRC5_8Bit),
|
.CRC5_8BitIn(TxCRC5_8Bit),
|
.dataIn(TxCRCData),
|
.dataIn(TxCRCData),
|
.ready(TxCRC5UpdateRdy),
|
.ready(TxCRC5UpdateRdy),
|
.clk(clk),
|
.clk(clk),
|
.rst(rst) );
|
.rst(rst) );
|
|
|
updateCRC16 TxUpdateCRC16
|
updateCRC16 TxUpdateCRC16
|
(.rstCRC(TxRstCRC),
|
(.rstCRC(TxRstCRC),
|
.CRCResult(TxCRC16Result),
|
.CRCResult(TxCRC16Result),
|
.CRCEn(TxCRC16En),
|
.CRCEn(TxCRC16En),
|
.dataIn(TxCRCData),
|
.dataIn(TxCRCData),
|
.ready(TxCRC16UpdateRdy),
|
.ready(TxCRC16UpdateRdy),
|
.clk(clk),
|
.clk(clk),
|
.rst(rst) );
|
.rst(rst) );
|
|
|
processTxByte u_processTxByte
|
processTxByte u_processTxByte
|
(.JBit(JBit),
|
(.JBit(JBit),
|
.KBit(KBit),
|
.KBit(KBit),
|
.TxByteCtrlIn(TxCtrlFromSIEToPrcTxByte),
|
.TxByteCtrlIn(TxCtrlFromSIEToPrcTxByte),
|
.TxByteIn(TxByteFromSIEToPrcTxByte),
|
.TxByteIn(TxByteFromSIEToPrcTxByte),
|
.USBWireCtrl(prcTxByteCtrl),
|
.USBWireCtrl(prcTxByteCtrl),
|
.USBWireData(prcTxByteData),
|
.USBWireData(prcTxByteData),
|
.USBWireGnt(prcTxByteGnt),
|
.USBWireGnt(prcTxByteGnt),
|
.USBWireRdy(USBWireReadyFromTxArb),
|
.USBWireRdy(USBWireReadyFromTxArb),
|
.USBWireReq(prcTxByteReq),
|
.USBWireReq(prcTxByteReq),
|
.USBWireWEn(prcTxByteWEn),
|
.USBWireWEn(prcTxByteWEn),
|
.clk(clk),
|
.clk(clk),
|
.processTxByteRdy(processTxByteRdy),
|
.processTxByteRdy(processTxByteRdy),
|
.processTxByteWEn(processTxByteWEn),
|
.processTxByteWEn(processTxByteWEn),
|
.rst(rst),
|
.rst(rst),
|
.fullSpeedRate(fullSpeedBitRate) );
|
.fullSpeedRate(fullSpeedBitRate) );
|
|
|
USBTxWireArbiter u_USBTxWireArbiter
|
USBTxWireArbiter u_USBTxWireArbiter
|
(.SIETxCtrl(SIETxCtrl),
|
(.SIETxCtrl(SIETxCtrl),
|
.SIETxData(SIETxData),
|
.SIETxData(SIETxData),
|
.SIETxGnt(SIETxGnt),
|
.SIETxGnt(SIETxGnt),
|
.SIETxReq(SIETxReq),
|
.SIETxReq(SIETxReq),
|
.SIETxWEn(SIETxWEn),
|
.SIETxWEn(SIETxWEn),
|
.TxBits(TxBitsFromArbToWire),
|
.TxBits(TxBitsFromArbToWire),
|
.TxCtl(TxCtrlFromArbToWire),
|
.TxCtl(TxCtrlFromArbToWire),
|
.USBWireRdyIn(USBWireRdy),
|
.USBWireRdyIn(USBWireRdy),
|
.USBWireRdyOut(USBWireReadyFromTxArb),
|
.USBWireRdyOut(USBWireReadyFromTxArb),
|
.USBWireWEn(USBWireWEn),
|
.USBWireWEn(USBWireWEn),
|
.clk(clk),
|
.clk(clk),
|
.prcTxByteCtrl(prcTxByteCtrl),
|
.prcTxByteCtrl(prcTxByteCtrl),
|
.prcTxByteData(prcTxByteData),
|
.prcTxByteData(prcTxByteData),
|
.prcTxByteGnt(prcTxByteGnt),
|
.prcTxByteGnt(prcTxByteGnt),
|
.prcTxByteReq(prcTxByteReq),
|
.prcTxByteReq(prcTxByteReq),
|
.prcTxByteWEn(prcTxByteWEn),
|
.prcTxByteWEn(prcTxByteWEn),
|
.rst(rst) );
|
.rst(rst) );
|
|
|
writeUSBWireData u_writeUSBWireData
|
writeUSBWireData u_writeUSBWireData
|
(.TxBitsIn(TxBitsFromArbToWire),
|
(.TxBitsIn(TxBitsFromArbToWire),
|
.TxBitsOut(USBWireDataOut),
|
.TxBitsOut(USBWireDataOut),
|
.TxDataOutTick(USBWireDataOutTick),
|
.TxDataOutTick(USBWireDataOutTick),
|
.TxCtrlIn(TxCtrlFromArbToWire),
|
.TxCtrlIn(TxCtrlFromArbToWire),
|
.TxCtrlOut(USBWireCtrlOut),
|
.TxCtrlOut(USBWireCtrlOut),
|
.USBWireRdy(USBWireRdy),
|
.USBWireRdy(USBWireRdy),
|
.USBWireWEn(USBWireWEn),
|
.USBWireWEn(USBWireWEn),
|
.TxWireActiveDrive(TxWireActiveDrive),
|
.TxWireActiveDrive(TxWireActiveDrive),
|
.fullSpeedRate(fullSpeedBitRate),
|
.fullSpeedRate(fullSpeedBitRate),
|
.clk(clk),
|
.clk(clk),
|
.rst(rst)
|
.rst(rst)
|
);
|
);
|
|
|
|
|
|
|
readUSBWireData u_readUSBWireData
|
readUSBWireData u_readUSBWireData
|
(.RxBitsIn(USBWireDataIn),
|
(.RxBitsIn(USBWireDataIn),
|
.RxDataInTick(USBWireDataInTick),
|
.RxDataInTick(USBWireDataInTick),
|
.RxBitsOut(RxWireDataFromWireRx),
|
.RxBitsOut(RxWireDataFromWireRx),
|
.SIERxRdyIn(processRxBitRdy),
|
.SIERxRdyIn(processRxBitRdy),
|
.SIERxWEn(RxWireDataWEn),
|
.SIERxWEn(RxWireDataWEn),
|
.fullSpeedRate(fullSpeedBitRate),
|
.fullSpeedRate(fullSpeedBitRate),
|
.TxWireActiveDrive(TxWireActiveDrive),
|
.TxWireActiveDrive(TxWireActiveDrive),
|
.clk(clk),
|
.clk(clk),
|
.rst(rst),
|
.rst(rst),
|
.noActivityTimeOut(noActivityTimeOut));
|
.noActivityTimeOut(noActivityTimeOut));
|
|
|
|
|
endmodule
|
endmodule
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|