Advertisement

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)

还没有任何评论哟~