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

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

?? huffman.vhd

?? Pure hardware JPEG Encoder design. Package includes vhdl source code, test bench, detail design docu
?? VHD
?? 第 1 頁 / 共 2 頁
字號:
-------------------------------------------------------------------------------
-- File Name :  Huffman.vhd
--
-- Project   : JPEG_ENC
--
-- Module    : Huffman
--
-- Content   : Huffman Encoder
--
-- Description : Huffman encoder core
--
-- Spec.     : 
--
-- Author    : Michal Krepa
--
-------------------------------------------------------------------------------
-- History :
-- 20090228: (MK): Initial Creation.
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
----------------------------------- LIBRARY/PACKAGE ---------------------------
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
-- generic packages/libraries:
-------------------------------------------------------------------------------
library ieee;
  use ieee.std_logic_1164.all;
  use ieee.numeric_std.all;

-------------------------------------------------------------------------------
-- user packages/libraries:
-------------------------------------------------------------------------------
library work;
  use work.JPEG_PKG.all;
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
----------------------------------- ENTITY ------------------------------------
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
entity Huffman is
  port 
  (
        CLK                : in  std_logic;
        RST                : in  std_logic;
        -- CTRL
        start_pb           : in  std_logic;
        ready_pb           : out std_logic;
        huf_sm_settings    : in  T_SM_SETTINGS;
        
        -- HOST IF
        sof                : in  std_logic;
        img_size_x         : in  std_logic_vector(15 downto 0);
        img_size_y         : in  std_logic_vector(15 downto 0);
        cmp_max            : in  std_logic_vector(1 downto 0);
        
        -- RLE
        rle_buf_sel        : out std_logic;
        rd_en              : out std_logic;
        runlength          : in  std_logic_vector(3 downto 0);
        VLI_size           : in  std_logic_vector(3 downto 0);
        VLI                : in  std_logic_vector(11 downto 0);
        d_val              : in  std_logic;
        rle_fifo_empty     : in  std_logic;
     
        -- Byte Stuffer
        bs_buf_sel         : in  std_logic;
        bs_fifo_empty      : out std_logic;
        bs_rd_req          : in  std_logic;
        bs_packed_byte     : out std_logic_vector(7 downto 0)        
    );
end entity Huffman;

-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
----------------------------------- ARCHITECTURE ------------------------------
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
architecture RTL of Huffman is

  type T_STATE is (IDLE, RUN_VLC, RUN_VLI, PAD);
  
  constant C_M             : integer := 23;
  constant BLK_SIZE        : integer := 64;

  signal state             : T_STATE;
  signal rle_buf_sel_s     : std_logic;
  signal first_rle_word    : std_logic;
  signal word_reg          : unsigned(C_M-1 downto 0);
  signal bit_ptr           : unsigned(4 downto 0);
  signal num_fifo_wrs      : unsigned(1 downto 0);
  signal VLI_ext           : unsigned(15 downto 0);
  signal VLI_ext_size      : unsigned(4 downto 0);
  signal ready_HFW         : std_logic;
  signal fifo_wbyte        : std_logic_vector(7 downto 0);
  signal fifo_wrt_cnt      : unsigned(1 downto 0);
  signal fifo_wren         : std_logic;
  signal last_block        : std_logic;
  signal image_area_size   : unsigned(33 downto 0);
  signal block_cnt         : unsigned(27 downto 0);
  signal VLC_size          : unsigned(4 downto 0);
  signal VLC               : unsigned(15 downto 0);
  signal VLC_DC_size       : std_logic_vector(3 downto 0);
  signal VLC_DC            : unsigned(8 downto 0);
  signal VLC_AC_size       : unsigned(4 downto 0);
  signal VLC_AC            : unsigned(15 downto 0);
  signal vlc_vld           : std_logic;    
  signal d_val_d1          : std_logic;    
  signal d_val_d2          : std_logic;
  signal d_val_d3          : std_logic;
  signal d_val_d4          : std_logic;
  signal VLI_size_d        : std_logic_vector(3 downto 0);
  signal VLI_d             : std_logic_vector(11 downto 0);
  signal VLI_size_d1       : std_logic_vector(3 downto 0);
  signal VLI_d1            : std_logic_vector(11 downto 0);
  signal HFW_running       : std_logic;
  signal runlength_r       : std_logic_vector(3 downto 0);
  signal VLI_size_r        : std_logic_vector(3 downto 0);
  signal VLI_r             : std_logic_vector(11 downto 0);
  signal rd_en_s           : std_logic;
  signal pad_byte          : std_logic_vector(7 downto 0);
  signal pad_reg           : std_logic;
  signal VLC_CR_DC_size    : std_logic_vector(3 downto 0);
  signal VLC_CR_DC         : unsigned(10 downto 0);
  signal VLC_CR_AC_size    : unsigned(4 downto 0);
  signal VLC_CR_AC         : unsigned(15 downto 0);
  
-------------------------------------------------------------------------------
-- Architecture: begin
-------------------------------------------------------------------------------
begin

  rle_buf_sel <= rle_buf_sel_s;
  
  rd_en   <= rd_en_s;
  vlc_vld <= rd_en_s;
  
  -------------------------------------------------------------------
  -- latch FIFO Q
  -------------------------------------------------------------------
  p_latch_fifo : process(CLK, RST)
  begin
    if RST = '1' then
      VLI_size_r  <= (others => '0');
      VLI_r       <= (others => '0');
    elsif CLK'event and CLK = '1' then
      if d_val = '1' then
        VLI_size_r  <= VLI_size; 
        VLI_r       <= VLI;            
      end if;
    end if;
  end process;
  
  -------------------------------------------------------------------
  -- DC_ROM Luminance
  -------------------------------------------------------------------
  U_DC_ROM : entity work.DC_ROM
  port map
  (
        CLK                => CLK,
        RST                => RST,
        VLI_size           => VLI_size,
                           
        VLC_DC_size        => VLC_DC_size,
        VLC_DC             => VLC_DC
  );
    
  -------------------------------------------------------------------
  -- AC_ROM Luminance
  -------------------------------------------------------------------
  U_AC_ROM : entity work.AC_ROM
  port map
  (
        CLK                => CLK,
        RST                => RST,
        runlength          => runlength,
        VLI_size           => VLI_size,
                           
        VLC_AC_size        => VLC_AC_size,
        VLC_AC             => VLC_AC
    );
    
  -------------------------------------------------------------------
  -- DC_ROM Chrominance
  -------------------------------------------------------------------
  U_DC_CR_ROM : entity work.DC_CR_ROM
  port map
  (
        CLK                => CLK,
        RST                => RST,
        VLI_size           => VLI_size,
                           
        VLC_DC_size        => VLC_CR_DC_size,
        VLC_DC             => VLC_CR_DC
  );
    
  -------------------------------------------------------------------
  -- AC_ROM Chrominance
  -------------------------------------------------------------------
  U_AC_CR_ROM : entity work.AC_CR_ROM
  port map
  (
        CLK                => CLK,
        RST                => RST,
        runlength          => runlength,
        VLI_size           => VLI_size,
                           
        VLC_AC_size        => VLC_CR_AC_size,
        VLC_AC             => VLC_CR_AC
    );
   
  -------------------------------------------------------------------
  -- Double Fifo
  -------------------------------------------------------------------
  U_DoubleFifo : entity work.DoubleFifo
  port map
  (
        CLK                => CLK,
        RST                => RST,
        -- HUFFMAN
        data_in            => fifo_wbyte,
        wren               => fifo_wren,
        -- BYTE STUFFER
        buf_sel            => bs_buf_sel,
        rd_req             => bs_rd_req,
        fifo_empty         => bs_fifo_empty,
        data_out           => bs_packed_byte
    );
  
  -------------------------------------------------------------------
  -- RLE buf_sel
  -------------------------------------------------------------------
  p_rle_buf_sel : process(CLK, RST)
  begin
    if RST = '1' then
      rle_buf_sel_s   <= '0'; 
    elsif CLK'event and CLK = '1' then
      if start_pb = '1' then
        rle_buf_sel_s <= not rle_buf_sel_s;
      end if;
    end if;
  end process;
  
  -------------------------------------------------------------------
  -- mux for DC/AC ROM Luminance/Chrominance
  -------------------------------------------------------------------
  p_mux : process(CLK, RST)
  begin
    if RST = '1' then
      VLC_size <= (others => '0');
      VLC      <= (others => '0');
    elsif CLK'event and CLK = '1' then
      -- DC
      if first_rle_word = '1' then
        -- luminance
        if huf_sm_settings.cmp_idx = 0 then
          VLC_size <= unsigned('0' & VLC_DC_size);
          VLC      <= resize(VLC_DC, VLC'length);
        -- chrominance
        else
          VLC_size <= unsigned('0' & VLC_CR_DC_size);
          VLC      <= resize(VLC_CR_DC, VLC'length);
        end if;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看不卡一区| 中文字幕成人网| 国产亚洲一区二区三区| 亚洲另类在线一区| 国产乱人伦精品一区二区在线观看 | 国产原创一区二区三区| 在线欧美小视频| 国产精品乱子久久久久| 精品亚洲欧美一区| 欧美一区二区三区白人| 亚洲最大的成人av| 99麻豆久久久国产精品免费优播| 精品国产1区2区3区| 亚洲成a人片综合在线| 99久久精品国产一区二区三区| 欧美成人午夜电影| 日韩综合一区二区| 欧美三级电影精品| 亚洲欧美日韩精品久久久久| 国产**成人网毛片九色| 精品国产露脸精彩对白| 老鸭窝一区二区久久精品| 欧美日韩综合色| 亚洲一级不卡视频| 欧美怡红院视频| 亚洲自拍与偷拍| 欧美在线你懂得| 亚洲一区免费观看| 欧美性受xxxx黑人xyx性爽| 亚洲免费观看高清完整版在线观看 | 亚洲在线一区二区三区| 一本久久精品一区二区| 一区二区三区在线观看网站| 99热在这里有精品免费| 日韩一区日韩二区| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲午夜一区二区| 色婷婷国产精品| 亚洲一区二区三区在线看| 欧美视频在线不卡| 日韩不卡一区二区| 精品国内二区三区| 国产999精品久久| 国产精品国产成人国产三级| 97se狠狠狠综合亚洲狠狠| 亚洲精品国产无天堂网2021| 色妹子一区二区| 亚洲超碰97人人做人人爱| 欧美一区二区三区在线视频| 久久97超碰色| 国产精品剧情在线亚洲| 色婷婷亚洲一区二区三区| 亚洲国产美国国产综合一区二区| 91精品国产综合久久福利软件 | 亚洲综合色网站| 欧美一区二区三区性视频| 激情久久五月天| 亚洲欧美自拍偷拍| 欧美手机在线视频| 久久成人免费网站| 中文字幕一区二区三区色视频| 在线观看成人小视频| 青娱乐精品视频| 国产精品免费aⅴ片在线观看| 在线观看欧美日本| 狠狠色丁香九九婷婷综合五月| 国产精品国产三级国产专播品爱网| 欧美视频在线播放| 国产盗摄女厕一区二区三区| 亚洲另类色综合网站| 日韩精品一区二区三区在线播放 | 欧美三级视频在线| 国产河南妇女毛片精品久久久| 亚洲乱码一区二区三区在线观看| 欧美一区二区女人| 97aⅴ精品视频一二三区| 欧美aa在线视频| 亚洲视频一二区| 日韩一区二区三区在线视频| 91在线观看污| 国产在线观看免费一区| 亚洲福利电影网| 综合久久综合久久| 久久综合久久综合九色| 欧洲视频一区二区| www.欧美色图| 国产精品一区二区视频| 性做久久久久久久久| 国产精品福利一区二区| 2023国产精华国产精品| 欧美高清激情brazzers| 97久久久精品综合88久久| 国产精品一区二区x88av| 日韩在线一区二区| 美女在线观看视频一区二区| 欧美激情一区二区在线| 精品播放一区二区| 欧美一级欧美三级| 欧美美女喷水视频| 91成人网在线| 色综合激情久久| 成人avav影音| 成人久久18免费网站麻豆 | 亚洲地区一二三色| 亚洲裸体在线观看| 国产精品传媒在线| 国产精品不卡一区二区三区| 国产精品天美传媒| 日本一区二区三区dvd视频在线| 精品动漫一区二区三区在线观看| 91精品国产91久久综合桃花| 欧美卡1卡2卡| 91精品在线麻豆| 欧美一区二区三区人| 91精品国产综合久久福利软件| 欧美三区免费完整视频在线观看| 欧美午夜免费电影| 精品视频123区在线观看| 欧美日韩一区二区三区视频| 欧美精品1区2区3区| 69堂精品视频| 精品欧美一区二区久久| 久久天堂av综合合色蜜桃网| 久久女同精品一区二区| 久久久www成人免费无遮挡大片| 久久精品夜色噜噜亚洲aⅴ| 国产女人18毛片水真多成人如厕 | 日韩午夜av电影| 欧美电影免费观看高清完整版在线| 日韩美女主播在线视频一区二区三区| 91精品国产一区二区人妖| 欧美成人a∨高清免费观看| 精品第一国产综合精品aⅴ| 中文在线免费一区三区高中清不卡| 欧美国产日产图区| 亚洲激情在线播放| 五月天一区二区| 国产自产2019最新不卡| 成人午夜在线视频| 在线免费观看日本一区| 欧美一级高清片| 久久婷婷一区二区三区| 亚洲伦理在线精品| 男人操女人的视频在线观看欧美| 经典三级在线一区| 91一区二区三区在线观看| 7777精品久久久大香线蕉| www国产亚洲精品久久麻豆| 亚洲人妖av一区二区| 日韩电影在线一区二区三区| 国产福利一区在线| 欧美色网一区二区| 久久久国产一区二区三区四区小说| 国产精品少妇自拍| 日韩精品欧美精品| 成人免费高清在线观看| 91精品久久久久久久99蜜桃| 国产亚洲污的网站| 偷拍与自拍一区| caoporn国产精品| 日韩精品在线网站| 亚洲欧美激情小说另类| 九一久久久久久| 色8久久精品久久久久久蜜| 欧美一级片免费看| 伊人夜夜躁av伊人久久| 国产sm精品调教视频网站| 91精品国产色综合久久| 亚洲人成在线观看一区二区| 久久国产乱子精品免费女| 91高清在线观看| 中文一区一区三区高中清不卡| 日韩经典中文字幕一区| 91麻豆免费看| 国产欧美va欧美不卡在线| 另类综合日韩欧美亚洲| 欧美最新大片在线看| 中文字幕在线不卡| 国产精品夜夜嗨| 日韩欧美国产综合| 午夜精品福利一区二区蜜股av| av一区二区久久| 亚洲国产精品高清| 成人国产精品免费观看动漫| 精品三级在线看| 日韩电影免费一区| 欧美色电影在线| 一区二区三区欧美激情| av中文一区二区三区| 欧美激情在线观看视频免费| 国产一区不卡在线| 久久综合中文字幕| 久草精品在线观看| 精品国产在天天线2019| 麻豆中文一区二区| 精品日韩在线观看| 国产一区二区免费在线| 337p粉嫩大胆色噜噜噜噜亚洲| 久久福利资源站| 久久免费电影网|