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

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

?? 66_signed.vhd

?? 該源碼為用VHDL(硬件描述語(yǔ)言)編寫的100個(gè)實(shí)例的源代碼
?? VHD
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
--------------------------------------------------------------------------
--                                                                      --
-- Copyright (c) 1990, 1991 by Synopsys, Inc.  All rights reserved.     --
--                                                                      --
-- 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 this copyright notice.         --
--                                                                      --
--------------------------------------------------------------------------
--------------------------------------------------------------------------
-- Package name: SIGNED_ARITH                                           --
--                                                                      --
-- Purpose:                                                             --
-- A set of arithemtic, conversion, and comparison functions            --
-- for SIGNED, UNSIGNED, SMALL_INT, INTEGER,                            --
-- STD_ULOGIC, STD_LOGIC, and STD_LOGIC_VECTOR.                         --
--                                                                      --
--------------------------------------------------------------------------

library IEEE;
use IEEE.std_logic_1164.all;

package SIGNED_ARITH is

    type UNSIGNED is array (NATURAL range <>) of STD_LOGIC;
    type SIGNED is array (NATURAL range <>) of STD_LOGIC;
    subtype SMALL_INT is INTEGER range 0 to 1;

    function "+"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED;
    function "+"(L: SIGNED; R: SIGNED) return SIGNED;
    function "+"(L: UNSIGNED; R: SIGNED) return SIGNED;
    function "+"(L: SIGNED; R: UNSIGNED) return SIGNED;
    function "+"(L: UNSIGNED; R: INTEGER) return UNSIGNED;
    function "+"(L: INTEGER; R: UNSIGNED) return UNSIGNED;
    function "+"(L: SIGNED; R: INTEGER) return SIGNED;
    function "+"(L: INTEGER; R: SIGNED) return SIGNED;
    function "+"(L: UNSIGNED; R: STD_ULOGIC) return UNSIGNED;
    function "+"(L: STD_ULOGIC; R: UNSIGNED) return UNSIGNED;
    function "+"(L: SIGNED; R: STD_ULOGIC) return SIGNED;
    function "+"(L: STD_ULOGIC; R: SIGNED) return SIGNED;

    function "+"(L: UNSIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR;
    function "+"(L: SIGNED; R: SIGNED) return STD_LOGIC_VECTOR;
    function "+"(L: UNSIGNED; R: SIGNED) return STD_LOGIC_VECTOR;
    function "+"(L: SIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR;
    function "+"(L: UNSIGNED; R: INTEGER) return STD_LOGIC_VECTOR;
    function "+"(L: INTEGER; R: UNSIGNED) return STD_LOGIC_VECTOR;
    function "+"(L: SIGNED; R: INTEGER) return STD_LOGIC_VECTOR;
    function "+"(L: INTEGER; R: SIGNED) return STD_LOGIC_VECTOR;
    function "+"(L: UNSIGNED; R: STD_ULOGIC) return STD_LOGIC_VECTOR;
    function "+"(L: STD_ULOGIC; R: UNSIGNED) return STD_LOGIC_VECTOR;
    function "+"(L: SIGNED; R: STD_ULOGIC) return STD_LOGIC_VECTOR;
    function "+"(L: STD_ULOGIC; R: SIGNED) return STD_LOGIC_VECTOR;

    function "-"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED;
    function "-"(L: SIGNED; R: SIGNED) return SIGNED;
    function "-"(L: UNSIGNED; R: SIGNED) return SIGNED;
    function "-"(L: SIGNED; R: UNSIGNED) return SIGNED;
    function "-"(L: UNSIGNED; R: INTEGER) return UNSIGNED;
    function "-"(L: INTEGER; R: UNSIGNED) return UNSIGNED;
    function "-"(L: SIGNED; R: INTEGER) return SIGNED;
    function "-"(L: INTEGER; R: SIGNED) return SIGNED;
    function "-"(L: UNSIGNED; R: STD_ULOGIC) return UNSIGNED;
    function "-"(L: STD_ULOGIC; R: UNSIGNED) return UNSIGNED;
    function "-"(L: SIGNED; R: STD_ULOGIC) return SIGNED;
    function "-"(L: STD_ULOGIC; R: SIGNED) return SIGNED;

    function "-"(L: UNSIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR;
    function "-"(L: SIGNED; R: SIGNED) return STD_LOGIC_VECTOR;
    function "-"(L: UNSIGNED; R: SIGNED) return STD_LOGIC_VECTOR;
    function "-"(L: SIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR;
    function "-"(L: UNSIGNED; R: INTEGER) return STD_LOGIC_VECTOR;
    function "-"(L: INTEGER; R: UNSIGNED) return STD_LOGIC_VECTOR;
    function "-"(L: SIGNED; R: INTEGER) return STD_LOGIC_VECTOR;
    function "-"(L: INTEGER; R: SIGNED) return STD_LOGIC_VECTOR;
    function "-"(L: UNSIGNED; R: STD_ULOGIC) return STD_LOGIC_VECTOR;
    function "-"(L: STD_ULOGIC; R: UNSIGNED) return STD_LOGIC_VECTOR;
    function "-"(L: SIGNED; R: STD_ULOGIC) return STD_LOGIC_VECTOR;
    function "-"(L: STD_ULOGIC; R: SIGNED) return STD_LOGIC_VECTOR;

    function "+"(L: UNSIGNED) return UNSIGNED;
    function "+"(L: SIGNED) return SIGNED;
    function "-"(L: SIGNED) return SIGNED;
    function "ABS"(L: SIGNED) return SIGNED;

    function "+"(L: UNSIGNED) return STD_LOGIC_VECTOR;
    function "+"(L: SIGNED) return STD_LOGIC_VECTOR;
    function "-"(L: SIGNED) return STD_LOGIC_VECTOR;
    function "ABS"(L: SIGNED) return STD_LOGIC_VECTOR;

    function "*"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED;
    function "*"(L: SIGNED; R: SIGNED) return SIGNED;
    function "*"(L: SIGNED; R: UNSIGNED) return SIGNED;
    function "*"(L: UNSIGNED; R: SIGNED) return SIGNED;

    function "*"(L: UNSIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR;
    function "*"(L: SIGNED; R: SIGNED) return STD_LOGIC_VECTOR;
    function "*"(L: SIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR;
    function "*"(L: UNSIGNED; R: SIGNED) return STD_LOGIC_VECTOR;

    function "<"(L: UNSIGNED; R: UNSIGNED) return BOOLEAN;
    function "<"(L: SIGNED; R: SIGNED) return BOOLEAN;
    function "<"(L: UNSIGNED; R: SIGNED) return BOOLEAN;
    function "<"(L: SIGNED; R: UNSIGNED) return BOOLEAN;
    function "<"(L: UNSIGNED; R: INTEGER) return BOOLEAN;
    function "<"(L: INTEGER; R: UNSIGNED) return BOOLEAN;
    function "<"(L: SIGNED; R: INTEGER) return BOOLEAN;
    function "<"(L: INTEGER; R: SIGNED) return BOOLEAN;

    function "<="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN;
    function "<="(L: SIGNED; R: SIGNED) return BOOLEAN;
    function "<="(L: UNSIGNED; R: SIGNED) return BOOLEAN;
    function "<="(L: SIGNED; R: UNSIGNED) return BOOLEAN;
    function "<="(L: UNSIGNED; R: INTEGER) return BOOLEAN;
    function "<="(L: INTEGER; R: UNSIGNED) return BOOLEAN;
    function "<="(L: SIGNED; R: INTEGER) return BOOLEAN;
    function "<="(L: INTEGER; R: SIGNED) return BOOLEAN;

    function ">"(L: UNSIGNED; R: UNSIGNED) return BOOLEAN;
    function ">"(L: SIGNED; R: SIGNED) return BOOLEAN;
    function ">"(L: UNSIGNED; R: SIGNED) return BOOLEAN;
    function ">"(L: SIGNED; R: UNSIGNED) return BOOLEAN;
    function ">"(L: UNSIGNED; R: INTEGER) return BOOLEAN;
    function ">"(L: INTEGER; R: UNSIGNED) return BOOLEAN;
    function ">"(L: SIGNED; R: INTEGER) return BOOLEAN;
    function ">"(L: INTEGER; R: SIGNED) return BOOLEAN;

    function ">="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN;
    function ">="(L: SIGNED; R: SIGNED) return BOOLEAN;
    function ">="(L: UNSIGNED; R: SIGNED) return BOOLEAN;
    function ">="(L: SIGNED; R: UNSIGNED) return BOOLEAN;
    function ">="(L: UNSIGNED; R: INTEGER) return BOOLEAN;
    function ">="(L: INTEGER; R: UNSIGNED) return BOOLEAN;
    function ">="(L: SIGNED; R: INTEGER) return BOOLEAN;
    function ">="(L: INTEGER; R: SIGNED) return BOOLEAN;

    function "="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN;
    function "="(L: SIGNED; R: SIGNED) return BOOLEAN;
    function "="(L: UNSIGNED; R: SIGNED) return BOOLEAN;
    function "="(L: SIGNED; R: UNSIGNED) return BOOLEAN;
    function "="(L: UNSIGNED; R: INTEGER) return BOOLEAN;
    function "="(L: INTEGER; R: UNSIGNED) return BOOLEAN;
    function "="(L: SIGNED; R: INTEGER) return BOOLEAN;
    function "="(L: INTEGER; R: SIGNED) return BOOLEAN;

    function "/="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN;
    function "/="(L: SIGNED; R: SIGNED) return BOOLEAN;
    function "/="(L: UNSIGNED; R: SIGNED) return BOOLEAN;
    function "/="(L: SIGNED; R: UNSIGNED) return BOOLEAN;
    function "/="(L: UNSIGNED; R: INTEGER) return BOOLEAN;
    function "/="(L: INTEGER; R: UNSIGNED) return BOOLEAN;
    function "/="(L: SIGNED; R: INTEGER) return BOOLEAN;
    function "/="(L: INTEGER; R: SIGNED) return BOOLEAN;
    -------Boolean functions below  ADDED in SEPT 1995 ----------------
    function "not" (L: SIGNED) return SIGNED;
    function "not" (L: SIGNED) return UNSIGNED;
    function "not" (L: UNSIGNED) return SIGNED;
    function "not" (L: UNSIGNED) return UNSIGNED;

    function "or" (L: SIGNED; R: SIGNED) return SIGNED;
    function "or" (L: SIGNED; R: SIGNED) return UNSIGNED;
    function "or" (L: SIGNED; R: UNSIGNED) return SIGNED;
    function "or" (L: SIGNED; R: UNSIGNED) return UNSIGNED;
    function "or" (L: UNSIGNED; R: SIGNED) return SIGNED;
    function "or" (L: UNSIGNED; R: SIGNED) return UNSIGNED;
    function "or" (L: UNSIGNED; R: UNSIGNED) return SIGNED;
    function "or" (L: UNSIGNED; R: UNSIGNED) return UNSIGNED;

    function "and" (L: SIGNED; R: SIGNED) return SIGNED;
    function "and" (L: SIGNED; R: SIGNED) return UNSIGNED;
    function "and" (L: SIGNED; R: UNSIGNED) return SIGNED;
    function "and" (L: SIGNED; R: UNSIGNED) return UNSIGNED;
    function "and" (L: UNSIGNED; R: SIGNED) return SIGNED;
    function "and" (L: UNSIGNED; R: SIGNED) return UNSIGNED;
    function "and" (L: UNSIGNED; R: UNSIGNED) return SIGNED;
    function "and" (L: UNSIGNED; R: UNSIGNED) return UNSIGNED;

    function "xor" (L: SIGNED; R: SIGNED) return SIGNED;
    function "xor" (L: SIGNED; R: SIGNED) return UNSIGNED;
    function "xor" (L: SIGNED; R: UNSIGNED) return SIGNED;
    function "xor" (L: SIGNED; R: UNSIGNED) return UNSIGNED;
    function "xor" (L: UNSIGNED; R: SIGNED) return SIGNED;
    function "xor" (L: UNSIGNED; R: SIGNED) return UNSIGNED;
    function "xor" (L: UNSIGNED; R: UNSIGNED) return SIGNED;
    function "xor" (L: UNSIGNED; R: UNSIGNED) return UNSIGNED;

    function "nor" (L: SIGNED; R: SIGNED) return SIGNED;
    function "nor" (L: SIGNED; R: SIGNED) return UNSIGNED;
    function "nor" (L: SIGNED; R: UNSIGNED) return SIGNED;
    function "nor" (L: SIGNED; R: UNSIGNED) return UNSIGNED;
    function "nor" (L: UNSIGNED; R: SIGNED) return SIGNED;
    function "nor" (L: UNSIGNED; R: SIGNED) return UNSIGNED;
    function "nor" (L: UNSIGNED; R: UNSIGNED) return SIGNED;
    function "nor" (L: UNSIGNED; R: UNSIGNED) return UNSIGNED;

    function "nand" (L: SIGNED; R: SIGNED) return SIGNED;
    function "nand" (L: SIGNED; R: SIGNED) return UNSIGNED;
    function "nand" (L: SIGNED; R: UNSIGNED) return SIGNED;
    function "nand" (L: SIGNED; R: UNSIGNED) return UNSIGNED;
    function "nand" (L: UNSIGNED; R: SIGNED) return SIGNED;
    function "nand" (L: UNSIGNED; R: SIGNED) return UNSIGNED;
    function "nand" (L: UNSIGNED; R: UNSIGNED) return SIGNED;
    function "nand" (L: UNSIGNED; R: UNSIGNED) return UNSIGNED;
    ----------------------------------------------------------

    function SHL(ARG: UNSIGNED; COUNT: UNSIGNED) return UNSIGNED;
    function SHL(ARG: SIGNED; COUNT: UNSIGNED) return SIGNED;
    function SHR(ARG: UNSIGNED; COUNT: UNSIGNED) return UNSIGNED;
    function SHR(ARG: SIGNED; COUNT: UNSIGNED) return SIGNED;

    function CONV_INTEGER(ARG: INTEGER) return INTEGER;
    function CONV_INTEGER(ARG: UNSIGNED) return INTEGER;
    function CONV_INTEGER(ARG: SIGNED) return INTEGER;
    function CONV_INTEGER(ARG: STD_ULOGIC) return SMALL_INT;

    function CONV_UNSIGNED(ARG: INTEGER; SIZE: INTEGER) return UNSIGNED;
    function CONV_UNSIGNED(ARG: UNSIGNED; SIZE: INTEGER) return UNSIGNED;
    function CONV_UNSIGNED(ARG: SIGNED; SIZE: INTEGER) return UNSIGNED;
    function CONV_UNSIGNED(ARG: STD_ULOGIC; SIZE: INTEGER) return UNSIGNED;
    function CONV_UNSIGNED(ARG: STD_LOGIC_VECTOR; SIZE: INTEGER) return UNSIGNED;

    function CONV_SIGNED(ARG: INTEGER; SIZE: INTEGER) return SIGNED;
    function CONV_SIGNED(ARG: UNSIGNED; SIZE: INTEGER) return SIGNED;
    function CONV_SIGNED(ARG: SIGNED; SIZE: INTEGER) return SIGNED;
    function CONV_SIGNED(ARG: STD_ULOGIC; SIZE: INTEGER) return SIGNED;
    function CONV_SIGNED(ARG: STD_LOGIC_VECTOR; SIZE: INTEGER) return SIGNED;

    function CONV_STD_LOGIC_VECTOR(ARG: INTEGER; SIZE: INTEGER) 
						       return STD_LOGIC_VECTOR;
    function CONV_STD_LOGIC_VECTOR(ARG: UNSIGNED; SIZE: INTEGER) 
						       return STD_LOGIC_VECTOR;
    function CONV_STD_LOGIC_VECTOR(ARG: SIGNED; SIZE: INTEGER) 
						       return STD_LOGIC_VECTOR;
    function CONV_STD_LOGIC_VECTOR(ARG: STD_ULOGIC; SIZE: INTEGER) 
						       return STD_LOGIC_VECTOR;
    -- zero extend STD_LOGIC_VECTOR (ARG) to SIZE, 
    -- SIZE < 0 is same as SIZE = 0
    -- returns STD_LOGIC_VECTOR(SIZE-1 downto 0)
    function EXT(ARG: STD_LOGIC_VECTOR; SIZE: INTEGER) return STD_LOGIC_VECTOR;

    -- sign extend STD_LOGIC_VECTOR (ARG) to SIZE, 
    -- SIZE < 0 is same as SIZE = 0
    -- return STD_LOGIC_VECTOR(SIZE-1 downto 0)
    function SXT(ARG: STD_LOGIC_VECTOR; SIZE: INTEGER) return STD_LOGIC_VECTOR;

    function TO_BOOLEAN(OPER: STD_ULOGIC) return BOOLEAN;
    function TO_MVL9(OPER: BOOLEAN) return STD_ULOGIC;
    function MVL9_TO_BIT(OPER: STD_ULOGIC) return BIT;
    function MVL9_TO_BITV(OPER: STD_LOGIC_VECTOR)  return BIT_VECTOR;

end SIGNED_ARITH;



library IEEE;
use IEEE.std_logic_1164.all;

package body SIGNED_ARITH is

    ------------- next part for Boolean functions ----
  TYPE stdlogic_1d IS ARRAY (std_logic) of std_logic;
  TYPE stdlogic_table is ARRAY (std_logic,std_logic) of std_logic;


    -- truth table for "and" function
    CONSTANT and_table : stdlogic_table := (
    --      ----------------------------------------------------
    --      |  U    X    0    1    Z    W    L    H    -         |   |  
    --      ----------------------------------------------------
            ( 'U', 'U', '0', 'U', 'U', 'U', '0', 'U', 'U' ),  -- | U |
            ( 'U', 'X', '0', 'X', 'X', 'X', '0', 'X', 'X' ),  -- | X |
            ( '0', '0', '0', '0', '0', '0', '0', '0', '0' ),  -- | 0 |
            ( 'U', 'X', '0', '1', 'X', 'X', '0', '1', 'X' ),  -- | 1 |
            ( 'U', 'X', '0', 'X', 'X', 'X', '0', 'X', 'X' ),  -- | Z |
            ( 'U', 'X', '0', 'X', 'X', 'X', '0', 'X', 'X' ),  -- | W |
            ( '0', '0', '0', '0', '0', '0', '0', '0', '0' ),  -- | L |
            ( 'U', 'X', '0', '1', 'X', 'X', '0', '1', 'X' ),  -- | H |
            ( 'U', 'X', '0', 'X', 'X', 'X', '0', 'X', 'X' )   -- | - |
    );

    -- truth table for "or" function
    CONSTANT or_table : stdlogic_table := (
    --      ----------------------------------------------------
    --      |  U    X    0    1    Z    W    L    H    -         |   |  
    --      ----------------------------------------------------
            ( 'U', 'U', 'U', '1', 'U', 'U', 'U', '1', 'U' ),  -- | U |
            ( 'U', 'X', 'X', '1', 'X', 'X', 'X', '1', 'X' ),  -- | X |
            ( 'U', 'X', '0', '1', 'X', 'X', '0', '1', 'X' ),  -- | 0 |
            ( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),  -- | 1 |
            ( 'U', 'X', 'X', '1', 'X', 'X', 'X', '1', 'X' ),  -- | Z |
            ( 'U', 'X', 'X', '1', 'X', 'X', 'X', '1', 'X' ),  -- | W |
            ( 'U', 'X', '0', '1', 'X', 'X', '0', '1', 'X' ),  -- | L |
            ( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),  -- | H |
            ( 'U', 'X', 'X', '1', 'X', 'X', 'X', '1', 'X' )   -- | - |
    );

    -- truth table for "xor" function
    CONSTANT xor_table : stdlogic_table := (
    --      ----------------------------------------------------
    --      |  U    X    0    1    Z    W    L    H    -         |   |  
    --      ----------------------------------------------------
            ( 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U' ),  -- | U |
            ( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' ),  -- | X |
            ( 'U', 'X', '0', '1', 'X', 'X', '0', '1', 'X' ),  -- | 0 |
            ( 'U', 'X', '1', '0', 'X', 'X', '1', '0', 'X' ),  -- | 1 |
            ( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' ),  -- | Z |
            ( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' ),  -- | W |
            ( 'U', 'X', '0', '1', 'X', 'X', '0', '1', 'X' ),  -- | L |
            ( 'U', 'X', '1', '0', 'X', 'X', '1', '0', 'X' ),  -- | H |
            ( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' )   -- | - |
    );


  -- truth table for "not" function
    CONSTANT not_table: stdlogic_1d := 
    --  -------------------------------------------------
    --  |   U    X    0    1    Z    W    L    H    -   |
    --  -------------------------------------------------
         ( 'U', 'X', '1', '0', 'X', 'X', '1', '0', 'X' ); 



    ---------------------
    function "not" (L:SIGNED) return SIGNED is
      variable result : SIGNED (L'range);
    begin
	   for i in result'range loop
	       result(i) := not_table(L(i));
           end loop;
	   return result;
    end "not";
    ---------------------
    ---------------------
    function "not" (L:SIGNED) return UNSIGNED is
      variable result : UNSIGNED (L'range);
    begin
	   for i in result'range loop
	       result(i) := not_table(L(i));
           end loop;
	   return result;
    end "not";
    ---------------------
    ---------------------
    function "not" (L:UNSIGNED) return SIGNED is
      variable result : SIGNED (L'range);
    begin
	   for i in result'range loop
	       result(i) := not_table(L(i));
           end loop;
	   return result;
    end "not";
    ---------------------
    ---------------------
    function "not" (L:UNSIGNED) return UNSIGNED is
      variable result : UNSIGNED (L'range);
    begin
	   for i in result'range loop
	       result(i) := not_table(L(i));
           end loop;
	   return result;
    end "not";
    ---------------------
    ---------------------
    function "or" (L: SIGNED; R: SIGNED) return SIGNED is
	 variable result : SIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded or operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := or_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "or";
    ---------------------
    ---------------------
    function "or" (L: SIGNED; R: SIGNED) return UNSIGNED is
	 variable result : UNSIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded or operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := or_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "or";
    ---------------------

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久久久久| 欧美色图天堂网| 亚洲色图一区二区| 日韩亚洲欧美成人一区| 不卡影院免费观看| 蜜桃av一区二区在线观看| 欧美国产精品一区二区三区| 欧美日韩精品一二三区| 粉嫩av一区二区三区粉嫩| 午夜精品一区二区三区电影天堂 | 色8久久精品久久久久久蜜| 国内国产精品久久| 午夜视频在线观看一区二区三区| 欧美激情资源网| 日韩免费高清电影| 欧美色图12p| 99久久夜色精品国产网站| 国产综合色精品一区二区三区| 一级日本不卡的影视| 中文字幕不卡一区| 亚洲精品一线二线三线| 制服.丝袜.亚洲.中文.综合 | 日韩一区二区在线免费观看| 91美女精品福利| 成人一二三区视频| 精品写真视频在线观看| 天天影视色香欲综合网老头| 亚洲女人****多毛耸耸8| 国产精品乱码久久久久久| 国产无遮挡一区二区三区毛片日本| 日韩欧美资源站| 欧美日韩中文字幕精品| 在线视频一区二区三| 91免费版在线看| 91亚洲永久精品| 91在线精品一区二区| 丁香婷婷深情五月亚洲| 国产成人av一区二区三区在线| 国内精品国产三级国产a久久| 蜜桃精品视频在线观看| 日本成人中文字幕在线视频| 视频在线在亚洲| 日韩国产精品91| 日韩成人av影视| 蜜桃在线一区二区三区| 蜜桃视频在线观看一区| 久久99久久久欧美国产| 久久精品国产成人一区二区三区| 免费精品视频最新在线| 久久99久国产精品黄毛片色诱| 六月婷婷色综合| 国内外成人在线视频| 国产毛片精品国产一区二区三区| 国产乱国产乱300精品| 国产精品69毛片高清亚洲| 国产成人av福利| 成人app下载| 波多野结衣一区二区三区 | 懂色av一区二区在线播放| 成人精品视频一区二区三区尤物| 成人激情动漫在线观看| 色综合天天综合| 欧美日韩精品一二三区| 日韩天堂在线观看| 精品91自产拍在线观看一区| 国产午夜精品久久| 国产精品久久久久久久久久免费看 | 国产精品一区二区不卡| 成人免费视频播放| 91蝌蚪porny| 欧美精品第1页| 久久久精品欧美丰满| 亚洲欧美在线aaa| 亚洲成av人**亚洲成av**| 另类小说图片综合网| 懂色中文一区二区在线播放| 在线欧美小视频| 精品入口麻豆88视频| 亚洲欧洲国产专区| 亚洲国产日韩一区二区| 久久99精品国产.久久久久| 不卡电影一区二区三区| 欧美日韩精品欧美日韩精品一 | 从欧美一区二区三区| 欧美午夜视频网站| 精品成人一区二区三区| 亚洲欧洲色图综合| 奇米四色…亚洲| 99久久精品国产一区| 欧美一激情一区二区三区| 国产精品理论在线观看| 日韩黄色小视频| av中文字幕一区| 欧美不卡视频一区| 亚洲人吸女人奶水| 美女高潮久久久| 色狠狠av一区二区三区| 久久品道一品道久久精品| 亚洲一区二区中文在线| 国产91丝袜在线18| 3d动漫精品啪啪一区二区竹菊| 国产精品入口麻豆原神| 蜜芽一区二区三区| 日本韩国精品在线| 久久网站最新地址| 日韩av不卡一区二区| 色综合久久久久网| 国产欧美精品一区| 蜜桃av一区二区| 欧美日韩精品免费| 亚洲三级理论片| 成人免费毛片嘿嘿连载视频| 精品久久久久久久人人人人传媒| 亚洲国产精品人人做人人爽| 成人h版在线观看| 久久免费国产精品| 蜜桃精品视频在线| 3d动漫精品啪啪1区2区免费| 亚洲一区二区在线免费观看视频| bt7086福利一区国产| 日本一区二区三区电影| 黄页视频在线91| 日韩免费观看2025年上映的电影| 午夜国产不卡在线观看视频| 色哦色哦哦色天天综合| 日韩一区在线看| 成人av在线影院| 国产精品欧美经典| 成人av影院在线| 国产精品久久久久婷婷二区次| 精品亚洲porn| 久久女同性恋中文字幕| 精品中文av资源站在线观看| 欧美一区欧美二区| 日本午夜精品一区二区三区电影| 欧美日韩国产另类一区| 夜夜亚洲天天久久| 色噜噜久久综合| 亚洲免费在线看| 色八戒一区二区三区| 一区二区三区四区蜜桃| 日本高清免费不卡视频| 亚洲观看高清完整版在线观看| 91黄视频在线| 亚洲成人免费视频| 91精选在线观看| 久久成人综合网| 久久夜色精品国产欧美乱极品| 国产揄拍国内精品对白| 久久久久成人黄色影片| 国产成人自拍在线| 成人免费小视频| 精品视频一区二区三区免费| 日韩黄色片在线观看| 欧美精品一区二区精品网| 国产美女av一区二区三区| 国产精品久久久久影院| 在线一区二区观看| 日韩成人精品视频| 久久这里只有精品视频网| 国产99久久久国产精品免费看| 国产精品久久久久一区二区三区 | 欧美激情一区二区三区在线| 99免费精品在线| 亚洲一区在线视频观看| 日韩一区二区影院| 国产成人久久精品77777最新版本| 国产精品视频免费看| 欧美中文字幕久久| 久久99蜜桃精品| ...av二区三区久久精品| 欧美日韩免费电影| 国产精品一品视频| 亚洲精品亚洲人成人网 | 欧美日韩不卡在线| 黄一区二区三区| 亚洲激情图片qvod| 欧美不卡在线视频| 91在线精品一区二区三区| 天天亚洲美女在线视频| 久久综合久久久久88| 91在线视频网址| 久久精品999| 亚洲精品ww久久久久久p站| 日韩小视频在线观看专区| 国产成人av一区二区三区在线| 亚洲一区在线观看视频| 久久色.com| 欧美在线一区二区三区| 国产乱妇无码大片在线观看| 亚洲午夜激情av| 国产欧美日韩不卡| 欧美一区二区三区思思人| www.日韩av| 久久精品国产999大香线蕉| 亚洲综合另类小说| 欧美国产亚洲另类动漫| 日韩欧美中文字幕制服| 在线观看中文字幕不卡| 国产精品一色哟哟哟|