首页 > 其他分享 >复杂时序逻辑电路

复杂时序逻辑电路

时间:2022-11-28 20:03:50浏览次数:42  
标签:复杂 时序 电路 逻辑电路 信号 寄存器 时序电路

1. 时序逻辑电路的基本结构和分类

1-1. 基本结构

时序逻辑电路由组合电路和存储电路两部分组成,通过反馈回路将两部分连成一个整体。时序逻辑电路的一般结构如下图所示。

复杂时序逻辑电路_引脚

图中,X~1~,…,X~n~为时序逻辑电路的输入信号;Z~1~,…,Z~m~为时序逻辑电路的输出信号;y~1~,…,y~s~为时序逻辑电路的状态信号,又称为组合电路的状态变量;Y~1~,…,Y~r~为时序逻辑电路中的激励信号,它决定电路下一时刻的状态;CP为时钟脉冲信号,它是同步时序逻辑电路中的定时信号。

若记输入信号为$\vec{X}$,输出信号为$\vec{Z}$,激励信号为$\vec{Y}$,状态信号为$\vec{y}$,于是上述的4个向量之间的转换关系可以由下面的三个公式表示:

其中,式1-1.1表达了输出信号与输入信号和状态信号之间的关系,被称为输出方程组;式1-1.2表示了激励信号与状态信号和输入信号之间的关系,称为时序电路的激励方程;式1-1.3表示了电路从现态到次态的转换过程,被称作状态转换方程。

在这里大家可以看到,上面的时序电路又是状态($\vec{y}$)依赖的,我们常把这样的电路叫做状态机。

1-2. 时序逻辑电路的分类

1-2-1. 异步时序电路与同步时序电路

关于这个问题在上一章有过讨论。这里还要再啰嗦两句。

可以这样理解:如果时序电路中个存储单元的状态更新不是同时发生的,则这种电路称为异步时序电路;如果个存储电路状态是在同一信号的同一边沿更新的,就可以称作同步时序电路。

导致这种更新不同步的原因可能是:电路的触发器的时钟输入端没有连接在相同的时钟脉冲上,或者这个电路里根本就没有时钟脉冲。

1-2-2. 米利型和摩尔型电路

关于这个问题的详细描述将在下一章出现。

2. 几个典型的时序逻辑电路

多个触发器在同一时钟下组合在一起,来保存相关信息的电路称为寄存器。就像触发器一样, 寄存器也可以有其它的控制信号。你将了解具有附加控制信号的寄存器的行为。

计数器是广泛使用的时序电路。在本次实验中,你将用几种方法设计寄存器和计数器。 请参考Vivado 教程上关于如何使用Vivado创建工程和验证电路。

2-1. 可同步重置、载入信号的寄存器

在计算机系统中,相关信息常常在同时被存储。 寄存器(register )以这样的方式存储信息比特,即系统可以在同一时间写入或读出所有的比特。寄存器的例子包含数据、地址、控制和状态。简单的寄存器数据的输入引脚和输出引脚分开,但它们用相同的时钟源。一个简单寄存器的设计如下。

module Register (input [3:0] D, input Clk, output reg [3:0] Q);
always @(posedge Clk)
Q <= D;
endmodule

这个简单的寄存器会在每个时钟周期工作,保存需要的信息。然而,在有的情况下,需要只有在特定条件发生时,寄存器内容才被更新。比如,在计算机系统中的状态寄存器只在特定的指令执行时才更新。在这种情况下,寄存器的时钟需要用一个控制信号控制。这样的寄存器需要包含一个时钟使能引脚。下面是这种寄存器的设计。

module Register_with_synch_load_behavior(input [3:0] D, input Clk, 
input load, output reg [3:0] Q);
always @(posedge Clk)
if (load)
Q <= D;
endmodule

复杂时序逻辑电路_寄存器_02

  1. 添加开发板相对应的XDC文件,编辑XDC文件,加入相关的引脚,将 Clk 赋给 SW15,D input 给SW3-SW0,reset 给 SW4, load 给 SW5,Q 给 LED3- LED0。
  2. 把下面这行代码加入XDC文件,使SW15 允许被当作时钟使用。 set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets { clk }];
  3. 综合你的设计。
  4. 实现你的设计,查看Project Summary和Utilization table,注意到1个BUFG和 11 个IO被使用了。
  5. 生成比特流文件,将其下载到Nexys4 DDR开发板,并验证功能。

标签:复杂,时序,电路,逻辑电路,信号,寄存器,时序电路
From: https://blog.51cto.com/u_15641375/5893610

相关文章

  • 6.go中的派生/复杂数据类型
    1.指针1.基本数据类型也叫值类型,在内存中存储值,指针类型一个地址,地址指向的空间存储的值才是        2.&,获取地址2.数组3.结构体......
  • 基于图数据库的复杂网络分析能力
    基于图数据库的复杂网络分析能力概览​​一、社交网络与图数据库技术​​​​二、搜索排名与图数据库技术​​​​三、评分系统与图数据库技术​​​​四、自然语言处理与图......
  • 时序数据增强 for 深度学习
    前言最近,深度学习在许多时间序列分析任务中表现出色。深度神经网络的优越性能严重依赖于大量训练数据以避免过度拟合。然而,许多现实世界时间序列应用的标记数据可能受到限......
  • B-神经网络模型复杂度分析
    前言一,模型计算量分析卷积层FLOPs计算全连接层的FLOPs计算二,模型参数量分析卷积层参数量BN层参数量全连接层参数量三,模型内存访问代价计算卷积层MA......
  • 时序数据库 influxdb 教程
    十年河东,十年河西,莫欺少年穷学无止境,精益求精时序数据库influxdb适用于物联网、等大数据行业,支持亿级数据中文参考文档​​https://jasper-zhang1.gitbooks.io/influxdb/c......
  • 拓端tecdat|采用SPSS Modeler编程指导的Web复杂网络对所有腧穴进行分析
    采用SPSSModeler的Web复杂网络对所有腧穴进行分析 背景:本次腧穴配伍关联规则分析,以针灸治疗FC的113例处方中使用频次在5次及以上的25种腧穴为关联......
  • (5条消息) map干掉两个for循环案例,空间复杂度优化_学习微站的博客-CSDN博客_map空间复
    map干掉两个for循环,​​空间复杂度​​优化//分组遍历if(CollectionUtils.isNotEmpty(dictGroupList)){dictGroupList.forEach(dicGroup->......
  • 简单时序逻辑电路
    1.时序逻辑电路概念在前述的组合逻辑中,任意时刻的输出只与该时刻的输入信号所决定;而在接下来要讲的时序电路中,任意时刻的输出信号不仅与当时刻的输入有关,而且与电路原来的......
  • 【MySQL】记一次复杂数据查询排重
    事原在某一次仿真环境测试过程中发现数据列表中出现重复条目,如下图:经过排查后发现,用户登录后cust_id(企业id)字段做了mybatis的动态语句判断。其中出现问题的SQL脚本如下:SELEC......
  • Net6 操作时序数据库influxdb,数据插入查询/增删存储桶
    十年河东,十年河西,莫骑少年穷学无止境,精益求精官方文档:​​https://docs.influxdata.com/influxdb/v2.4/api/​​1、项目详情<ProjectSdk="Microsoft.NET.Sdk"><Property......