FPGA实现VESA DSC编码功能

FPGA实现VESA DSC编码功能。Display Stream Compression (DSC)。

架构:

DSC编码输入数据为Ycbcr。

FPGA verilog top端口定义如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_SIGNED.ALL;

USE IEEE.NUMERIC_STD.ALL;

--=================================================================================================

-- DSC_Encoder entity declaration

--=================================================================================================

ENTITY DSC_Encoder IS

GENERIC(

-- Data width

G_DATA_WIDTH : INTEGER RANGE 0 To 12 := 8

);

PORT (

-- Port List

-- System reset

RESETN_I : IN STD_LOGIC;

-- System clock

PIX_CLK_I : IN STD_LOGIC;

-- Specifies the input data is valid or not

DATA_VALID_I : IN STD_LOGIC;

-- Luma Data input

DATA_Y_I : IN STD_LOGIC_VECTOR(G_DATA_WIDTH-1 DOWNTO 0);

-- Cb Data input

DATA_CB_I : IN STD_LOGIC_VECTOR(G_DATA_WIDTH-1 DOWNTO 0);

-- Cr Data input

DATA_CR_I : IN STD_LOGIC_VECTOR(G_DATA_WIDTH-1 DOWNTO 0);

-- Frame end input

FRAME_END_I : IN STD_LOGIC;

-- Hres input

HRES_I : IN STD_LOGIC_VECTOR(G_DATA_WIDTH+7 DOWNTO 0);

-- Vres input

VRES_I : IN STD_LOGIC_VECTOR(G_DATA_WIDTH+7 DOWNTO 0);

-- Data valid out

DATA_VALID_O : OUT STD_LOGIC;

-- Data out

DATA_O : OUT STD_LOGIC_VECTOR(47 DOWNTO 0)

);

END DSC_Encoder;

module DSC_Encoder_vid

(

input I_pxl_clk ,//pixel clock

input I_rst_n ,//low active

//input [23:0] I_rgb ,

// Data valid out

output DATA_VALID_O ,

// Data out

output [47:0] DATA_O

);

wire w_de,w_hsync,w_vsync;

wire [23:0] gen_pixdata;

wire [7:0] y_out;

wire [7:0] cb_out;

wire [7:0] cr_out;

wire data_valid;

mipi_colorbar_gen u_colorbar

(

.pix_clk_i(I_pxl_clk),

.reset_n_i(I_rst_n),

.pix_index(8'd5),

.pix_h_active(1920),

.pix_hbp(30),

.pix_hfp(30),

.pix_h_sync(30),

.pix_v_active(1080),

.pix_vbp(10),

.pix_vfp(10),

.pix_v_sync(10),

.pix_frame_set(16'd0),

.de_i(w_de),

.hsync_i(w_hsync),

.vsync_i(w_vsync),

.RGB(gen_pixdata)

);

DSC_Encoder DSC_Encoder_gen(

.RESETN_I (I_rst_n),

.PIX_CLK_I (I_pxl_clk),

.DATA_VALID_I (w_de),

.DATA_Y_I (gen_pixdata[23:16]),

.DATA_CB_I (gen_pixdata[15:8]),

.DATA_CR_I (gen_pixdata[7:0]),

.FRAME_END_I (~w_vsync),

.HRES_I (),

.VRES_I (),

.DATA_VALID_O (DATA_VALID_O),

.DATA_O (DATA_O)

);

仿真如下:

欢迎讨论交流

微:moning_hello

相关推荐
qq_小单车3 小时前
xilinx-DNA
fpga开发·xilinx
Flamingˢ4 小时前
FPGA中的嵌入式块存储器RAM:从原理到实现的完整指南
fpga开发
Flamingˢ6 小时前
FPGA中的存储器模型:从IP核到ROM的深度解析与应用实例
网络协议·tcp/ip·fpga开发
FPGA小c鸡1 天前
【FPGA深度学习加速】RNN与LSTM硬件加速完全指南:从算法原理到硬件实现
rnn·深度学习·fpga开发
Aaron15881 天前
通信灵敏度计算与雷达灵敏度计算对比分析
网络·人工智能·深度学习·算法·fpga开发·信息与通信·信号处理
博览鸿蒙1 天前
IC 和 FPGA,到底区别在哪?
fpga开发
思尔芯S2C1 天前
FPGA原型验证实战:如何应对外设连接问题
fpga开发·risc-v·soc设计·prototyping·原型验证
Flamingˢ1 天前
FPGA实战:VGA成像原理、时序详解与Verilog控制器设计与验证
fpga开发
FPGA_小田老师1 天前
xilinx原语:OSERDES2(并串转换器)原语详解
fpga开发·lvds·xilinx原语·oserdese·并串转换
Blossom.1181 天前
从数字大脑到物理实体:具身智能时代的大模型微调与部署实战
人工智能·python·深度学习·fpga开发·自然语言处理·矩阵·django