OpenCores
URL https://opencores.org/ocsvn/usbhostslave/usbhostslave/trunk

Subversion Repositories usbhostslave

[/] [usbhostslave/] [trunk/] [RTL/] [hostController/] [getpacket.v] - Diff between revs 9 and 20

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 9 Rev 20
Line 45... Line 45...
`timescale 1ns / 1ps
`timescale 1ns / 1ps
 
 
`include "usbSerialInterfaceEngine_h.v"
`include "usbSerialInterfaceEngine_h.v"
`include "usbConstants_h.v"
`include "usbConstants_h.v"
 
 
module getPacket (clk, getPacketEn, rst, RXDataIn, RXDataValid, RXFifoData, RXFifoFull, RXFifoWEn, RXPacketRdy, RxPID, RXPktStatus, RXStreamStatusIn, SIERxTimeOut);
module getPacket (clk, getPacketEn, rst, RXDataIn, RXDataValid, RXFifoData, RXFifoFull, RXFifoWEn, RXPacketRdy, RxPID, RXPktStatus, RXStreamStatusIn, SIERxTimeOut, SIERxTimeOutEn);
input   clk;
input   clk;
input   getPacketEn;
input   getPacketEn;
input   rst;
input   rst;
input   [7:0]RXDataIn;
input   [7:0]RXDataIn;
input   RXDataValid;
input   RXDataValid;
Line 59... Line 59...
output  [7:0]RXFifoData;
output  [7:0]RXFifoData;
output  RXFifoWEn;
output  RXFifoWEn;
output  RXPacketRdy;
output  RXPacketRdy;
output  [3:0]RxPID;
output  [3:0]RxPID;
output  [7:0]RXPktStatus;
output  [7:0]RXPktStatus;
 
output  SIERxTimeOutEn;
 
 
wire    clk;
wire    clk;
wire    getPacketEn;
wire    getPacketEn;
wire    rst;
wire    rst;
wire    [7:0]RXDataIn;
wire    [7:0]RXDataIn;
Line 73... Line 74...
reg     RXPacketRdy, next_RXPacketRdy;
reg     RXPacketRdy, next_RXPacketRdy;
reg     [3:0]RxPID, next_RxPID;
reg     [3:0]RxPID, next_RxPID;
reg     [7:0]RXPktStatus;
reg     [7:0]RXPktStatus;
wire    [7:0]RXStreamStatusIn;
wire    [7:0]RXStreamStatusIn;
wire    SIERxTimeOut;
wire    SIERxTimeOut;
 
reg     SIERxTimeOutEn, next_SIERxTimeOutEn;
 
 
// diagram signals declarations
// diagram signals declarations
reg ACKRxed, next_ACKRxed;
reg ACKRxed, next_ACKRxed;
reg bitStuffError, next_bitStuffError;
reg bitStuffError, next_bitStuffError;
reg CRCError, next_CRCError;
reg CRCError, next_CRCError;
Line 129... Line 131...
 
 
 
 
// Machine: getPkt
// Machine: getPkt
 
 
// NextState logic (combinatorial)
// NextState logic (combinatorial)
always @ (RXByte or RXDataValid or RXDataIn or RXStreamStatusIn or RXStreamStatus or RXFifoFull or RXByteOldest or RXByteOld or SIERxTimeOut or getPacketEn or RXOverflow or NAKRxed or stallRxed or ACKRxed or CRCError or bitStuffError or dataSequence or RXFifoWEn or RXFifoData or RXPacketRdy or RXTimeOut or RxPID or CurrState_getPkt)
always @ (RXByte or RXDataValid or RXDataIn or RXStreamStatusIn or RXStreamStatus or RXFifoFull or RXByteOldest or RXByteOld or SIERxTimeOut or getPacketEn or RXOverflow or NAKRxed or stallRxed or ACKRxed or CRCError or bitStuffError or dataSequence or RXFifoWEn or RXFifoData or RXPacketRdy or RXTimeOut or RxPID or SIERxTimeOutEn or CurrState_getPkt)
begin
begin
  NextState_getPkt <= CurrState_getPkt;
  NextState_getPkt <= CurrState_getPkt;
  // Set default values for outputs and signals
  // Set default values for outputs and signals
  next_RXOverflow <= RXOverflow;
  next_RXOverflow <= RXOverflow;
  next_NAKRxed <= NAKRxed;
  next_NAKRxed <= NAKRxed;
Line 149... Line 151...
  next_RXFifoWEn <= RXFifoWEn;
  next_RXFifoWEn <= RXFifoWEn;
  next_RXFifoData <= RXFifoData;
  next_RXFifoData <= RXFifoData;
  next_RXPacketRdy <= RXPacketRdy;
  next_RXPacketRdy <= RXPacketRdy;
  next_RXTimeOut <= RXTimeOut;
  next_RXTimeOut <= RXTimeOut;
  next_RxPID <= RxPID;
  next_RxPID <= RxPID;
 
  next_SIERxTimeOutEn <= SIERxTimeOutEn;
  case (CurrState_getPkt)  // synopsys parallel_case full_case
  case (CurrState_getPkt)  // synopsys parallel_case full_case
    `START_GP:
    `START_GP:
    begin
    begin
      NextState_getPkt <= `WAIT_EN;
      NextState_getPkt <= `WAIT_EN;
    end
    end
Line 164... Line 167...
      next_RXTimeOut <= 1'b0;
      next_RXTimeOut <= 1'b0;
      next_NAKRxed <= 1'b0;
      next_NAKRxed <= 1'b0;
      next_stallRxed <= 1'b0;
      next_stallRxed <= 1'b0;
      next_ACKRxed <= 1'b0;
      next_ACKRxed <= 1'b0;
      next_dataSequence <= 1'b0;
      next_dataSequence <= 1'b0;
 
      next_SIERxTimeOutEn <= 1'b1;
      if (SIERxTimeOut == 1'b1)
      if (SIERxTimeOut == 1'b1)
      begin
      begin
        NextState_getPkt <= `PKT_RDY;
        NextState_getPkt <= `PKT_RDY;
        next_RXTimeOut <= 1'b1;
        next_RXTimeOut <= 1'b1;
      end
      end
Line 192... Line 196...
      end
      end
    end
    end
    `WAIT_EN:
    `WAIT_EN:
    begin
    begin
      next_RXPacketRdy <= 1'b0;
      next_RXPacketRdy <= 1'b0;
 
      next_SIERxTimeOutEn <= 1'b0;
      if (getPacketEn == 1'b1)
      if (getPacketEn == 1'b1)
      begin
      begin
        NextState_getPkt <= `WAIT_PKT;
        NextState_getPkt <= `WAIT_PKT;
      end
      end
    end
    end
Line 358... Line 363...
  begin
  begin
    RXFifoWEn <= 1'b0;
    RXFifoWEn <= 1'b0;
    RXFifoData <= 8'h00;
    RXFifoData <= 8'h00;
    RXPacketRdy <= 1'b0;
    RXPacketRdy <= 1'b0;
    RxPID <= 4'h0;
    RxPID <= 4'h0;
 
    SIERxTimeOutEn <= 1'b0;
    RXOverflow <= 1'b0;
    RXOverflow <= 1'b0;
    NAKRxed <= 1'b0;
    NAKRxed <= 1'b0;
    stallRxed <= 1'b0;
    stallRxed <= 1'b0;
    ACKRxed <= 1'b0;
    ACKRxed <= 1'b0;
    RXByte <= 8'h00;
    RXByte <= 8'h00;
Line 377... Line 383...
  begin
  begin
    RXFifoWEn <= next_RXFifoWEn;
    RXFifoWEn <= next_RXFifoWEn;
    RXFifoData <= next_RXFifoData;
    RXFifoData <= next_RXFifoData;
    RXPacketRdy <= next_RXPacketRdy;
    RXPacketRdy <= next_RXPacketRdy;
    RxPID <= next_RxPID;
    RxPID <= next_RxPID;
 
    SIERxTimeOutEn <= next_SIERxTimeOutEn;
    RXOverflow <= next_RXOverflow;
    RXOverflow <= next_RXOverflow;
    NAKRxed <= next_NAKRxed;
    NAKRxed <= next_NAKRxed;
    stallRxed <= next_stallRxed;
    stallRxed <= next_stallRxed;
    ACKRxed <= next_ACKRxed;
    ACKRxed <= next_ACKRxed;
    RXByte <= next_RXByte;
    RXByte <= next_RXByte;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.