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

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

?? 66_signed.vhd

?? 該源碼為用VHDL(硬件描述語言)編寫的100個實例的源代碼
?? VHD
?? 第 1 頁 / 共 5 頁
字號:
--------------------------------------------------------------------------
--                                                                      --
-- 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";
    ---------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久er热在这里只有精品15| xfplay精品久久| 精品免费日韩av| 亚洲视频一区二区在线| 男女男精品网站| 欧美视频第二页| 亚洲欧美怡红院| 国产成人午夜99999| 欧美高清一级片在线| 亚洲人成在线播放网站岛国| 国产精品白丝jk黑袜喷水| 日韩久久精品一区| 亚洲成人一区在线| 91成人网在线| 日韩毛片精品高清免费| 高清不卡一区二区| 精品国产a毛片| 免费在线看一区| 欧美性受极品xxxx喷水| 亚洲精品国产视频| www.成人在线| 国产精品短视频| 高清在线不卡av| 国产日韩av一区二区| 国产真实乱偷精品视频免| 日韩精品一区二区三区在线| 麻豆91精品91久久久的内涵| 91麻豆精品国产自产在线观看一区 | 欧美日本国产一区| 亚洲一区在线观看免费观看电影高清| bt7086福利一区国产| 日本一区二区视频在线| 成人晚上爱看视频| 中文字幕日本不卡| 99国产欧美另类久久久精品| 国产精品免费丝袜| 99精品国产99久久久久久白柏| 综合在线观看色| 色婷婷国产精品久久包臀| 一区二区三区四区视频精品免费| 欧美午夜免费电影| 蜜桃精品视频在线| xnxx国产精品| 99国产精品久久久久| 亚洲乱码国产乱码精品精小说| 日本高清成人免费播放| 亚洲成人动漫一区| 精品久久国产老人久久综合| 国精产品一区一区三区mba桃花 | 欧美丰满少妇xxxbbb| 捆绑调教一区二区三区| 久久精品亚洲国产奇米99| 粉嫩一区二区三区性色av| 亚洲靠逼com| 3atv一区二区三区| 久久福利资源站| 久久久99精品久久| 日本韩国欧美三级| 日本三级韩国三级欧美三级| 久久综合九色综合97婷婷| 93久久精品日日躁夜夜躁欧美| 亚洲国产精品自拍| 久久久蜜桃精品| 欧美在线观看18| 国模大尺度一区二区三区| 亚洲欧洲国产日韩| 欧美一区二区三区视频免费 | 中文字幕欧美日韩一区| 欧美日韩综合色| 国产福利一区二区三区视频在线| 亚洲日本欧美天堂| 日韩精品中文字幕在线一区| 91网上在线视频| 另类人妖一区二区av| 亚洲欧美日韩国产成人精品影院| 69堂国产成人免费视频| av色综合久久天堂av综合| 日本在线不卡视频| 亚洲人成影院在线观看| 精品国产99国产精品| 色激情天天射综合网| 国产福利一区二区三区在线视频| 亚洲国产成人高清精品| 中文欧美字幕免费| 精品免费视频一区二区| 欧美久久久久久久久久| 99精品久久只有精品| 精品夜夜嗨av一区二区三区| 亚洲网友自拍偷拍| 国产精品成人免费| 国产女人aaa级久久久级| 日韩视频永久免费| 欧美视频在线观看一区二区| 99免费精品在线| 高清国产午夜精品久久久久久| 久草这里只有精品视频| 视频一区在线播放| 亚洲精品第一国产综合野| 国产精品污污网站在线观看| 久久毛片高清国产| 日韩欧美综合一区| 777奇米成人网| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 日韩av不卡在线观看| 亚洲成人福利片| 亚洲一区二区三区精品在线| 亚洲日本一区二区三区| 国产精品灌醉下药二区| 中文字幕电影一区| 亚洲国产精品高清| 国产精品免费免费| 中文字幕在线不卡国产视频| 国产精品萝li| 亚洲视频1区2区| **网站欧美大片在线观看| 亚洲欧洲日韩综合一区二区| 亚洲色图一区二区三区| 一区二区三区四区蜜桃| 亚洲国产视频在线| 天涯成人国产亚洲精品一区av| 香蕉加勒比综合久久| 日韩成人伦理电影在线观看| 日本大胆欧美人术艺术动态| 日本aⅴ精品一区二区三区 | 五月激情综合色| 麻豆精品在线视频| 国产精品一区二区久激情瑜伽| 成人综合婷婷国产精品久久| 91麻豆精品视频| 777亚洲妇女| 久久婷婷色综合| 国产精品女同互慰在线看| 亚洲私人影院在线观看| 亚洲成a天堂v人片| 麻豆91在线看| 成人va在线观看| 欧美视频一二三区| 精品国产99国产精品| 国产精品国产三级国产普通话99 | 国产精品久久三区| 亚洲一区二区成人在线观看| 天天影视网天天综合色在线播放| 麻豆精品久久久| 成人午夜激情在线| 欧美性生活影院| 久久久www成人免费无遮挡大片| 国产精品久久久久影院老司 | 毛片av中文字幕一区二区| 97精品国产露脸对白| 中文字幕第一页久久| 中文字幕一区二区在线观看| 一区二区三区在线视频免费观看| 天天色图综合网| 国产盗摄一区二区| 欧美电影影音先锋| 亚洲视频一区二区在线| 蜜臀av性久久久久蜜臀av麻豆| av一区二区三区| 精品欧美黑人一区二区三区| 亚洲制服丝袜av| 国产精品一区二区久久精品爱涩| 欧美三级午夜理伦三级中视频| 久久综合色8888| 亚洲成人动漫av| 91农村精品一区二区在线| 久久亚洲一区二区三区四区| 亚洲高清在线视频| 成人av网在线| 久久久三级国产网站| 日韩电影在线看| 欧洲日韩一区二区三区| 国产精品免费网站在线观看| 久久国产欧美日韩精品| 欧美日韩在线免费视频| 国产精品成人在线观看| 国产乱码精品一区二区三区av | 宅男在线国产精品| 一区二区三区在线免费观看| 成人午夜大片免费观看| 日韩午夜在线观看| 亚洲国产婷婷综合在线精品| www.在线成人| 国产精品视频免费| 国产二区国产一区在线观看| 91精品啪在线观看国产60岁| 亚洲午夜久久久久久久久电影院| 不卡在线观看av| 国产精品国产三级国产aⅴ中文 | 成人欧美一区二区三区| 成人免费高清在线| 国产午夜亚洲精品理论片色戒| 蜜桃视频免费观看一区| 91精品欧美一区二区三区综合在| 亚洲一区二区三区视频在线| 一本一本大道香蕉久在线精品| 国产精品免费视频观看| 处破女av一区二区| 国产精品不卡在线观看| 91免费精品国自产拍在线不卡| 中文字幕欧美一|