FPGA面试:Verilog阻塞赋值“=”与非阻塞赋值“<=”怎么用?为什么时序逻辑常用非阻塞?

浏览量:4
时间: 2026-11-01 10:10:10
FPGA设计 · 求职面试高频问答

在FPGA或数字IC初面中,Verilog阻塞与非阻塞赋值属于高频题。答题不要停留在“等于号几个”的口诀,要能描述同一个时钟沿内多个寄存器怎样更新。

01 / 最重要的行为区别

阻塞赋值“=”在当前过程语句顺序执行,后面的语句立即使用当前过程里刚更新的值。

非阻塞赋值“<=”在仿真时间步的非阻塞赋值更新区域统一提交结果;同一时钟沿内,右侧通常基于更新前的寄存器值计算。

因此描述触发器链时,常用always @(posedge clk)中非阻塞赋值,直观表达多个寄存器同时采样。

真实数字设计文档中的D触发器逻辑符号,D输入在有效时钟沿更新Q输出

02 / 用两级寄存器解释

例如时钟上升沿执行a <= din; b <= a;。该沿后a更新为din原值,b更新为a的上一拍值,符合两级流水线。

若把相同过程机械改成阻塞赋值a = din; b = a;,仿真中b可能在该过程立即拿到新a,产生与预期流水级不一致的行为。

组合逻辑常用阻塞赋值并对输出完整赋值,避免意外推断Latch;跨多个always块的竞争不能只靠“=”/“<=”选择来解决。

03 / 面试现场可这样答

“我会在时序always块里用非阻塞赋值描述寄存器并行更新,在组合逻辑过程里用阻塞赋值明确中间变量的计算顺序,同时避免同一个寄存器被多个过程驱动,最后用仿真与综合结果核对。”

04 / 面试追问

非阻塞赋值不意味着硬件传输时没有延迟。真正的建立/保持时间、时钟偏斜和组合路径延时,仍要由静态时序分析确认。

知识点:FPGA面试题、Verilog阻塞非阻塞赋值


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。仅供学习交流使用,不构成商业目的。版权归原作者所有,如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时删除。侵权投诉
相关推荐HOT
单片机进入低功耗后无法唤醒,嵌入式面试应该怎样排查?

题库分类:嵌入式单片机适合经验:0—5年难度:中高级题型:低功耗场景题 + 系统排查题面试题单片机进入低功耗模式后偶发无法唤醒,或者能唤醒但串口、定时器不再工作... 详情>>

2026-07-31 16:00:42
电子工程师自我介绍怎么说?三个实用模板

分类:其他类面试 经验级别:基础 难度:简单 题型:行为面试题本文概述自我介绍是面试的第一题,答得好不好直接影响面试官对你的第一印象。电子工程师的自我介绍要突出... 详情>>

2026-08-20 10:02:17
面试后复盘应该总结哪些方面?工程师持续改进的4维度复盘法

分类:面试技巧经验级别:初级难度:基础题型:面试复盘📖 本文概述面试后的复盘是提升面试能力最关键却最容易被忽略的环节。本文提供4维度复盘法——技术问答记录、表... 详情>>

2026-08-05 09:58:24
嵌入式系统的定义

以应用为中心,以计算机技术为基础的,并且软件硬件是可剪裁的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。它可以实现对其... 详情>>

2024-03-27 11:13:26
PCB热仿真怎么做?铜厚和过孔怎么帮助散热?芯片温升怎么算?PCB仿真面试

一句话答案热仿真看芯片结温 Tj 和板上温度分布;散热路径是芯片→焊盘→铜箔→过孔→内层/背面铜→空气;铜越厚散热越好,散热过孔阵列降低热阻;Tj = Ta +... 详情>>

2026-09-23 16:24:30
开班信息