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

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

?? controllogic.vhd

?? ARM7內核,vhdl源碼形式
?? VHD
?? 第 1 頁 / 共 5 頁
字號:
  
 if ((MULL_St1 or MLAL_St2) and MulResRdy)='1' then 
  -- The last cycle of long multiplication/accumulation(high part of 64-bit)  
	 CFlagUse <= '1';

   elsif IDR_LdStInst='1' and (nLDR_St0='0' and nLDM_St0='0' and STR_St='0' and STM_St='0') then  
   	-- Base update(second cycle of any load/store) 
    InvB <= not U_Latched; -- U=1 - add, U=0 subtract
    PassA_Reg <= '0';	 
	 
   elsif LDR_St1='1' or LDM_St1='1' or SWP_St1='1' then -- The second cycle of load instruction	
    -- Write data from data in register to general purpose register 
	PassA_Reg <= '0'; -- !!!!
	InvB <= '0';
	PassB_Reg <= '1';
   
 end if;	  
  
  when others => null;
 end case;
  
  end if;		
end if;	
end process;	

PassA <= '1' when ExceptFC='1' else PassA_Reg; -- First cycle of exception (LR<=PC)
PassB <= '0' when ExceptFC='1' else PassB_Reg;


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Bus A multiplexer control
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

BusAMUXCtrl:process(nRESET,CLK)
begin
if nRESET='0' then                -- Reset
 RegFileAOutSel_Reg <= '0';
 MultiplierAOutSel_Reg <= '0';
 CPSROutSel_Reg <= '0';
 SPSROutSel_Reg <= '0';
elsif CLK='1' and CLK'event then  -- Clock
 if CLKEN='1' then                -- Clock enable

case StagnatePipeline_Int is
	-- Beginning of the new instruction or pipeline refilling(branch/exception) 	 
	when '0' =>
	
	if ((IDR_B or IDR_BL or (IDR_ThBLFP and CPSRTFlag)) and ExecuteInst)='1' or 
		Branch_St1='1' then 

	  -- Branch (the first and the second cycle)
	 RegFileAOutSel_Reg <= '1'; 
    else
	
	RegFileAOutSel_Reg <= IDC_DPIImmSh or IDC_DPIRegSh or IDC_DPIImmRot or 
	                      IDC_LSImmOffset or IDC_LSRegOffset or  
	                      IDC_LSHWImmOffset or IDC_LSHWRegOffset or
					      IDC_LHWBSImmOffset or IDC_LHWBSRegOffset or
					      IDC_LDM or IDC_STM or
					      IDC_Branch or         -- B/BL/BX
						  IDC_SWP or IDC_SWPB;	-- SWP/SWPB
					  
    MultiplierAOutSel_Reg <= (IDC_MUL or IDC_MLA or IDC_UMULL or IDC_UMLAL or IDC_SMULL or IDC_SMLAL); 
    CPSROutSel_Reg <= IDC_MRS and not InstForDecode(22); -- Move CPSR to GPR
    SPSROutSel_Reg <= IDC_MRS and InstForDecode(22); 	 -- Move SPSR to GPR
	
	end if;
	
	-- Changes of data path control within the instruction  
	when '1' => null;
		
	when others => null;
end case;	
 
 end if;		
end if;	
end process;	

 RegFileAOutSel <= '1' when ExceptFC='1' else RegFileAOutSel_Reg; -- First cycle of exception (LR<=PC)
 MultiplierAOutSel <= '0' when ExceptFC='1' else MultiplierAOutSel_Reg;
 CPSROutSel <= '0' when ExceptFC='1' else CPSROutSel_Reg;
 SPSROutSel <= '0' when ExceptFC='1' else SPSROutSel_Reg;

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Bus B multiplexer control
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
BusBMUXCtrl:process(nRESET,CLK)
begin
if nRESET='0' then                -- Reset

 RegFileBOutSel     <= '0';
 MultiplierBOutSel  <= '0';
 MemDataRegOutSel   <= '0';
 SExtOffset24BitSel <= '0';
 Offset12BitSel     <= '0';
 Offset8BitSel      <= '0';
 Immediate8BitSel   <= '0';
 AdrGenDataSel      <= '0';
 
elsif CLK='1' and CLK'event then  -- Clock
 if CLKEN='1' then                -- Clock enable

case StagnatePipeline_Int is
	-- Beginning of the new instruction or pipeline refilling(branch/exception) 	 
	when '0' =>

 if ExceptFC='1' or Branch_St1='1' then -- TBD??
   -- LR correction
   RegFileBOutSel     <= '0';
   MultiplierBOutSel  <= '0';
   MemDataRegOutSel   <= '0'; 
   SExtOffset24BitSel <= '0';
   Offset12BitSel     <= '0';
   Offset8BitSel      <= '0';
   Immediate8BitSel   <= '0';
   AdrGenDataSel      <= '1';

 else
	 
    RegFileBOutSel     <= IDC_DPIImmSh or IDC_DPIRegSh or 
	                      IDC_LSRegOffset or IDC_LSHWRegOffset or IDC_LHWBSRegOffset or
	                      IDC_MSR_R or IDC_BX; -- !!! TBD 
    
	MultiplierBOutSel  <= IDC_MUL or IDC_MLA or IDC_UMULL or IDC_UMLAL or IDC_SMULL or IDC_SMLAL;
    MemDataRegOutSel   <= '0';
    SExtOffset24BitSel <= IDC_B or IDC_BL;
    Offset12BitSel     <= IDC_LSImmOffset;
    Offset8BitSel      <= IDC_LHWBSImmOffset or IDC_LHWBSImmOffset;
    Immediate8BitSel   <= IDC_DPIImmRot or IDC_MSR_I;
    AdrGenDataSel      <= IDC_LDM or IDC_STM;
	
  end if;
    
   -- Changes of data path control within the instruction  
	when '1' => 

 if LDR_St1='1' or LDM_St1='1' then 
   -- The third cycle of load instruction (write to GPR)	
   RegFileBOutSel     <= '0';
   MultiplierBOutSel  <= '0';
   MemDataRegOutSel   <= '1'; 
   SExtOffset24BitSel <= '0';
   Offset12BitSel     <= '0';
   Offset8BitSel      <= '0';
   Immediate8BitSel   <= '0';
   AdrGenDataSel      <= '0';
 
elsif (((IDR_LSRegOffset or IDR_LSHWRegOffset) and not L_Latched and not STR_St)or
      (IDR_STM and not STM_St))='1' then
-- Store instruction with register offset or store multiple (second cycle - base update)

   RegFileBOutSel     <= '0';
   MultiplierBOutSel  <= '0';
   MemDataRegOutSel   <= '0'; 
   SExtOffset24BitSel <= '0';
   Offset12BitSel     <= '0';
   Offset8BitSel      <= '0';
   Immediate8BitSel   <= '0';
   AdrGenDataSel      <= '1';
 end if;	
	
	when others => null;
end case;	

 end if;		
end if;	
end process;						   


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- -- Bit 0,1 clear/set control
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ResultBitMask:process(nRESET,CLK)
begin
if nRESET='0' then                -- Reset
 ClrBitZero_Reg <= '0';
 ClrBitOne_Reg <= '0';	
 SetBitZero_Reg <='0';
elsif CLK='1' and CLK'event then  -- Clock
 if CLKEN='1' then                -- Clock enable

case StagnatePipeline_Int is
	-- Beginning of the new instruction or pipeline refilling(branch/exception) 	 
	when '0' =>
	
	if ExceptFC='1' or Branch_St1='1' then -- TBD (Thumb BL?)
	ClrBitZero_Reg <= '0';
    ClrBitOne_Reg <= '0'; 
	SetBitZero_Reg <= '0';
     else		
	-- Clears bits[1..0] during address phase of LDM/STM/STR !!! TBD
   ClrBitZero_Reg <= IDC_STR or IDC_STM or IDC_LDM;
   ClrBitOne_Reg <= IDC_STR or IDC_STM or IDC_LDM; 
   SetBitZero_Reg <= (IDR_ThBLSP and CPSRTFlag and ExecuteInst); -- Thumb BL support added(the second part of instruction)
    end if;
   
	when '1' => null;
    -- Changes of data path control within the instruction   
	ClrBitZero_Reg <= '0';
    ClrBitOne_Reg <= '0'; 
	SetBitZero_Reg <= '0';
	
	when others => null;
end case;	

 end if;		
end if;	
end process;				

ClrBitZero <= '0' when ExceptFC='1' else ClrBitZero_Reg;
ClrBitOne  <= '0' when ExceptFC='1' else ClrBitOne_Reg;
SetBitZero <= '0' when ExceptFC='1' else SetBitZero_Reg;

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Address multiplexer and incrementer control (combinatorial) !!! TBD
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- TBD
PCInSel	<= LDR_St1 or(LDR_St2 and not WriteToPC) or -- LDR last two cycles (merged IS cycle)
		   STR_St or                -- STR     	        
		   (STM_St and LSMStop)or   -- STM last cycle
--		   (LDM_St1 and LSMStop)or(LDM_St2 and LSMStopDel and not WriteToPC)or  -- LDM last cycle  !!! Modify !!!
		   (nLDM_St0 and (LSMStop or (LSMStopDel and not WriteToPC)))or -- LDM (merged IS cycle)
           SWP_St2 or SWP_St3;		-- SWP/SWPB last two cycles (merged IS cycle) ???
		   
ALUInSel <= WriteToPC or                                 -- Write to PC
			((IDR_Branch or(IDR_ThBLFP and CPSRTFlag))and ExecuteInst and not nBranch_St0)or -- First cycle of B,BL,BX
            (IDR_LdStInst and ExecuteInst and not(STR_St or nLDR_St0 or nLDM_St0 or STM_St))or -- First cycle of any load/store
			((IDR_SWP or IDR_SWPB) and ExecuteInst and not nSWP_St0)or -- SWP/SWPB (Load)
			SWP_St1;												   -- SWP/SWPB (Store)
			
AdrCntEn <= not StagnatePipeline_Int or  -- Address counter is enabled during load/store multiple
            IDR_STM or STM_St or
            IDR_LDM or nLDM_St0;
			
ExceptionVectorSel <= ExceptFC;  -- First cycle of exception handling

PCIncStep  <= '0'; -- TBD  '0'- ARM(+4) / '1'- Thumb(+2)          
AdrIncStep <= '0'; -- TBD  '0'- ARM(+4) or STM/LDM / '1'- Thumb(+2)          

-- Switch ADDR register to the input of PC
AdrToPCSel <=  ExceptFC or -- First cycle of interrupt entering
 			   Branch_St1;                            -- Second cycle of branch

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++	
-- Register file control
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- Combinatorial rgister address control (controled from the execution stage of the pipeline)!!! TBD !!!
ABusRdAdr <= Rs when (IDR_DPIRegSh='1' and DPIRegSh_St='0')or(IDR_MUL or IDR_SMULL or IDR_UMULL or nMLA_St0 or nMLAL_St0)='1' else -- Rs ( The first cycle of "Data processing register shift")
			 CR_PC	when ((IDR_B or IDR_BL or (IDR_ThBLFP and CPSRTFlag)) and ExecuteInst)='1' or Branch_St1='1' or ExceptFC='1' else -- * 
	         CR_LR	when Branch_St2='1' or ExceptSM_St1='1' else -- LR correction (BL/Exception)
			 Rn;                           -- Rn 

-- * Note PC(R15) (target address calculation for B/BL) or store PC to LR (BL/Exception) 			 
-- Thumb BL support added (the first part)
	
BBusRdAdr <= CurrentRgAdr when STM_St ='1' else	 -- Store multiple 
             RnM when ((IDR_MLA and not nMLA_St0)or((IDR_UMLAL or IDR_SMLAL)and not nMLAL_St0))='1' or STR_St='1' else -- Rn/RdLo only for accumulation (MLA/SMLAL/UMLAL), Rd - for STR
             Rm;           -- Rm

WriteAdr_Int <= CurrentRgAdr when LDM_St2 ='1' else	 -- Load multiple 
	            CR_LR when nBranch_St0='1' or ExceptFC='1' or ExceptSM_St1='1' or (IDR_ThBLFP='1' and CPSRTFlag='1' and ExecuteInst='1') else  -- *
				RdM when (MUL_St or MLA_St2 or MULL_St2 or MLAL_St3)='1' or (LDM_St1 or STM_St or LDR_St1 or STR_St)='1' else -- Rd for	32-bit/RdHi for 64-bit multiplications / Base Register for LDM/STM
				RnM	when (MULL_St1 or MLAL_St2)='1' else                      -- RdLo for 64-bit multiplications
				Rd;            -- Rd

-- * Note: 	   !!! check if presence of nExceptSM_St0='0' is necessary for this equation
--                       Branch                     Exception
-- Store  LR		   Second cycle					First cycle
-- Modify LR		   Third cycle                  Second cycle
--
-- Thumb BL support added (the first part)

-- Write enable for the general purpose register file 
WrEn_Int <= '1' when (((IDR_SingleCycleDPI and ExecuteInst)or DPIRegSh_St)and not IDR_Compare)='1' or 
					 ((((MUL_St or MLA_St2 or MULL_St1 or MLAL_St2)and MulResRdy) or MULL_St2 or MLAL_St3))='1' or -- Multiplications results
					 (IDR_MRS and ExecuteInst)='1' or  -- Move PSR to GPR
					 (ExceptFC or ExceptSM_St1)='1' or -- Exception : LR<=PC, LR correction
					 BLink='1' or				       -- BL : LR<=PC, LR correction
                     (BaseRegUdate_St='1' and ABORT='0') or --  Base register update for load/store
                     (LDR_St2='1' and DAbtStored='0')or                 -- LDR
					 (LDM_St2='1' and DAbtStored='0' and LSAbtOccurred='0')or	-- LDM				 
					 (IDR_ThBLFP='1' and CPSRTFlag='1' and ExecuteInst='1')or -- Thumb BL support added (the first part)
					 SWP_St2='1' -- SWP/SWPB
					 else '0';  
						 
-- PC control
PCSrcSel <= WriteToPC; -- 0 -> the incrementer, 1 -> external input bus !!! TBD
PCWrEn <= '0' when FirstInstFetch_Int='0' or -- First instruction fetch after reset               
                   StagnatePipelineDel_Int='1' or   -- Stop PC for multicycle instructions ??? TBD
				  (IDR_BL='1' and ExecuteInst='1')or -- First cycle of branch with link (ARM mode) TBD??
                  (IDR_ThBLSP='1' and CPSRTFlag='1' and ExecuteInst='1') -- First cycle of branch with link (Thumb mode) TBD??
				   else '1';

-- Base register save/restore for load/store multiple					   
SaveBaseReg    <= BaseRegUdate_St;										   
RestoreBaseReg <= ((LDM_St2 and LSMStopDel)or(STM_St and LSMStop))and 
                  LSAbtOccurred and BaseRegWasUdated_St;
				  
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Address generator for Load/Store instructions control
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
							 
-- Load/Store multiple registers(LDM/STM) start address and base register update calculation TBD
RegisterList <= InstForDecode(15 downto 0);
IncBeforeSel <= '1' when (U='1' and P='1') or  --  Selects 4 for : Load/store
                         ExceptFC='1' or  -- Start of exceptions (for LR correction)
						 Branch_St1='1' else '0'; -- Branch with link (for LR correction)

DecBeforeSel <=	'1' when U='0' and P='1' else '0';
DecAfterSel  <= '1' when U='0' and P='0' else '0'; 
MltAdrSel <= (IDR_LDM or IDR_STM) and ExecuteInst;  -- Base register update for LDM/STM
SngMltSel <= (IDR_LDR or IDR_LDRT or IDR_LDRB or IDR_LDRBT or 
              IDR_LDRSB or IDR_LDRH or IDR_LDRSH or
			  IDR_STR or IDR_STRT or IDR_STRB or IDR_STRBT or IDR_STRH)and ExecuteInst; -- ??? TBD '0' -> LDM/STM and LR corrections						  

-- Notes: 
-- IncBeforeSel has the highest priority
-- DecAfterSel  has the lowest priority

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Instruction pipeline and data in registers control
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- Pipeline stagnation control for multicycle instructions
-- All the instructions that stagnates pipeline - all there cycles except last one

StagnatePipeline_Int <= (((IDR_DPIRegSh and not DPIRegSh_St)or
						 ((IDR_STR or IDR_STRT or IDR_STRB or IDR_STRBT or IDR_STRH)and not STR_St)or
                         ((IDR_LDR or IDR_LDRT or IDR_LDRB or IDR_LDRBT or IDR_LDRSB or IDR_LDRH or IDR_LDRSH)and not nLDR_St0)or
						  (IDR_STM and not STM_St)or
						  (IDR_LDM and not nLDM_St0)or
                         ((IDR_SWP or IDR_SWPB)and not nSWP_St0)or						  
						  (IDR_MUL and not MUL_St)or 
						  (IDR_MLA and not nMLA_St0)or
					     ((IDR_UMULL or IDR_SMULL)and not nMULL_St0)or
		                 ((IDR_UMLAL or IDR_SMLAL)and not nMLAL_St0)				 
	                	 )and ExecuteInst)or                 		 
 						 (LDR_St1 or 								 -- LDR
						  (STM_St and not LSMStop) or	             -- STM Check???
						  (LDM_St1 or (LDM_St2 and not LSMStopDel))or	 -- LDM	Check???
						  SWP_St1 or SWP_St2 or                      -- SWAP/SWAPB
						  ((MUL_St or MLA_St2)and not MulResRdy)or MLA_St1 or -- MUL/MLA
						    MULL_St1 or MLAL_St1 or MLAL_St2 -- SMULL/UMULL/SMLA

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美老人xxxx18| 亚洲人成伊人成综合网小说| 国产+成+人+亚洲欧洲自线| 亚洲综合色噜噜狠狠| 久久久久一区二区三区四区| 欧美三级资源在线| 激情综合网天天干| 亚洲丰满少妇videoshd| 国产精品视频观看| www激情久久| 7777精品伊人久久久大香线蕉经典版下载 | 欧美性淫爽ww久久久久无| 国产精品69毛片高清亚洲| 日韩成人伦理电影在线观看| 亚洲精品在线电影| 这里只有精品免费| 欧美在线免费观看视频| 99久久精品国产一区二区三区| 国产在线不卡一卡二卡三卡四卡| 日韩电影在线一区二区三区| 首页欧美精品中文字幕| 亚洲黄色片在线观看| 综合久久综合久久| 中文字幕永久在线不卡| 国产精品久久久久久户外露出| 国产性天天综合网| 国产精品欧美久久久久无广告| 国产精品免费视频网站| 国产精品欧美精品| 中文字幕中文乱码欧美一区二区| 国产亚洲成年网址在线观看| 久久久99久久精品欧美| 欧美日韩国产高清一区| 欧美女孩性生活视频| 一本一道综合狠狠老| 欧美午夜不卡视频| 欧美mv日韩mv| 欧美激情一区在线| 日韩欧美久久一区| 91麻豆精品国产91久久久使用方法| 欧美成人三级在线| 国产精品视频免费看| 国产精品久久久久久久久免费桃花 | 91视频一区二区三区| 欧美色图在线观看| 91小视频在线免费看| 欧美日韩中字一区| 久久精品视频免费| 亚洲第一成年网| 国产永久精品大片wwwapp| 色综合久久综合网97色综合| 欧美视频一区二区| 国产欧美一区二区三区鸳鸯浴| 亚洲午夜免费电影| 国产乱码精品1区2区3区| 色综合久久久久综合体桃花网| 欧美一区午夜视频在线观看| 久久久久久久综合日本| 午夜精品在线看| av午夜精品一区二区三区| 精品国产髙清在线看国产毛片| 一区二区三区在线高清| 粉嫩aⅴ一区二区三区四区五区| 欧美丰满少妇xxxbbb| 亚洲成av人片| 欧美三区在线视频| 亚洲精品成人精品456| 成人午夜精品一区二区三区| 亚洲精品在线观看网站| 蜜桃视频在线一区| 色婷婷综合在线| 亚洲黄色小视频| 欧洲生活片亚洲生活在线观看| 精品av久久707| 国产在线精品一区二区三区不卡| 91精品国产综合久久久久久久久久| 亚洲在线视频网站| 9191成人精品久久| 天使萌一区二区三区免费观看| 91网站最新网址| 亚洲人吸女人奶水| 成人丝袜高跟foot| 亚洲人快播电影网| 精品视频一区三区九区| 午夜不卡av免费| 日韩欧美国产1| 国内成人精品2018免费看| 国产片一区二区| 色妹子一区二区| 亚洲成人免费电影| 一个色综合av| 欧美sm美女调教| 色综合久久久久| 久久狠狠亚洲综合| 亚洲乱码中文字幕| 5858s免费视频成人| 蜜臀av性久久久久av蜜臀妖精| 精品国产一区二区三区四区四| 国产乱色国产精品免费视频| 久久久www成人免费无遮挡大片| 色呦呦日韩精品| 久久国产欧美日韩精品| 亚洲色图.com| 日韩欧美成人激情| 久久亚洲私人国产精品va媚药| 一本大道久久a久久精二百| 麻豆精品一二三| 国产精品传媒入口麻豆| 日韩欧美国产精品| 欧美色综合久久| 91美女在线观看| 成人黄色小视频在线观看| 视频一区二区欧美| 亚洲国产日韩a在线播放性色| 国产精品情趣视频| 久久久蜜桃精品| 日韩午夜在线影院| 欧美日韩高清一区二区三区| 一本在线高清不卡dvd| 国产中文字幕精品| 国产91精品久久久久久久网曝门| 精品一二三四区| 国产一区二区不卡| 成人av在线电影| 91麻豆自制传媒国产之光| 日本精品视频一区二区| 欧美综合一区二区三区| 欧美激情一区二区三区蜜桃视频| 中文字幕第一区第二区| 一区二区三区在线观看视频| 丝袜诱惑亚洲看片 | 一级女性全黄久久生活片免费| 亚洲图片欧美色图| 美女脱光内衣内裤视频久久网站| 国产在线播放一区| 91理论电影在线观看| 欧美日韩一区二区三区免费看| 91精品国产综合久久香蕉的特点| 久久综合色8888| 亚洲综合图片区| 国产酒店精品激情| 在线免费视频一区二区| 久久综合久久99| 亚洲国产精品视频| 国产精品一区二区在线观看网站| 色综合激情五月| 26uuu精品一区二区三区四区在线| 亚洲丝袜自拍清纯另类| 美日韩一区二区| 风间由美一区二区三区在线观看| 欧美日韩色综合| 一区二区三区**美女毛片| 国产在线精品一区二区三区不卡| 欧美在线|欧美| 亚洲视频一区在线| 丁香五精品蜜臀久久久久99网站| 在线电影国产精品| 亚洲亚洲人成综合网络| 91玉足脚交白嫩脚丫在线播放| 国产亚洲婷婷免费| 激情图片小说一区| 91精品综合久久久久久| 亚洲美女精品一区| 成人国产视频在线观看| 欧美精品一区二区蜜臀亚洲| 蜜桃精品视频在线| 精品第一国产综合精品aⅴ| 日韩综合一区二区| 欧美影片第一页| 亚洲va欧美va人人爽| 欧美日韩大陆在线| 日韩综合一区二区| 欧美va亚洲va香蕉在线| 韩国女主播成人在线| 国产亚洲精品精华液| 99精品在线免费| 亚洲国产毛片aaaaa无费看| 欧美色涩在线第一页| 免费欧美在线视频| 欧美成人精品福利| 国产成人综合视频| 亚洲视频一区二区免费在线观看| 色综合咪咪久久| 天天操天天色综合| 日韩精品一区二区三区视频在线观看| 麻豆成人av在线| 成人免费在线播放视频| 欧美女孩性生活视频| 国产精品一区不卡| 亚洲第一成人在线| 久久久精品2019中文字幕之3| 97久久超碰精品国产| 视频一区在线播放| 国产精品黄色在线观看 | 在线免费观看日本欧美| 免费高清成人在线| 亚洲美女视频在线观看| 精品久久国产字幕高潮| 91小视频在线免费看| 精品亚洲国内自在自线福利|