首页 > 其他分享 >verilog阻塞赋值非阻塞赋值和组合时序逻辑

verilog阻塞赋值非阻塞赋值和组合时序逻辑

时间:2023-08-16 22:22:41浏览次数:37  
标签:逻辑 wire 阻塞 时序 verilog net 赋值

阻塞赋值=

非阻塞赋值<=

 

具体可参考https://blog.csdn.net/Times_poem/article/details/52032890

基本原则:

1.时序逻辑一定要用非阻塞赋值<=,且敏感列表中有posedge就用<=

2.组合逻辑一定要用阻塞赋值=,敏感列表没有posedge就用=,有assign就用=

3.时序逻辑和组合逻辑必须分成不同的模块,即一个always中只能有=和<=中的一种

 

部分报错信息(参考 https://www.bilibili.com/read/cv12437719)

[Synth 8-2576] procedural assignment to a non-register Data is not permitted 

    always 块中出现了wire型,改正即可。
[Synth 8-2442] non-net port Data cannot be of mode input

    reg不能作为输入 改为wire型(?)。

[8-2442],一般来说,在设计中,你不清楚输入信号是组合逻辑输出或者是寄存器型输出,所以一般默认为线性-wire,而输出不同,输出则是有自己确定(),这样就可明确到底是输出了reg型还是net()

标签:逻辑,wire,阻塞,时序,verilog,net,赋值
From: https://www.cnblogs.com/yhish/p/17636369.html

相关文章

  • 把数组对象最外层某个属性的值赋值给子集
    /**功能需求:把数组对象最外层某个属性的值赋值给子集*arr:要操作的数组对象*propertyName:要操作的属性名*value:用来保存最外层对象属性的值*/functionassignValueToChildren(arr,propertyName,value)......
  • fastapi 接口阻塞问题处理
    原文地址:https://blog.csdn.net/qq_42006301/article/details/124873383背景在使用fastapi框架开发时,遇到一个坑,在请求某个耗时的接口时,再请求其他接口,发现请求都被阻塞卡住了,经过排查问题,发现是async使用不当导致的问题复现这里写了一个小demo文件,里面有耗时函数work和两个......
  • verilog中端口定义方式以及如何使用变量
    一、module端口定义方式目前有两种方式能够对module端口进行定义,第一种是我目前使用比较多的,把I/O说明写在端口声明语句里,方式A:1moduleblock(2inputa,b,3outputc,d4);56assignc=a|b;7assignd=a&b;8endmodule第二种方式之前使用的较少,......
  • C#实现异步阻塞TCP(SocketAsyncEventArgs,SendAsync,ReceiveAsync,AcceptAsync,ConnectAsyn
    //Thisclasscreatesasinglelargebufferwhichcanbedividedup //andassignedtoSocketAsyncEventArgsobjectsforusewitheach //socketI/Ooperation. //Thisenablesbuffferstobeeasilyreusedandguardsagainst //fragmentingheapmemory.......
  • while读取文件 Shell中while循环的陷阱, 变量实效, 无法赋值变量
     在写while循环的时候,发现了一个问题,在while循环内部对变量赋值、定义变量、数组定义等等环境,在循环外面失效。一个简单的测试脚本如下:#!/bin/bashecho"abcxyz"|whilereadlinedonew_var=$linedoneechonew_varisnull:$new_var? 执行结果证明,$new_v......
  • 对DataFrame某列的部分(某些)元素赋值
    首先创建一个DataFrame >>>importpandasaspd>>>df=pd.DataFrame({'brand':['YumYum','YumYum','Indomie','Indomie','YumYum'],'style':['cup',......
  • 并发并行;同步异步;阻塞非阻塞
    并发/并行;同步/异步;阻塞/非阻塞并发/并行#并行同一时刻,执行多个任务的能力,并行必须是多cpu支持#并发同一时间段内,执行多个任务的能力,所有操作系统都支持并发,单核cpu也可以并发#串行多个任务依次进行,每个任务必须等待上一个任务完成才能开始#扯出去1.python开启多......
  • Java Map初始化赋值 Map初始化和Map赋值
    JavaMap初始化赋值原文链接:https://www.python100.com/html/105098.html一、Map初始化Map是Java中的一种数据结构,用于存储键值对。初始化Map有两种主要方法。第一种方法使用put方法手动为Map添加键值对;第二种方法使用静态代码块初始化Map。1.put方法手动添加键值对put方法......
  • 生产环境 e.printStackTrace 导致的 控制台阻塞,导致的请求一致pending无返回
    首先该服务是使用java调用控制台脚本启动的jar包 同时java调用服务的控制部分也理所应当的Processprocess=null;try{process=Runtime.getRuntime().exec(cmd,null,null);process.getO......
  • 自定义类给窗体的控件赋值
    前面我们有说到 多线程给窗体的控件赋值 详见遇到问题-UI界面无响应,多线程解决UI界面无响应问题现在有一种新的情况,我想在另一个类中给窗体的控件赋值(这在记录程序执行进度的时候常用到),我们仍可以用委托 首先在自定义类的外面 声明一个委托模块 publicdelegate......