0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

时序逻辑中的阻塞和非阻塞

FPGA之家 来源:YGOPRO de Space 作者:YGOPRO 2022-03-15 13:53 次阅读

Verilog HDL的赋值语句分为阻塞赋值和非阻塞赋值两种。阻塞赋值是指在当前赋值完成前阻塞其他类型的赋值任务,阻塞赋值由=来完成;非阻塞赋值在赋值的同时,其他非阻塞赋值可以同时被执行,非阻塞赋值由《=来完成。

(1)组合逻辑中的阻塞和非阻塞

eg.

always@(a or b or c or d)

begin

t1 = a & b;

t2 = c & d;

out = t1 | t2;

end

当abcd均由0变为1时,采用阻塞赋值语句时:t1=1,t2=1,out=1;

采用非阻塞赋值语句时:t1=1,t2=1,out=0。非阻塞赋值每一条语句执行不会阻止其他非阻塞语句的同时执行,故此时的t1和t2还未更新,所以out的值不变。

(2)时序逻辑中的阻塞和非阻塞

eg.实现D触发器

always@(posedge clk)

begin

q1 《= d;

q2 《= q1;

end

采用非阻塞赋值时,q1=d,q2=q1;采用阻塞赋值时q1=q2=d,不符合D触发器的要求。

综述:对于组合逻辑(always模块敏感列表为电平触发),采用阻塞赋值(=);对于非阻塞逻辑(always模块敏感列表为边沿触发),采用非阻塞赋值(《=)。

原文标题:阻塞赋值与非阻塞赋值

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

审核编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 触发器
    +关注

    关注

    14

    文章

    2000

    浏览量

    61132
  • 时序逻辑
    +关注

    关注

    0

    文章

    39

    浏览量

    9159
  • 非阻塞
    +关注

    关注

    0

    文章

    13

    浏览量

    2170

原文标题:阻塞赋值与非阻塞赋值

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Verilog语言中阻塞阻塞赋值的不同

    赋值何时使用阻塞赋值才能设计出符合要求的电路。 他们也不完全明白在电路结构的设计,即可综合风格的Verilog模块的设计,究竟为什么还要用阻塞
    的头像 发表于 08-17 16:18 6374次阅读

    Verilog阻塞阻塞原理分析

    Verilog阻塞阻塞原理分析在Verilog语言最难弄明白的结构阻塞赋值”要算一个。
    发表于 11-23 12:02

    fpga基础篇(一):阻塞阻塞赋值

    `阻塞阻塞赋值首先从名字上理解,阻塞赋值即赋值没完成,后边的语句将无法执行,阻塞刚好与其相
    发表于 04-05 09:53

    Java阻塞通信研究

    本文针对Java NIO 的特性做出分析与阐述,对网络应用阻塞通信与阻塞通信、NIO的阻塞
    发表于 08-10 10:15 18次下载

    verilog阻塞赋值和阻塞赋值

    阻塞阻塞语句作为verilog HDL语言的最大难点之一,一直困扰着FPGA设计者,即使是一个颇富经验的设计工程师,也很容易在这个点上犯下一些不必要的错误。阻塞
    发表于 03-15 10:57 6999次阅读

    深入理解阻塞阻塞赋值

    这是一个很好的学习阻塞阻塞的资料,对于FPGA的学习有很大帮助。
    发表于 04-22 11:00 11次下载

    veriolg阻塞赋值与阻塞赋值区别

      在一开始学到阻塞阻塞的时候,所被告知的两者的区别就在于阻塞是串行的,阻塞是并行的。但是
    发表于 09-16 09:34 4次下载

    VerilogHDL语言:清阻塞赋值和阻塞赋值

    对于VerilogHDL语言中,经常在always模块,面临两种赋值方式:阻塞赋值和阻塞赋值。对于初学者,往往非常迷惑这两种赋值方式的用法,本章节主要介绍这两种文章的用法。其实,有
    发表于 11-19 15:48 1149次阅读

    简述阻塞赋值和阻塞赋值的可综合性

    ,所以基于的C的术语和概念出现在EDA,原本是一个“误打误撞”,但历史造成的现实则是:必须理解和正确掌握它们的用法。 软件阻塞进程,是指调用返回之前,应用进程一直等待: 为了保证应用进程的效率,不至于被子程序的运算过程“挂起
    的头像 发表于 05-12 09:45 2719次阅读
    简述<b class='flag-5'>阻塞</b>赋值和<b class='flag-5'>非</b><b class='flag-5'>阻塞</b>赋值的可综合性

    简述Verilog HDL阻塞语句和阻塞语句的区别

    阻塞赋值,但从字面意思来看,阻塞就是执行的时候在某个地方卡住了,等这个操作执行完在继续执行下面的语句,而非阻塞就是不管执行完没有,我不管执行的结果是什么,反正我继续下面的事情。而Verilog
    的头像 发表于 12-02 18:24 6196次阅读
    简述Verilog HDL<b class='flag-5'>中</b><b class='flag-5'>阻塞</b>语句和<b class='flag-5'>非</b><b class='flag-5'>阻塞</b>语句的区别

    Verilog阻塞阻塞赋值金规

    对于VerilogHDL语言中,经常在always模块,面临两种赋值方式:阻塞赋值和阻塞赋值。对于初学者,往往非常迷惑这两种赋值方式的用法,本章节主要介绍这两种文章的用法。其实,有
    的头像 发表于 06-01 09:21 1278次阅读

    阻塞赋值与阻塞赋值

    ”=“阻塞赋值与”
    的头像 发表于 09-12 09:06 1030次阅读
    <b class='flag-5'>阻塞</b>赋值与<b class='flag-5'>非</b><b class='flag-5'>阻塞</b>赋值

    什么是阻塞阻塞

    什么是阻塞阻塞?我们就用管道的读写来举例子。
    的头像 发表于 03-25 10:04 495次阅读

    socket阻塞阻塞的区别是什么

    在计算机编程,socket 是一种通信端点,用于在网络中进行数据传输。Socket 可以是阻塞的或阻塞的,这两种模式在处理数据传输时有不同的行为。
    的头像 发表于 08-16 11:13 663次阅读

    socket编程阻塞阻塞

    在网络编程, socket 是一个非常重要的概念,它提供了一个抽象层,使得开发者可以不必关心底层的网络通信细节。 socket 编程阻塞
    的头像 发表于 11-01 16:13 189次阅读