数字逻辑电路基础-时序逻辑电路之移位寄存器

文章目录


一、移位寄存器定义

移位寄存器定义

A shift register is a type of digital circuit using a cascade of flip flops where the output of one flip-flop is connected to the input of the next.

移位寄存器是一种将一组D触发器进行级联输出而形成的一种时序逻辑电路。

在设计中经常会用到的一种基础时序电路,比如下面串转并电路,通过将串行输入的码流移位将其转换成并行数据输出。

本文设计一个简单的串并转换器,实现将串行输入数据转换成8位的并行数据进行输出,同时输出一个转换完成标志。


二、verilog源码

c 复制代码
// implement a simple 8bit serial to paralle convertor

module s2p_demo (clk, rstn, din, dout, done);
	input clk;
	input rstn;
	input din;
	output [7:0] dout;
	output done;
	
	reg [2:0] cnt;
	reg done;
	reg done_dly;
	reg [7:0] dout;
	reg [7:0] dout_dly;
	
	always@(posedge clk or negedge rstn)
	begin
		if(!rstn) begin
			dout_dly <= 8'bx; end
		else begin
			dout_dly[cnt] <= din; end
	end
	
	always@(posedge clk or negedge rstn)
	begin
		if(!rstn) begin
			dout <= 8'b0; end
		else if(done_dly) begin
			dout <= dout_dly;
			done <= done_dly; end
		else begin
			dout <= 8'b0;
			done <= done_dly; end
	end
	
	always@(posedge clk or negedge rstn)
	begin
		if(!rstn) begin
			cnt <= 3'b0;
			done_dly <= 1'b0; end
		else if(cnt == 3'b111) begin
			cnt <= 3'b0;
			done_dly <= 1'b1; end
		else begin
			cnt <= cnt + 1'b1;
			done_dly <= 1'b0;
		end
	end
endmodule

三、仿真结果


转载请注明出处!

相关推荐
FPGA小徐13 小时前
入门 CNN 结构全解析|从流程图理论到 FPGA Verilog 硬件实现(含习题带讲解)
fpga开发
FPGA小徐14 小时前
FPGA 数字信号处理:并行 FIR 与串行滤波器设计原理、对比与完整 Verilog 实现
fpga开发
Saniffer_SH1 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
zlinear数据采集卡2 天前
双核架构深度解析:ARM+FPGA如何让数据采集卡实现500Ksps高性能?
arm开发·fpga开发·架构
9527华安2 天前
FPGA实现GTH Transceivers Wizard传输2路视频,基于aurora 8b10b编解码架构,提供4套工程源码和技术支持
fpga开发·gth·aurora 8b10b·transceivers
FPGA小徐3 天前
FPGA 数字信号处理(二):并行 FIR 滤波器的 Verilog 全流程设计与实现
fpga开发
国科安芯3 天前
基于AS32S601ZIT2型抗辐照MCU的商业航天卫星姿态确定与控制系统研究
单片机·嵌入式硬件·安全·fpga开发·架构·risc-v
ALINX技术博客3 天前
【黑金云课堂】FPGA技术教程FPGA基础:I2C 总线通信技术
fpga开发·i2c
Hello-FPGA3 天前
Xilinx KU040 FPGA Camera Link 图像采集
c++·fpga开发
明德扬3 天前
AD采集卡应用示例交流:从传感器采集到高速信号验证
fpga开发