verilog case语句_Verilog中generate的使用

本文从微信公众号--数字IC小站,​转载,欢迎关注,微信公众号更新更多更快~

https://mp.weixin.qq.com/s/QDUCofxdDAMT8SJvJgaXMA​mp.weixin.qq.com

Verilog中的generate语句常用于编写可配置的、可综合的RTL的设计结构。它可用于创建模块的多个实例化,或者有条件的实例化代码块。然而,有时候很困惑generate的使用方法,因此看下generate的几种常用用法。

generate的结构类型

我们常用generate语句做三件事情。一个是用来构造循环结构,用来多次实例化某个模块。一个是构造条件generate结构,用来在多个块之间最多选择一个代码块,条件generate结构包含if--generate结构和case--generate形式。还有一个是用来断言。

在Verilog中,generate在建模(elaboration)阶段实施,出现预处理之后,正式模拟仿真之前。因此。generate结构中的所有表达式都必须是常量表达式,并在建模(elaboration)时确定。例如,generate结构可能受参数值的影响,但不受动态变量的影响。

Verilog中的generate块创建了新的作用域和新的层次结构,就像实例化模块一样。因此在尝试对generate块中的信号进行引用时,很容易因此混乱,因此请记住这一点。

1.generate循环结构

generate循环的语法与for循环语句的语法很相似。但是在使用时必须先在genvar声明中声明循环中使用的索引变量名,然后才能使用它。genvar声明的索引变量被用作整数用来判断generate循环。genvar声明可以是generate结构

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值