⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xil_idct_v1_00_a.vhd

📁 一些有用的IP核
💻 VHD
字号:
-------------------------------------------------------------------------------
--
--       XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"
--       AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND
--       SOLUTIONS FOR XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE,
--       OR INFORMATION AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE,
--       APPLICATION OR STANDARD, XILINX IS MAKING NO REPRESENTATION
--       THAT THIS IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,
--       AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE
--       FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY
--       WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE
--       IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR
--       REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF
--       INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
--       FOR A PARTICULAR PURPOSE.
--
--       (c) Copyright 2002 Xilinx Inc.
--       All rights reserved.
--
------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- Naming Conventions:
--      active low signals:                     "*_n"
--      clock signals:                          "clk", "clk_div#", "clk_#x" 
--      reset signals:                          "rst", "rst_n" 
--      generics:                               "C_*" 
--      user defined types:                     "*_TYPE" 
--      state machine next state:               "*_ns" 
--      state machine current state:            "*_cs" 
--      combinatorial signals:                  "*_com" 
--      pipelined or register delay signals:    "*_d#" 
--      counter signals:                        "*cnt*"
--      clock enable signals:                   "*_ce" 
--      internal version of output port         "*_i"
--      device pins:                            "*_pin" 
--      ports:                                  - Names begin with Uppercase 
--      processes:                              "*_PROCESS" 
--      component instantiations:               "<ENTITY_>I_<#|FUNC>
-------------------------------------------------------------------------------

library IEEE;
use IEEE.std_logic_1164.all;
use ieee.numeric_std.all;

entity XIL_IDCT is
  generic (
    C_DWIDTH      : integer := 32
  );
  port (
    -- Global signals
    Clk   : in std_logic;
    Reset : in std_logic;

    -- Slave FSL Signals
    FSL_S_Clk     : out std_logic;
    FSL_S_Read    : out std_logic;
    FSL_S_Data    : in  std_logic_vector(0 to C_DWIDTH-1);
    FSL_S_Control : in  std_logic;
    FSL_S_Exists  : in  std_logic;

    -- Master FSL Signals
    FSL_M_Clk     : out std_logic;
    FSL_M_Write   : out std_logic;
    FSL_M_Data    : out std_logic_vector(0 to C_DWIDTH-1);
    FSL_M_Control : out std_logic;
    FSL_M_Full    : in  std_logic
    );

end entity XIL_IDCT;

library unisim;
use unisim.all;

library xil_idct_v1_00_a;
use xil_idct_v1_00_a.idct_core;

architecture IMP of XIL_IDCT is
  
  component IDCT_Core is
    generic (
      C_DWIDTH : integer := 32
      );
    port (
      Clk   : in std_logic;
      Reset : in std_logic;
      
      In_Data_FIFO   : in  std_logic_vector(0 to C_DWIDTH-1);    -- FSL0_S_Data bus --> read the data from the FSL FIFO
      In_Data_Exists : in  std_logic;                            -- if 0 the FSL fifo is empty --> no valid data on idct core
      in_FIFO_Read   : out std_logic;                            -- finish if the slave side has finished reading the data --> FSL_S_read = 1
      
      Out_Data_FIFO  : out std_logic_vector(0 to C_DWIDTH-1);    -- if FSL_M_Write = 1 data and control signal are pushed onto the FIFO
      Out_FIFO_Full  : in  std_logic;				 -- FSL1_M_Full, FIFO is full
      Out_FIFO_Write : out std_logic				 -- FSL_M_Write
      );
  end component IDCT_Core;
  
begin  -- architecture IMP

-----------------------------------------------------------------------------
-- Instanciating the IDCT core
-----------------------------------------------------------------------------
  IDCT_Core_I : IDCT_Core
    generic map (
      C_DWIDTH => C_DWIDTH              -- [integer]
      )
    port map (
      Clk            => Clk,            -- [in  std_logic]
      Reset          => Reset,            -- [in  std_logic]
      In_Data_FIFO   => FSL_S_Data,  -- [in  std_logic_vector(0 to C_DWIDTH-1)]
      In_Data_Exists => FSL_S_Exists,  -- [in  std_logic]
      in_FIFO_Read   => FSL_S_Read,    -- [out std_logic]      
      Out_Data_FIFO  => FSL_M_Data,  -- [out std_logic_vector(0 to C_DWIDTH-1)]
      Out_FIFO_Full  => FSL_M_Full,    -- [in  std_logic]
      Out_FIFO_Write => FSL_M_Write);  -- [out std_logic]

end architecture IMP;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -