集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1825|回复: 1

generate

[复制链接]
zxopenluyutong 发表于 2021-5-10 09:29:51 | 显示全部楼层 |阅读模式
在设计中,很多情况下我们需要编写很多结构相同但参数不同的赋值语句或逻辑语句块,当参数量很大的情况下,原始的列举就会变得很笨拙甚至是不可行的。C语言处理这种问题通常情况下会使用如for循环语句来完成多次的相同操作。而verilog 语言呢?同样的为我们提供了generate语句块来帮助我们完成这些过程。

基本概念

generate的主要功能就是对module,net,reg,parameter,assign,always,task,function进行复制,genvar是generate语句中的一种变量类型,用以在 generate-for 语句中声明一个正整数的索引变量 (如果将“X”或“Z”或者“负值”赋给genvar 变量将会出错)。genvar 变量可以声明在 generate 语句内,也可以声明在 generate 语句外。

generate 语句有 generate-for、generate-if 和 generate-case 三种语句,下面梦翼师兄和大家一起来学习这三种语句。



genrate-for



使用generate_for的时候,必须要注意以下几点要求:



a) 必须使用genvar申明一个正整数变量,用作for的判断变量;



b) for里面的内嵌语句,必须写在begin_end里面,哪怕只有一句;



c) begin_end需要一个名字。


zxopenhl 发表于 2021-6-16 16:22:23 | 显示全部楼层
generate   
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-1 13:28 , Processed in 0.057173 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表