亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sendpacket.v

?? 包括USB
?? V
字號:

// File        : ../RTL/hostController/sendpacket.v
// Generated   : 10/15/06 20:31:19
// From        : ../RTL/hostController/sendpacket.asf
// By          : FSM2VHDL ver. 5.0.0.9

//////////////////////////////////////////////////////////////////////
////                                                              ////
//// sendPacket
////                                                              ////
//// This file is part of the usbhostslave opencores effort.
//// http://www.opencores.org/cores/usbhostslave/                 ////
////                                                              ////
//// Module Description:                                          ////
//// 
////                                                              ////
//// To Do:                                                       ////
//// 
////                                                              ////
//// Author(s):                                                   ////
//// - Steve Fielding, sfielding@base2designs.com                 ////
////                                                              ////
//////////////////////////////////////////////////////////////////////
////                                                              ////
//// Copyright (C) 2004 Steve Fielding and OPENCORES.ORG          ////
////                                                              ////
//// This source file may be used and distributed without         ////
//// restriction provided that this copyright statement is not    ////
//// removed from the file and that any derivative work contains  ////
//// the original copyright notice and the associated disclaimer. ////
////                                                              ////
//// This source file is free software; you can redistribute it   ////
//// and/or modify it under the terms of the GNU Lesser General   ////
//// Public License as published by the Free Software Foundation; ////
//// either version 2.1 of the License, or (at your option) any   ////
//// later version.                                               ////
////                                                              ////
//// This source is distributed in the hope that it will be       ////
//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
//// PURPOSE. See the GNU Lesser General Public License for more  ////
//// details.                                                     ////
////                                                              ////
//// You should have received a copy of the GNU Lesser General    ////
//// Public License along with this source; if not, download it   ////
//// from http://www.opencores.org/lgpl.shtml                     ////
////                                                              ////
//////////////////////////////////////////////////////////////////////
//
`include "timescale.v"
`include "usbSerialInterfaceEngine_h.v"
`include "usbConstants_h.v"



module sendPacket (HCTxPortCntl, HCTxPortData, HCTxPortGnt, HCTxPortRdy, HCTxPortReq, HCTxPortWEn, PID, TxAddr, TxEndP, clk, fifoData, fifoEmpty, fifoReadEn, frameNum, fullSpeedPolarity, rst, sendPacketRdy, sendPacketWEn);
input   HCTxPortGnt;
input   HCTxPortRdy;
input   [3:0] PID;
input   [6:0] TxAddr;
input   [3:0] TxEndP;
input   clk;
input   [7:0] fifoData;
input   fifoEmpty;
input   fullSpeedPolarity;
input   rst;
input   sendPacketWEn;
output  [7:0] HCTxPortCntl;
output  [7:0] HCTxPortData;
output  HCTxPortReq;
output  HCTxPortWEn;
output  fifoReadEn;
output  [10:0] frameNum;
output  sendPacketRdy;

reg     [7:0] HCTxPortCntl, next_HCTxPortCntl;
reg     [7:0] HCTxPortData, next_HCTxPortData;
wire    HCTxPortGnt;
wire    HCTxPortRdy;
reg     HCTxPortReq, next_HCTxPortReq;
reg     HCTxPortWEn, next_HCTxPortWEn;
wire    [3:0] PID;
wire    [6:0] TxAddr;
wire    [3:0] TxEndP;
wire    clk;
wire    [7:0] fifoData;
wire    fifoEmpty;
reg     fifoReadEn, next_fifoReadEn;
reg     [10:0] frameNum, next_frameNum;
wire    fullSpeedPolarity;
wire    rst;
reg     sendPacketRdy, next_sendPacketRdy;
wire    sendPacketWEn;

// diagram signals declarations
reg  [7:0]PIDNotPID;

// BINARY ENCODED state machine: sndPkt
// State codes definitions:
`define START_SP 5'b00000
`define WAIT_ENABLE 5'b00001
`define SP_WAIT_GNT 5'b00010
`define SEND_PID_WAIT_RDY 5'b00011
`define SEND_PID_FIN 5'b00100
`define FIN_SP 5'b00101
`define OUT_IN_SETUP_WAIT_RDY1 5'b00110
`define OUT_IN_SETUP_WAIT_RDY2 5'b00111
`define OUT_IN_SETUP_FIN 5'b01000
`define SEND_SOF_FIN1 5'b01001
`define SEND_SOF_WAIT_RDY3 5'b01010
`define SEND_SOF_WAIT_RDY4 5'b01011
`define DATA0_DATA1_READ_FIFO 5'b01100
`define DATA0_DATA1_WAIT_READ_FIFO 5'b01101
`define DATA0_DATA1_FIFO_EMPTY 5'b01110
`define DATA0_DATA1_FIN 5'b01111
`define DATA0_DATA1_TERM_BYTE 5'b10000
`define OUT_IN_SETUP_CLR_WEN1 5'b10001
`define SEND_SOF_CLR_WEN1 5'b10010
`define DATA0_DATA1_CLR_WEN 5'b10011
`define DATA0_DATA1_CLR_REN 5'b10100
`define LS_EOP_WAIT_RDY 5'b10101
`define LS_EOP_FIN 5'b10110

reg [4:0] CurrState_sndPkt;
reg [4:0] NextState_sndPkt;

// Diagram actions (continuous assignments allowed only: assign ...)

always @(PID)
begin
    PIDNotPID <=  { (PID ^ 4'hf), PID };
end

//--------------------------------------------------------------------
// Machine: sndPkt
//--------------------------------------------------------------------
//----------------------------------
// Next State Logic (combinatorial)
//----------------------------------
always @ (PIDNotPID or TxEndP or TxAddr or frameNum or fifoData or sendPacketWEn or HCTxPortGnt or PID or fullSpeedPolarity or HCTxPortRdy or fifoEmpty or sendPacketRdy or HCTxPortReq or HCTxPortWEn or HCTxPortData or HCTxPortCntl or fifoReadEn or CurrState_sndPkt)
begin : sndPkt_NextState
  NextState_sndPkt <= CurrState_sndPkt;
  // Set default values for outputs and signals
  next_sendPacketRdy <= sendPacketRdy;
  next_HCTxPortReq <= HCTxPortReq;
  next_HCTxPortWEn <= HCTxPortWEn;
  next_HCTxPortData <= HCTxPortData;
  next_HCTxPortCntl <= HCTxPortCntl;
  next_frameNum <= frameNum;
  next_fifoReadEn <= fifoReadEn;
  case (CurrState_sndPkt)
    `START_SP:
      NextState_sndPkt <= `WAIT_ENABLE;
    `WAIT_ENABLE:
      if (sendPacketWEn == 1'b1)	
      begin
        NextState_sndPkt <= `SP_WAIT_GNT;
        next_sendPacketRdy <= 1'b0;
        next_HCTxPortReq <= 1'b1;
      end
    `SP_WAIT_GNT:
      if ((HCTxPortGnt == 1'b1) && (PID == `SOF && fullSpeedPolarity == 1'b0))	
        NextState_sndPkt <= `LS_EOP_WAIT_RDY;
      else if (HCTxPortGnt == 1'b1)	
        NextState_sndPkt <= `SEND_PID_WAIT_RDY;
    `FIN_SP:
    begin
      NextState_sndPkt <= `WAIT_ENABLE;
      next_sendPacketRdy <= 1'b1;
      next_HCTxPortReq <= 1'b0;
    end
    `SEND_PID_WAIT_RDY:
      if (HCTxPortRdy == 1'b1)	
      begin
        NextState_sndPkt <= `SEND_PID_FIN;
        next_HCTxPortWEn <= 1'b1;
        next_HCTxPortData <= PIDNotPID;
        next_HCTxPortCntl <= `TX_PACKET_START;
      end
    `SEND_PID_FIN:
    begin
      next_HCTxPortWEn <= 1'b0;
      if (PID == `DATA0 || PID == `DATA1)	
        NextState_sndPkt <= `DATA0_DATA1_FIFO_EMPTY;
      else if (PID == `SOF)	
        NextState_sndPkt <= `SEND_SOF_WAIT_RDY3;
      else if (PID == `OUT || 
        PID == `IN || 
        PID == `SETUP)	
        NextState_sndPkt <= `OUT_IN_SETUP_WAIT_RDY1;
      else
        NextState_sndPkt <= `FIN_SP;
    end
    `OUT_IN_SETUP_WAIT_RDY1:
      if (HCTxPortRdy == 1'b1)	
      begin
        NextState_sndPkt <= `OUT_IN_SETUP_CLR_WEN1;
        next_HCTxPortWEn <= 1'b1;
        next_HCTxPortData <= {TxEndP[0], TxAddr[6:0]};
        next_HCTxPortCntl <= `TX_PACKET_STREAM;
      end
    `OUT_IN_SETUP_WAIT_RDY2:
      if (HCTxPortRdy == 1'b1)	
      begin
        NextState_sndPkt <= `OUT_IN_SETUP_FIN;
        next_HCTxPortWEn <= 1'b1;
        next_HCTxPortData <= {5'b00000, TxEndP[3:1]};
        next_HCTxPortCntl <= `TX_PACKET_STREAM;
      end
    `OUT_IN_SETUP_FIN:
    begin
      next_HCTxPortWEn <= 1'b0;
      NextState_sndPkt <= `FIN_SP;
    end
    `OUT_IN_SETUP_CLR_WEN1:
    begin
      next_HCTxPortWEn <= 1'b0;
      NextState_sndPkt <= `OUT_IN_SETUP_WAIT_RDY2;
    end
    `SEND_SOF_FIN1:
    begin
      next_HCTxPortWEn <= 1'b0;
      next_frameNum <= frameNum + 1'b1;
      NextState_sndPkt <= `FIN_SP;
    end
    `SEND_SOF_WAIT_RDY3:
      if (HCTxPortRdy == 1'b1)	
      begin
        NextState_sndPkt <= `SEND_SOF_CLR_WEN1;
        next_HCTxPortWEn <= 1'b1;
        next_HCTxPortData <= frameNum[7:0];
        next_HCTxPortCntl <= `TX_PACKET_STREAM;
      end
    `SEND_SOF_WAIT_RDY4:
      if (HCTxPortRdy == 1'b1)	
      begin
        NextState_sndPkt <= `SEND_SOF_FIN1;
        next_HCTxPortWEn <= 1'b1;
        next_HCTxPortData <= {5'b00000, frameNum[10:8]};
        next_HCTxPortCntl <= `TX_PACKET_STREAM;
      end
    `SEND_SOF_CLR_WEN1:
    begin
      next_HCTxPortWEn <= 1'b0;
      NextState_sndPkt <= `SEND_SOF_WAIT_RDY4;
    end
    `DATA0_DATA1_READ_FIFO:
    begin
      next_HCTxPortWEn <= 1'b1;
      next_HCTxPortData <= fifoData;
      next_HCTxPortCntl <= `TX_PACKET_STREAM;
      NextState_sndPkt <= `DATA0_DATA1_CLR_WEN;
    end
    `DATA0_DATA1_WAIT_READ_FIFO:
      if (HCTxPortRdy == 1'b1)	
      begin
        NextState_sndPkt <= `DATA0_DATA1_CLR_REN;
        next_fifoReadEn <= 1'b1;
      end
    `DATA0_DATA1_FIFO_EMPTY:
      if (fifoEmpty == 1'b0)	
        NextState_sndPkt <= `DATA0_DATA1_WAIT_READ_FIFO;
      else
        NextState_sndPkt <= `DATA0_DATA1_TERM_BYTE;
    `DATA0_DATA1_FIN:
    begin
      next_HCTxPortWEn <= 1'b0;
      NextState_sndPkt <= `FIN_SP;
    end
    `DATA0_DATA1_TERM_BYTE:
      if (HCTxPortRdy == 1'b1)	
      begin
        NextState_sndPkt <= `DATA0_DATA1_FIN;
        //Last byte is not valid data,
        //but the 'TX_PACKET_STOP' flag is required
        //by the SIE state machine to detect end of data packet
        next_HCTxPortWEn <= 1'b1;
        next_HCTxPortData <= 8'h00;
        next_HCTxPortCntl <= `TX_PACKET_STOP;
      end
    `DATA0_DATA1_CLR_WEN:
    begin
      next_HCTxPortWEn <= 1'b0;
      NextState_sndPkt <= `DATA0_DATA1_FIFO_EMPTY;
    end
    `DATA0_DATA1_CLR_REN:
    begin
      next_fifoReadEn <= 1'b0;
      NextState_sndPkt <= `DATA0_DATA1_READ_FIFO;
    end
    `LS_EOP_WAIT_RDY:
      if (HCTxPortRdy == 1'b1)	
      begin
        NextState_sndPkt <= `LS_EOP_FIN;
        next_HCTxPortWEn <= 1'b1;
        next_HCTxPortData <= 8'h00;
        next_HCTxPortCntl <= `TX_LS_KEEP_ALIVE;
      end
    `LS_EOP_FIN:
    begin
      next_HCTxPortWEn <= 1'b0;
      NextState_sndPkt <= `FIN_SP;
    end
  endcase
end

//----------------------------------
// Current State Logic (sequential)
//----------------------------------
always @ (posedge clk)
begin : sndPkt_CurrentState
  if (rst)	
    CurrState_sndPkt <= `START_SP;
  else
    CurrState_sndPkt <= NextState_sndPkt;
end

//----------------------------------
// Registered outputs logic
//----------------------------------
always @ (posedge clk)
begin : sndPkt_RegOutput
  if (rst)	
  begin
    sendPacketRdy <= 1'b1;
    HCTxPortReq <= 1'b0;
    HCTxPortWEn <= 1'b0;
    HCTxPortData <= 8'h00;
    HCTxPortCntl <= 8'h00;
    frameNum <= 11'h000;
    fifoReadEn <= 1'b0;
  end
  else 
  begin
    sendPacketRdy <= next_sendPacketRdy;
    HCTxPortReq <= next_HCTxPortReq;
    HCTxPortWEn <= next_HCTxPortWEn;
    HCTxPortData <= next_HCTxPortData;
    HCTxPortCntl <= next_HCTxPortCntl;
    frameNum <= next_frameNum;
    fifoReadEn <= next_fifoReadEn;
  end
end

endmodule

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美a级一区二区| 国产精品一线二线三线| 久久午夜电影网| 色琪琪一区二区三区亚洲区| 国模娜娜一区二区三区| 亚洲国产aⅴ天堂久久| 国产精品色在线| 日韩欧美精品三级| 色婷婷综合久久久久中文一区二区 | 中文字幕制服丝袜一区二区三区| 在线播放91灌醉迷j高跟美女| 97精品超碰一区二区三区| 狠狠网亚洲精品| 全国精品久久少妇| 亚洲成人综合网站| 一区二区三区在线视频观看58| 国产精品网友自拍| 亚洲精品在线免费观看视频| 欧美综合在线视频| 91丨porny丨在线| 福利一区在线观看| 国产一区二区女| 青青草国产成人99久久| 日韩综合在线视频| 亚洲小少妇裸体bbw| 亚洲欧美偷拍卡通变态| 亚洲一二三四区| 中文字幕一区二区视频| 国产精品日韩精品欧美在线| 国产午夜亚洲精品理论片色戒| 日韩精品一区二区三区在线| 欧美一级爆毛片| 欧美一级高清大全免费观看| 欧美高清激情brazzers| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 韩国一区二区三区| 极品少妇xxxx偷拍精品少妇| 日本女优在线视频一区二区| 亚洲国产日韩一级| 国产乱妇无码大片在线观看| 蜜臀91精品一区二区三区 | 亚洲h在线观看| 亚洲一区二区三区国产| 亚洲一区免费观看| 亚洲亚洲人成综合网络| 日韩精品成人一区二区在线| 免费看黄色91| 国产福利精品导航| 99视频精品在线| 色欧美日韩亚洲| 在线播放亚洲一区| 日韩三级中文字幕| 国产拍欧美日韩视频二区| 国产色综合久久| 亚洲国产电影在线观看| 亚洲精品乱码久久久久久久久 | 蜜臂av日日欢夜夜爽一区| 精一区二区三区| 国产成人激情av| 91视频一区二区三区| 欧美挠脚心视频网站| 久久综合狠狠综合久久激情| 欧美高清在线一区| 亚洲国产一区在线观看| 免费成人av在线| 懂色av中文字幕一区二区三区| 99re6这里只有精品视频在线观看| 在线观看日韩国产| 精品人伦一区二区色婷婷| 日本一区二区在线不卡| 亚洲高清在线精品| 激情久久五月天| 色综合久久中文字幕| 欧美一区日韩一区| 国产精品乱人伦一区二区| 亚洲成a人片在线不卡一二三区| 精品一区二区三区视频在线观看| 成人一区在线观看| 欧美高清视频www夜色资源网| 久久精品一区蜜桃臀影院| 一区二区三区不卡视频在线观看| 美女任你摸久久| av不卡一区二区三区| 91精品免费在线| 国产精品久久一卡二卡| 日本一不卡视频| 色94色欧美sute亚洲线路一ni| 欧美一区二区三区不卡| 成人欧美一区二区三区1314| 蜜臀久久99精品久久久久宅男| 99久久精品国产一区二区三区| 欧美一二三区在线| 亚洲人成精品久久久久久| 捆绑变态av一区二区三区| 99精品偷自拍| 国产网红主播福利一区二区| 三级欧美韩日大片在线看| 不卡在线视频中文字幕| 欧美电影免费观看高清完整版在线观看 | 精品国产一区二区三区四区四 | 亚洲一区影音先锋| 国产精品88av| 日韩亚洲欧美高清| 亚洲男同性恋视频| 国产夫妻精品视频| 日韩欧美不卡一区| 一区二区成人在线| 成a人片亚洲日本久久| 久久亚洲一区二区三区明星换脸| 肉丝袜脚交视频一区二区| 色香蕉久久蜜桃| 国产精品美女久久久久久久网站| 国产制服丝袜一区| 欧美一卡2卡3卡4卡| 亚洲1区2区3区4区| 色就色 综合激情| 国产亚洲欧美色| 激情综合网av| 日韩视频在线观看一区二区| 亚洲成人激情自拍| 91福利在线播放| 亚洲欧洲精品一区二区精品久久久| 国产美女精品一区二区三区| 欧美精品久久一区二区三区| 亚洲免费在线视频| 9久草视频在线视频精品| 国产精品女主播av| 成人综合婷婷国产精品久久 | 国产成人精品在线看| 精品国产a毛片| 激情文学综合插| 2022国产精品视频| 国产精品18久久久久久久久| 国产欧美日韩综合| 欧美日韩国产在线播放网站| 亚洲成人三级小说| 欧美日韩精品电影| 喷水一区二区三区| 2017欧美狠狠色| 国产成人在线观看| 中文字幕不卡一区| 成人高清伦理免费影院在线观看| 亚洲欧美综合网| 91成人在线精品| 午夜欧美一区二区三区在线播放 | 亚洲欧洲美洲综合色网| 91亚洲大成网污www| 亚洲一区二区3| 8x福利精品第一导航| 久久精品理论片| 国产欧美一区二区精品忘忧草| 成人av在线播放网址| 一区二区在线看| 欧美人体做爰大胆视频| 国内精品免费**视频| 1区2区3区精品视频| 欧美性猛交一区二区三区精品| 婷婷六月综合亚洲| 337p粉嫩大胆噜噜噜噜噜91av| 国产成人激情av| 亚洲一二三级电影| 欧美r级电影在线观看| av一区二区三区黑人| 婷婷中文字幕综合| 亚洲精品在线免费观看视频| 97精品久久久午夜一区二区三区| 亚洲自拍欧美精品| 欧美不卡一区二区三区| 丁香网亚洲国际| 亚洲国产成人91porn| 精品国产123| 日本高清无吗v一区| 免费一区二区视频| 亚洲欧美日韩综合aⅴ视频| 91麻豆精品国产91久久久久| 国产jizzjizz一区二区| 亚洲一区二区三区四区中文字幕| 5月丁香婷婷综合| 成人中文字幕电影| 夜夜精品浪潮av一区二区三区| 精品欧美乱码久久久久久1区2区| aaa亚洲精品| 久久se这里有精品| 亚洲一二三区不卡| 国产精品三级电影| 日韩一区二区三区精品视频| 色婷婷综合激情| 国产麻豆午夜三级精品| 亚州成人在线电影| 国产精品久久久久aaaa| 精品国产伦一区二区三区观看体验 | 视频一区中文字幕| 亚洲三级免费观看| 久久伊99综合婷婷久久伊| 欧美视频第二页| 99久久精品国产精品久久| 国产一区免费电影| 日韩专区中文字幕一区二区| 国产精品久久久久久久久久久免费看 | 精品在线播放免费|