南京邮电大学电工电子(数电)实验报告——计数器 & 移位寄存器

一、计数器及应用

(1)实验目的

1、掌握计数器的逻辑功能及应用方法
2、掌握任意进制计数器的设计方法
3、掌握数字电路多个输出波形相位关系的正确测试方法
4、了解非均匀周期信号波形的测试方法

(2)实验原理或设计过程

  • 设计一个分频比N=5的整数分频电路,观察并记录时钟脉冲和输出波形。
    选用cb4cle二进制计数器模块,采用置0法设计,真值表如下。
    在这里插入图片描述
    当计数器从0记到4,计数器置零,再反复此过程,因此取Q2=L,D输入端均置零。
  • 设计一个10101序列信号发生器,观察并记录时钟脉冲和输出波形。
    选用cb4cle和八选一数据选择器,采用置0法设计,真值表如下。
    在这里插入图片描述
    当计数器从0记到4,计数器置零,再反复此过程,因此取Q2=L,D输入端均置零。当计数器从0记到4,数据选择器输出10101,实现目的。

(3)实验电路图

分频比为5的整数分频电路

在这里插入图片描述
在这里插入图片描述

输出序列码10101

在这里插入图片描述
在这里插入图片描述

(4)分频比为5的整数分频电路RTL代码设计(加分项)

  • RTL代码
module counter_5(
	input wire clk,
	input wire rst_n,
	
	output reg counter
);

	reg [2:0]cnt;
	
	always @(posedge clk or negedge rst_n)
	if(!rst_n)
		cnt <= 1'b0;
	else if(cnt == 3'd4)
		cnt <= 1'b0;
	else 
		cnt <= cnt +1'b1;
		
	always @(posedge clk or negedge rst_n)
	if(!rst_n)
		counter <= 1'b0;
	else if(cnt == 3'd3)
		counter <= 1'b1;
	else
		counter <= 1'b0;

endmodule 
  • 仿真测试模块代码
`timescale 1ns/1ns
`define clk_period 20

module counter_5_tb;

	reg clk;
	reg rst_n;
	
	wire counter;

	counter_5 counter_5_inst(
		.clk(clk),
		.rst_n(rst_n),
		
		.counter(counter)
	);

	initial clk = 1'b0;
	always #(`clk_period/2) clk = ~clk;
	
	initial begin
		rst_n = 1'b0;
		#(`clk_period*10);
		rst_n = 1'b1;
		#(`clk_period*500);
		$stop;
	end

endmodule 
  • 仿真波形图
    在这里插入图片描述

(5)输出序列码10101RTL代码设计(加分项)

  • RTL代码
module sequence(
	input wire clk,
	input wire rst_n,
	
	output reg seq
);
	reg [2:0]cnt;
	
	always @(posedge clk or negedge rst_n)
	if(!rst_n)
		cnt <= 1'b0;
	else if(cnt == 3'd4)
		cnt <= 1'b0;
	else 
		cnt <= cnt + 1'b1;
		
	always @(*)
		case(cnt)
			3'b000 : seq = 1'b1;
			3'b001 : seq = 1'b0;
			3'b010 : seq = 1'b1;
			3'b011 : seq = 1'b0;
			3'b100 : seq = 1'b1;
		endcase

endmodule 
  • 仿真测试模块代码
`timescale 1ns/1ns
`define clk_period 20

module sequence_tb;

	reg clk;
	reg rst_n;
	
	wire seq;

	sequence sequence_inst(
		.clk(clk),
		.rst_n(rst_n),
		
		.seq(seq)
	);
	
	initial clk = 1'b0;
	always #(`clk_period/2) clk = ~clk;
	
	initial begin
		rst_n = 1'b0;
		#(`clk_period*10);
		rst_n = 1'b1;
		#(`clk_period*100);
		$stop;
	end

endmodule 
  • 仿真波形图
    在这里插入图片描述

(6)实验数据分析和实验结果

1、分频比为N=5的整数分频电路波形图。
在这里插入图片描述
2、输出序列码10101波形图:
在这里插入图片描述

二、移位寄存器及应用

(1)实验目的

1、掌握移位寄存器的逻辑功能
2、掌握移位寄存器的具体应用方法
3、掌握移位寄存型计数器的自启动特性的检测方法
4、掌握不均匀周期信号波形的测试方法

(2)实验原理或设计过程

用移位寄存器附加数据选择器电路设计101001序列信号发生器,要求具有自启动特性,用实验验证。用示波器双踪观察并记录时钟脉冲和输出波形。
设计过程:
在这里插入图片描述
选用SR4RLED和M8_1E进行设计

(3)实验电路图

在这里插入图片描述
在这里插入图片描述

(4)实验数据分析和实验结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 54
    点赞
  • 236
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值