微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > (axi-stream接口)RGB2LUV颜色空间转换IP问题请教

(axi-stream接口)RGB2LUV颜色空间转换IP问题请教

时间:10-02 整理:3721RD 点击:

我在做一个RGB到LUV颜色空间转换的IP核,是用的AXI-STREAM的接口,输入为RGB的图像数据(视频),示意图如下:



先将输入AXI-IN中的数据Tdata(RGB)取出,转化到LUV后作为AXI-OUT中的Tdata输出。RGB_LUV这个IP有23个时钟的延迟。


    输出图像中有大量噪声,这个思路是否可行?或者有什么改进的方法?噪声是axi -stream接口时序有问题造成的还是RGB2LUV那一部分造成的? 望大家指教。

以下为图中上面一个IP的代码:

  1. entity process_test is
  2. port
  3.    (
  4. CLK  : in  std_logic;
  5. RSTN : in  std_logic;  

  6. TUSER_in  : in STD_LOGIC;
  7. TLAST_in  : in STD_LOGIC;
  8. TVALID_in : in STD_LOGIC;
  9. TREADY_in : out STD_LOGIC;
  10. TDATA_in  : in STD_LOGIC_VECTOR(23 downto 0);

  11. RGB_out : out STD_LOGIC_VECTOR(23 downto 0);

  12. L_in : in STD_LOGIC_VECTOR(7 downto 0);
  13. U_in : in STD_LOGIC_VECTOR(7 downto 0);
  14. V_in : in STD_LOGIC_VECTOR(7 downto 0);

  15. TUSER_out  : out STD_LOGIC;
  16. TLAST_out  : out STD_LOGIC;
  17. TVALID_out : out STD_LOGIC;
  18. TREADY_out : in STD_LOGIC;
  19. TDATA_out  : out STD_LOGIC_VECTOR(23 downto 0)
  20.    );
  21. end process_test;

  22. architecture Behavioral of process_test is
  23. begin

  24. TREADY_in <= TREADY_out;
  25. --将AXI-In的RGB数据输出
  26. RGB_out(23 downto 0) <= TDATA_in(23  downto  0);

  27. process(CLK,RSTN)
  28. begin
  29.     if rising_edge(CLK)  then
  30.         TVALID_out <= TVALID_in;
  31.         TUSER_out <= TUSER_in;
  32.         TLAST_out <= TLAST_in;
  33.     end if;
  34. end process;

  35. --将转换后的LUV数据作为Tdata_out输出
  36. TDATA_out(7 downto 0)    <=  L_in(7 downto 0);
  37. TDATA_out( 15 downto 8)  <=  U_in(7 downto 0);
  38. TDATA_out(23 downto 16)  <=  V_in(7 downto 0);

  39. end Behavioral;

复制代码

VHDL阅读有困难。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top