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

Subversion Repositories usbhostslave

[/] [usbhostslave/] [trunk/] [RTL/] [hostController/] [hostcontroller.v] - Diff between revs 34 and 37

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

Rev 34 Rev 37
Line 1... Line 1...
 
 
// File        : ../RTL/hostController/hostcontroller.v
 
// Generated   : 10/15/06 20:31:18
 
// From        : ../RTL/hostController/hostcontroller.asf
 
// By          : FSM2VHDL ver. 5.0.0.9
 
 
 
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
////                                                              ////
////                                                              ////
//// hostController
//// hostController
////                                                              ////
////                                                              ////
//// This file is part of the usbhostslave opencores effort.
//// This file is part of the usbhostslave opencores effort.
Line 83... Line 78...
reg     sendPacketWEn, next_sendPacketWEn;
reg     sendPacketWEn, next_sendPacketWEn;
reg     transDone, next_transDone;
reg     transDone, next_transDone;
wire    transReq;
wire    transReq;
wire    [1:0] transType;
wire    [1:0] transType;
 
 
 
// diagram signals declarations
 
reg  [3:0]delCnt, next_delCnt;
 
 
// BINARY ENCODED state machine: hstCntrl
// BINARY ENCODED state machine: hstCntrl
// State codes definitions:
// State codes definitions:
`define START_HC 6'b000000
`define START_HC 6'b000000
`define TX_REQ 6'b000001
`define TX_REQ 6'b000001
`define CHK_TYPE 6'b000010
`define CHK_TYPE 6'b000010
Line 118... Line 116...
`define OUT1_WAIT_DATA1_SENT 6'b011100
`define OUT1_WAIT_DATA1_SENT 6'b011100
`define OUT1_WAIT_SP_RDY1 6'b011101
`define OUT1_WAIT_SP_RDY1 6'b011101
`define OUT1_CLR_WEN1 6'b011110
`define OUT1_CLR_WEN1 6'b011110
`define OUT1_CLR_WEN2 6'b011111
`define OUT1_CLR_WEN2 6'b011111
`define OUT0_CHK_ISO 6'b100000
`define OUT0_CHK_ISO 6'b100000
`define DEL1 6'b100001
 
`define DEL2 6'b100010
 
 
 
reg [5:0] CurrState_hstCntrl;
reg [5:0] CurrState_hstCntrl;
reg [5:0] NextState_hstCntrl;
reg [5:0] NextState_hstCntrl;
 
 
 
 
Line 131... Line 127...
// Machine: hstCntrl
// Machine: hstCntrl
//--------------------------------------------------------------------
//--------------------------------------------------------------------
//----------------------------------
//----------------------------------
// Next State Logic (combinatorial)
// Next State Logic (combinatorial)
//----------------------------------
//----------------------------------
always @ (transReq or transType or sendPacketArbiterGnt or getPacketRdy or sendPacketRdy or isoEn or RXStatus or sendPacketArbiterReq or transDone or clearTXReq or sendPacketWEn or getPacketREn or sendPacketPID or CurrState_hstCntrl)
always @ (delCnt or transReq or transType or sendPacketArbiterGnt or getPacketRdy or sendPacketRdy or isoEn or RXStatus or sendPacketArbiterReq or transDone or clearTXReq or sendPacketWEn or getPacketREn or sendPacketPID or CurrState_hstCntrl)
begin : hstCntrl_NextState
begin : hstCntrl_NextState
  NextState_hstCntrl <= CurrState_hstCntrl;
  NextState_hstCntrl <= CurrState_hstCntrl;
  // Set default values for outputs and signals
  // Set default values for outputs and signals
  next_sendPacketArbiterReq <= sendPacketArbiterReq;
  next_sendPacketArbiterReq <= sendPacketArbiterReq;
  next_transDone <= transDone;
  next_transDone <= transDone;
  next_clearTXReq <= clearTXReq;
  next_clearTXReq <= clearTXReq;
 
  next_delCnt <= delCnt;
  next_sendPacketWEn <= sendPacketWEn;
  next_sendPacketWEn <= sendPacketWEn;
  next_getPacketREn <= getPacketREn;
  next_getPacketREn <= getPacketREn;
  next_sendPacketPID <= sendPacketPID;
  next_sendPacketPID <= sendPacketPID;
  case (CurrState_hstCntrl)
  case (CurrState_hstCntrl) // synopsys parallel_case full_case
    `START_HC:
    `START_HC:
      NextState_hstCntrl <= `TX_REQ;
      NextState_hstCntrl <= `TX_REQ;
    `TX_REQ:
    `TX_REQ:
      if (transReq == 1'b1)
      if (transReq == 1'b1)
      begin
      begin
Line 164... Line 161...
    `FLAG:
    `FLAG:
    begin
    begin
      next_transDone <= 1'b1;
      next_transDone <= 1'b1;
      next_clearTXReq <= 1'b1;
      next_clearTXReq <= 1'b1;
      next_sendPacketArbiterReq <= 1'b0;
      next_sendPacketArbiterReq <= 1'b0;
 
      next_delCnt <= 4'h0;
      NextState_hstCntrl <= `FIN;
      NextState_hstCntrl <= `FIN;
    end
    end
    `FIN:
    `FIN:
    begin
    begin
      next_clearTXReq <= 1'b0;
      next_clearTXReq <= 1'b0;
      next_transDone <= 1'b0;
      next_transDone <= 1'b0;
 
      next_delCnt <= delCnt + 1'b1;
      //now wait for 'transReq' to clear
      //now wait for 'transReq' to clear
      NextState_hstCntrl <= `DEL1;
      if (delCnt == 4'hf)
 
        NextState_hstCntrl <= `TX_REQ;
    end
    end
    `WAIT_GNT:
    `WAIT_GNT:
      if (sendPacketArbiterGnt == 1'b1)
      if (sendPacketArbiterGnt == 1'b1)
        NextState_hstCntrl <= `CHK_TYPE;
        NextState_hstCntrl <= `CHK_TYPE;
    `DEL1:
 
      NextState_hstCntrl <= `DEL2;
 
    `DEL2:
 
      NextState_hstCntrl <= `TX_REQ;
 
    `SETUP_CLR_SP_WEN1:
    `SETUP_CLR_SP_WEN1:
    begin
    begin
      next_sendPacketWEn <= 1'b0;
      next_sendPacketWEn <= 1'b0;
      NextState_hstCntrl <= `SETUP_WAIT_SETUP_SENT;
      NextState_hstCntrl <= `SETUP_WAIT_SETUP_SENT;
    end
    end
Line 365... Line 361...
//----------------------------------
//----------------------------------
always @ (posedge clk)
always @ (posedge clk)
begin : hstCntrl_RegOutput
begin : hstCntrl_RegOutput
  if (rst)
  if (rst)
  begin
  begin
 
    delCnt <= 4'h0;
    transDone <= 1'b0;
    transDone <= 1'b0;
    clearTXReq <= 1'b0;
    clearTXReq <= 1'b0;
    getPacketREn <= 1'b0;
    getPacketREn <= 1'b0;
    sendPacketArbiterReq <= 1'b0;
    sendPacketArbiterReq <= 1'b0;
    sendPacketWEn <= 1'b0;
    sendPacketWEn <= 1'b0;
    sendPacketPID <= 4'b0;
    sendPacketPID <= 4'b0;
  end
  end
  else
  else
  begin
  begin
 
    delCnt <= next_delCnt;
    transDone <= next_transDone;
    transDone <= next_transDone;
    clearTXReq <= next_clearTXReq;
    clearTXReq <= next_clearTXReq;
    getPacketREn <= next_getPacketREn;
    getPacketREn <= next_getPacketREn;
    sendPacketArbiterReq <= next_sendPacketArbiterReq;
    sendPacketArbiterReq <= next_sendPacketArbiterReq;
    sendPacketWEn <= next_sendPacketWEn;
    sendPacketWEn <= next_sendPacketWEn;
    sendPacketPID <= next_sendPacketPID;
    sendPacketPID <= next_sendPacketPID;
  end
  end
end
end
 
 
endmodule
endmodule
 No newline at end of file
 No newline at end of file
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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