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

Subversion Repositories usbhostslave

[/] [usbhostslave/] [tags/] [rel_00_07_alpha/] [RTL/] [hostController/] [softransmit.v] - Diff between revs 9 and 14

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

Rev 9 Rev 14
Line 69... Line 69...
reg     SOFSent, next_SOFSent;
reg     SOFSent, next_SOFSent;
wire    SOFSyncEn;
wire    SOFSyncEn;
wire    [15:0]SOFTimer;
wire    [15:0]SOFTimer;
reg     SOFTimerClr, next_SOFTimerClr;
reg     SOFTimerClr, next_SOFTimerClr;
 
 
 
// diagram signals declarations
 
reg  [7:0]i, next_i;
 
 
// BINARY ENCODED state machine: SOFTx
// BINARY ENCODED state machine: SOFTx
// State codes definitions:
// State codes definitions:
`define START_STX 3'b000
`define START_STX 3'b000
`define WAIT_SOF_NEAR 3'b001
`define WAIT_SOF_NEAR 3'b001
`define WAIT_SP_GNT 3'b010
`define WAIT_SP_GNT 3'b010
`define WAIT_SOF_NOW 3'b011
`define WAIT_SOF_NOW 3'b011
`define SOF_FIN 3'b100
`define SOF_FIN 3'b100
 
`define DLY_SOF_CHK1 3'b101
 
`define DLY_SOF_CHK2 3'b110
 
 
reg [2:0]CurrState_SOFTx, NextState_SOFTx;
reg [2:0]CurrState_SOFTx, NextState_SOFTx;
 
 
 
 
// Machine: SOFTx
// Machine: SOFTx
 
 
// NextState logic (combinatorial)
// NextState logic (combinatorial)
always @ (SOFTimer or SOFSyncEn or SOFEnable or sendPacketArbiterGnt or sendPacketRdy or SOFSent or SOFTimerClr or sendPacketArbiterReq or sendPacketWEn or CurrState_SOFTx)
always @ (SOFTimer or SOFSyncEn or SOFEnable or sendPacketArbiterGnt or sendPacketRdy or i or SOFSent or SOFTimerClr or sendPacketArbiterReq or sendPacketWEn or CurrState_SOFTx)
begin
begin
  NextState_SOFTx <= CurrState_SOFTx;
  NextState_SOFTx <= CurrState_SOFTx;
  // Set default values for outputs and signals
  // Set default values for outputs and signals
  next_SOFSent <= SOFSent;
  next_SOFSent <= SOFSent;
  next_SOFTimerClr <= SOFTimerClr;
  next_SOFTimerClr <= SOFTimerClr;
  next_sendPacketArbiterReq <= sendPacketArbiterReq;
  next_sendPacketArbiterReq <= sendPacketArbiterReq;
  next_sendPacketWEn <= sendPacketWEn;
  next_sendPacketWEn <= sendPacketWEn;
 
  next_i <= i;
  case (CurrState_SOFTx)  // synopsys parallel_case full_case
  case (CurrState_SOFTx)  // synopsys parallel_case full_case
    `START_STX:
    `START_STX:
    begin
    begin
      NextState_SOFTx <= `WAIT_SOF_NEAR;
      NextState_SOFTx <= `WAIT_SOF_NEAR;
    end
    end
Line 133... Line 139...
    `SOF_FIN:
    `SOF_FIN:
    begin
    begin
      next_sendPacketWEn <= 1'b0;
      next_sendPacketWEn <= 1'b0;
      next_SOFTimerClr <= 1'b0;
      next_SOFTimerClr <= 1'b0;
      next_SOFSent <= 1'b0;
      next_SOFSent <= 1'b0;
      NextState_SOFTx <= `WAIT_SOF_NEAR;
      if (sendPacketRdy == 1'b1)
 
      begin
 
        NextState_SOFTx <= `DLY_SOF_CHK1;
 
        next_i <= 8'h00;
 
      end
 
    end
 
    `DLY_SOF_CHK1:
 
    begin
 
      next_i <= i + 1'b1;
 
      if (i==8'hff)
 
      begin
 
        NextState_SOFTx <= `DLY_SOF_CHK2;
      next_sendPacketArbiterReq <= 1'b0;
      next_sendPacketArbiterReq <= 1'b0;
 
        next_i <= 8'h00;
 
      end
 
    end
 
    `DLY_SOF_CHK2:
 
    begin
 
      next_i <= i + 1'b1;
 
      if (i==8'hff)
 
      begin
 
        NextState_SOFTx <= `WAIT_SOF_NEAR;
 
      end
    end
    end
  endcase
  endcase
end
end
 
 
// Current State Logic (sequential)
// Current State Logic (sequential)
Line 157... Line 184...
  begin
  begin
    SOFSent <= 1'b0;
    SOFSent <= 1'b0;
    SOFTimerClr <= 1'b0;
    SOFTimerClr <= 1'b0;
    sendPacketArbiterReq <= 1'b0;
    sendPacketArbiterReq <= 1'b0;
    sendPacketWEn <= 1'b0;
    sendPacketWEn <= 1'b0;
 
    i <= 8'h00;
  end
  end
  else
  else
  begin
  begin
    SOFSent <= next_SOFSent;
    SOFSent <= next_SOFSent;
    SOFTimerClr <= next_SOFTimerClr;
    SOFTimerClr <= next_SOFTimerClr;
    sendPacketArbiterReq <= next_sendPacketArbiterReq;
    sendPacketArbiterReq <= next_sendPacketArbiterReq;
    sendPacketWEn <= next_sendPacketWEn;
    sendPacketWEn <= next_sendPacketWEn;
 
    i <= next_i;
  end
  end
end
end
 
 
endmodule
endmodule
 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.