我是靠谱客的博主 虚拟月光,最近开发中收集的这篇文章主要介绍verilog笔记(一)——串并转换FPGA中的串并转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

FPGA中的串并转换

1、串并转换的思想

FPGA中的串并转换主要设计思想来源于用面积换速度,对数据流进行管理,FPGA中实现串并转换的主要方式有双口RAM,FIFO,移位寄存器等,对于数据量较大的一般使用双口RAM或者FIFO实现,数据量较小的使用移位寄存器实现。

2.串并转换的移位寄存器实现

代码如下:

module S2P(
	input			clk_bit,
	input			bit_valid,
	input			bit_data,

	output	[1:0]	para_data,
	output			para_valid

    );
	
	reg		[1:0]	shift_data_reg = 2'b0;		//移位寄存器
	reg 	[1:0]	shift_cnt;					//移位计数
	reg 			para_valid_reg = 0;			//数据有效使能
	reg 	[1:0]	para_data_reg;
	

	assign para_data = shift_data_reg;
	assign para_valid = para_valid_reg;

	always @(posedge clk_bit) begin
		if (bit_valid) begin
			shift_data_reg <= {shift_data_reg[0],bit_data};

			if (shift_cnt) begin				
				para_valid_reg <= 1;
				shift_cnt <= 0;
			end
			else begin
				shift_cnt <= shift_cnt + 1;
				para_valid_reg <= 0;
			end
		end
		else begin
			shift_data_reg <= 2'b0;
			shift_cnt <= 0;
			para_valid_reg <= 0;
		end
	end
endmodule

利用移位寄存器设计串并转换,采样使能端高电平才为有效数据。仿真结果如下:
后续采样时钟在para_valid使能信号为高电平时对并行输出信号采样,即可得到正确的并行输出信号


最后

以上就是虚拟月光为你收集整理的verilog笔记(一)——串并转换FPGA中的串并转换的全部内容,希望文章能够帮你解决verilog笔记(一)——串并转换FPGA中的串并转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部