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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? usbslavecontrolbi.v

?? 包括USB
?? V
?? 第 1 頁 / 共 2 頁
字號:
    EP1Enable <= 1'b0;
    EP2IsoEn <= 1'b0;
    EP2SendStall <= 1'b0;
    EP2DataSequence <= 1'b0;
    EP2Enable <= 1'b0;
    EP3IsoEn <= 1'b0;
    EP3SendStall <= 1'b0;
    EP3DataSequence <= 1'b0;
    EP3Enable <= 1'b0;
    SCControlReg <= 6'h00;
    SCAddrReg <= 7'h00;
    interruptMaskReg <= 5'h00;
  end
  else begin
    clrNAKReq <= 1'b0;
    clrSOFReq <= 1'b0;
    clrResetReq <= 1'b0;
    clrResInReq <= 1'b0;
    clrTransDoneReq <= 1'b0;
    EP0SetReady <= 1'b0;
    EP1SetReady <= 1'b0;
    EP2SetReady <= 1'b0;
    EP3SetReady <= 1'b0;
    if (writeEn == 1'b1 && strobe_i == 1'b1 && slaveControlSelect == 1'b1)
    begin
      case (address)
        `EP0_CTRL_REG : begin
          EP0IsoEn <= dataIn[`ENDPOINT_ISO_ENABLE_BIT];
          EP0SendStall <= dataIn[`ENDPOINT_SEND_STALL_BIT];
          EP0DataSequence <= dataIn[`ENDPOINT_OUTDATA_SEQUENCE_BIT];
          EP0SetReady <= dataIn[`ENDPOINT_READY_BIT];
          EP0Enable <= dataIn[`ENDPOINT_ENABLE_BIT];
        end
        `EP1_CTRL_REG : begin
          EP1IsoEn <= dataIn[`ENDPOINT_ISO_ENABLE_BIT];
          EP1SendStall <= dataIn[`ENDPOINT_SEND_STALL_BIT];
          EP1DataSequence <= dataIn[`ENDPOINT_OUTDATA_SEQUENCE_BIT];
          EP1SetReady <= dataIn[`ENDPOINT_READY_BIT];
          EP1Enable <= dataIn[`ENDPOINT_ENABLE_BIT];
        end
        `EP2_CTRL_REG : begin
          EP2IsoEn <= dataIn[`ENDPOINT_ISO_ENABLE_BIT];
          EP2SendStall <= dataIn[`ENDPOINT_SEND_STALL_BIT];
          EP2DataSequence <= dataIn[`ENDPOINT_OUTDATA_SEQUENCE_BIT];
          EP2SetReady <= dataIn[`ENDPOINT_READY_BIT];
          EP2Enable <= dataIn[`ENDPOINT_ENABLE_BIT];
        end
        `EP3_CTRL_REG : begin
          EP3IsoEn <= dataIn[`ENDPOINT_ISO_ENABLE_BIT];
          EP3SendStall <= dataIn[`ENDPOINT_SEND_STALL_BIT];
          EP3DataSequence <= dataIn[`ENDPOINT_OUTDATA_SEQUENCE_BIT];
          EP3SetReady <= dataIn[`ENDPOINT_READY_BIT];
          EP3Enable <= dataIn[`ENDPOINT_ENABLE_BIT];
        end
        `SC_CONTROL_REG : SCControlReg <= dataIn[5:0];
        `SC_ADDRESS : SCAddrReg <= dataIn[6:0];
        `SC_INTERRUPT_STATUS_REG : begin
          clrNAKReq <= dataIn[`NAK_SENT_INT_BIT];
          clrSOFReq <= dataIn[`SOF_RECEIVED_BIT];
          clrResetReq <= dataIn[`RESET_EVENT_BIT];
          clrResInReq <= dataIn[`RESUME_INT_BIT];
          clrTransDoneReq <= dataIn[`TRANS_DONE_BIT];
        end
        `SC_INTERRUPT_MASK_REG  : interruptMaskReg <= dataIn[4:0];
      endcase
    end
  end
end

//interrupt control 
always @(posedge busClk)
begin
  if (rstSyncToBusClk == 1'b1) begin
    NAKSentInt <= 1'b0;
    SOFRxedInt <= 1'b0;
    resetEventInt <= 1'b0;
    resumeInt <= 1'b0;
    transDoneInt <= 1'b0;
  end
  else begin
    if (NAKSentInSTB == 1'b1)
      NAKSentInt <= 1'b1;
    else if (clrNAKReq == 1'b1)
      NAKSentInt <= 1'b0; 
    
    if (SOFRxedInSTB == 1'b1)
      SOFRxedInt <= 1'b1;
    else if (clrSOFReq == 1'b1)
      SOFRxedInt <= 1'b0;
    
    if (resetEventInSTB == 1'b1)
      resetEventInt <= 1'b1;
    else if (clrResetReq == 1'b1)
      resetEventInt <= 1'b0;
    
    if (resumeIntInSTB == 1'b1)
      resumeInt <= 1'b1;
    else if (clrResInReq == 1'b1)
      resumeInt <= 1'b0;  

    if (transDoneInSTB == 1'b1)
      transDoneInt <= 1'b1;
    else if (clrTransDoneReq == 1'b1)
      transDoneInt <= 1'b0;
  end
end

//mask interrupts
always @(interruptMaskReg or transDoneInt or resumeInt or resetEventInt or SOFRxedInt or NAKSentInt) begin
  transDoneIntOut <= transDoneInt & interruptMaskReg[`TRANS_DONE_BIT];
  resumeIntOut <= resumeInt & interruptMaskReg[`RESUME_INT_BIT];
  resetEventIntOut <= resetEventInt & interruptMaskReg[`RESET_EVENT_BIT];
  SOFRxedIntOut <= SOFRxedInt & interruptMaskReg[`SOF_RECEIVED_BIT];
  NAKSentIntOut <= NAKSentInt & interruptMaskReg[`NAK_SENT_INT_BIT];
end  

//end point ready, set/clear
//Since 'busClk' can be a higher freq than 'usbClk',
//'EP0SetReady' etc must be delayed with respect to other control signals, thus
//ensuring that control signals have been clocked through to 'usbClk' clock
//domain before the ready is asserted.
//Not sure this is required because there is at least two 'usbClk' ticks between
//detection of 'EP0Ready' and sampling of related control signals.always @(posedge busClk)
always @(posedge busClk)
begin
  if (rstSyncToBusClk == 1'b1) begin
    EP0Ready <= 1'b0;
    EP1Ready <= 1'b0;
    EP2Ready <= 1'b0;
    EP3Ready <= 1'b0;
  end
  else begin
    if (EP0SetReady == 1'b1)
      EP0Ready <= 1'b1;
    else if (clrEP0ReadySTB == 1'b1)
      EP0Ready <= 1'b0;
    
    if (EP1SetReady == 1'b1)
      EP1Ready <= 1'b1;
    else if (clrEP1ReadySTB == 1'b1)
      EP1Ready <= 1'b0;
    
    if (EP2SetReady == 1'b1)
      EP2Ready <= 1'b1;
    else if (clrEP2ReadySTB == 1'b1)
      EP2Ready <= 1'b0;
    
    if (EP3SetReady == 1'b1)
      EP3Ready <= 1'b1;
    else if (clrEP3ReadySTB == 1'b1)
      EP3Ready <= 1'b0;
  end
end  
  
//break out control signals
always @(SCControlReg) begin
  SCGlobalEnSTB <= SCControlReg[`SC_GLOBAL_ENABLE_BIT];
  TxLineStateSTB <= SCControlReg[`SC_TX_LINE_STATE_MSBIT:`SC_TX_LINE_STATE_LSBIT];
  LineDirectControlEnSTB <= SCControlReg[`SC_DIRECT_CONTROL_BIT];
  fullSpeedPolSTB <= SCControlReg[`SC_FULL_SPEED_LINE_POLARITY_BIT]; 
  fullSpeedRateSTB <= SCControlReg[`SC_FULL_SPEED_LINE_RATE_BIT];
end

//combine endpoint control signals 
always @(EP0IsoEn or EP0SendStall or EP0Ready or EP0DataSequence or EP0Enable or
  EP1IsoEn or EP1SendStall or EP1Ready or EP1DataSequence or EP1Enable or
  EP2IsoEn or EP2SendStall or EP2Ready or EP2DataSequence or EP2Enable or
  EP3IsoEn or EP3SendStall or EP3Ready or EP3DataSequence or EP3Enable) 
begin
  endP0ControlRegSTB <= {EP0IsoEn, EP0SendStall, EP0DataSequence, EP0Ready, EP0Enable};
  endP1ControlRegSTB <= {EP1IsoEn, EP1SendStall, EP1DataSequence, EP1Ready, EP1Enable};
  endP2ControlRegSTB <= {EP2IsoEn, EP2SendStall, EP2DataSequence, EP2Ready, EP2Enable};
  endP3ControlRegSTB <= {EP3IsoEn, EP3SendStall, EP3DataSequence, EP3Ready, EP3Enable};
end
      
      
// async read mux
// FIX ME
// Not sure why 'EP0SendStall' etc are in sensitivity list. May be related to
// some translation bug
always @(address or
  EP0SendStall or EP0Ready or EP0DataSequence or EP0Enable or
  EP1SendStall or EP1Ready or EP1DataSequence or EP1Enable or
  EP2SendStall or EP2Ready or EP2DataSequence or EP2Enable or
  EP3SendStall or EP3Ready or EP3DataSequence or EP3Enable or
  EP0StatusRegSTB or EP1StatusRegSTB or EP2StatusRegSTB or EP3StatusRegSTB or
  endP0ControlRegSTB or endP1ControlRegSTB or endP2ControlRegSTB or endP3ControlRegSTB or
  endP0NAKTransTypeRegSTB or endP1NAKTransTypeRegSTB or endP2NAKTransTypeRegSTB or endP3NAKTransTypeRegSTB or 
  endP0TransTypeRegSTB or endP1TransTypeRegSTB or endP2TransTypeRegSTB or endP3TransTypeRegSTB or
  SCControlReg or connectStateIn or
  NAKSentInt or SOFRxedInt or resetEventInt or resumeInt or transDoneInt or
  interruptMaskReg or SCAddrReg or frameNumSTB)
begin
  case (address)
      `EP0_CTRL_REG : dataOut <= endP0ControlRegSTB;
      `EP0_STS_REG : dataOut <= EP0StatusRegSTB;
      `EP0_TRAN_TYPE_STS_REG : dataOut <= endP0TransTypeRegSTB;
      `EP0_NAK_TRAN_TYPE_STS_REG : dataOut <= endP0NAKTransTypeRegSTB;
      `EP1_CTRL_REG : dataOut <= endP1ControlRegSTB;
      `EP1_STS_REG :  dataOut <= EP1StatusRegSTB;
      `EP1_TRAN_TYPE_STS_REG : dataOut <= endP1TransTypeRegSTB;
      `EP1_NAK_TRAN_TYPE_STS_REG : dataOut <= endP1NAKTransTypeRegSTB;
      `EP2_CTRL_REG : dataOut <= endP2ControlRegSTB;
      `EP2_STS_REG :  dataOut <= EP2StatusRegSTB;
      `EP2_TRAN_TYPE_STS_REG : dataOut <= endP2TransTypeRegSTB;
      `EP2_NAK_TRAN_TYPE_STS_REG : dataOut <= endP2NAKTransTypeRegSTB;
      `EP3_CTRL_REG : dataOut <= endP3ControlRegSTB;
      `EP3_STS_REG :  dataOut <= EP3StatusRegSTB;
      `EP3_TRAN_TYPE_STS_REG : dataOut <= endP3TransTypeRegSTB;
      `EP3_NAK_TRAN_TYPE_STS_REG : dataOut <= endP3NAKTransTypeRegSTB;
      `SC_CONTROL_REG : dataOut <= SCControlReg;
      `SC_LINE_STATUS_REG : dataOut <= {6'b000000, connectStateIn}; 
      `SC_INTERRUPT_STATUS_REG :  dataOut <= {3'b000, NAKSentInt, SOFRxedInt, resetEventInt, resumeInt, transDoneInt};
      `SC_INTERRUPT_MASK_REG  : dataOut <= {3'b000, interruptMaskReg};
      `SC_ADDRESS : dataOut <= {1'b0, SCAddrReg};
      `SC_FRAME_NUM_MSP : dataOut <= {5'b00000, frameNumSTB[10:8]};
      `SC_FRAME_NUM_LSP : dataOut <= frameNumSTB[7:0];
      default: dataOut <= 8'h00;
  endcase
end

//re-sync from busClk to usbClk. 
always @(posedge usbClk) begin
  endP0ControlReg <= endP0ControlRegSTB;
  endP1ControlReg <= endP1ControlRegSTB;
  endP2ControlReg <= endP2ControlRegSTB;
  endP3ControlReg <= endP3ControlRegSTB;
  SCGlobalEn <= SCGlobalEnSTB;
  TxLineState <= TxLineStateSTB;
  LineDirectControlEn <= LineDirectControlEnSTB;
  fullSpeedPol <= fullSpeedPolSTB; 
  fullSpeedRate <= fullSpeedRateSTB;
end

//re-sync from usbClk to busClk. Since 'NAKSentIn', 'SOFRxedIn' etc are only asserted 
//for one 'usbClk' tick, busClk freq must be greater than or equal to usbClk freq
always @(posedge busClk) begin
  NAKSentInSTB <= NAKSentIn;
  SOFRxedInSTB <= SOFRxedIn;
  resetEventInSTB <= resetEventIn;
  resumeIntInSTB <= resumeIntIn;
  transDoneInSTB <= transDoneIn;
  clrEP0ReadySTB <= clrEP0Ready;
  clrEP1ReadySTB <= clrEP1Ready;
  clrEP2ReadySTB <= clrEP2Ready;
  clrEP3ReadySTB <= clrEP3Ready;
  EP0StatusRegSTB <= EP0StatusReg;
  EP1StatusRegSTB <= EP1StatusReg;
  EP2StatusRegSTB <= EP2StatusReg;
  EP3StatusRegSTB <= EP3StatusReg;
  endP0TransTypeRegSTB <= endP0TransTypeReg;
  endP1TransTypeRegSTB <= endP1TransTypeReg;
  endP2TransTypeRegSTB <= endP2TransTypeReg;
  endP3TransTypeRegSTB <= endP3TransTypeReg;
  endP0NAKTransTypeRegSTB <= endP0NAKTransTypeReg;
  endP1NAKTransTypeRegSTB <= endP1NAKTransTypeReg;
  endP2NAKTransTypeRegSTB <= endP2NAKTransTypeReg;
  endP3NAKTransTypeRegSTB <= endP3NAKTransTypeReg;
  frameNumSTB <= frameNum;
end

endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合中文综合网| 99久久精品免费| 在线视频国内自拍亚洲视频| 337p亚洲精品色噜噜狠狠| 中文在线免费一区三区高中清不卡| 一区二区三区自拍| 国产综合一区二区| 91精品免费观看| 亚洲欧美日韩精品久久久久| 国产精品亚洲一区二区三区在线| 精品视频资源站| 国产日韩精品视频一区| 日韩电影一二三区| 欧美日韩在线不卡| 亚洲精品成人悠悠色影视| 国产一区二区三区日韩| 日韩女同互慰一区二区| 日韩国产一区二| 欧美日本高清视频在线观看| 亚洲国产精品久久艾草纯爱| 成人丝袜高跟foot| 日本欧美肥老太交大片| 精品福利一二区| 色综合久久88色综合天天免费| 国产一区二区视频在线播放| 日韩黄色一级片| 《视频一区视频二区| 国产午夜精品福利| 欧美一区二区三区啪啪| 欧美在线不卡一区| 波波电影院一区二区三区| 国内精品国产三级国产a久久| 亚洲激情五月婷婷| 国产精品久久99| 国产日韩欧美a| 69堂成人精品免费视频| 欧美亚洲国产一区在线观看网站 | 老司机一区二区| 丁香婷婷综合五月| 精品福利av导航| 亚洲精品久久嫩草网站秘色| 国产一区在线观看视频| 蜜臀av在线播放一区二区三区| 欧美tk—视频vk| 久久男人中文字幕资源站| 精品一区二区日韩| 久久99国产精品久久99果冻传媒| 国产精品88av| 中文字幕欧美区| 99精品欧美一区二区三区综合在线| 欧美国产精品劲爆| 91亚洲精品乱码久久久久久蜜桃| 国产精品久久毛片| 欧美无人高清视频在线观看| 日韩影视精彩在线| 久久综合色综合88| www.亚洲激情.com| 亚洲国产一区二区a毛片| 欧美日本在线看| 狠狠色伊人亚洲综合成人| 欧美激情一区二区在线| 色94色欧美sute亚洲13| 男人的天堂久久精品| 久久久久久久国产精品影院| 日本韩国一区二区三区| 日本一区中文字幕| 欧美国产精品一区二区三区| 欧美图片一区二区三区| 狠狠色丁香婷综合久久| 亚洲丝袜制服诱惑| 欧美一二三四在线| www.66久久| 激情图片小说一区| 亚洲一区二区四区蜜桃| 久久久亚洲国产美女国产盗摄| 在线一区二区三区四区五区| 久久66热re国产| 亚洲国产综合视频在线观看| 久久精品亚洲麻豆av一区二区| 欧美性色欧美a在线播放| 国内欧美视频一区二区 | 99v久久综合狠狠综合久久| 亚洲不卡在线观看| 欧美国产精品专区| 日韩精品中文字幕一区二区三区| 色综合色狠狠综合色| 激情久久五月天| 日本欧美一区二区三区| 日韩美女视频一区二区| 久久精品男人的天堂| 51精品久久久久久久蜜臀| 91免费观看国产| 国产福利精品导航| 久久激情综合网| 天天免费综合色| 亚洲一区二区中文在线| 亚洲三级电影全部在线观看高清| 2023国产一二三区日本精品2022| 欧美日韩国产天堂| 色国产精品一区在线观看| 岛国精品在线观看| 国产成人在线视频网站| 久久av中文字幕片| 日本午夜一本久久久综合| 亚洲一区二区三区在线看| 亚洲日本在线视频观看| 国产精品欧美久久久久一区二区| 欧美成人video| 日韩精品专区在线影院观看| 91.麻豆视频| 欧美一区二区三区在线观看 | 色噜噜久久综合| 97精品国产97久久久久久久久久久久| 国模大尺度一区二区三区| 精品一区二区精品| 精品在线观看免费| 经典三级视频一区| 激情亚洲综合在线| 国产精品888| 成人福利视频网站| 99精品久久只有精品| av成人免费在线| 欧美在线视频不卡| 欧美人伦禁忌dvd放荡欲情| 欧美精品aⅴ在线视频| 欧美一区二区三区喷汁尤物| 欧美精品在线视频| 色婷婷综合五月| 五月激情六月综合| 亚洲精品免费电影| 亚洲色图清纯唯美| 亚洲国产精品99久久久久久久久| 日本精品一级二级| 色婷婷国产精品综合在线观看| 国产很黄免费观看久久| 国产精品一区二区在线观看网站| 亚洲第一福利一区| 午夜在线电影亚洲一区| 五月天激情综合| www.日韩av| 91亚洲精品乱码久久久久久蜜桃| 成人免费视频app| 丰满白嫩尤物一区二区| 欧洲av一区二区嗯嗯嗯啊| 在线中文字幕一区二区| 国产欧美日韩一区二区三区在线观看| 欧美一区二区免费视频| 国产精品久久一卡二卡| 国产女主播一区| 在线播放中文一区| 亚洲欧美自拍偷拍| 精品精品国产高清一毛片一天堂| 成人天堂资源www在线| 福利一区在线观看| 欧洲一区二区av| 2023国产精品自拍| 一区二区在线观看视频在线观看| 亚洲欧美在线aaa| 国产日韩欧美激情| 一区二区三区日韩精品| 美国十次综合导航| 91蜜桃婷婷狠狠久久综合9色| 欧美亚洲高清一区二区三区不卡| 91精品婷婷国产综合久久竹菊| 久久婷婷色综合| 亚洲国产精品久久人人爱蜜臀| 精品影视av免费| www.欧美亚洲| 欧美岛国在线观看| 亚洲永久免费av| 国产一区在线观看麻豆| 一本色道久久综合精品竹菊| 欧美性猛交xxxxxxxx| 精品91自产拍在线观看一区| 亚洲欧美在线观看| 免费在线欧美视频| 色av一区二区| 久久免费看少妇高潮| 亚洲影视在线播放| 蜜桃一区二区三区在线观看| 欧美性大战久久久久久久| 精品三级在线看| 亚洲一区二三区| 色综合天天综合狠狠| 欧美精品一区男女天堂| 亚洲免费观看视频| 国产高清精品网站| www国产精品av| 青青草97国产精品免费观看无弹窗版| 不卡欧美aaaaa| 久久婷婷久久一区二区三区| 日韩不卡手机在线v区| 91国产福利在线| 国产精品大尺度| 亚洲成人av资源| 在线观看亚洲一区| 亚洲一区二区三区四区中文字幕| 盗摄精品av一区二区三区| 欧美v日韩v国产v| 久久99国产精品免费网站|