Abtract

generate语句允许细化时间(Elaboration-time)的选取或者某些语句的重复。这些语句可以包括模块实例引用的语句、连续赋值语句、always语句、initial语句和门级实例引用语句等。细化时间是指仿真开始前的一个阶段,此时所有的设计模块已经被链接到一起,并完成层次的引用。

Introduction

1.generate语法

  • 定义genvar,作为generate种的循环变量。
  • generate语句中定义的for语句,必须要有begin,为后续增加标签做准备。
  • begin必须要有名称,也就是必须要有标签,因为标签会作为generate循环的实例名称。
  • 可以使用在generate语句中的类型主要有:
    • ü  module(模块)
    • ü  UDP(用户自定义原语)
    • ü  门级原语
    • ü  连续赋值语句
    • ü  initial或always语句
  • 基本结构如下:

genvar 循环变量名;

generate

// generate循环语句

// generate 条件语句

// generate 分支语句

// 嵌套的generate语句

endgenerate

下面将就generate常用的几种情况举例说明。

2. generate-loop循环语句

3.generate-conditional条件语句

generate允许对语句进行条件选择,即将条件选择加入到generate中的for循环中,只例化条件成立时对应的语句或者module。

4.generate-case分支语句

generate-case分支语句与generate-条件语句类似,只不过将原来的分支语句换做了case语句。

Conclusion

genvar与generate是Verilog 2001才有的,功能非常强大,可以配合条件语句、分支语句等做一些有规律的例化或者赋值等操作,对于提高简洁代码很有帮助,同时也减少了人为的影响。

verilog2001 generate endgenerate相关推荐

  1. 【IEEE_Verilog-12.4】generate的用法

    12.4 Generate construct generate构造用于在模型中有条件地或实例化的生成块.生成块是一个或多个模块项的集合.一个生成块不能包含端口声明.参数声明.指定块或specpara ...

  2. 一把王者的时间,学会generate语句【Verilog高级教程】

    芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球 四社区联合力荐!近500篇数字IC精品文章收录! [数字IC精品文章收录]学习路线·基础知识·总线·脚本语言·芯片求职· ...

  3. 【HDL系列】乘法器(2)——阵列乘法器

    目录 一.阵列乘法器 二.Verilog设计 一.阵列乘法器 将上文中的AB两数相乘的例子: 4比特的AB两数相乘的竖式计算表示成如下,为了区分,方便在阵列格式中看出差异,图中标记了不同的颜色,每组颜 ...

  4. cshrc gvim 配置

    插件:https://github.com/amix/vimrc.git ## in .cshrcif (-f $HOME/.alias) thensource $HOME/.alias endifi ...

  5. Verilog中生成语句(generate)的用法

    一:generate Verilog-2001添加了generate循环,允许产生module和primitive的多个实例化,同时也可以产生多个variable,net,task,function, ...

  6. Verilog中generate语法和作用

    Verilog中generate语句的用法 在Verilog-2001中新增了语句generate,通过generate循环,可以产生一个对象(比如一个元件或者是一个模块)的多次例化,为可变尺度的设计 ...

  7. Verilog中generate语句的用法

    在Verilog-2001中新增了语句generate,通过generate循环,可以产生一个对象(比如一个元件或者是一个模块)的多次例化,为可变尺度的设计提供了方便,generate语句一般在循环和 ...

  8. Verilog generate循环

    一:generate Verilog-2001添加了generate循环,允许产生module和primitive的多个实例化,同时也可以产生多个variable,net,task,function, ...

  9. generate用法

    verilog2001中在呢个价四个关键字,generate,endgenerate, genvar, localparam. genvar是一个新增的数据类型,用在generate的循环中的标尺变量 ...

最新文章

  1. 转载 iOS js oc相互调用(JavaScriptCore) --iOS调用js
  2. java实现随机字母数字验证码
  3. 硬盘IO,SAS,SATA,和HD TUNE
  4. 复旦高等代数 I(17级)每周一题
  5. NVIDIA GPU 架构梳理
  6. kali 切换root权限_Ubuntu 被曝严重漏洞:切换系统语言 + 输入几行命令,就能获取 root 权限...
  7. Java基础---认识抽象类
  8. PHP生成器--动态生成内容的数组
  9. 【C语言】Simple Sorting(结构)
  10. 计算机文化基础第二次答案,中国石油大学2020年秋计算机文化基础第二次在线作业答案...
  11. CVE-2018-8120 漏洞分析
  12. matlab符号函数sgn,latex 符号函数sgn
  13. linux 文件擦除,[原创]在Linux下进行文件“粉碎”/擦除
  14. csgo怎么一直连接服务器失败,CSGO提示连接到官方任意服务器失败怎么办?
  15. 不良资产证券化之后,谁来买单?
  16. h5py使用基础笔记
  17. 三大主流Mac清理软件实测:Cleaner One | 柠檬清理 | CleanmyMac
  18. 访问网站浏览器左上角提示:windows 没有足够信息,不能验证该证书
  19. JIL Widget模拟器上网技巧
  20. 抖音视频解析PHP源码抖音解析php版api

热门文章

  1. 手绘板的制作——手绘(1)
  2. JavaScript事件冒泡和事件捕获
  3. 网页学习——JavaScript事件
  4. python爬取音乐专辑时间_Python爬取披头士乐队历年专辑封面-网易云音乐
  5. css指针光标样式小手图标
  6. iOS开源加密相册Agony的实现(一)
  7. 数据密集型系统设计:可靠性、可拓展性及可维护性
  8. 利用混淆矩阵及Kappa系数评价土地利用分类精度
  9. git clone出现 fatal: unable to access ‘https://github.com/...‘的两种解决方法
  10. 深度学习感知机(Perceptron)学习笔记