OpenCores
URL https://opencores.org/ocsvn/funbase_ip_library/funbase_ip_library/trunk

Subversion Repositories funbase_ip_library

[/] [funbase_ip_library/] [trunk/] [TUT/] [ip.hwp.accelerator/] [hibi_dct/] [1.0/] [vhd/] [hibi_dct.vhd] - Diff between revs 159 and 169

Show entire file | Details | Blame | View Log

Rev 159 Rev 169
Line 1... Line 1...
-- ***************************************************
-- ***************************************************
-- File: hibi_dct.vhd
-- File: hibi_dct.vhd
-- Creation date: 12.02.2013
-- Creation date: 25.03.2013
-- Creation time: 10:33:28
-- Creation time: 13:53:33
-- Description: DCT to Hibi. Connects dctQidct block to HIBI Wrapper
-- Description: This block combines dct to hibi dctQidct block together
-- 
-- 
 
-- DCT_TO_HIBI Connects dctQidct block to HIBI Wrapper
-- 
-- 
-- Input:
-- Input:
-- 1. Two address to send the results to (one for quant, one for idct)
-- 1.  Address to send the results to quant
 
-- 2.  Address to send the results to idct (set unused address if you don't use this)
-- 2. Control word for the current macroblock
-- 2. Control word for the current macroblock
--     Control word structure: bit 6: chroma(1)/luma(0), 5: intra(1)/inter(0),
--     Control word structure: bit    6: chroma(1)/luma(0) NOT USED, 
 
--                              5: intra(1)/inter(0),
--                              4..0: quantizer parameter (QP)
--                              4..0: quantizer parameter (QP)
-- 3. Then the DCT data ( 8x8x6 x 16-bit values = 384 x 16 bit )
-- 3. Then the DCT data ( 8x8x6 x 16-bit values = 384 x 16 bit )
-- 
-- 
-- Chroma/luma: 4 luma, 2 chroma
-- Only 9b DCT data values are supported currently. 
 
-- Send two DCT-values packed to upper and lower 16bits in the sigle hibi transmission. 
 
-- 
 
-- <31------------------16--------------------0>  BIT index
 
--             DCT_DATA_1         DCT_DATA_0     DATA                    
 
-- 
 
-- 
 
-- NOTE: If self release is used (use_self_rel_g=1) user gets the signal that dct_to_hibi is ready to receive data.
 
--             By default self release is disabled and you user can send data to dct_to_hibi after quant results are received. 
 
--      
-- 
-- 
-- Outputs:
-- Outputs:
--  Outputs are 16-bit words which are packed up to hibi. If hibi width is
--  Outputs are 16-bit words which are packed up to hibi. If hibi width is
--  32b, then 2 16-bit words are combined into one hibi word.
--  32b, then 2 16-bit words are combined into one hibi word.
--  01. quant results: 1. 8*8 x 16bit values to quant result address
--  01. quant results: 1. 8*8 x 16bit values to quant result address
Line 93... Line 105...
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifWR_IDCT_FROM_ACC : std_logic;
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifWR_IDCT_FROM_ACC : std_logic;
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifWR_QUANT_FROM_ACC : std_logic;
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifWR_QUANT_FROM_ACC : std_logic;
 
 
        -- DCT to Hibi. Connects dctQidct block to HIBI Wrapper
        -- DCT to Hibi. Connects dctQidct block to HIBI Wrapper
        -- 
        -- 
        -- 
 
        -- Input:
        -- Input:
        -- 1. Two address to send the results to (one for quant, one for idct)
        -- 1.  Address to send the results to quant
 
        -- 2.  Address to send the results to idct (set unused address if you don't use this)
        -- 2. Control word for the current macroblock
        -- 2. Control word for the current macroblock
        --     Control word structure: bit 6: chroma(1)/luma(0), 5: intra(1)/inter(0),
        --     Control word structure: bit    6: chroma(1)/luma(0) (NOT USED), 
 
        --                              5: intra(1)/inter(0),
        --                              4..0: quantizer parameter (QP)
        --                              4..0: quantizer parameter (QP)
        -- 3. Then the DCT data ( 8x8x6 x 16-bit values = 384 x 16 bit )
        -- 3. Then the DCT data ( 8x8x6 x 16-bit values = 384 x 16 bit )
        -- 
        -- 
        -- Chroma/luma: 4 luma, 2 chroma
        -- Only 9b DCT data values are supported currently. 
 
        -- Send two DCT-values packed to upper and lower 16bits in the sigle hibi transmission. 
 
        -- 
 
        -- <31------------------16--------------------0>  BIT index
 
        --             DCT_DATA_1         DCT_DATA_0     DATA                    
 
        -- 
 
        -- 
 
        -- NOTE: If self release is used (use_self_rel_g=1) user gets the signal that dct_to_hibi is ready to receive data.
 
        --             By default self release is disabled and you user can send data to dct_to_hibi after quant results are received. 
 
        --      
        -- 
        -- 
        -- Outputs:
        -- Outputs:
        --  Outputs are 16-bit words which are packed up to hibi. If hibi width is
        --  Outputs are 16-bit words which are packed up to hibi. If hibi width is
        --  32b, then 2 16-bit words are combined into one hibi word.
        --  32b, then 2 16-bit words are combined into one hibi word.
        --  01. quant results: 1. 8*8 x 16bit values to quant result address
        --  01. quant results: 1. 8*8 x 16bit values to quant result address
Line 138... Line 160...
                        debug_w_g : integer := 1;
                        debug_w_g : integer := 1;
                        idct_width_g : integer := 9; -- Data width after IDCT(9b)
                        idct_width_g : integer := 9; -- Data width after IDCT(9b)
                        own_address_g : integer := 0; -- Used for self-release
                        own_address_g : integer := 0; -- Used for self-release
                        quant_width_g : integer := 8; -- Quantizated data width(8b)
                        quant_width_g : integer := 8; -- Quantizated data width(8b)
                        rtm_address_g : integer := 0; -- Used for self-release
                        rtm_address_g : integer := 0; -- Used for self-release
                        use_self_rel_g : integer := 1 -- Does it release itself from RTM?
                        use_self_rel_g : integer := 0 -- Does it release itself from RTM?
 
 
                );
                );
                port (
                port (
 
 
                        -- Interface: clk
                        -- Interface: clk

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.