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

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

?? huffman_en_full.vhd

?? A Huffman implementation reference design in both VHDL and Verilog is provided by the Xilinx
?? VHD
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
   -- barrel shifter.
   -- Every time there are 16 bits in the barrel shifter, the contends of the shifter is
   -- enabled out as the huffman_out signal. Each run length value is read in and the corresponding 
   -- vlc code is found out (vlcode_dc or vlcode_ac1). For each code, the codelength is also
   -- stored in a ROM. The codelengths are added up (cl_sum) and when it reaches 16 or 32, 
   -- the code is sent out. 
   -- The maximum  value for cl_sum happens when a 15 bit code is followed by a 24 bit
   -- code. So the max. value for cl_sum is 15 + 24 = 39. The barrel shifter has 39 valid
   -- registers. For ease of coding, 48 (3 * 16) registers are used. These registers are
   -- divided into upper_reg, middle_reg and lower_reg. Each time upper_reg if full (ie., 
   -- 16 or more bits in barrel shifter), the contends are sent out. The remaining bits
   -- , if any, in the middle_reg are moved up to the upper_reg. If the barrel shifter 
   -- has 32 or more valid data, the upper and middle registers are full and the upper
   -- reg data is sent out followed by the middle reg data. The remaining bits, if any 
   -- in the lower register is moved up to the upper register.
   
   --***************************************************************************
   -- calculate sum of codelength. set half flag and full flag . Half flags indicates
   --  calculate sum of codelength. set half flag and full flag . Half flags indicates
   -- that the upper_reg is full and full flag indicates that the lower register is full.
   -- cl_sum_prev gives the sum of the codelengths which is used to set the flags. cl_sum
   -- is used to find out the number of shifts to be done in the barrel shifts.
   
   PROCESS (CLK, RST)
   BEGIN
      IF (RST = '1') THEN
         cl_sum <= "100111";    
         cl_sum_prev <= "000000";    
         half_flag1 <= '0';    
         full_flag1 <= '0';    
      ELSIF (CLK'EVENT AND CLK = '1') THEN
         IF (cl_sum_rdy = '1') THEN
            IF (cl_sum_prev < "010000") THEN
               cl_sum_prev <= "0" & codelength1 + cl_sum_prev;    
               cl_sum <= "100111" - cl_sum_prev;    
               half_flag1 <= '0';    
               full_flag1 <= '0';    
            ELSE
               IF (cl_sum_prev<="100000" AND cl_sum_prev >= "010000") 
               THEN
                  cl_sum_prev <= "0" & codelength1 + (cl_sum_prev - 
                  "010000");    
                  cl_sum <= "100111" - cl_sum_prev;    
                  half_flag1 <= '1';    
                  full_flag1 <= '0';    
               ELSE
                  IF (cl_sum_prev >= "100000") THEN
                     cl_sum_prev <= "0" & codelength1 + (cl_sum_prev - 
                     "100000");    
                     cl_sum <= "100111" - cl_sum_prev;    
                     half_flag1 <= '1';    
                     full_flag1 <= '1';    
                  END IF;
               END IF;
            END IF;
         END IF;
      END IF;
   END PROCESS;

   --***************************************************************************
   -- barrel shifting done using multiplier. Barrel shifting coefficients are
   --  barrel shifting done using multiplier. Barrel shifting coefficients are
   -- stored in a ROM and selected depending on the value of cl_sum 
   
   PROCESS (CLK)
   BEGIN
      IF (CLK'EVENT AND CLK = '1') THEN
         IF (RST = '1') THEN
            cl_sum_shift <= "000000000000000000000000000000000000000";   
         ELSE
            CASE cl_sum IS
               WHEN "000000" =>
                        cl_sum_shift <= "000000000000000000000000000000000000000";    
               WHEN "000001" =>
                        cl_sum_shift <= "000000000000000000000000000000000000010";    
               WHEN "000010" =>
                        cl_sum_shift <= "000000000000000000000000000000000000100";    
               WHEN "000011" =>
                        cl_sum_shift <= "000000000000000000000000000000000001000";    
               WHEN "000100" =>
                        cl_sum_shift <= "000000000000000000000000000000000010000";    
               WHEN "000101" =>
                        cl_sum_shift <= "000000000000000000000000000000000100000";    
               WHEN "000110" =>
                        cl_sum_shift <= "000000000000000000000000000000001000000";    
               WHEN "000111" =>
                        cl_sum_shift <= "000000000000000000000000000000010000000";    
               WHEN "001000" =>
                        cl_sum_shift <= "000000000000000000000000000000100000000";    
               WHEN "001001" =>
                        cl_sum_shift <= "000000000000000000000000000001000000000";    
               WHEN "001010" =>
                        cl_sum_shift <= "000000000000000000000000000010000000000";    
               WHEN "001011" =>
                        cl_sum_shift <= "000000000000000000000000000100000000000";    
               WHEN "001100" =>
                        cl_sum_shift <= "000000000000000000000000001000000000000";    
               WHEN "001101" =>
                        cl_sum_shift <= "000000000000000000000000010000000000000";    
               WHEN "001110" =>
                        cl_sum_shift <= "000000000000000000000000100000000000000";    
               WHEN "001111" =>
                        cl_sum_shift <= "000000000000000000000001000000000000000";    
               WHEN "010000" =>
                        cl_sum_shift <= "000000000000000000000010000000000000000";    
               WHEN "010001" =>
                        cl_sum_shift <= "000000000000000000000100000000000000000";    
               WHEN "010010" =>
                        cl_sum_shift <= "000000000000000000001000000000000000000";    
               WHEN "010011" =>
                        cl_sum_shift <= "000000000000000000010000000000000000000";    
               WHEN "010100" =>
                        cl_sum_shift <= "000000000000000000100000000000000000000";    
               WHEN "010101" =>
                        cl_sum_shift <= "000000000000000001000000000000000000000";    
               WHEN "010110" =>
                        cl_sum_shift <= "000000000000000010000000000000000000000";    
               WHEN "010111" =>
                        cl_sum_shift <= "000000000000000100000000000000000000000";    
               WHEN "011000" =>
                        cl_sum_shift <= "000000000000001000000000000000000000000";    
               WHEN "011001" =>
                        cl_sum_shift <= "000000000000010000000000000000000000000";    
               WHEN "011010" =>
                        cl_sum_shift <= "000000000000100000000000000000000000000";    
               WHEN "011011" =>
                        cl_sum_shift <= "000000000001000000000000000000000000000";    
               WHEN "011100" =>
                        cl_sum_shift <= "000000000010000000000000000000000000000";    
               WHEN "011101" =>
                        cl_sum_shift <= "000000000100000000000000000000000000000";    
               WHEN "011110" =>
                        cl_sum_shift <= "000000001000000000000000000000000000000";    
               WHEN "011111" =>
                        cl_sum_shift <= "000000010000000000000000000000000000000";    
               WHEN "100000" =>
                        cl_sum_shift <= "000000100000000000000000000000000000000";    
               WHEN "100001" =>
                        cl_sum_shift <= "000001000000000000000000000000000000000";    
               WHEN "100010" =>
                        cl_sum_shift <= "000010000000000000000000000000000000000";    
               WHEN "100011" =>
                        cl_sum_shift <= "000100000000000000000000000000000000000";    
               WHEN "100100" =>
                        cl_sum_shift <= "001000000000000000000000000000000000000";    
               WHEN "100101" =>
                        cl_sum_shift <= "010000000000000000000000000000000000000";    
               WHEN "100110" =>
                        cl_sum_shift <= "100000000000000000000000000000000000000";    
               WHEN OTHERS  =>
                        cl_sum_shift <= "000000000000000000000000000000000000000";    
            END CASE;
         END IF;
      END IF;
   END PROCESS;

   --***************************************************************************
   -- multiplier used to do barrel shifting of codeword. flags pipeleined to match
   --  multiplier used to do barrel shifting of codeword. flags pipeleined to match
   -- the pipe line stages of upper, middle and lower registers. 
   
   PROCESS (CLK, RST)
   BEGIN
      IF (RST = '1') THEN
         mult_out_int <= (OTHERS => '0');    
         full_flag2 <= '0';    
         half_flag2 <= '0';    
         full_flag3 <= '0';    
         half_flag3 <= '0';    
         full_flag4 <= '0';    
         half_flag4 <= '0';    
         full_flag5 <= '0';    
         half_flag5 <= '0';    
         full_flag6 <= '0';    
      ELSIF (CLK'EVENT AND CLK = '1') THEN
         IF (rdy_in = '1') THEN
            mult_out_int <=  vlcode4 * cl_sum_shift;    
            full_flag2 <= full_flag1;    
            half_flag2 <= half_flag1;    
            full_flag3 <= full_flag2;    
            half_flag3 <= half_flag2;    
            full_flag4 <= full_flag3;    
            half_flag4 <= half_flag3;    
            full_flag5 <= full_flag4;    
            half_flag5 <= half_flag4;    
            full_flag6 <= full_flag5;    
         END IF;
      END IF;
   END PROCESS;

   mult_out <= mult_out_int (38 downto 0);
   --***************************************************************************
   PROCESS (CLK, RST)
   BEGIN
      IF (RST = '1') THEN
         upper_reg1 <= "0000000000000000";    
         middle_reg1 <= "0000000000000000";    
         lower_reg1 <= "0000000000000000";    
      ELSIF (CLK'EVENT AND CLK = '1') THEN
         IF (rdy_in = '1') THEN
            CASE temp11 IS
               WHEN "00" =>
                        upper_reg1(16 DOWNTO 1) <= mult_out(38 DOWNTO 23)
                        OR upper_reg1(16 DOWNTO 1);    
                        middle_reg1 <= mult_out(22 DOWNTO 7);    
                        lower_reg1 <= mult_out(6 DOWNTO 0) & 
                        "000000000";    
               WHEN "01" =>
                        upper_reg1(16 DOWNTO 1) <= mult_out(38 DOWNTO 23)
                        OR middle_reg1(16 DOWNTO 1);    
                        middle_reg1 <= mult_out(22 DOWNTO 7);    
                        lower_reg1 <= mult_out(6 DOWNTO 0) & 
                        "000000000";    
               WHEN "11" =>
                        upper_reg1 <= mult_out(38 DOWNTO

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人美女视频在线看| 国产日产欧产精品推荐色 | 国产精品久久久久一区二区三区共 | 国产在线精品一区二区不卡了| 一二三区精品福利视频| 亚洲一区二区在线免费看| 亚洲免费观看高清完整| 夜夜嗨av一区二区三区网页| 精品sm捆绑视频| 久久在线免费观看| 欧美国产成人在线| 一区二区三区视频在线看| 亚洲精品ww久久久久久p站| 亚洲午夜激情网页| 国产精品影视在线观看| 91热门视频在线观看| 欧美猛男男办公室激情| 国产视频一区二区在线| 亚洲精品国产a久久久久久| 蜜桃精品视频在线| 色哟哟日韩精品| 日韩欧美色综合| 亚洲宅男天堂在线观看无病毒| 日韩精品午夜视频| 色先锋aa成人| 国产精品国产精品国产专区不蜜| 蜜桃91丨九色丨蝌蚪91桃色| 91在线国产福利| 国产欧美久久久精品影院 | 93久久精品日日躁夜夜躁欧美| 在线综合视频播放| 亚洲va欧美va国产va天堂影院| 国产久卡久卡久卡久卡视频精品| 欧美日韩中文一区| 夜夜亚洲天天久久| 91在线播放网址| 亚洲天堂久久久久久久| 波多野结衣一区二区三区| 欧美电视剧在线观看完整版| 日韩 欧美一区二区三区| 欧美喷潮久久久xxxxx| 亚洲日本va午夜在线电影| 成人丝袜高跟foot| 中文在线免费一区三区高中清不卡| 国产一区二区看久久| 久久你懂得1024| 成人精品免费视频| 国产精品高清亚洲| 在线这里只有精品| 日日摸夜夜添夜夜添国产精品| 精品1区2区3区| 久久国产生活片100| 久久亚洲二区三区| 在线影院国内精品| 久久精品国产成人一区二区三区 | 亚洲高清视频在线| 国产日韩欧美综合一区| 色视频欧美一区二区三区| 亚洲国产cao| 中文字幕精品—区二区四季| 色婷婷激情一区二区三区| 久久精品国产免费看久久精品| 国产精品久久看| 日韩亚洲欧美一区二区三区| 99久久精品免费看国产| 免费观看在线综合色| 亚洲少妇30p| 欧美极品少妇xxxxⅹ高跟鞋| 欧美在线影院一区二区| 国产乱妇无码大片在线观看| 亚洲国产乱码最新视频| 国产精品久久久久一区二区三区| 欧美日韩免费视频| 豆国产96在线|亚洲| 加勒比av一区二区| 午夜欧美电影在线观看| 成人欧美一区二区三区视频网页| 欧美tk—视频vk| 日韩欧美成人午夜| 欧美一区在线视频| 欧美三级视频在线观看| 一本一道久久a久久精品| 不卡一二三区首页| 国产不卡在线视频| 国产成人精品一区二区三区四区 | 欧美色视频一区| 国产在线视频精品一区| 亚洲免费资源在线播放| 中文字幕二三区不卡| 中文字幕在线不卡| 国产精品蜜臀av| 樱花影视一区二区| 亚洲最新在线观看| 蜜臀久久久久久久| 久久99精品国产麻豆不卡| 激情图片小说一区| 成人动漫一区二区三区| www.爱久久.com| 欧美在线一区二区| 91精品国产综合久久精品图片| 日韩一区二区麻豆国产| 久久久久久久久久久久久女国产乱 | 国产一区在线精品| 日本不卡123| 99久久久久久| 日韩精品一区二区三区swag | 国内精品伊人久久久久av一坑 | 国产精品拍天天在线| 一区二区理论电影在线观看| 日本不卡一二三区黄网| 成人免费视频播放| 日韩精品中文字幕在线一区| 中文字幕av在线一区二区三区| 婷婷六月综合网| 99视频热这里只有精品免费| 欧美成人精品二区三区99精品| 国产精品日日摸夜夜摸av| 理论电影国产精品| 欧美卡1卡2卡| 一二三区精品福利视频| 成人免费va视频| 久久久精品蜜桃| 91在线云播放| 免费人成网站在线观看欧美高清| 亚洲成人综合视频| 麻豆国产欧美一区二区三区| 在线视频国内一区二区| 亚洲天天做日日做天天谢日日欢 | 欧美日韩一本到| 日韩美女精品在线| 91蜜桃婷婷狠狠久久综合9色| 欧美精品一区二区三区一线天视频 | 一区二区三区精品| 色av成人天堂桃色av| 曰韩精品一区二区| 欧洲精品在线观看| 五月激情综合网| 欧美一级理论片| 国产精品一二三四五| 国产精品拍天天在线| 99re视频精品| 日韩主播视频在线| 精品福利一区二区三区免费视频| 国产一区二区h| 亚洲观看高清完整版在线观看| 欧美丝袜丝交足nylons| 精品制服美女丁香| 亚洲欧美精品午睡沙发| 欧美人伦禁忌dvd放荡欲情| 国内外成人在线| 亚洲激情校园春色| 精品日韩一区二区三区免费视频| 国产精品99久久不卡二区| 亚洲视频综合在线| 2021国产精品久久精品| 色综合久久久久综合| 精品一区二区三区久久| 亚洲人成在线播放网站岛国| 欧美成人a视频| 欧美午夜寂寞影院| 国产成人一区在线| 久久不见久久见免费视频7| 亚洲欧美日韩在线播放| 久久精品亚洲精品国产欧美| 精品视频在线免费| 色婷婷亚洲一区二区三区| 成人av影院在线| 国产剧情一区二区| 精品一区二区影视| 日本vs亚洲vs韩国一区三区二区| 一区二区三区精密机械公司| 国产精品久久久久永久免费观看| 欧美精品一区二区蜜臀亚洲| 日韩欧美色综合| 欧美精品一区二区精品网| 欧美一级高清大全免费观看| 欧美日韩午夜在线| 日韩一区二区三区视频在线| 777欧美精品| 欧美精品一区在线观看| 久久免费视频一区| 国产精品久久久一本精品| 国产精品九色蝌蚪自拍| 亚洲老司机在线| 偷拍日韩校园综合在线| 日本欧美韩国一区三区| 国产综合色精品一区二区三区| 精品一区二区三区免费观看| 国产高清成人在线| 91色综合久久久久婷婷| 在线电影院国产精品| 久久久91精品国产一区二区精品| 国产亚洲人成网站| 一区二区三区精品在线观看| 日本不卡123| 色综合天天综合网天天看片| 欧美精品第一页| 日韩久久一区二区| 日韩精品1区2区3区| 夫妻av一区二区|