我是靠谱客的博主 能干蜜蜂,这篇文章主要介绍南京邮电大学电工电子(数电)实验报告——计数器 & 移位寄存器一、计数器及应用二、移位寄存器及应用,现在分享给大家,希望可以做个参考。

文章目录

  • 一、计数器及应用
    • (1)实验目的
    • (2)实验原理或设计过程
    • (3)实验电路图
      • 分频比为5的整数分频电路
      • 输出序列码10101
    • (4)分频比为5的整数分频电路RTL代码设计(加分项)
    • (5)输出序列码10101RTL代码设计(加分项)
    • (6)实验数据分析和实验结果
  • 二、移位寄存器及应用
    • (1)实验目的
    • (2)实验原理或设计过程
    • (3)实验电路图
    • (4)实验数据分析和实验结果

一、计数器及应用

(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代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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
  • 仿真测试模块代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
`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代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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
  • 仿真测试模块代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
`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)实验数据分析和实验结果

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

最后

以上就是能干蜜蜂最近收集整理的关于南京邮电大学电工电子(数电)实验报告——计数器 & 移位寄存器一、计数器及应用二、移位寄存器及应用的全部内容,更多相关南京邮电大学电工电子(数电)实验报告——计数器内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部