【Verilog教程】3.2 Verilog 时延

news2025/2/22 20:09:22

关键词:时延, 惯性时延
连续赋值延时语句中的延时,用于控制任意操作数发生变化到语句左端赋予新值之间的时间延时。

时延一般是不可综合的。

寄存器的时延也是可以控制的,这部分在时序控制里加以说明。

连续赋值时延一般可分为普通赋值时延、隐式时延、声明时延。

下面 3 个例子实现的功能是等效的,分别对应 3 种不同连续赋值时延的写法。

//普通时延,A&B计算结果延时10个时间单位赋值给Z
wire Z, A, B ;
assign #10    Z = A & B ;



//隐式时延,声明一个wire型变量时对其进行包含一定时延的连续赋值。
wire A, B;
wire #10        Z = A & B;

//声明时延,声明一个wire型变量是指定一个时延。因此对该变量所有的连续赋值都会被推迟到指定的时间。除非门级建模中,一般不推荐使用此类方法建模。
wire A, B;
wire #10 Z ;
assign           Z =A & B

惯性时延
在上述例子中,A 或 B 任意一个变量发生变化,那么在 Z 得到新的值之前,会有 10 个时间单位的时延。如果在这 10 个时间单位内,即在 Z 获取新的值之前,A 或 B 任意一个值又发生了变化,那么计算 Z 的新值时会取 A 或 B 当前的新值。所以称之为惯性时延,即信号脉冲宽度小于时延时,对输出没有影响。

因此仿真时,时延一定要合理设置,防止某些信号不能进行有效的延迟。

对一个有延迟的与门逻辑进行时延仿真。

module time_delay_module(
    input   ai, bi,
    output  so_lose, so_get, so_normal);
 
    assign #20      so_lose      = ai & bi ;
    assign  #5      so_get       = ai & bi ;
    assign          so_normal    = ai & bi ;
endmodule

testbench 参考如下:

`timescale 1ns/1ns

module test ;
    reg  ai, bi ;
    wire so_lose, so_get, so_normal ;
 
    initial begin
        ai        = 0 ;
        #25 ;      ai        = 1 ;
        #35 ;      ai        = 0 ;        //60ns
        #40 ;      ai        = 1 ;        //100ns
        #10 ;      ai        = 0 ;        //110ns
    end
 
    initial begin
        bi        = 1 ;
        #70 ;      bi        = 0 ;
        #20 ;      bi        = 1 ;
    end
 
    time_delay_module  u_wire_delay(
        .ai              (ai),
        .bi              (bi),
        .so_lose         (so_lose),
        .so_get          (so_get),
        .so_normal       (so_normal));
 
    initial begin
        forever begin
            #100;
            //$display("---gyc---%d", $time);
            if ($time >= 1000) begin
                $finish ;
            end
        end
    end
 
endmodule

仿真结果如下:

信号 so_normal 为正常的与逻辑。

由于所有的时延均大于 5ns,所以信号 so_get 的结果为与操作后再延迟 5ns 的结果。

信号 so_lose 前一段是与操作后再延迟 20ns 的结果。

由于信号 ai 第二个高电平持续时间小于 20ns,so_lose 信号会因惯性时延而漏掉对这个脉冲的延时检测,所以后半段 so_lose 信号仍然为 0。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1031559.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人源化抗体的改造方式及其优势

抗体是一类能与抗原特异性结合的免疫球蛋白,作为免疫系统中的重要组成部分,在许多疾病的预防和治疗中发挥着重要作用。抗体治疗的最早应用可以追溯到中国人接种“人痘”预防天花的记载算起,国际上一般公认的人痘接种术最早起源于中国公元10世…

创新未来,工信部组建【AI应用工作组】助力人工智能进步

随着人工智能大模型技术的快速发展和成熟,AI应用已经从早期的概念阶段进入了千行百业的实践落地阶段,三百六十行、行行需AI。如今,AI已经成为推动各行各业创新和发展的重要引擎,对经济、社会和文化的发展产生了深远的影响。为了进…

什么是葡萄酒结构,结构型葡萄酒好吗?

葡萄酒爱好者使用许多复杂的术语来描述葡萄酒的味道,有些是不言自明的,有些则有点模糊。如果你不是葡萄酒专家,你可能很难理解这个葡萄酒术语的全部含义。其中一个术语是葡萄酒结构,那么葡萄酒结构是什么意思呢?而结构…

react实现列表滚动组件

1.需求 在开发项目的时候,从服务端获取到数据列表后,展示给用户看:需要实现数据自动滚动效果,怎么实现呢?如下图所示: 2.实现 把上面需要实现的功能写成一个组件,页面直接调用该组件即可&#x…

视频号视频怎么下载(视频号如何下载里面的视频)

根据大家分享出来的视频号如何下载里面的视频的相关提供的下载方案,我们特别总结了多款可以下载视频号视频怎么下载的办法! 如果你还不会提取视频号里的视频,赶快来看看视频号里的视频怎么保存到相册的吧! 1:视频下载缓存 该方法…

Python中转换IP地址格式的方法

IP地址一般用字符串“XXX.XXX.XXX.XXX”表示。例如,“192.168.147.1”、“127.0.0.1”等。在确定主机IP地址段时,需要将IP地址的每段转换成数字。 1 inet_aton()方法 该方法的使用方法是 socket.inet_aton(ip_string) 其中,参数ip_string…

主机安全技术

主机安全 1、主机分类 类Unix主机 Unix:Solaris,AIXLiunx:Redhat,Centos,SUSE等 Windows主机 Windows server 2012,server 2008等 特殊主机 IBM iseris,大型机等等 2、主机风险 操作系统风…

微信这样的加人方式,既安全又解放双手

在当今竞争激烈的市场环境下,如何高效地管理和运营私域流量成为企业发展的关键。 1.批量自动化加好友的优势 (1)提高效率:批量自动化添加好友功能可以帮助企业添加大量潜在客户或目标客户。相比手动逐个添加好友,自动…

RocketMQ的消息存储(持久化机制)

一、RocketMQ的主要存储结构 RocketMQ 主要存储的文件包括CommitLog文件、ConsumeQueue 文件、IndexFile文件。 1.CommitLog RocketMQ将所有主题的消息都存储在CommitLog。Producer 发送消息至 Broker 端,然后 Broker 端使用同步或者异步的方式对消息刷盘持久化…

Java带APP的智慧工地项目源码

智慧工地利用移动互联、物联网、云计算、大数据等新一代信息技术,彻底改变传统施工现场各参建方的交互方式、工作方式和管理模式,为建设集团、施工企业、监理单位、设计单位、政府监管部门等提供一揽子工地现场管理信息化解决方案。 智慧工地项目技术架构…

vuejs - - - - - 递归组件的实现

递归组件的实现 1. 需求描述:2. 效果图:3. 代码3.1 封装组件代码3.2 父组件使用 1. 需求描述: 点击添加行,增加一级目录结构当类型为object or array时,点击右侧➕,增加子集点击右侧🚮&#x…

ETHERNET IP站转MODBUS RTU协议网

产品介绍 JM-EIP-RTU是自主研发的一款ETHERNET/IP从站功能的通讯网关。该产品主要功能是将各种MODBUS-RTU设备接入到ETHERNET/IP网络中。 JM-EIP-RTU连接到ETHERNET/IP总线中做为从站使用,连接到MODBUS-RTU总线中做为主站或从站使用。 产品参数 技术参数 l 网关…

leetcode:66. 加一(python3解法)

难度:简单 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入&…

【漏洞复现系列】二、weblogic-cve_2020_2883(RCE/反序列化)

Key words:T3协议,weblogic Server,反序列化 2.1、漏洞原理 ​cve_2020_2883 远程代码执行漏洞存在于 WebLogic Server 核心组件中,允许未经身份验证的攻击者通过 T3 协议网络访问并破坏易受攻击的 WebLogic Server,成功的漏洞利…

亚马逊、沃尔玛测评养号、采退需要解决防关联哪些问题?

大家好我是跨境平台测评养号七年从事经验的珑哥。养号环境软件开发,深度解决平台矩阵养号防关联,砍单,F号问题。 今天我给大家讲一下做亚马逊、沃尔玛测评项目需要用到的防关联、防封号环境的一些底层技术原理。这里讲的内容我相信很少有人能…

思科CCNA实验配置-视频教程

【微|信|公|众|号:厦门微思网络】 【微思网络www.xmws.cn,成立于2002年,专业培训21年,思科、华为、红帽、ORACLE、VMware等厂商认证及考试,以及其他认证PMP、CISP、ITIL等】 1: 思科CCNA实验配置——IOS基本…

vscode vue html 快捷键

css文件 选择多行 按下ctrl不放 按下鼠标滚轮不放&#xff08;鼠标中键&#xff09; 鼠标向下移动 同时修改多个相同的字符串 <style> .base-goods-item li {width: 304px;height: 404px;background-color: #eef9f4; } .base-goods-item li {display: block; } .base-…

IPEmotion 2023 R2支持快速导入MDF4文件

新发布的IPEmotion 2023 R2提供了多种新功能&#xff0c;其中一大新功能是支持快速导入MDF4文件和新的ASAM CMP标准。此外&#xff0c;现在还可用注释标记测量文件中的相关部分。 — 创新一览 — ■ 快速导入MDF4文件 • 在MDF4的导入选项中新增“加载行为”选项&#xff1a;…

【深度学习】Pytorch 系列教程(一):PyTorch数据结构:1、Tensor(张量):维度(Dimensions)、数据类型(Data Types)

目录 一、前言 二、实验环境 三、PyTorch数据结构 0、分类 1、Tensor&#xff08;张量&#xff09; 1. 维度&#xff08;Dimensions&#xff09; 0维&#xff08;标量&#xff09; 1维&#xff08;向量&#xff09; 2维&#xff08;矩阵&#xff09; 3维张量 2. 数据…

clickhouse学习之路----clickhouse的特点及安装

clickhouse学习笔记 反正都有学不完的技术&#xff0c;不如就学一学clickhouse吧 文章目录 clickhouse学习笔记clickhouse的特点1.列式存储2. DBMS 的功能3.多样化引擎4.高吞吐写入能力5.数据分区与线程级并行 clickhouse安装1.关闭防火墙2.CentOS 取消打开文件数限制3.安装依…