本来只想做一下序列信号发生器的手撕代码,但是综合之后看了一下生成的原理图,觉得无法理解,就研究了一下。

序列信号发生器很简单,我用移位实现的,代码如下

module xuliexinhao(input sys_clk,    //时钟input sys_rst_n,  //复位,低有效input [9:0] in,   //待输出序列output reg out    //输出);
reg [9:0] data;
always @(posedge sys_clk,negedge sys_rst_n) beginif (!sys_rst_n) beginout <= 0;data <= in;endelse beginout <= data[9];data <= {data[8:0],data[9]};end
end
endmodule

这个没有什么好说的很简单,再仿真例化一下就行了,就不贴代码了。

但是这个生成的电路图是这样的

难点在于我不理解异步置位,即data寄存器的PRE引脚,对D触发器的异步置位和异步复位讲解的文章不多,所以就写一下。在这里要知道D触发器特性,CLR是异步复位,PRE是异步置位,都是低电平有效优先级CLR>PRE>clk。

若CLR=0,异步复位有效Q立即输出0,。

若CLR=1,看PRE,如果PRE=0,则异步置位有效,Q=1;(有人说Q=D,我验证之后发现是不对的),如果PRE=1,Q=D。

到这里上面就好理解了。当复位有效信号到达时(异步复位),控制两个二选一选择器。选择器S接的就是复位信号sys_rst_n,如果复位S=0,上面选择器输出是输入信号in,下面选择器输出输入信号的取反~in,输入信号是10位的,所以接10个D触发器。当复位有效时,如果in某一位等于0,那么CLR端 输入就为0,对应的输出Q就为0;如果n某一位等于1,CLR端输入就为1,对应的PRE端输入一定为0(有取反),PRE为0,输出立即置1。这样就实现了复位data=in;

网上对D触发器异步复位和置位讲解的不多,还有讲错的,我也是参考别人的解释,自己得出的结论,若有错误,望批评指正!

序列信号发生器,之D触发器异步复位和异步置位相关推荐

  1. (47)FPGA同步复位与异步复位(异步复位同步释放)

    (47)FPGA同步复位与异步复位(异步复位同步释放) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)FPGA同步复位与异步复位(异步复位同步释放) 5)技术交流 ...

  2. (46)FPGA同步复位与异步复位(异步复位)

    (46)FPGA同步复位与异步复位(异步复位) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)FPGA同步复位与异步复位(异步复位) 5)技术交流 6)参考资料 2 ...

  3. 同步复位,异步复位,异步复位,同步释放

    同步复位 同步复位:是指当复位信号发生变化时,并不立即生效,只有当有效时钟沿采样到已变化的复位信号后,才对所有寄存器复位. 同步复位电路如下图所示: always @(posedge clk) beg ...

  4. 三种复位方式: 同步复位、异步复位、异步复位同步释放

    一.特点:    同步复位:顾名思义,同步复位就是指复位信号只有在时钟上升沿到来时,才能有效.否则,无法完成对系统的复位工作.用Verilog描述如下:             always @ (p ...

  5. verilog异步复位jk触发器_同步复位和异步复位常见问题总结

    总结同步和异步复位使用中的常见问题. 同步复位 问题1: 综合工具并不能轻易区分出同步复位信号和其他数据信号,综合出来的电路不唯一,某些电路结构在网表仿真时可能出现x态. 该段代码可能综合出两种电路结 ...

  6. 异步复位同步释放机制-系统完美稳定

    原文地址:FPGA之家 首选我们来聊聊时序逻辑中最基础的部分D触发器的同步异步,同步复位即复位信号随系统时钟的边沿触发起作用,异步复位即复位信号不随系统时钟的边沿触发起作用,置数同理,rst_n表示低 ...

  7. 数字电路设计——复位信号(异步复位、同步释放)

    数字电路设计--复位信号(异步复位.同步释放) 概述 同步复位 优点 缺点: 例1 例2 代码风格 异步复位 异步复位优点 异步复位缺点 移除复位信号的问题 异步复位问题解决--复位同步器.复位毛刺过 ...

  8. 时序分析:异步复位的removal time和recovery time

    在数字IC设计阶段的时序分析中,对于异步复位寄存器,置位信号和复位信号需与时钟满足recovery time及removal time条件,才能有效完成置位和复位操作,防止亚稳态. recovery ...

  9. vivado实现异步复位的D触发器

    vivado实现异步复位的D触发器 异步复位的D触发器功能 常见的带有异步复位控制端口的上升沿 D 触发器的功能表如下表所示.不难看出,只要复位控制端口的信号有效,D 触发器就会立即进行复位操作.可见 ...

最新文章

  1. c++ demo: 单词转换
  2. linux receive函数,Linux网络 - 数据包的接收过程
  3. python输出数据到excel-如何使用python将传感器数据输出保存到excel中
  4. 008_Restfull请求风格
  5. 10.3 在线学习与 MapReduce-机器学习笔记-斯坦福吴恩达教授
  6. 有关替换字符的代码问题
  7. 详解Windows内存分页机制
  8. [Python学习] 模块三.基本字符串
  9. PWN-COMPETITION-HGAME2022-Week1
  10. Odoo与浪潮合资研发PS Cloud之如何配置和运行调度程序
  11. 贝塔斯曼龙宇:李斌能征善战 提前七年兑现了自己的承诺
  12. 四种变量的区别(局部变量,全局变量,静态局部变量,静态全局变量)
  13. qq for linux无法安装路径,ubuntu amd 64bit 安装 QQ for linux教程(附 不能使用中文的解决办法)...
  14. 对象转为json形式
  15. 原神的天空岛服务器位置,原神天空岛服和世界树服数据互通吗
  16. 黑客攻击手段揭秘(转)
  17. efl是什么意思_efl是什么意思
  18. Python基础练习-每日一题-大家来找茬!
  19. 消费者人群画像—信用智能评分 比赛回顾
  20. linux 修改键盘键值

热门文章

  1. oracle 数据回流,浅谈回流
  2. 程序员:还有这样的代码,扎心了老铁!
  3. 学java记不住单词怎么办_单词记不住怎么办?
  4. [DForm]我也来做自定义Winform之另类标题栏重绘
  5. php正则表达式 匹配多行,PHP正则表达式怎么匹配多行
  6. Netty教程(九)——解码器
  7. 基于维基百科的用户意图分类
  8. js日期加横杆_js实现的将年月日用横线链接格式化代码
  9. python cmdb_python自动化运维之CMDB篇-大米哥
  10. Linux 设全局代理