Verilog logic generator block
发布时间
阅读量:
阅读量
应用场景:在实际开发过程中,常常需要编写大量结构一致但参数各异的组合逻辑或时序逻辑语句,当参数数量庞大的时候,传统的手动列举方式将难以满足需求。C语言中通常采用for循环来应对此类问题,而Verilog语言则引入了generate语句作为解决方案。
generate语句的核心作用在于实现对模块的批量实例化,并能够对reg、assign、always、task等语句进行复制操作。
分类:generate块主要可以划分为generate for、generate if以及generate case三种类型。
generate for
(1)应采用genvar关键字声明一个正整数值的变量,用于for循环的条件判断。
(2)所有需要重复执行的语句必须置于begin与end之间,即使仅包含一条语句。
(3)for循环需指定一个类似模块名称的标识符,并将其放置在begin之后。
例:
module generate_for(
input [7:0] data_in,
output [1:0] t0,
output [1:0] t1,
output [1:0] t2,
output [1:0] t3
全部评论 (0)
还没有任何评论哟~
