assign相当于一条连线,将表达式右边的电路直接通过wire(线)连接到左边,左边信号必须是wire型。当右边变化了左边立马变化,方便用来描述简单的组合逻辑。示例:

 wire a, b, y; assign y = a & b;

综合结果图:

当对一组信号进行assign,就需要放到generate中,并用for语句包起来,并且注意,在Synopsys DC中, 每个for 都要配上begin end。示例:

input  wire [QUANT*BITWID-1:0]       predecessor_vertex_i;
wire [BITWID-1:0]   predecessor[0:QUANT-1];
genvar              j;
generatefor (j=0; j<QUANT; j=j+1)begin: vector2arrayassign predecessor_vertex[j][BITWID-1:0]= predecessor_vertex_i[BITWID*(j+1)-1:BITWID*j];endendgenerate

你可以理解为画一条导线,将等号两边的两个信号连起来

转自:https://www.zhihu.com/question/24208772

怎样理解Verilog中的assign?相关推荐

  1. verilog中assign语句

    /************************************** * Module: assign * Date:2014-08-10 * Author: hemmingway@163. ...

  2. Verilog初级教程(15)Verilog中的阻塞与非阻塞语句

    文章目录 前言 正文 阻塞赋值 非阻塞赋值 往期回顾 参考资料以及推荐关注 前言 本文通过仿真的方式,形象的说明阻塞赋值以及非阻塞赋值的区别,希望和其他教程相辅相成,共同辅助理解. 正文 阻塞赋值 阻 ...

  3. Verilog初级教程(12)Verilog中的generate块

    文章目录 前言 正文 generate for generate if generate case 参考资料 本系列博文 前言 verilog中的generate块可以称为生成块,所谓生成,可以理解为 ...

  4. Verilog初级教程(11)Verilog中的initial块

    文章目录 前言 正文 语法格式 initial块是用来干什么的? initial块何时开始又何时结束? 一个模块中允许有多少个initial块? 参考资料 写在最后 前言 仿真中通常会依次执行一组Ve ...

  5. Verilog初级教程(16)Verilog中的控制块

    文章目录 前言 正文 条件语句if 语法 硬件实现 循环语句 forever repeat while for 往期回顾 参考资料及推荐关注 前言 硬件行为的实现离不开条件语句和其他控制逻辑流的方式. ...

  6. Verilog初级教程(21)Verilog中的延迟控制语句

    文章目录 前言 正文 延迟控制语句 事件控制语句 Named Events Event or operator 往期回顾 参考资料及推荐关注 前言 Verilog中的延迟控制有两种类型–延迟和事件表达 ...

  7. Verilog初级教程(20)Verilog中的`ifdef 条件编译语句

    文章目录 前言 正文 语法 示例 Testbench文件 往期回顾 参考资料及推荐关注 前言 `ifdef条件编译语句在逻辑设计中还是很常见的,但也常见一些滥用的情况,这应该避免. 应该在什么情况下使 ...

  8. Verilog初级教程(14)Verilog中的赋值语句

    文章目录 前言 正文 合理的左值 过程性赋值(Procedural assignment) 连续赋值 过程连续性赋值 往期回顾 前言 何为赋值语句?即将值放到线网或者变量上,这种操作称为赋值,英文:a ...

  9. verilog always语法_Verilog初级教程(20)Verilog中的`ifdef 条件编译语句

    前言 `ifdef条件编译语句在逻辑设计中还是很常见的,但也常见一些滥用的情况,这应该避免. 应该在什么情况下使用呢? 例如:一部分代码可能有时候用,有时候不用,为了避免全部编译占用资源,可以使用条件 ...

最新文章

  1. 关于C++默认拷贝构造函数产生的问题的讨论
  2. python 命名实体识别_使用Python和Keras的有关命名实体识别(NER)的完整教程
  3. C - And and Pair
  4. ThreadLocal知识介绍
  5. Windows 8桌面的尴尬
  6. vs中实现声音录制并保存到指定文件_别人直播怎么录制视频?这三种方法你可以不知道...
  7. python3读写excel文件_Python3读写 EXCEL文档
  8. vue在html中写style,vue开发之style(六)(CSS页面布局之样式、背景、文字)
  9. switch语句训练
  10. 「leetcode」738.单调递增的数字【贪心算法】详细讲解!
  11. 用户控件中复杂属性的设计时支持
  12. LINUX清理垃圾桶提示“没有权限”或“目录非空”
  13. 怎么写linux的sh文件,linux – 什么是.sh文件?
  14. Java常见设计模式
  15. java 正则判断二进制_如何在Java正则表达式匹配中使用IsAlphabetic二进制属性?
  16. “Win7内部版本7600此Windows副本不是正版”解决方法
  17. 简述扁平式管理的技术手段
  18. 移动应用开发跨平台工具imag.js入门
  19. java web jsp页面跳转,【体育竞投网】-√[官网线路检测]
  20. android百度地图定位跳转中心点,百度地图,拖动地图,定位marker固定在屏幕中心位置...

热门文章

  1. 微信使用教程(微信怎么玩?微信公众平台教程)
  2. 图数据库在中国移动金融风控的落地应用
  3. 富士康小米们的印囧之路
  4. 含有大小写字母的字符串按照a-zA-Z排序
  5. RS485/RS232/RS422接口定义
  6. 团战可以输、提莫必须死 oj
  7. 关于居家隔离从而彻底远程工作一周的这点事
  8. C语言中在写输入代码时,在几个%d之间不加空格分开,与用逗号分开,以及采用a=%d,这样写的输入代码有什么区别呢?
  9. 浏览器真的能“永不假死”?——六款主流浏览器防假死功能测试
  10. dsh - Distributed shell, or dancer's shell