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

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

?? mult_model.vhd

?? YUV轉RGB的源程序
?? VHD
字號:
--/**************************************************************************
-- ** 
-- ** Module: ycrcb2rgb
-- **
-- ** Instantiated Multiplier:
-- ***************************************************************************/

library IEEE; 
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
use IEEE.numeric_std.all;
-- include the following for synthesis only
--library virtex; 
--use virtex.components.all; 
--library synplify; 
--use synplify.attributes.all; 
library unisims_ver; -- include this for modelsim simulation
                     -- when using mult18x18


entity ycrcb2rgb is
  port (Y,Cr,Cb : in std_logic_vector(9 downto 0); 
        clk,rst : in std_logic;
          R,G,B : out std_logic_vector(7 downto 0));
end ycrcb2rgb ;

architecture multmodel of ycrcb2rgb is

-- Signal Declarations:

--signal logic1, logic0 : std_logic;
signal Y_int, Cr_int, Cb_int: std_logic_vector(10 downto 0);
signal sign_y1, sign_cr1, sign_cb1 : std_logic;
signal sign_y2, sign_cr2, sign_cb2 : std_logic;
signal Y_reg, Cr_reg, Cb_reg: std_logic_vector(10 downto 0);
signal R_int1, G_int1, B_int1: std_logic_vector(12 downto 0);
signal R_int2, G_int2, B_int2: std_logic_vector(12 downto 0);
signal P1_int,P2_int,P3_int,P4_int,P5_int: std_logic_vector(12 downto 0);
signal P1_int_act,P2_int_act,P3_int_act,P4_int_act,P5_int_act: std_logic_vector(12 downto 0);
signal sign_ext_y, sign_ext_cr, sign_ext_cb : std_logic_vector(17 downto 0);
signal check1,check2: std_logic_vector (17 downto 0);
signal P1,P2,P3,P4,P5: std_logic_vector(35 downto 0);
signal const1: std_logic_vector(17 downto 0) := "000000000100101011"; -- 1.164 = 01.00101001
signal const2: std_logic_vector(17 downto 0) := "000000000110011000"; -- 1.596 = 01.10011000
signal const3: std_logic_vector(17 downto 0) := "000000000011010000"; -- 0.813 = 00.11010000
signal const4: std_logic_vector(17 downto 0) := "000000000001100100"; -- 0.392 = 00.01100100
signal const5: std_logic_vector(17 downto 0) := "000000001000000100"; -- 2.017 = 10.00000100


component MULT18X18 
port(
A,B: in std_logic_vector (17 downto 0);
P: out std_logic_vector (35 downto 0));
end component;



begin

Y_int <= (('0' & Y) - "00001000000"); 
Cr_int <= (('0' & Cr) - "01000000000");
Cb_int <= (('0' & Cb) - "01000000000");

-- save sign
PA:process (clk,rst)
  begin
   if (rst = '1') then
       sign_y1 <= '0'; sign_cr1 <= '0'; sign_cb1 <= '0';
       sign_y2 <= '0'; sign_cr2 <= '0'; sign_cb2 <= '0';
elsif (rising_edge (clk)) then
       sign_y1 <= Y_int(10); sign_cr1 <= Cr_int(10); sign_cb1 <= Cb_int(10);
       sign_y2 <= sign_y1; sign_cr2 <= sign_cr1; sign_cb2 <= sign_cb1;
      end if;
end process PA;



--Y_int <= (('0' & Y_reg) - "00001000000"); 
--CR_int <= (('0' & CR_reg) - "01000000000");
--CB_int <= (('0' & CB_reg) - "01000000000");

-- 2's complement logic 
PB:process (clk,rst)
  begin
   if (rst = '1') then
     Y_reg <= (others => '0'); 
	  Cr_reg <= (others => '0'); 
	  Cb_reg <= (others => '0');
   elsif (rising_edge (clk)) then
      
        if (Y_int(10) = '0')  then
        Y_reg <= Y_int;
        else
        Y_reg <= not(Y_int) + 1;
      end if;
      
        if (Cr_int(10) = '0') then
        Cr_reg <= Cr_int;
        else
        Cr_reg <= not(Cr_int) +1;
      end if;
     
        if (Cb_int(10) = '0') then
        Cb_reg <= Cb_int;
        else
        Cb_reg <= not(Cb_int) +1;
     end if;
   end if;
  end process PB;

--const1 = "000000000100101001";
--const2 = "000000000110011000";
--const3 = "000000000011010000";
--const4 = "000000000001100100";
--const5 = "000000001000000100";
sign_ext_y <= "0000000" & Y_reg;
sign_ext_cr <= "0000000"& Cr_reg;
sign_ext_cb <= "0000000" & Cb_reg;

check1 <= const1;
check2 <= sign_ext_y;
-- 1.164(Y-64) = 01.00101001(Y-64)
--MULT1: MULT18X18 port map( A => const1, B => sign_ext_y, P => P1);
-- 1.596(Cr-512) = 01.10011000(Cr-512)
--MULT2: MULT18X18 port map( A => const2, B => sign_ext_cr, P => P2);
-- 0.813(Cr-512) = 00.11010000(Cr-512)
--MULT3: MULT18X18 port map( A => const3, B => sign_ext_cr, P => P3);
-- 0.392(Cb-512) = 00.01100100(Cb-512)
--MULT4: MULT18X18 port map( A => const4, B => sign_ext_cb, P => P4);
-- 2.017(Cb-512) = 10.00000100(Cb-512)
--MULT5: MULT18X18 port map( A => const5, B => sign_ext_cb, P => P5); 

mult1a: MULT18X18 port map (A => const1, B => sign_ext_y, P => P1);
mult2a: MULT18X18 port map (A => const2, B => sign_ext_cr, P => P2);
mult3a: MULT18X18 port map (A => const3, B => sign_ext_cr, P => P3);
mult4a: MULT18X18 port map (A => const4, B => sign_ext_cb, P => P4);
mult5a: MULT18X18 port map (A => const5, B => sign_ext_cb, P => P5);

PC:process (clk,rst)
begin
if (rst = '1') then
      P1_int <= (others => '0'); P2_int <= (others => '0'); 
      P3_int <= (others => '0'); P4_int <= (others => '0'); 
      P5_int <= (others => '0');
elsif (rising_edge (clk)) then
      P1_int <= P1(20 downto 8); P2_int <= P2(20 downto 8); 
      P3_int <= P3(20 downto 8); P4_int <= P4(20 downto 8); 
      P5_int <= P5(20 downto 8);
end if;
end process PC;

 P1_int_act <= (not(P1_int) + '1') when (sign_y2='1') else P1_int; -- if product is negative, take 2's compl.
 P2_int_act <= (not(P2_int) + '1') when (sign_cr2='1') else P2_int; -- if product is negative, take 2's compl.
 P3_int_act <= (not(P3_int) + '1') when (sign_cr2='1') else P3_int; -- if product is negative, take 2's compl.
 P4_int_act <= (not(P4_int) + '1') when (sign_cb2='1') else P4_int; -- if product is negative, take 2's compl.
 P5_int_act <= (not(P5_int) + '1') when (sign_cb2='1') else P5_int; -- if product is negative, take 2's compl.

PD:process (clk,rst)
  begin
   if (rst = '1') then
      R_int1 <= (others => '0'); R_int2 <= (others => '0');
	   G_int1 <= (others => '0'); G_int2 <= (others => '0');
	   B_int1 <= (others => '0'); B_int2 <= (others => '0');
   elsif (rising_edge (clk)) then
      R_int1 <= P1_int_act + P2_int_act;
      G_int1 <= P1_int_act - P3_int_act;
      G_int2 <= G_int1 - P4_int_act;
	    B_int1 <= P1_int_act + P5_int_act;
      R_int2 <= R_int1;
      B_int2 <= B_int1;
   end if;
  end process PD;

-- output limiter. Limit output to '0' if R_int2,G_int2,B_int2 < 0  and lilmit ouput
--to 4095 (1111,1111,1111) if R_int2,G_int2,B_int2 > 4095.

      R <= "00000000" when (R_int2(12) = '1') 
           else R_int2(9 downto 2) when (R_int2(11 downto 10) = "00") 
           else "11111111";
      G <= "00000000" when (G_int2(12) = '1') 
           else G_int2(9 downto 2) when (G_int2(11 downto 10) = "00") 
           else "11111111";
      B <= "00000000" when (B_int2(12) = '1') 
           else B_int2(9 downto 2) when (B_int2(11 downto 10) = "00") 
           else "11111111";

end multmodel;


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产伦理精品不卡| 欧美女孩性生活视频| 欧美日韩国产电影| 国产精品久久久久久久久动漫| 亚洲成精国产精品女| 成人黄色一级视频| 精品成人a区在线观看| 亚洲一区电影777| 成人免费视频国产在线观看| 日韩一区二区三区免费看 | 国产区在线观看成人精品| 亚洲大片在线观看| 91论坛在线播放| 亚洲国产精品成人久久综合一区| 美女视频黄 久久| 欧美在线视频日韩| 亚洲美女偷拍久久| 不卡影院免费观看| 久久久国产综合精品女国产盗摄| 麻豆成人91精品二区三区| 欧美日韩大陆一区二区| 亚洲一区在线观看视频| 91蝌蚪国产九色| 自拍av一区二区三区| 国产91精品久久久久久久网曝门| 精品福利在线导航| 激情图片小说一区| 日韩精品中文字幕一区二区三区| 婷婷国产在线综合| 日韩视频在线你懂得| 老司机午夜精品| 久久久国产综合精品女国产盗摄| 韩国一区二区视频| 国产欧美日韩精品在线| 北条麻妃国产九九精品视频| 国产精品毛片无遮挡高清| 972aa.com艺术欧美| 亚洲男人天堂av网| 欧美猛男男办公室激情| 日韩国产在线观看一区| 日韩欧美第一区| 国产露脸91国语对白| 国产日韩欧美不卡| 色系网站成人免费| 日一区二区三区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 一区二区三区91| 91黄视频在线| 视频一区视频二区在线观看| 欧美一区二区精品在线| 国产成人精品1024| 亚洲青青青在线视频| 777xxx欧美| 粉嫩久久99精品久久久久久夜| 亚洲欧美另类综合偷拍| 欧美男人的天堂一二区| 国产精品正在播放| 亚洲综合视频网| 精品剧情在线观看| 97精品电影院| 青草av.久久免费一区| 国产亚洲精品中文字幕| 在线观看视频一区二区欧美日韩| 日韩电影在线观看一区| 欧美国产乱子伦 | 日韩高清在线一区| 国产精品美女久久久久高潮| 欧美日韩免费高清一区色橹橹 | 成人av在线资源| 三级欧美在线一区| 中文字幕日韩一区| 欧美一区二区黄| 91天堂素人约啪| 国内成人自拍视频| 亚洲综合小说图片| 国产精品视频一二三| 日韩一区二区三区电影| 成人97人人超碰人人99| 免费在线观看视频一区| 中文字幕一区免费在线观看| 欧美一卡二卡三卡四卡| 91亚洲精品乱码久久久久久蜜桃| 美女视频黄免费的久久| 一卡二卡三卡日韩欧美| 欧美国产一区二区| 欧美r级在线观看| 欧美三级在线视频| 91在线观看地址| 国产精品99精品久久免费| 日韩avvvv在线播放| 一区二区三区欧美| 亚洲国产电影在线观看| 久久久久久久久99精品| 欧美一区午夜视频在线观看| 欧美在线观看一区二区| 北条麻妃一区二区三区| 国产a级毛片一区| 精品一区二区三区免费播放| 天天爽夜夜爽夜夜爽精品视频| 亚洲欧美国产三级| 中文字幕一区在线观看| 国产精品无人区| 欧美激情一区三区| 久久综合给合久久狠狠狠97色69| 91精品国产综合久久精品app| 欧美性色欧美a在线播放| 日本道色综合久久| 91久久精品午夜一区二区| 99re成人在线| 色婷婷精品久久二区二区蜜臀av | 欧美疯狂性受xxxxx喷水图片| 99riav一区二区三区| 成人激情文学综合网| 东方aⅴ免费观看久久av| 国产成人日日夜夜| 成人免费不卡视频| 99精品欧美一区二区三区综合在线| 高清不卡在线观看| 99re成人精品视频| 欧美无人高清视频在线观看| 欧美日韩精品欧美日韩精品一综合 | 欧美精品丝袜久久久中文字幕| 69精品人人人人| 欧美成人精品1314www| 精品国产91乱码一区二区三区| 精品处破学生在线二十三| 久久婷婷成人综合色| 欧美国产日本韩| 一区二区三区在线高清| 午夜精品视频在线观看| 免费视频一区二区| 国产精品亚洲综合一区在线观看| 国产91精品一区二区麻豆亚洲| 91在线云播放| 欧美日韩日日摸| 久久网站热最新地址| 国产精品免费视频观看| 亚洲一区二区高清| 久久机这里只有精品| 国产91精品露脸国语对白| 91精彩视频在线观看| 欧美大片在线观看一区二区| 国产亚洲美州欧州综合国| 一区二区日韩av| 久久国产剧场电影| 色偷偷久久人人79超碰人人澡| 日韩一二三区不卡| 国产精品国产三级国产aⅴ中文| 午夜精品123| 成人高清免费观看| 欧美日韩国产首页| 日本一区二区三区四区| 亚洲gay无套男同| 国产精品亚洲人在线观看| 在线影院国内精品| 国产日韩欧美精品一区| 日韩精品成人一区二区三区| 国产成人av一区| 91麻豆精品国产91久久久资源速度 | 亚洲午夜成aⅴ人片| 国产精品综合二区| 欧美日韩一区高清| 国产人妖乱国产精品人妖| 日韩成人精品在线观看| av亚洲精华国产精华| 精品国产免费一区二区三区四区 | 欧美视频自拍偷拍| 亚洲欧美在线观看| 国产福利一区二区三区视频在线| 91黄色免费看| 中文字幕 久热精品 视频在线| 日韩黄色免费网站| 91色.com| 欧美激情一区二区三区在线| 免费在线成人网| 欧美精品乱码久久久久久| 中文字幕亚洲区| 福利91精品一区二区三区| 精品国产免费人成电影在线观看四季 | 国产在线精品免费| 欧美日韩国产小视频| 亚洲男同性视频| 99精品视频中文字幕| 久久蜜桃av一区二区天堂 | 欧美一级片在线| 亚洲国产日韩在线一区模特| 高清不卡在线观看av| 国产色综合一区| 国产在线视频不卡二| 欧美一级黄色录像| 日韩精品一区第一页| 欧美日韩一区精品| 亚洲成人动漫在线观看| 欧美性猛交一区二区三区精品| 国产精品福利电影一区二区三区四区| 国产一区中文字幕| 国产偷国产偷精品高清尤物 | 亚洲3atv精品一区二区三区| 欧美亚男人的天堂| 午夜视频在线观看一区|