[SystemVerilog语法拾遗] systemverilog中各种延时方式详解

SystemVerilog 教程第一章:简介 本文首发于VX小石头的芯语芯愿,欢迎前往围观。 SystemVerilog教程第一章:简介 阅读详情
AI摘要

本文详细介绍了SystemVerilog中的阻塞赋值、非阻塞赋值和连续赋值三种赋值方式下的延时处理,以及#1延时的不同使用位置。同时纠正了一个关于无损delay的常见误解。

[SystemVerilog语法拾遗] systemverilog中各种延时方式详解

最近在做系统集成的时候经常会用到模块间信号连接的时候增加delay的操作,而systemverilog语法中支持各式各样的delay添加方法。
sv中有3种类型的赋值: 阻塞赋值、非阻塞赋值和连续赋值。
延时(#1)写的位置有2种:
当延时(#1)写在整个表达式最前面时,三种类型的赋值,延时结果一致是:等待_忽略中间变化再计算
当延时(= #1)写在等于号(=)后面时:
1.连续赋值语法错误排除。
2.阻塞赋值是:先计算后延时再赋值
3.非阻塞赋值是:直接跟随
这样组合下来总共有6中添加延时的方式,如下图所示:
在这里插入图片描述
延时分类图示

下文为转载文章,详细介绍各种delay方式的示例原理,最后补充说明文章中一处错误的讲解。

Verilog语法之延时

说明
LHS: Left-Hand-Side,左式;
RHS: Right-Hand-Side,右式;
`timescale 1ns/100ps;

连续赋值中的延时

LHS中加延时

assign #2 y = ~a;
描述:非门的延时为2ns,输入端信号变化到输出端体现出来需要2ns时间。即a发生变化后,经过2ns时间,y才发生变化。
注意:任意小于2ns的信号变化脉冲都被过滤掉。例如:

SystemVerilog(简称SV) SystemVerilog(简称SV)是一种广泛应用于数字芯片设计和验证的高级硬件描述及验证语言(HDVL)。它在传统的Verilog语言基础上扩展了面向对象编程(OOP)、断言(Assertion)、功能覆盖率(Coverage)等特性,成为现代芯片设计和验证的核心工具之一。:支持类(Class)、继承、多态等特性,便于构建可复用的验证组件(如Driver、Monitor、Scoreboard)。:基于SystemVerilog的标准化验证方法学,提供可复用的验证组件和流程。:描述时序逻辑(触发器)。 阅读详情

相关推荐

verilog和system verilog的区别

如果你已经熟悉 Verilog,学习 SystemVerilog 会相对容易,因为 SystemVerilog 包含了 Verilog 的所有特性,并在此基础上增加了许多新功能。两者可以根据项目需求灵活选择,但现代数字电路设计和验证中,SystemVerilog 已成为主流。是 Verilog 的超集,增加了许多高级特性,特别适合复杂的硬件设计和验证。是 Verilog 的超集,增加了许多高级特性,特别适合复杂的硬件设计和验证。是 Verilog 的超集,增加了许多高级特性,特别适合复杂的硬件设计和验证。

weixin_49118247的博客 2515

Verilog代码实现FPGA上的信号延迟是常见的工作之一,而本篇文章将介绍如何使用Verilog语言来实现4拍的信号延迟。通过本文的阅读,读者将会了解到如何在...

其中,clk是时钟输入,signal_in是要延迟的信号输入,signal_out是延迟后的信号输出。在时钟上升沿的时候,将signal_in输入信号存入fifo缓冲区中,并依次移位,实现了信号的延迟。其中,clk是时钟输入,signal_in是要延迟的信号输入,signal_out是延迟后的信号输出。在顶层模块中,定义了一个参数N,代表信号延迟的长度。总结:本篇文章介绍了如何使用Verilog语言实现FPGA上的信号延迟,并且以4拍的信号延迟为例,详细讲解了Verilog语言的实现方法和代码结构。

Byte_O_O的博客 1256

[SV]Verilog中的延时模型

Verilog中的延时模型 一、专业术语定义 模块路径(module path): 穿过模块,连接模块输入(input端口或inout端口)到模块输出(output端口或inout端口)的路径。 路径延时(path delay):与特定路径相关的延时 PLI:编程语言接口,提供 Verilog数据结构的过程访问。 时序检查(timing check):监视两个输入信号的关系并检查的系统任务,以保证电路能正确工作。 时序驱动设计(ti...

元直的博客 6278

Hi3516CV610开发板实战:从零搭建智能视觉监控系统

本文详细介绍了从零开始基于Hi3516CV610开发板搭建智能视觉监控系统的完整实战流程。涵盖硬件连接、系统配置、摄像头集成、网络设置、固件烧录到视频处理与智能分析功能开发,提供了丰富的实践经验和调试技巧,帮助开发者快速掌握嵌入式视觉系统开发。

vvv99的博客 564

计组实验5:cache大小测量与 cache line 大小测量

前言 今天做了实验5,通过 c 语言测 cache 参数。其实按理来说挺简单的,只是我们班没给代码,纯靠自己。听说别的班有给代码 emm 因为《深入理解计算机系统》这本书上面给的代码是 Linux 平台下的,而且需要一个 fcyc2 头文件,可以在 https://github.com/fabiensanglard/CpuCacheMountainViewer 这里找到。 ⚠ 我没有在 Linux 下试过课本上面的代码。。。 我是在 win10 下测试的。。。 所以 。。。 我并不确定我的代码是否正确。

AKGWSB 's blog 1万+

基于ABCDRez的激光谐振腔设计与热透镜效应仿真实践

本文详细介绍了如何利用ABCDRez代码包进行激光谐振腔设计与热透镜效应仿真。通过ABCD矩阵理论和高斯光束q参数,该工具能有效模拟热透镜动态变化对腔稳定性的影响,指导腔型优化与热补偿设计,是固体激光器预研与调试的高效辅助手段。

weixin_29093017的博客 290

MiniMax H3本地部署实战:ComfyUI整合包安装与提速插件验证指南

在AIGC工具链快速演进的当下,本地部署内容生成模型成为许多创作者和开发者的关注焦点。本地部署意味着数据不出本机、可按需定制工作流,还能规避云端排队与外部依赖,其核心价值在于为内容生产提供可控、私密且可编程的生成环境。ComfyUI作为模块化节点式AI绘画工具,凭借灵活的工作流编排和API接口能力,成为承载这类模型的热门平台。MiniMax H3作为支持文本、参考图等多种输入的内容生成模型,与ComfyUI结合后,既适合个人进行概念验证,也能用于团队私有化流程搭建。实际落地过程中,中文整合包显著降低了环境配

weixin_29042035的博客 296

MicroCap声学仿真介绍(二)-创建声学仿真元件

声学库里包含孔、管、障板辐射器等器件,我们只需要按照仿真的需求,将声学库里的器件排列好,输入参数,用线连接起来即可。这里我们用D指代孔的直径,L指代孔的长度,N代表孔的数量。26.在弹出的界面中做如下设置:需要先在右面的选框里找到对应的项,然后右键Add Part,再之后就如下设置。3.在弹出的界面中,选择“Macro file(.mac)”,并点击右上角的“OK”下面就以声学仿真中常见的“孔”来做示例,跟大家一块演示一下宏程序的新建。10.在上图中“Value”中填入“R”,然后点击左边的“OK”按钮;

山无忧的博客 2200

18年陕西省TI杯电赛无人机赛题视觉部分

更新: 相同任务另外两种不同的视觉方法: https://blog.youkuaiyun.com/qq_41895747/article/details/97613077 https://blog.youkuaiyun.com/qq_41895747/article/details/97614971 任务:识别前方的方框,无人机从方框中飞出去 视觉任务:识别特定方框,返回方框中心坐标 # -*- codin...

沉迷单车的追风少年 1506

《FPGA DDR3权威实战:从基础到高速故障录波系统》专栏导览:从不知所措到心中有数

本文是一份DDR3实战指南,作者从自身学习经历出发,分享了一套循序渐进的DDR3应用路线图。专栏包含12篇文章,从基础配置(MIG IP核、AXI总线)、仿真测试到实际项目应用(功能测试、性能测试),最后深入原生MIG接口实战,通过一个高速故障录播系统案例完整展示DDR3开发流程。文章特别强调实践性,旨在帮助读者系统掌握DDR3开发技能,避免作者当年踩过的坑。每篇都配有优快云链接,适合FPGA开发者按顺序学习参考。

FPGA_小田老师的博客 331

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: [SystemVerilog语法拾遗] 不同类型的数组作为方法参数时使用区别
下一篇: [SystemVerilog语法拾遗] systemverilog中task的局部变量串扰问题
数字验证Kane陈
博客等级 码龄12年 662粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值