AXI_Stream接口注意事项
这里需要注意到:
1**、在EOL(AXIS_TLAST)被(拉高)后,VALID是需要在下一个时刻置低的。
2、无论是EOL还是SOF,拉高时数据通道依然是有效的,如果需要对行计数时,需要对LAST信号进行延时,等待延时信号后对行清零。**
## AXI_Stream接口编写
#s_axis_tvaild控制
reg [5:0] rst_cnt;
//赋初值再加一个初始延时
always @(posedge clk or negedge rst_n) begin
if (~rst_n)
rst_cnt <= 6'd0;
else if (rst_cnt == 6'd30)
rst_cnt <= rst_cnt;
else
rst_cnt <= rst_cnt + 1'b1;
end
//s_axis_tvalid信号在一行的结束拉低
always @(posedge clk or negedge rst_n) begin
if(~rst_n)
s_axis_tvalid <= 1'b0;
else if(s_axis_tlast)
s_axis_tvalid <= 1'b0;
else if(rst_cnt == 6'd30)
s_axis_tvalid <= 1'b1;
else
s_axis_tvalid <= s_axis_tvalid;
end
s_axis_tlast在一行的最后一个数据拉高
reg [10:0] w_cnt;
always @(posedge clk or negedge rst_n) begin
if(~rst_n)begin
w_cnt <= 11'b0;
end
else if(s_axis_tvalid && s_axis_tready && w_cnt < iBmpWidth - 1 ) begin
w_cnt <= w_cnt + 1'b1;
end
else if(w_cnt == iBmpWidth-1) begin
w_cnt <= 11'b0;
end
else begin
w_cnt <= w_cnt

该文详细介绍了在FPGA设计中使用AXI_Stream接口处理图像数据的过程,包括VALID和TLAST信号的正确使用,以及如何在一行结束后拉低VALID信号。文中还涉及到BMP图片的生成,通过灰度转换算法处理像素数据并存储到BMP文件中。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



