文章目录

  • 前言
  • 一、由移位寄存器构成
  • 二、由移位寄存器和组合逻辑电路构成
  • 三、由计数器构成

前言

在数字电路中, 序列信号是指在同步脉冲作用下循环地产生一串周期性的二进制信号.能产生这种信号的逻辑器件就称为序列信号发生器。
序列信号发生器是数字电路系统中常用的功能单元,按照序列训话长度M和触发器数目n的关系可分为三种:
(1)最大循环长度序列码,M=2^n;
(2)最大线性序列码(m序列码),M=(2^n)-1。
(3)任意循环长度序列码,M<2^n。
序列信号发生器是能够产生一组或多组的序列信号的时序电路,他可以有纯时序电路构成,也可以有包含时序和组合逻辑的混合电路构成。
下面介绍三种设计思路,以产生100111序列的信号发生器为例。

一、由移位寄存器构成

单纯使用移位寄存器的序列信号发生器,由于输入输出之间没有组合电路,不需要组合逻辑反馈运算,因此电路工作频率高,但问题在于移位寄存器的长度取决于序列长度,占用电路面积大。
代码如下(示例):

module  signal_maker1(out,clk, load, D);
parameter M=6;
output out;
input clk,load;
input [M-1:0] D;
reg [M-1:0] Q;
initial Q=6'b100111;
always @(posedge clk)
if(load)
Q<=D;
else
Q<={Q[M-2:0],Q[M-1]};
assign out=Q[M];
endmodule

二、由移位寄存器和组合逻辑电路构成

反馈移位型序列码发生器的结构框图如下图所示,它由移位寄存器和组合逻辑网络组成,从移位寄存器的某一输出端可以得到周期性的序列码。

其设计按以下步骤进行:
(1)根据给定序列信号的循环周期M,确定移位寄存器位数n,2^(n-1)<M≤2^n
(2)确定移位寄存器的M个独立状态。将给定的序列码按照移位规律每n位一组,划分为M个状态。若M个状态中出现重复现象,则应增加移位寄存器位数。用n+1位再重复上述过程,直到划分为M个独立状态为止.
(3)根据M个不同的状态列出移位寄存器的态序表和反馈函数表,求出反馈函数F的表达式。
(4)检查自启动性能。
与上面的序列信号发生器相比,各个寄存器的输出需要经过反馈网络,然后才连接到移位寄存器的输入端。因此,电路的速度必然下降,但反馈网络的好处在于它可以节省寄存器。

对于“100111”序列的信号发生器。
首先,确定所需移位寄存器的个数n。因M=6,故n≥3。
然后,确定移位寄存器的六个独立状态。
按照规律每三位一组,划分六个状态为100、001、011、111、111、110。
其中状态111重复出现,故取n=4,并重新划分状态,得到:1001、0011、0111、1111、1110、1100。因此确定n=4。
第三,列态序表和反馈激励函数表,求反馈函数F的表达式。
首先列出态序表,然后根据每一状态所需要的移位输入即反馈输入信号,列出反馈激励函数表,如下表所示。求得反馈激励函数:

代码如下(示例):

module  signal_maker(out,clk, load, D);
parameter M=4;
output out;
input clk,load;
input [M-1:0] D;
reg[M-1:0] Q;
wire w1;always @(posedge clk)
if(load)
Q<=D;
else
Q<={Q[M-2:0],w1};
assign w1=(~Q[3])|((~Q[1])&(~Q[0]))|(~Q[3]&(~Q[2]));
assign out=Q[M-1];
endmodule

仿真出来的电路如下:

三、由计数器构成

计数型序列信号发生器和反馈型序列信号发生器大体相同,它们都是由时序电路和组合电路两部分构成。不同在于,反馈型序列信号发生器的时序状态由移位寄存器产生,输出取寄存器的最高位;而在计数型序列信号发生器中,采用计数器代替移位寄存器产生时序状态,输出由组合电路产生。

计数型的好处在于,计数器的状态设置与输出序列没有直接关系,不需要像上面一样,根据输出确定状态。只需要将反馈网络设计好就可以了。因此计数结构对于输出序列的更改比较方便,而且只要连接到不同的反馈网络,它可以同时产生多组序列码


设计过程分为两步:第一,根据序列码的长度M设计模M计数器,状态可以自定;第二,按计数器的状态转移关系和序列码的要求设计组合输出网络。
对于“100111”序列的信号发生器。
序列信号的M值为6,因为需选用模6的计数器。计数器的状态选择从000到101可以得到输出的组合逻辑真值表

由真值表可画出输出Z的卡诺图,得到输出函数:

代码如下(示例):

module signal_maker3(out,clk,reset);
parameter M=3;
output out;
input clk,reset;
reg[M-1:0] counter;always @(posedge clk)
if(!reset)
count<=3'b000;
else
counter<=counter+1;
assign out=counter[2]|((counter[1])&(~counter[0]))|(counter[1]&counter[0]);
endmodule

仿真出来的电路:

Verilog 序列信号发生器的三种设计思路相关推荐

  1. 序列信号发生器的三种实现方式

    一.状态转移型的序列信号产生器的verilog HDL 设计 用一个不断循环的状态机,循环产生序列信号001011.过程过于简单,我就不画状态图了. 直接给出verilog HDL设计代码: //有限 ...

  2. Verilog写状态机的三种描述方式之三段式

    Verilog写状态机的三段式描述方式1 1,RTL代码 2,门级网表 3,测试前仿真代码 4,前仿真波形+验证 状态机的设计思路: 一是从状态机变量入手,分析各个状态的输入.状态转移和输出: 二是先 ...

  3. OPPO R15大胆玩色彩,这三种设计你绝对没见过

    OPPO R15最近横空出世,引得众用户大呼过瘾.但是伴随着网络上的众多用户和群众的关注,OPPO R15的热度不断上升,火爆全网,备受关注.OPPO R15尽管尚未发布,但是从官宣海报就引起了众多人 ...

  4. verilog中状态机的三种编码方式的比较(二进制码、独热码、格雷码)

    最近做了一个小项目,是关于状态机中三种编码方式的比较,总结了一下三种编码方式的不同,可以会在以后IC笔试面试过程中用到,简单记录一下三种编码方式的优缺点. 三种编码方式如下图所示:其中独热码只有一位为 ...

  5. 物联网为智慧水资源管理提供的三种创新思路

    水资源短缺是一个长期存在而不断加重的问题,它事关民生与经济,随着用户知识水平和环保意识的提升,围绕这一问题衍生出很多难以妥善处理的社会问题逐渐受到关注,我们需要创新思维,寻找新的解决思路. 我们可以先 ...

  6. html 重复提交表单,表单重复提交问题的三种解决思路

    前端开发中接触的表单提交还是很多的,有时候如果不对提交事件进行处理的话会遇到重复多次提交. 最近开发遇到一个问题,找了挺久才找到原因解决-_-||,表单一直提交两次,以为是双击重复提交了,就在提交之后 ...

  7. 根据树的两种遍历序列求第三种遍历序列

    只知道先序序列和后序序列是无法求出唯一的树,所以不做讨论. #include<iostream> #include<cstdio> #include<cstring> ...

  8. 图片怎么转成PDF格式?介绍三种转换思路

    PDF文件作为一类办公常见格式,很多场合都会使用到.有时我们需要将图片转成PDF格式以方便归纳整理.图片资料怎么转成PDF呢?给大家介绍几个手机和电脑都可以用的方式.希望对你有帮助. 方法一.用文件自 ...

  9. 仓库库存表的三种设计方式

    1.实时库存表+库存出入记录表 将出入库单据表和库存表分开,当出入库单据被确认时,修改库存表,库存表中总是只保留当前的库存数据.这样库存表设计大致如下:      库存表(仓库编码.商品编码.库存属性 ...

最新文章

  1. 浅显易懂 Makefile 入门 (12)— Makefile 常见的错误信息
  2. 【Java并发编程】一、为什么需要学习并发编程?
  3. 2 万字长文深入详解 Kafka,从源码到架构全部讲透
  4. [转]启动Tomcat提示:指定的服务未安装
  5. 周报措辞规范(周报规范用语、不规范用语)
  6. memcache中的add和set方法区别
  7. r语言 将表格导出为csv_r语言 将表格导出为csv_2. R语言基础语法
  8. 安卓怎么把一个按钮设计成梯形_电气控制电路与PLC之间的梯形图转化,挺实用!...
  9. 机械革命深海泰坦X1(1050T)触控板用不了三指
  10. 性能测试很难吗?一文带你学会性能测试核心流程和概念
  11. Elasticsearch6.3.0安装IK分词插件
  12. 865程序设计c语言,2018年江西师范大学865程序设计(C语言)考研大纲
  13. HADOOP再进阶:本地Yum软件源安装Cloudera Manager 5
  14. LFSR(线性反馈移位寄存器)
  15. quartz定时任务cron表达式详解
  16. mariadb 卸载 Kali_Adobe官方卸载工具软件安装教程
  17. 小程序性能和体验优化方法
  18. 排球分组循环交叉编排_巍山县举办气排球赛,看谁技高一筹!
  19. 6.Java设计模式之设配器模式
  20. 不用远程软件,校园网电脑之间如何远程连接

热门文章

  1. GitLab-CI持续集成(CI)的介绍与运行机制
  2. windows网站操作系统管理【1】
  3. Redis单点故障+红锁原理
  4. Vue3简易购物车--添加和删除商品,计算购买商品总价
  5. 如何给JButton添加图标,并使图标沾满整个按钮。
  6. elasticsearch教你使用搜索引擎
  7. 灰度共生矩阵原理+Matlab中实现
  8. 软件项目管理的平衡原则和高效原则
  9. 企业人才战略2.0 相信技术人的力量
  10. 计算机小键盘如何启用,教你电脑开机时小键盘自动启用方法