简单时序逻辑电路

举报
二哈侠 发表于 2022/11/27 16:16:53 2022/11/27
【摘要】 1. 时序逻辑电路概念 ​ 在前述的组合逻辑中,任意时刻的输出只与该时刻的输入信号所决定;而在接下来要讲的时序电路中,任意时刻的输出信号不仅与当时刻的输入有关,而且与电路原来的状态有关。这需要电路要能记住历史输入,所以要引入时序概念。用时钟信号保障时序电路按照时序来运行。2. 锁存器和触发器​ 锁存器和触发器是时序电路中常用的存储器设备。2-1. 锁存器​ 锁存器是一种具有两种稳定状态的器件...

1. 时序逻辑电路概念

​ 在前述的组合逻辑中,任意时刻的输出只与该时刻的输入信号所决定;而在接下来要讲的时序电路中,任意时刻的输出信号不仅与当时刻的输入有关,而且与电路原来的状态有关。这需要电路要能记住历史输入,所以要引入时序概念。用时钟信号保障时序电路按照时序来运行。

2. 锁存器和触发器

​ 锁存器和触发器是时序电路中常用的存储器设备。

2-1. 锁存器

​ 锁存器是一种具有两种稳定状态的器件:高输出和低输出。 锁存器具有反馈路径,因此设备可以保留信息。 锁存器是易失性存储器设备,并且只要设备通电就可以存储一位数据。 顾名思义,锁存器用于“锁定”信息并保持信息。

2-1-1. SR锁存器

SR锁存器(置位/复位)是一个异步器件:它不依赖于控制信号工作,仅依赖于S和R输入的状态。它的符号表示、使用异或门级电路实现和真值表如下所示:


虽然Xilinx FPGA可以使用一个LUT(查找表)电路实现这种锁存器,但以下Verilog代码显示了如何使用门级电路和数据流建模对这种电路进行建模。

门级:
module SR_latch_gate (input R, input S, output Q, output Qbar);
nor (Q, R, Qbar);
nor (Qbar, S, Q); 
endmodule
数据流:
module SR_latch_dataflow (input R, input S, output Q, output Qbar); 
assign #2 Q = ~ (R | Qbar);
assign #2 Qbar = ~ (S | Q); 
endmodule

使用上面显示的代码设计SR锁存器。 合成设计并查看合成设计的原理图。 设计一个Testbench进行测试并验证设计。

​ 该实验中将S输入分配给SW0,将R输入分配给SW1。将Q分配给LED0,将Qbar分配给LED1。实现该设计并进行仿真验证以及下载。

实验步骤:

1. 打开Vivado并创建一个名为lab5_1_1的空白项目。

2. 使用SR_latch_dataflow代码创建和添加Verilog模块。

3. 设计一个Testbench进行测试(也可以使用参考代码中的Testbench),执行100ns的行为仿真,并验证设计。

​ 若使用供参考的Testbench,波形应该如下:


4. 将适当的板相关主XDC文件添加到项目中并编辑它以包括相关引脚,将S输入分配给SW0,将R输入分配给SW1,将Q分配给LED0,将Qbar分配给LED1。

5. 在“Bitstream Settings”中设置tcl.pre选项以指向提供的lab5_prehook.tcl文件。 此文件允许将组合循环上载到电路板。

6. 合成设计并在Synthesized Design过程组下查看原理图。验证它使用2个LUT和4个IO(2个IBUF和2个OBUF)。

7. 实现设计并查看项目摘要。 它应该显示2个LUT和4个IO。

8. 生成比特流,将其下载到Nexys4 DDR板,并验证功能。

参考代码:
module RS_latch_tb();
    reg R,S;
    wire Q,Qbar;
    RS_latch TB (.R(R),.S(S),.Q(Q),.Qbar(Qbar));
    initial begin
        R = 0;
        S = 0;
        #10 S = 1;
        #10 S = 0;
        #10 R = 1;
        #10 R = 0; S = 1;
        #10 R = 1; S = 0;
        #10 R = 0; S = 1;
        #10 R = 1; S = 0;
        #10 S = 1; 
    end
endmodule
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。