在数字电路中经常有同步synchronism、异步asynchronism的概念。异步指输入信号和时钟无关;同步指输入信号和时钟信号有关,实际上就是输入信号和时钟信号进行了与运算或者与非运算。实际开发中,经常有同步清零、异步清零、同步复位、异步复位等概念,下面就给与相关代码演示。

简单的异步复位

 always @ (posedge clk or negedge rst_n)
if(!rst_n) b <= 'b0;
else b <= a;

简单的同步复位

 always @ (posedge clk)
if(!rst_n) b <= 'b0;
else b <= a;

PS:同步复位信号RST必须至少长于一个时钟周期CLK,否则,这个复位信号引起的变化是不会被检测到的!

异步复位、同步释放

 always @ (posedge clk)
rst_nr <= rst_n; //现将异步复位信号用同步时钟打一拍 always @ (posedge clk or negedge rst_nr)
if(!rst_nr) b <= 'b0;
else b <= a; always @ (posedge clk or negedge rst_nr)
if(!rst_nr) c <= 'b0;
else c <= b;

同步复位和异步复位的区别就在于 前者的复何信号不能出现在always语句的敏感信号表中,无论是同步复位还是异步
复位,always语句的结构都是if(Reset)...else... ,否则,综合工具将不能正确的综合

所有always语句中的赋值最好采用非阻塞赋值语 ,否则,可能会导致仿真与综合的不一致”

Verilog笔记.5.同步、异步的更多相关文章

  1. 前端笔记之JavaScript(九)定时器&JSON&同步异步/回调函数&函数节流&call/apply

    一.快捷位置和尺寸属性 DOM已经提供给我们计算后的样式,但是还是觉得不方便,因为计算后的样式属性值都是字符串类型. 不能直接参与运算. 所以DOM又提供了一些API:得到的就是number类型的数据 ...

  2. js的线程和同步异步以及console.log机制

    项目上线了,闲下来就写写东西吧.积累了好多东西都没有做笔记~挑几个印象深刻的记录一下吧. js的同步异步以及单线程问题: 都知道单线程是js的一大特性.但是通常io(ajax获取服务器数据).用户/浏 ...

  3. .Net Core WebAPI 基于Task的同步&异步编程快速入门

    .Net Core WebAPI 基于Task的同步&异步编程快速入门 Task.Result async & await 总结 并行任务(Task)以及基于Task的异步编程(asy ...

  4. AJAX请求详解 同步异步 GET和POST

    AJAX请求详解 同步异步 GET和POST 上一篇博文(http://www.cnblogs.com/mengdd/p/4191941.html)介绍了AJAX的概念和基本使用,附有一个小例子,下面 ...

  5. 同步异步,阻塞非阻塞 和nginx的IO模型

    同步与异步 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication).所谓同步,就是在发出一个*调用*时,在没有得 ...

  6. 阻塞非阻塞,同步异步四种I/O方式

    举一个去书店买书的例子吧: (同步)阻塞: 你去书店买书,到柜台告诉店员,需要买一本APUE,然后一直在柜台等.(阻塞) 店员拿到书以后交给你. (同步)非阻塞: 你去书店买书,到柜台告诉店员A,需要 ...

  7. 进程&线程 同步异步&阻塞非阻塞

    2015-08-19 15:23:38 周三 线程 线程安全 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码 线程安全问题都是由全局变量及静态变量引起的 若每个线程中对 ...

  8. 分布式系统中一些主要的副本更新策略——Dynamo/Cassandra/Riak同时采取了主从式更新的同步+异步类型,以及任意节点更新的策略。

    分布式系统中一些主要的副本更新策略. 1.同时更新 类型A:没有任何协议,可能出现多个节点执行顺序交叉导致数据不一致情况. 类型B:通过一致性协议唯一确定不同更新操作的执行顺序,从而保证数据一致性 2 ...

  9. I/O阻塞非阻塞,同步异步

    http://www.cnblogs.com/luotianshuai/p/5098408.html "阻塞"与"非阻塞"与"同步"与&qu ...

随机推荐

  1. phaser入手

    做phaser小程序,必须先把环境弄好 发现怎么导入都无济于事. 最后决定亲自操刀,在原代码中,引入全局变量.

  2. SWERC2015-I Text Processor

    题意 给一个长度为\(n\)的字符串\(s\),再给定一个\(w\),问对于所有的\(i\in [1,n-w+1]\),\(s[i..i+w-1]\)有多少个不同字串.\(n,w\le 10^5\). ...

  3. 【bzoj4305】数列的GCD 组合数学+容斥原理

    题目描述 给出一个长度为N的数列{a[n]},1<=a[i]<=M(1<=i<=N).  现在问题是,对于1到M的每个整数d,有多少个不同的数列b[1], b[2], ..., ...

  4. 转---秒杀多线程第十四篇 读者写者问题继 读写锁SRWLock

    在<秒杀多线程第十一篇读者写者问题>文章中我们使用事件和一个记录读者个数的变量来解决读者写者问题.问题虽然得到了解决,但代码有点复杂.本篇将介绍一种新方法——读写锁SRWLock来解决这一 ...

  5. 题解 P1420 【最长连号】

    这个题过去的同学可以再来一题(P1567 统计天数): https://www.luogu.org/problemnew/show/P1567 是的,这个题其实也不是很难,就是前后比较,将天数压栈, ...

  6. python 内存问题(glibc库的malloc相关)

    题记: 这是工作以来困扰我最久的问题.python 进程内存占用问题. 经过长时间断断续续的研究,终于有了一些结果. 项目(IM服务器)中是以C做底层驱动python代码,主要是用C完成 网络交互部分 ...

  7. C 类网络的子网快速划分

    CIDR ( Classless Inter-Domain Routing ,无类域间路由选择) 进行子网划分的方法有很多,最适合你的方式就是正确的方式.在 C 类地址中,只有 8 位用于定义主机.注 ...

  8. 洛谷P1345 [USACO5.4]奶牛的电信(最小割)

    题目描述 农夫约翰的奶牛们喜欢通过电邮保持联系,于是她们建立了一个奶牛电脑网络,以便互相交流.这些机器用如下的方式发送电邮:如果存在一个由c台电脑组成的序列a1,a2,...,a(c),且a1与a2相 ...

  9. 多线程在javaweb中的应用

    1.web应用中,要对某一个任务用多线程实现,最简单的代码格式是不是必须把要执行的代码放在run方法中? WEB服务器会帮你把每个访问请求开辟一个线程,你只要按照你所开发的框架,比如tomcat会让你 ...

  10. 【BZOJ1923】外星千足虫(线性基)

    [BZOJ1923]外星千足虫(线性基) 题面 BZOJ 洛谷 Description Input 第一行是两个正整数 N, M. 接下来 M行,按顺序给出 Charles 这M次使用"点足 ...