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

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

?? target_fsm.vhd

?? pci控制器的vhdl代碼。。。。。。。。。
?? VHD
字號:
--*****************************************************************************
-- FILE    : TARGET_FSM.vhd
-- DATE    : 1.9.1999
-- REVISION: 1.1
-- DESIGNER: KA
-- Descr   : Target State Machine
-- Entities: TARGET_FSM
-- Changes :
--
-- ******************************************************
-- *      Target State Machine Entities                 *
-- ******************************************************
library IEEE;
use IEEE.std_logic_1164.all;
entity TARGET_FSM is
   port (
      CLK         : in std_logic;      -- PCI Clock
      RESET       : in std_logic;      -- PCI Reset
      FRAMEni     : in std_logic;      -- PCI Frame#
      FRAMEnid    : in std_logic;      -- PCI Frame#
      IRDYni      : in std_logic;      -- PCI Irdy#
      IRDYnid     : in std_logic;      -- PCI Irdy#
      TRDYnid     : in std_logic;      -- PCI Irdy#
      HIT         : in std_logic;      -- Hit on address decode
      DRDY        : in std_logic;      -- Ready to transfer data
      TERM        : in std_logic;      -- Terminate transaction
      ABORT       : in std_logic;      -- Target error  - abort transaction
      ACC_WR      : in std_logic;      -- Command is Write
      ACC_RD      : in std_logic;      -- Command is Read
      NEW_DEVSELno: out std_logic;     -- PCI Devsel#
      NEW_TRDYno  : out std_logic;     -- PCI Trdy#
      NEW_STOPno  : out std_logic;     -- PCI Stop#
      CE_ADoDIR   : out std_logic;     -- Data Output FFs Clock Enable 
Direct
      CE_ADoRDY   : out std_logic;     -- Data Output FFs Clock Enable Ready
      NEW_OT_AD   : out std_logic;     -- PCI AD bus enable
      OT_TRDYn    : out std_logic;     -- PCI Trdy# enable
      OT_STOPn    : out std_logic;     -- PCI Stop# enable
      OT_DEVSELn  : out std_logic;     -- PCI Devsel# enable
      ACC_START   : out std_logic;     -- Start of Target Device Access
      ACC_END     : out std_logic;     -- End of Target Device Access
      D_SENT      : out std_logic;     -- Data Sent
      INC_ADR     : out std_logic;     -- Incement Address Counter
      T_NEXTD     : out std_logic;     -- Target ready to process NEXT Data
      T_WE        : out std_logic;     -- Target Write Enable
      T_WR        : out std_logic;     -- Target Write in progress
      T_RD        : out std_logic      -- Target Read in progress
      );
end TARGET_FSM;

architecture RTL of TARGET_FSM is
  -- FSM State Definition
  type tTargetFsm is (Idle, B_Busy, S_Data, Turn_Ar);
  attribute ENUM_ENCODING: string;
  attribute ENUM_ENCODING of tTargetFsm : type is "0001 0010 0100 1000";
  -- Local Signals
  signal TargetState, nextState: tTargetFsm; -- FSM State
  signal LDEVSELno, LTRDYno, LSTOPno,LOTCTRL: std_logic;--
  signal LCE_ADo, LCE_ADod : std_logic; --
  signal WaitD : std_logic; --
  signal WR_INC: std_logic;
begin
   -- Target State Registers
   Sync : process (CLK, RESET)
   begin
      if (RESET = '1') then
         TargetState <= Idle;
      elsif (CLK'event and CLK = '1') then
         TargetState <= nextState;
      end if;
   end process;
   -- Process to generate next state logic
   nextStateProc: process (TargetState, FRAMEni, FRAMEnid,HIT, IRDYni, 
LTRDYno,
                     LDEVSELno, LSTOPno, TERM, DRDY)
   begin
      case TargetState is
         when Idle  =>
            if FRAMEni = '0' and FRAMEnid /= '0' then
              nextState <= B_Busy;
            else
              nextState <= Idle;
            end if;
         when B_Busy =>
            if FRAMEnid = '0' and HIT = '1'  then
               nextState <= S_Data;
            else
               nextState <= Idle;
            end if;
         when S_Data =>
            if (FRAMEni='1' and IRDYni='0' and (LTRDYno='0'or LSTOPno='0')) 
then
               nextState <= Turn_Ar;
            else
               nextState <= S_Data;
            end if;
         when Turn_Ar  =>
            if (FRAMEni = '0' and HIT = '0') then
              nextState <= B_Busy;
            else
              nextState <= Idle;
            end if;
      end case;
   end process nextStateProc;
--*************************************
--    Processes to generate outputs
--*************************************
   -- Local DEVSEL# signal
   pLDEVSELn : process (CLK,RESET)
   begin
      if (RESET = '1') then
         LDEVSELno <= '1';
      elsif (CLK'event and CLK = '1') then
         if TargetState = B_Busy and FRAMEnid = '0' and HIT = '1' then
            LDEVSELno <= '0';
         elsif TargetState = S_Data and ((FRAMEni='1' and IRDYni='0' and 
(LTRDYno='0'or LSTOPno='0'))or ABORT='1')then
            LDEVSELno <= '1';
         end if;
      end if;
   end process pLDEVSELn;
   -- New DEVSEL# value - logic before OFF in IOB
   pNewDEVSELn : process (TargetState,FRAMEnid,FRAMEni,IRDYni,LTRDYno, 
LSTOPno,HIT,ABORT)
   begin
      if (TargetState = B_Busy and FRAMEnid = '0' and HIT = '1') or
         (TargetState = S_Data and not((FRAMEni='1' and IRDYni='0' and 
(LTRDYno='0'or LSTOPno='0'))or ABORT='1'))then
         NEW_DEVSELno <= '0';
      else
         NEW_DEVSELno <= '1';
      end if;
   end process pNewDEVSELn;
   -- Wait for data
   pWaitD: process(CLK,RESET)
   begin
      if (RESET = '1') then
            WaitD <= '0';
      elsif (CLK'event and CLK = '1') then
         if (TargetState = B_Busy and HIT='1' and (FRAMEni='0' or 
IRDYni='0')) or -- initial data phase
            (TargetState = S_Data and IRDYni='0' and LTRDYno='0' and 
DRDY='0') then -- data not ready
            WaitD <= '1';
         elsif(TargetState=Turn_Ar) or (DRDY='1') then
            WaitD <= '0';
         end if;
      end if;
   end process pWaitD;
   -- TRDY# signal
   pLTRDYn : process (CLK,RESET)
   begin
      if (RESET = '1') then
            LTRDYno <= '1';
      elsif (CLK'event and CLK = '1') then
         if LTRDYno='0'and IRDYni = '0' and (FRAMEni ='1' or DRDY='0') then
            LTRDYno <= '1';
         elsif (TargetState = S_Data)and(DRDY='1')then
            LTRDYno <= '0';
         end if;
      end if;
   end process pLTRDYn;
   -- New TRDY# value - logic before OFF in IOB
   pNewTRDYn : process (TargetState,DRDY,LTRDYno,IRDYni,FRAMEni,DRDY)
   begin
      if (TargetState = S_Data and DRDY='1'and LTRDYno='1')or
         (LTRDYno='0' and not(IRDYni = '0' and (FRAMEni ='1' or DRDY='0'))) 
then
            NEW_TRDYno <= '0';
         else
            NEW_TRDYno <= '1';
         end if;
   end process pNewTRDYn;
   -- local STOP# signal
   pLSTOPn : process (CLK,RESET)
   begin
      if (RESET = '1') then
         LSTOPno <= '1';
      elsif (CLK'event and CLK = '1') then
         if LSTOPno='0' and FRAMEni ='1' and IRDYni = '0' then
            LSTOPno <= '1';
         elsif (TargetState = S_Data) and (TERM ='1'or ABORT='1') then
            LSTOPno <= '0';
         end if;
      end if;
   end process pLSTOPn;
   -- New STOP# value - logic before OFF in IOB
   pNewSTOPn: process (TargetState,TERM,ABORT,LSTOPno,FRAMEni,IRDYni)
   begin
      if ((TargetState = S_Data) and (TERM ='1'or ABORT='1')and 
LSTOPno='1')or
         (LSTOPno='0' and not(FRAMEni ='1' and IRDYni = '0'))then
         NEW_STOPno <= '0';
      else
         NEW_STOPno <= '1';
      end if;
   end process pNewSTOPn;
   --
   pCE_ADoDIR: process(TargetState,DRDY,WaitD)
   begin
      if TargetState = S_Data and WaitD='1' and DRDY='1' then
         CE_ADoDIR <= '1';
      else
         CE_ADoDIR <= '0';
      end if;
   end process pCE_ADoDIR;
   --
   pCE_ADoRDY: process(TargetState,DRDY,LTRDYno)
   begin
      if TargetState = S_Data and LTRDYno='0' and DRDY='1' then
         CE_ADoRDY <= '1';
      else
         CE_ADoRDY <= '0';
      end if;
   end process pCE_ADoRDY;
   -- Local value of clock enable control of Output Data FFs
   pLCE_ADo: process(TargetState,IRDYni,LTRDYno,DRDY,WaitD)
   begin
      if TargetState = S_Data and ((IRDYni='0'and LTRDYno='0' and DRDY='1') 
or
         (WaitD='1' and DRDY='1'))then
         LCE_ADo <= '1';
      else
         LCE_ADo <= '0';
      end if;
   end process pLCE_ADo;
   -- Control of Data Output Buffer
   OutOTAD : process (TargetState,ACC_RD,FRAMEni,IRDYni,LTRDYno,LSTOPno)
   begin
      if (TargetState = S_Data)and(ACC_RD='1')and not(FRAMEni='1' and 
IRDYni='0' and (LTRDYno='0'or LSTOPno='0'))then
         NEW_OT_AD <= '0';
      else
         NEW_OT_AD <= '1';
      end if;
   end process OutOTAD;
   -- Outbut Buffer control of PCI Control signals
   pOTCTRL:process(FRAMEni,IRDYni,HIT,TargetState)
   begin
      if ((FRAMEni = '0' or IRDYni = '0') and HIT = '1'and 
TargetState=B_Busy) or TargetState=S_Data then
         LOTCTRL <= '0';
      else
         LOTCTRL <= '1';
      end if;
   end process;
   -- DEVSEL# output tri-state buffer control
   OTDEVSELn:process(RESET,CLK)
   begin
      if RESET='1'  then
         OT_DEVSELn <= '1';
      elsif CLK'event and CLK='1' then
         OT_DEVSELn <= LOTCTRL;
      end if;
   end process;
   -- TRDY# output tri-state buffer control
   OTTRDYn:process(RESET,CLK)
   begin
      if RESET='1'  then
         OT_TRDYn <= '1';
      elsif CLK'event and CLK='1' then
         OT_TRDYn <= LOTCTRL;
      end if;
   end process;
   -- STOP# output tri-state buffer control
   OTSTOPn:process(RESET,CLK)
   begin
      if RESET='1'  then
         OT_STOPn <= '1';
      elsif CLK'event and CLK='1' then
         OT_STOPn <= LOTCTRL;
      end if;
   end process;
   --
   P_ACCSTART : process (TargetState, Hit)  -- New access beginnig signaling
   begin
      if (TargetState = B_BUSY) and (Hit = '1') then
         ACC_START   <= '1';
      else
         ACC_START   <= '0';
      end if;
   end process P_ACCSTART;
   -- End of current target access
   P_ACCEND : process (TargetState)
   begin
      if (TargetState = Turn_Ar)then
         ACC_END <= '1';
      else
         ACC_END <= '0';
      end if;
   end process P_ACCEND;
   -- Write Enable
   pTWE:process(TargetState,ACC_WR,TRDYnid,IRDYnid)
   begin
     if (TargetState /= 
Idle)and(ACC_WR='1')and(TRDYnid='0')and(IRDYnid='0')then
        T_WE <= '1';
     else
        T_WE <= '0';
     end if;
   end process;
   -- Target Write In Progress
   pTWR:process(TargetState,ACC_WR,TRDYnid,IRDYnid)
   begin
     if (TargetState /= Idle)and(ACC_WR='1')then
        T_WR <= '1';
     else
        T_WR <= '0';
     end if;
   end process;
   -- Target Read In Progress
   pTRD:process(TargetState,ACC_RD)
   begin
     if (TargetState = S_Data)and(ACC_RD='1')then
        T_RD <= '1';
     else
        T_RD <= '0';
     end if;
   end process;
   -- Registered version of CE_ADo signal
   pCE_ADod: process(CLK,RESET)
   begin
      if RESET='1'  then
         LCE_ADod <= '0';
      elsif CLK'event and CLK='1' then
         LCE_ADod <= LCE_ADo;
      end if;
   end process;
   -- Next Data
   pTNEXTD:process(TargetState,ACC_RD,LCE_ADod,WR_INC)
   begin
      if ACC_RD='1' then        -- read operation
         if (TargetState = S_DATA) then
            T_NEXTD <= LCE_ADod;
         else
            T_NEXTD <= '0';
         end if;
      else                      -- write operation
         if (TargetState /= Idle) then
            T_NEXTD <= WR_INC;
         else
            T_NEXTD <= '0';
         end if;
      end if;
   end process;
   pWR_INC:process(RESET,CLK)
   begin
      if RESET='1'  then
         WR_INC <= '0';
      elsif CLK'event and CLK='1' then
         WR_INC <= not(IRDYnid or TRDYnid);
      end if;
   end process;
   -- Increment Target Address Counter in PCI_CMDADR entity
   pINC_ADR:process(TargetState,ACC_RD,LCE_ADod,WR_INC)
   begin
      if ACC_RD='1' then        -- read operation
         if (TargetState = S_DATA) then
            INC_ADR <= LCE_ADod;
         else
            INC_ADR <= '0';
         end if;
      else                      -- write operation
         if (TargetState /= Idle) then
            INC_ADR <= WR_INC;
         else
            INC_ADR <= '0';
         end if;
      end if;
   end process;
   -- Assign output ports
--   CE_ADo <= LCE_ADo;
--   DEVSELno <= LDEVSELno;
--   TRDYno   <= LTRDYno;
--   STOPno   <= LSTOPno;
   D_SENT  <= not(LTRDYno);
end RTL;



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲精品资源在线26u| 欧美日韩激情一区二区三区| 久久婷婷成人综合色| 久久成人免费网| 欧美国产日韩精品免费观看| 色先锋资源久久综合| 亚洲第一av色| 久久久久久久久蜜桃| 成人午夜精品一区二区三区| 亚洲男人的天堂在线观看| 欧美日韩国产电影| 九九**精品视频免费播放| 国产精品视频免费看| 在线观看av不卡| 极品尤物av久久免费看| 国产精品欧美一级免费| 精品视频免费看| 国产美女精品一区二区三区| 亚洲摸摸操操av| 日韩欧美电影一区| 99国产精品久久久久久久久久| 一区二区三区电影在线播| 日韩一区二区三区视频| 国产91在线看| 日韩专区一卡二卡| 国产欧美精品国产国产专区| 欧美三区在线观看| 国产精品主播直播| 亚洲电影激情视频网站| 久久久久久久网| 欧美日韩一级视频| 精品国产麻豆免费人成网站| 成人综合在线视频| 午夜欧美视频在线观看| 国产日韩精品一区二区三区在线| 色94色欧美sute亚洲线路二| 激情综合亚洲精品| 亚洲电影视频在线| 中文字幕在线不卡国产视频| 日韩一区二区三区视频| 色爱区综合激月婷婷| 国产成人日日夜夜| 毛片av中文字幕一区二区| 亚洲精品日产精品乱码不卡| 久久久99精品免费观看| 91精品国产欧美一区二区18| 91在线视频在线| 国产精品一区二区x88av| 日韩av一区二区在线影视| 成人免费在线播放视频| 久久久99久久精品欧美| 777久久久精品| 欧美亚洲国产一区在线观看网站| 国产91丝袜在线播放| 久久国产成人午夜av影院| 亚洲国产另类av| 亚洲视频免费观看| 国产伦精品一区二区三区视频青涩 | 亚洲成人自拍一区| 亚洲精品一二三四区| 中文字幕色av一区二区三区| 国产日韩影视精品| 久久综合一区二区| 欧美成人乱码一区二区三区| 4438x成人网最大色成网站| 欧美日韩久久久一区| 在线观看av不卡| 欧美特级限制片免费在线观看| 日本精品视频一区二区三区| 91无套直看片红桃| 日本韩国一区二区| 欧美亚洲愉拍一区二区| 日本精品一区二区三区高清| 一本久久a久久精品亚洲| 99久久婷婷国产| 一本色道亚洲精品aⅴ| 91久久精品一区二区三| 日本韩国欧美三级| 在线精品国精品国产尤物884a| 91在线国产观看| 在线观看av不卡| 欧美高清视频www夜色资源网| 欧美日韩一区精品| 欧美一区二区三区视频在线观看| 欧美久久久久久久久久| 91精品麻豆日日躁夜夜躁| 日韩一卡二卡三卡国产欧美| 欧美精品一区二区蜜臀亚洲| 精品国产欧美一区二区| 国产欧美日韩卡一| 亚洲精品日韩一| 天堂va蜜桃一区二区三区漫画版| 视频一区二区中文字幕| 狠狠色狠狠色综合| 成人免费观看av| 色狠狠av一区二区三区| 欧美一区二区三区的| 久久婷婷色综合| 亚洲人xxxx| 91激情在线视频| 欧美一区二区精品久久911| 久久午夜国产精品| 亚洲欧美区自拍先锋| 五月天中文字幕一区二区| 老司机免费视频一区二区三区| 激情欧美日韩一区二区| 成人爱爱电影网址| 欧美午夜免费电影| 欧美伦理电影网| 亚洲国产婷婷综合在线精品| 中文在线资源观看网站视频免费不卡| 国产成人在线视频网址| 成人福利视频网站| 欧美日韩日日摸| 久久精品免费在线观看| 亚洲精选一二三| 精品一区二区三区的国产在线播放| 福利电影一区二区| 欧美男男青年gay1069videost| 久久久久久一级片| 五月激情综合网| 99精品黄色片免费大全| 日韩欧美资源站| 亚洲伊人色欲综合网| 成人综合在线观看| 日韩一区二区三区在线| 伊人开心综合网| 国产精品中文欧美| 欧美老女人第四色| 亚洲嫩草精品久久| 国产成人av一区二区三区在线| 欧美日韩午夜精品| 亚洲美女免费视频| 国产成人免费9x9x人网站视频| 在线不卡中文字幕播放| ㊣最新国产の精品bt伙计久久| 伦理电影国产精品| 欧美二区乱c少妇| 亚洲精品免费在线| 成人综合在线网站| 久久综合久久久久88| 日韩电影在线一区| 在线视频国内一区二区| 国产精品全国免费观看高清 | 欧美日韩一区久久| 国产拍揄自揄精品视频麻豆| 蜜臀va亚洲va欧美va天堂 | 偷拍亚洲欧洲综合| aa级大片欧美| 国产精品区一区二区三区| 国产高清在线精品| 欧美精品一区二区三区蜜臀| 久久精品国产第一区二区三区| 欧美色网一区二区| 依依成人综合视频| 一本大道久久a久久综合婷婷| 欧美国产在线观看| 国产v综合v亚洲欧| 久久精品日韩一区二区三区| 久久av中文字幕片| 精品久久久影院| 国模无码大尺度一区二区三区| 日韩手机在线导航| 精品在线免费视频| 2020国产精品自拍| 国产乱码精品一区二区三区五月婷| 欧美精品国产精品| 麻豆国产欧美日韩综合精品二区| 日韩片之四级片| 国产一区二三区| 久久久精品影视| 99久久久无码国产精品| 亚洲色图另类专区| 欧美伊人久久久久久久久影院 | 7777精品伊人久久久大香线蕉的| 亚洲成人自拍偷拍| 51精品久久久久久久蜜臀| 日韩中文字幕av电影| 日韩三级免费观看| 国产一区 二区| 中文字幕日韩欧美一区二区三区| 不卡在线观看av| 一区二区三区在线视频免费| 一本大道久久a久久精品综合| 亚洲宅男天堂在线观看无病毒| 欧美午夜免费电影| 精品在线一区二区三区| 欧美国产日韩在线观看| 91行情网站电视在线观看高清版| 亚洲一区免费在线观看| 8x8x8国产精品| 国产一区二区剧情av在线| 中文字幕一区二区日韩精品绯色| 色视频一区二区| 免费人成在线不卡| 中文av一区特黄| 精品视频免费在线| 风间由美中文字幕在线看视频国产欧美| 亚洲手机成人高清视频| 欧美性猛交xxxx黑人交|