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

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

?? usb_new_synchronizer_rtl.vhdl

?? 實現USB接口功能的VHDL和verilog完整源代碼
?? VHDL
字號:
--------------------------------------------------------------------------------
--
--  P H I L I P S  C O M P A N Y  R E S T R I C T E D
--                                         
--  Copyright (c) 1998.                    
--
--  Philips Electronics N.V.
--
--  Philips Semiconductors
--  Interconnectivity and Processor Peripheral group
--  Bangalore, India
--  All rights reserved. Reproduction in whole or in part is prohibited
--  without the written permission of the copyright owner.
--
--------------------------------------------------------------------------------
--
--  File            : usb_new_synchronizer_rtl.vhdl 
--
--  Module          : Synchronizer block
-- 
--  Project         : VPB bus interface to USB 1.1 device 
--
--  Author          :              
-- 
--  Description     : This block provides synchronization for signals crossing
--                    from Fs clock to APB clock. All signals are provided
--                    double FF syncronization.
--
--  Contact address : sanjeev@blr.sc.philips.com
--
--------------------------------------------------------------------------------

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;

library work ;
use work.PCK_GENERAL.all;

library work;
use work.PCK_APB.all; 

architecture RTL of SYNCHRONIZER is

  signal End_Transfer_Q:        one_bit;
  signal End_Transfer_2Q:       one_bit;
  signal End_Transfer_3Q:       one_bit;
  signal Read_Q:                one_bit;
  signal Read_2Q:               one_bit;
  signal Trans_Enable_Q:        one_bit;
  signal Trans_Enable_2Q:       one_bit;
  signal Trans_Enable_3Q:       one_bit;
  signal Trans_Enable_Int:      one_bit; 
  signal USBEp0Intr_Set_Q:      one_bit;
  signal USBEp0Intr_Set_2Q:     one_bit;
  signal USBEp0Intr_Set_3Q:     one_bit;
  signal USBEp1Intr_Set_Q:      one_bit;
  signal USBEp1Intr_Set_2Q:     one_bit;
  signal USBEp1Intr_Set_3Q:     one_bit;
  signal USBEp2Intr_Set_Q:      one_bit;
  signal USBEp2Intr_Set_2Q:     one_bit;
  signal USBEp2Intr_Set_3Q:     one_bit;
  signal USBEp3Intr_Set_Q:      one_bit;
  signal USBEp3Intr_Set_2Q:     one_bit;
  signal USBEp3Intr_Set_3Q:     one_bit;
  signal USBEp4Intr_Set_Q:      one_bit;
  signal USBEp4Intr_Set_2Q:     one_bit;
  signal USBEp4Intr_Set_3Q:     one_bit;
  signal USBEp5Intr_Set_Q:      one_bit;
  signal USBEp5Intr_Set_2Q:     one_bit;
  signal USBEp5Intr_Set_3Q:     one_bit;
  signal USBEp6Intr_Set_Q:      one_bit;
  signal USBEp6Intr_Set_2Q:     one_bit;
  signal USBEp6Intr_Set_3Q:     one_bit;
  signal USBEp7Intr_Set_Q:      one_bit;
  signal USBEp7Intr_Set_2Q:     one_bit;
  signal USBEp7Intr_Set_3Q:     one_bit;
  signal USBDevIntr_Set_Q:      one_bit;
  signal USBDevIntr_Set_2Q:     one_bit;
  signal USBDevIntr_Set_3Q:     one_bit;
  signal FullBuffer_UC_Q:       T_Full;
  signal EndTransfer_Cmd_Q:     one_bit;
  signal EndTransfer_Cmd_2Q:    one_bit;
  signal EndTransfer_Cmd_3Q:    one_bit;
  signal RxError_Q:             boolean;
  signal RxError_2Q:            boolean;
  signal RxError_3Q:            boolean;
  signal USBToggleBuffer_Q:     T_ToggleArray; 
  signal UCToggleBuffer_Q:      T_ToggleArray; 
  signal PI_IsoToggle_Q:        integer range 0 to 1;
  signal PI_IsoToggle_2Q:       integer range 0 to 1;
  signal CmdDataValid_Q:        boolean;
  signal CmdDataValid_2Q:       boolean;
  signal CmdDataValid_3Q:       boolean;
  signal CmdAccept_Q:           boolean;
  signal CmdAccept_2Q:          boolean;
  signal CmdAccept_3Q:          boolean;
  signal start_in_tx_Q:         one_bit;
  signal start_in_tx_2Q:        one_bit;
  signal start_in_tx_I:         one_bit;
  signal FrameIntr_Set_I:       one_bit;  
  signal FrameIntr_Set_Q:       one_bit;  

 begin

  CmdCodeValid_Out   <= CmdCodeValid;
  CommandDataChannel <= CommandData;
  CommandCodeChannel <= CommandCode;
  PI_IsoToggle_Out   <= PI_IsoToggle_2Q;
  
  process(clk) 
    begin
      if(clk'event AND clk = '1') then
         
          -- syncronus reset for all registers
         if(pvci_reset_n = '0') then
            RxCore_Data              <= (others => '0');
            EP_number_out            <= 0;
            If_Busy                  <= false;
            USBEp0IntrSet            <= '0';
            USBEp0Intr_Set_Q         <= '0';
            USBEp0Intr_Set_2Q        <= '0';
            USBEp0Intr_Set_3Q        <= '0';
            USBEp1IntrSet            <= '0';
            USBEp1Intr_Set_Q         <= '0';
            USBEp1Intr_Set_2Q        <= '0';
            USBEp1Intr_Set_3Q        <= '0';
            USBEp2IntrSet            <= '0';
            USBEp2Intr_Set_Q         <= '0';
            USBEp2Intr_Set_2Q        <= '0';
            USBEp2Intr_Set_3Q        <= '0';
            USBEp3IntrSet            <= '0';
            USBEp3Intr_Set_Q         <= '0';
            USBEp3Intr_Set_2Q        <= '0';
            USBEp3Intr_Set_3Q        <= '0';
            USBEp4IntrSet            <= '0';
            USBEp4Intr_Set_Q         <= '0';
            USBEp4Intr_Set_2Q        <= '0';
            USBEp4Intr_Set_3Q        <= '0';
            USBEp5IntrSet            <= '0';
            USBEp5Intr_Set_Q         <= '0';
            USBEp5Intr_Set_2Q        <= '0';
            USBEp5Intr_Set_3Q        <= '0';
            USBEp6IntrSet            <= '0';
            USBEp6Intr_Set_Q         <= '0';
            USBEp6Intr_Set_2Q        <= '0';
            USBEp6Intr_Set_3Q        <= '0';
            USBEp7IntrSet            <= '0';
            USBEp7Intr_Set_Q         <= '0';
            USBEp7Intr_Set_2Q        <= '0';
            USBEp7Intr_Set_3Q        <= '0';
            USBDevIntrSet            <= '0';
            USBDevIntr_Set_Q         <= '0';
            USBDevIntr_Set_2Q        <= '0';
            USBDevIntr_Set_3Q        <= '0';            
            Trans_Enable_Int         <= '0';
            Trans_Enable_Q           <= '0';
            Trans_Enable_2Q          <= '0';
            Trans_Enable_3Q          <= '0';
            Read_Data                <= '0';
            Read_Q                   <= '0';
            Read_2Q                  <= '0';
            End_Transfer_D           <= '0';
            End_Transfer_Q           <= '0';
            End_Transfer_2Q          <= '0';
            End_Transfer_3Q          <= '0';
            EndTransfer_Cmd_D        <= '0';
            EndTransfer_Cmd_Q        <= '0';
            EndTransfer_Cmd_2Q       <= '0';
            EndTransfer_Cmd_3Q       <= '0';
            RxError_Out              <= false;
            RxError_Q                <= false;
            RxError_2Q               <= false;
            RxError_3Q               <= false;
            USBToggleBuffer_Q        <= (others => 0);
            USBToggleBuffer_Out      <= (others => 0);
            UCToggleBuffer_Q         <= (others => 0);
            UCToggleBuffer_Out       <= (others => 0);
            FullBuffer_UC_Q          <= (others => (others => false));
            FullBuffer_EP            <= (others => (others => false));
            PI_IsoToggle_2Q          <= 0;
            PI_IsoToggle_Q           <= 0;
            CmdDataValid_Q           <= false;
            CmdDataValid_2Q          <= false;
            CmdDataValid_3Q          <= false;
            CmdAccept_Q              <= false;
            CmdAccept_2Q             <= false;
            CmdAccept_3Q             <= false;
            start_in_tx_Q            <= '0';
            start_in_tx_2Q           <= '0';
            start_in_tx_I            <= '0';
            TxDest_Endp              <= 0;
            start_in_tx              <= '0';
            FrameIntr_Set_I          <= '0';
            FrameIntr_Set_Q          <= '0';
            FrameIntr_Set            <= '0';

         else
            
            -- Read in to GIF from PI handler.
            if(Trans_Enable_Int = '1' ) then
               RxCore_Data     <= Data_Out;
               EP_number_out   <= EP_number;
               If_Busy         <= true;
            end if;  

            -- Edge Detection with Double Flip-Flop for Trans_Enable
            Trans_Enable_Q   <= Trans_Enable;
            Trans_Enable_2Q  <= Trans_Enable_Q;
            Trans_Enable_3Q  <= Trans_Enable_2Q;
            Trans_Enable_Int <= Trans_Enable_2Q and not Trans_Enable_3Q;

            -- Edge detection with Double Flip-Flop for Read_Write
            Read_Q    <= Read;
            Read_2Q   <= Read_Q;
            Read_Data <= Read_Q and not Read_2Q;

            --Edge detection with Double Flip-Flop for End_Transfer.
            End_Transfer_Q   <= End_Transfer;
            End_Transfer_2Q  <= End_Transfer_Q;
            End_Transfer_3Q  <= End_Transfer_2Q;
            End_Transfer_D   <= End_Transfer_2Q and not End_Transfer_3Q;

            -- Edge detection with Double Flip-Flop for EndTransfer_Cmd
            EndTransfer_Cmd_Q  <= EndTransfer_Cmd;
            EndTransfer_Cmd_2Q <= EndTransfer_Cmd_Q;
            EndTransfer_Cmd_3Q <= EndTransfer_Cmd_2Q;
            EndTransfer_Cmd_D  <= EndTransfer_Cmd_2Q and not EndTransfer_Cmd_3Q;

            -- Edge detection with Double Flip-Flop for USBEp0Intr_Set 
            USBEp0Intr_Set_Q  <= USBEp0Intr_Set;
            USBEp0Intr_Set_2Q <= USBEp0Intr_Set_Q;
            USBEp0Intr_Set_3Q <= USBEp0Intr_Set_2Q;
            USBEp0IntrSet     <= USBEp0Intr_Set_2Q and not USBEp0Intr_Set_3Q;

            -- Edge detection with Double Flip-Flop for USBEp1Intr_Set 
            USBEp1Intr_Set_Q  <= USBEp1Intr_Set;
            USBEp1Intr_Set_2Q <= USBEp1Intr_Set_Q;
            USBEp1Intr_Set_3Q <= USBEp1Intr_Set_2Q;
            USBEp1IntrSet     <= USBEp1Intr_Set_2Q and not USBEp1Intr_Set_3Q;

            -- Edge detection with Double Flip-Flop for USBEp2Intr_Set 
            USBEp2Intr_Set_Q  <= USBEp2Intr_Set;
            USBEp2Intr_Set_2Q <= USBEp2Intr_Set_Q;
            USBEp2Intr_Set_3Q <= USBEp2Intr_Set_2Q;
            USBEp2IntrSet     <= USBEp2Intr_Set_2Q and not USBEp2Intr_Set_3Q;

            -- Edge detection with Double Flip-Flop for USBEp3Intr_Set 
            USBEp3Intr_Set_Q  <= USBEp3Intr_Set;
            USBEp3Intr_Set_2Q <= USBEp3Intr_Set_Q;
            USBEp3Intr_Set_3Q <= USBEp3Intr_Set_2Q;
            USBEp3IntrSet     <= USBEp3Intr_Set_2Q and not USBEp3Intr_Set_3Q;

            -- Edge detection with Double Flip-Flop for USBEp4Intr_Set 
            USBEp4Intr_Set_Q  <= USBEp4Intr_Set;
            USBEp4Intr_Set_2Q <= USBEp4Intr_Set_Q;
            USBEp4Intr_Set_3Q <= USBEp4Intr_Set_2Q;
            USBEp4IntrSet     <= USBEp4Intr_Set_2Q and not USBEp4Intr_Set_3Q;

            -- Edge detection with Double Flip-Flop for USBEp5Intr_Set 
            USBEp5Intr_Set_Q  <= USBEp5Intr_Set;
            USBEp5Intr_Set_2Q <= USBEp5Intr_Set_Q;
            USBEp5Intr_Set_3Q <= USBEp5Intr_Set_2Q;
            USBEp5IntrSet     <= USBEp5Intr_Set_2Q and not USBEp5Intr_Set_3Q;

            -- Edge detection with Double Flip-Flop for USBEp6Intr_Set 
            USBEp6Intr_Set_Q  <= USBEp6Intr_Set;
            USBEp6Intr_Set_2Q <= USBEp6Intr_Set_Q;
            USBEp6Intr_Set_3Q <= USBEp6Intr_Set_2Q;
            USBEp6IntrSet     <= USBEp6Intr_Set_2Q and not USBEp6Intr_Set_3Q;

            -- Edge detection with Double Flip-Flop for USBEp7Intr_Set 
            USBEp7Intr_Set_Q  <= USBEp7Intr_Set;
            USBEp7Intr_Set_2Q <= USBEp7Intr_Set_Q;
            USBEp7Intr_Set_3Q <= USBEp7Intr_Set_2Q;
            USBEp7IntrSet     <= USBEp7Intr_Set_2Q and not USBEp7Intr_Set_3Q;

            -- Edge detection with Double Flip-Flop for USBDevIntr_Set 
            USBDevIntr_Set_Q  <= USBDevIntr_Set;
            USBDevIntr_Set_2Q <= USBDevIntr_Set_Q;
            USBDevIntr_Set_3Q <= USBDevIntr_Set_2Q;
            USBDevIntrSet     <= USBDevIntr_Set_2Q and not USBDevIntr_Set_3Q;

            -- Rx DMA Valid Data
            FullBuffer_UC_Q   <= FullBuffer_UC;
            FullBuffer_EP     <= FullBuffer_UC_Q;

            -- USB Toggle 
            USBToggleBuffer_Q   <= USBToggleBuffer; 
            USBToggleBuffer_Out <= USBToggleBuffer_Q; 

            -- UC Toggle
            UCToggleBuffer_Q    <= UCToggleBuffer;
            UCToggleBuffer_Out  <= UCToggleBuffer_Q;

            -- Edge detection for RxError.
            RxError_Q   <= RxError;
            RxError_2Q  <= RxError_Q;
            RxError_3Q  <= RxError_2Q;
            RxError_Out <= RxError_2Q and not RxError_3Q;

            -- IsoToggle
            PI_IsoToggle_Q   <= PI_IsoToggle; 
            PI_IsoToggle_2Q  <= PI_IsoToggle_Q;

            -- Generation of Frame interrupt
            if(PI_IsoToggle_2Q = 0) then
               FrameIntr_Set_I <= '0';
            else
               FrameIntr_Set_I <= '1';
            end if;
            FrameIntr_Set_Q <= FrameIntr_Set_I ;
            FrameIntr_Set   <= (FrameIntr_Set_Q and not FrameIntr_Set_I ) or (not FrameIntr_Set_Q and FrameIntr_Set_I);

            -- Command accept
            CmdAccept_Q   <= CmdAccept;
            CmdAccept_2Q  <= CmdAccept_Q;
            CmdAccept_3Q  <= CmdAccept_2Q;
            CmdAccept_Out <= CmdAccept_2Q and not CmdAccept_3Q;

            -- Command data valid
            CmdDataValid_Q   <= CmdDataValid; 
            CmdDataValid_2Q  <= CmdDataValid_Q;
            CmdDataValid_3Q  <= CmdDataValid_2Q;
            CmdDataValid_Out <= CmdDataValid_2Q and not CmdDataValid_3Q;
 
            -- start_in_tx
            start_in_tx_Q  <= reg_ram_read;
            start_in_tx_2Q <= start_in_tx_Q;
            start_in_tx_I  <= start_in_tx_Q and not start_in_tx_2Q;
  
            if(start_in_tx_I = '1') then
               start_in_tx <= '1';
               TxDest_Endp <= reg_ram_tag;
            else
               start_in_tx <= '0';
            end if;
          
            -- Resetting of if_busy
            if(RxDataAccepted) then
               If_Busy   <= false;
            end if;
          
         end if;
      end if;
  end process;
end RTL;          

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕制服丝袜一区二区三区| 精品久久久久香蕉网| 国产一区二区精品久久| 日韩av中文字幕一区二区三区| 亚洲六月丁香色婷婷综合久久 | 国产三级精品视频| 久久精品网站免费观看| 久久综合九色综合欧美98| 精品少妇一区二区三区| 日韩女优毛片在线| 国产午夜精品在线观看| 国产女同互慰高潮91漫画| 国产精品网站在线观看| 亚洲婷婷综合色高清在线| 国产精品久久久久久久久免费樱桃| 中文字幕第一区第二区| 亚洲图片欧美激情| 日韩影视精彩在线| 国产一区二区美女| 国产成人aaa| 色网站国产精品| 欧美性猛交xxxxxx富婆| 欧美一区二区精品久久911| 精品国产青草久久久久福利| 中文字幕第一区| 亚洲精品videosex极品| 丝袜诱惑亚洲看片| 国产伦精品一区二区三区视频青涩 | 欧美精品一区二区三区四区| 国产精品国产三级国产三级人妇| 亚洲视频资源在线| 六月丁香婷婷色狠狠久久| 国产精品一二三区| 欧美视频自拍偷拍| 2021中文字幕一区亚洲| 亚洲人成网站色在线观看| 偷偷要91色婷婷| 成人激情动漫在线观看| 欧美精品日韩综合在线| 欧美激情在线一区二区| 日韩中文字幕一区二区三区| 高清国产午夜精品久久久久久| 在线观看视频一区| 日韩精品一区二区三区中文不卡| 亚洲视频免费看| 狠狠v欧美v日韩v亚洲ⅴ| 欧美视频在线观看一区二区| 久久久综合精品| 日韩激情一二三区| 色狠狠一区二区三区香蕉| 国产视频一区二区在线| 肉肉av福利一精品导航| 91蝌蚪porny九色| 久久精品日韩一区二区三区| 亚洲高清免费一级二级三级| 欧美成人在线直播| 欧美日韩aaaaa| 欧美视频在线观看一区二区| 国产三级三级三级精品8ⅰ区| 国产福利一区二区三区在线视频| 欧美韩国日本一区| 91精品1区2区| 秋霞国产午夜精品免费视频| 久久久影院官网| 色婷婷综合激情| 久久精品国产精品亚洲红杏| 国产精品色婷婷久久58| 欧美综合欧美视频| 精彩视频一区二区三区| 亚洲欧洲日产国产综合网| 欧美日韩亚洲综合| 国产一区999| 午夜视频一区二区| 欧美国产精品v| 777久久久精品| 99re8在线精品视频免费播放| 亚洲成av人片在线观看| 国产精品网站导航| 欧美高清精品3d| 91在线观看视频| 看电影不卡的网站| 亚洲一区视频在线| 欧美国产日韩在线观看| 日韩欧美色综合网站| 91欧美一区二区| 激情综合网激情| 亚洲h动漫在线| 亚洲欧美在线视频| 国产午夜亚洲精品羞羞网站| 91精品啪在线观看国产60岁| 91麻豆国产香蕉久久精品| 国产精品1区2区| 日产欧产美韩系列久久99| 亚洲精品免费电影| 国产精品灌醉下药二区| 2022国产精品视频| 欧美一卡2卡三卡4卡5免费| 日本精品一区二区三区高清| 国产成人免费在线视频| 久久精品久久精品| 乱一区二区av| 日本不卡123| 午夜精品在线看| 亚洲高清一区二区三区| 一区二区三区免费在线观看| 国产精品亲子乱子伦xxxx裸| 2014亚洲片线观看视频免费| 欧美一区二区黄色| 欧美日韩在线精品一区二区三区激情| eeuss鲁片一区二区三区 | 91欧美一区二区| 成人av网址在线观看| 国产福利91精品| 粉嫩一区二区三区在线看| 国产美女在线观看一区| 国产一区二区美女诱惑| 国产精品888| 成人亚洲精品久久久久软件| 国产成人午夜片在线观看高清观看| 欧美aaaaaa午夜精品| 青青草一区二区三区| 另类欧美日韩国产在线| 久久国产福利国产秒拍| 极品少妇xxxx精品少妇偷拍| 精品无码三级在线观看视频| 国产在线视频一区二区| 国产成人精品亚洲午夜麻豆| 成人动漫一区二区在线| 91同城在线观看| 欧美人与z0zoxxxx视频| 欧美一区二区福利在线| 国产亚洲欧美一级| 国产精品午夜免费| 亚洲视频电影在线| 亚洲成人免费在线观看| 久久99在线观看| 国产成人综合网| 色先锋aa成人| 欧美变态口味重另类| 国产夜色精品一区二区av| 亚洲欧洲一区二区在线播放| 午夜一区二区三区视频| 狠狠色丁香久久婷婷综合_中 | 日韩av中文字幕一区二区 | 舔着乳尖日韩一区| 国内精品视频一区二区三区八戒| 成人性生交大片| 欧美色图一区二区三区| 欧美电影免费观看高清完整版在线观看 | 日韩二区三区四区| 成人午夜激情在线| 欧美亚洲日本一区| 久久综合久久综合久久| 亚洲日本在线看| 麻豆高清免费国产一区| www.亚洲激情.com| 日韩一区二区在线观看视频播放| 国产精品另类一区| 免费高清在线一区| 一本色道久久综合亚洲aⅴ蜜桃| 日韩美女视频一区二区在线观看| 国产精品美女视频| 美日韩一区二区三区| 91丝袜高跟美女视频| 久久久青草青青国产亚洲免观| 亚洲成在人线在线播放| 成人黄色软件下载| 欧美电影免费观看高清完整版在线| ㊣最新国产の精品bt伙计久久| 久久99国产精品免费| 欧美午夜精品理论片a级按摩| 国产日韩v精品一区二区| 日本亚洲欧美天堂免费| 色婷婷精品大在线视频| 国产午夜精品一区二区三区视频| 免费成人深夜小野草| 日本精品一区二区三区四区的功能| 久久久精品国产免费观看同学| 欧美aaa在线| 欧美日韩成人一区| 一区二区三区资源| 91丨九色porny丨蝌蚪| 国产欧美日韩在线观看| 蜜桃av噜噜一区| 91精品视频网| 香港成人在线视频| 在线国产电影不卡| 亚洲精品网站在线观看| 99久久久久久99| 亚洲日本在线天堂| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 亚洲国产精品久久人人爱蜜臀| 不卡av免费在线观看| 欧美国产精品v| 成人国产精品视频| 亚洲国产激情av| 成人动漫一区二区在线| 国产精品久久久一本精品| 不卡的av在线播放| 成人免费在线播放视频|