【Verilog语法009】Verilog 6种延时

2023-10-27

一共6种组合:
verilog有3种类型的赋值: 阻塞赋值、非阻塞赋值和连续赋值。
延时(#1)写的位置有2种:2*3=6
当延时(#1)写在整个表达式最前面时,
  三种类型的赋值,延时结果一致是:等待_忽略中间变化再计算
当延时(= #1)写在等于号(=)后面时:
  1.连续赋值语法错误排除。
 2.阻塞赋值是:先计算后延时再赋值
 3.非阻塞赋值是:直接跟随

延时写在表达式最前面 #1 a=b+1
阻塞=
非阻塞<=
连续assign
等待_忽略中间变化再计算
延时写在表达式a=#1 b+1后面
阻塞=
非阻塞<=
连续assign
先计算后延时再赋值
直接跟随 常用
语法错误
6种延时
reg A,B;
wire C1,C2;
reg C3,C4,C5,C6;
initial begin
	A = 0; B = 0;
	C3 = 0; C4 = 0; C5 = 0; C6 = 0;
    #100;
	#6 A = 1;
	#2 A = 0;
	#1 A = 1;
	#1 A = 0;
	#2 A = 1;
	#6 A = 0;
end
// 先等待后计算
// 先计算后等待
// 忽略等待内的变化
// 不忽略等待内的变化

// 三种写法1个意思。
//1.先等待5周期,后计算。
//    1.1等待中的变化忽略。再取延时5周期后此时的A\B
assign #5 C1 = A +B;
always @(*) begin 
    #5 C3 = A +B;
end
always @(*) begin
    #5 C5 <= A +B;
end
//  1.2等待中的变化不忽略。
assign  C2 = #5 A +B;//非法 涉及存储
//2.后等待,先计算A+B
//    2.1等待中的变化忽略。
always @(*) begin
    C4 = #5 A +B;
end
//    2.2等待中的变化不忽略。
// 时刻跟踪原始信号,延时固定的值。是我们理想中的线路延时。不会过滤。
always @(*) begin
    C6 <= #5 A +B;
end

在这里插入图片描述

错误写法

//错误写法,编译不会报错,运行会卡死。因为一直在0ns处迭代。
   // always  clk90   <=#200  clk0;
   // always  clk180  <=#400  clk0;
   // always  clk270  <=#600  clk0;
//错误写法
   // always(*) clk90   <=#200  clk0;
   // always(*) clk180  <=#400  clk0;
   // always(*) clk270  <=#600  clk0;
//正确写法
   always@(*) clk90   <=#200  clk0;
   always@(*) clk180  <=#400  clk0;
   always@(*) clk270  <=#600  clk0;

参考
https://blog.csdn.net/qq_43214511/article/details/111874481

当延时用错了会报下面错误:
Error (suppressible): (vsim-3601) Iteration limit reached at time 0 ns.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Verilog语法009】Verilog 6种延时 的相关文章

  • 如何创建仅包含某些可扩展项目的列表?

    我正在尝试编写一个包含一些可扩展项目和一些单个项目的列表 我希望拥有它 以便当单击单个项目或可扩展列表子项时 我可以根据该项目的文本调用意图 我认为可扩展列表可以工作 但是有没有办法在可扩展列表中设置项目 以便它们没有可扩展列表图标 我应该
  • 如何删除/统计 s3 存储桶中的对象?

    所以我知道这是一个常见问题 但似乎没有任何好的答案 我有一个桶 里面有大量 我不知道有多少 文件 都在2k一个以内 1 我如何知道我有多少个这些文件没有列出他们 我使用过 s3cmd rb aws s3 和 jets3t 的东西 我能找到的
  • 在 Python 中使用列表理解来执行类似于 zip() 的操作?

    我是一名 Python 新手 我想做的事情之一就是围绕列表理解进行思考 我可以看到这是一个非常强大的功能 值得学习 cities Chicago Detroit Atlanta airports ORD DTW ATL print zip
  • 合并多个列表

    鉴于我有一个列表列表 List
  • 列表列中的设置操作

    我正在尝试做集合运算在存储在列表列中的向量之间 例如this https stackoverflow com questions 38712196 text file to dataframe with a list column DT l
  • 从通用列表中删除项目

    我有以下方法 我希望从我的收藏中删除与产品 ID 匹配的项目 看起来相当简单 但我有一个例外 基本上我的收藏已经不同步了 那么从集合中删除项目的最佳方法是什么 public void RemoveOrderItem Model Order
  • Python - 如何将列表保存为图像?

    我生成一个常规列表 是否可以将此列表保存为 JPEG 图像或 PNG 或其他格式 以便我可以打开图像并查看它 我目前正在尝试使用 python 成像库 PIL 来解决这个问题 这是可能的解决方案之一 使用以下方法创建一个空图像对象 Imag
  • Java 中的撤消和重做实现

    我想问一个关于Java中List的问题 很容易实现列表中元素的删除 添加和搜索 但是Java中如何实现列表的撤销和重做呢 谁可以帮我这个事 您可能希望实施一个Command Design Pattern为了这 一个不错的简化示例List可以
  • 如何加快列表理解速度

    以下是我的清单 col red yellow blue red green yellow pink orange brown pink brown 我的目标是消除每个列表中出现一次的项目 这是我的代码 eliminate w for w i
  • 使用 sapply 的列表和矩阵

    我有一个也许是基本的问题 我在网上搜索过 我在读取文件时遇到问题 尽管如此 我还是按照 Konrad的建议设法读取了我的文件 我很欣赏这一点 How to get R to read in files from multiple subdi
  • 将不同类型的对象与可比较的对象进行比较

    A java public class A implements Comparable private String id private String name public A String a String b id a name b
  • 如何在 LINQ 中执行 String.Replace?

    这是我正在尝试做的事情 但没有成功 我想打电话from x in list1 and join y in list2 where regex Match x Value Success 完成这些步骤后我需要打电话String Replace
  • 我想将对象列表添加到 firestore 文档中,-flutter

    我想将对象列表添加到 firestore 文档 我定义了产品数据模型 我还有类别数据模型 我想将类别列表添加到 firestore 中的产品文档中 我将类别添加到临时列表 然后将值放入product categories 产品 类别 类别t
  • 如何在 switch 语句中将向量作为参数传递

    我对问题的谷歌搜索没有返回有用的结果和文档 switch没有告诉我如何做 所以我希望我能在这里得到答案 假设我有一个向量 cases lt c one two three 我想使用 switch 语句并将这些元素作为 switch 语句的参
  • Python 3 中的递归搜索 JSON/DICT

    我在 Python 3 中实现了一些 API 这些 API 允许我根据班级代码接收有关学校的信息 但我想知道如何通过类代码获取信息 例子 我输入代码GF528S我希望程序告诉我班级 3C INF 地址 Address 1 Milan 如果可
  • 检查子字符串是否在字符串列表中?

    我之前已经找到了这个问题的一些答案 但它们对于当前的Python版本来说似乎已经过时了 或者至少它们对我不起作用 我想检查字符串列表中是否包含子字符串 我只需要布尔结果 我找到了这个解决方案 word to check or wordlis
  • Django查询:如何过滤对象以排除列表中的id?

    如何在查询中进行过滤 以便结果排除 ID 属于列表的任何对象实例 可以说我有 object id list 1 5 345 MyObject objects filter Q time gte datetime now Q what to
  • 属性错误:“列表”对象没有属性“拆分”

    我正在尝试读取一个文件并用逗号分隔每行中的一个单元格 然后仅显示第一个和第二个单元格 其中包含有关纬度和经度的信息 这是文件 time 纬度 经度 类型2015 03 20T10 20 35 890Z 38 8221664 122 7649
  • 按多个键分组并对字典列表的值进行汇总/平均值

    在Python中按多个键进行分组并对字典列表进行汇总 平均值的最Pythonic方法是什么 假设我有一个字典列表 如下所示 input dept 001 sku foo transId uniqueId1 qty 100 dept 001
  • 将字符串连接到python列表中所有元素的末尾

    我想知道如何将字符串连接到列表中所有元素的末尾 例如 List1 1 2 3 string a output 1a 2a 3a 在列表理解和使用中重建列表str format在两个参数上 gt gt gt string a gt gt gt

随机推荐

  • C语言的强制类型转换本质是什么?

    数据在计算机中是如何存储的 程序最终是要在计算机中运行的 中间产生的数据会暂存在内存 寄存器 cache中 也可以写到硬盘中保存起来 对计算机而言 数据没有什么变量类型 int char等 的区别 以字节为单位 计算机里存在的不是0就是1
  • AES128/ECB/PKCS5Padding 的实现

    AES的相关基础知识直接看WikiPedia 高级加密标准 附上 C C 可用代码 AES Cipher
  • 第15届全国大学生知识竞赛 2022ciscn初赛 部分wp

    Misc ez usb 1 键盘流量 USB协议数据部分在Leftover Capture Data域中 数据长度为八个字节 其中键盘击键信息集中在第三个字节中 如图 发现击键信息为0x06 即对应的按键为C 2 鼠标流量 USB协议鼠标数
  • Quoit Design (白话--分治--平面点对问题)

    Quoit Design Problem Description Have you ever played quoit in a playground Quoit is a game in which flat rings are pitc
  • php 获取图片的宽高,js如何获取图片宽高

    js获取图片宽高的方法 1 onload后在打印 2 通过complete与onload一起混合使用 3 通过定时循环检测获取 代码为 from check width img width height img heig 本教程操作环境 w
  • 二十天入门Java系列:第一天

    文章目录 第一天 01 01 计算机基础知识 计算机概述 了解 01 02 计算机基础知识 软件开发和计算机语言概述 了解 01 03 计算机基础知识 人机交互 了解 01 04 计算机基础知识 键盘功能键和快捷键 掌握 01 05 计算机
  • FPGA查找表

    一 查找表 Look Up Table 的原理与结构 采用这种结构的PLD芯片我们也可以称之为FPGA 如altera的ACEX APEX系列 xilinx的Spartan Virtex系列等 查找表 Look Up Table 简称为LU
  • 任意整数从0-x累加的巧妙算法

    巧妙的累加算法 include
  • 【实验七】【使用规则实现数据完整性】

    文章目录 数据完整性 约束的形式 规则与默认值的SQL语句 一 创建一个关于开课学期的规则 二 创建一个关于性别的规则 三 创建一个关于学分的规则 总结 Reference 数据完整性 约束的形式 下边通过一个总体说明约束怎样保证数据完整性
  • 利用CDN加速react webpack打包后的文件

    此文不介绍webpack基本配置 如果对基本配置有疑问请查阅官方文档 1 配置webpack config js 将output publicPath改成上传到的cdn地址 例 对应上面上传配置 publicPath https your
  • vue 数据代理和数据监测

    vue 数据代理和数据监测 数据代理和数据监测是vue 里面一个很重要的概念 但是他们在vue中扮演什么角色 了解这些前得先了解 数据代理和数据监测的概念 vue中双向绑定 v model和v bind 指令都能将模型数据反应到页面 而且每
  • Leetcode56.合并区间——善用排序与数据结构

    文章目录 引入 题解 引入 该题是这样的 56 合并区间 给出一个区间的集合 请合并所有重叠的区间 示例 1 输入 1 3 2 6 8 10 15 18 输出 1 6 8 10 15 18 解释 区间 1 3 和 2 6 重叠 将它们合并为
  • R语言ggpubr包优雅绘制带统计数据的箱线图

    ggpubr包是个很经典的R包 能绘制专业的论文绘图 它是对ggplot2进行了加强 R包的说明也是介绍用于创建和自定义基于 ggplot2 的出版物绘图 就是个为SCI而生的R包呀 今天咱们使用ggpubr绘制专业的论文需要的带统计数据的
  • 一学就会——电脑安装CentOS 8虚拟机

    该课程是 Linux应用开发学习路线图 的基础课程 简介 很多同学在学习CentOS 的时候 苦于没有CentOS 环境 从0搭建一个CentOS 环境 对应小白来说 确实是一个挑战 本教程从0讲解如何安装一台CentOS 咱们只需要一台电
  • 从 0 到 1 落地前端工程化

    你将获得 初识 总结前端工程化技能图谱 了解 梳理前端工程化落地流程 掌握 搭建前端工程化基建项目 提高 实战前端工程化解决方案 作者介绍 JowayYoung 资深前端工程师 目前就职于网易互动娱乐事业群 负责前端工程化与前端架构设计相关
  • vue 从A页面跳到B页面添加数据,从B页面返回上一页(A页面)时实时刷新A页面的数据

    A页面 在activated中写需要刷新的数据的接口 data return page 1 pageSize 10 total 0 tableData methods 查询数据的方法 getAuthList this ajax get ad
  • 回型矩阵C++代码

    题目描述 给你一个整数n 按要求输出n n的回型矩阵 输入描述 输入一行 包含一个整数n 1 lt n lt 19 输出描述 输出n行 每行包含n个正整数 示例1 输入 4 输出 1 2 3 4 12 13 14 5 11 16 15 6
  • Spring——Spring事务的实现方式及传播特性

    Spring事务的特性及隔离级别同事务 详情请见事务 什么是事务 事务的特性 事务的隔离级别 醉酒的戈多的博客 CSDN博客 一 Spring事务的实现方式及原理 1 实现方式 在使用Spring框架的时候 有以下两种事务的实现方式 编程式
  • c#通过一个程序控制另外四个程序同时启动

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 初衷是什么 二 使用步骤 1 获取父体控件的坐标位置 3 界面点击实现代码 4 实现效果展示 5 源码下载链接 总结 前言 本篇文章主要是利用C 实现钩子
  • 【Verilog语法009】Verilog 6种延时

    一共6种组合 verilog有3种类型的赋值 阻塞赋值 非阻塞赋值和连续赋值 延时 1 写的位置有2种 2 3 6 当延时 1 写在整个表达式最前面时 三种类型的赋值 延时结果一致是 等待 忽略中间变化再计算 当延时 1 写在等于号 后面时