(原创)verilog2001中generate的精妙用法
2008-12-24 22:50
417 查看
verilog2001中有generate这个语法,近日有用到,简单归纳如下:
语法:
1。genvar后面的for,变量必须是genvar变量;generate+if,不如`ifdef `else `endif;
2。for里必须有begin,哪怕只有一句;
3。begin必须有名称,原因见4;
4。这里例化的模块名称是inst[j].unit;
5。generate语句可以看作是标准化为块的综合指令。
应用实例:
generate可以用for,case,if。其中,generate实例化多个器件很简洁。
案例
generate
genvar j ;
for(j=0;j<=INST_NUM;j=j+1)
begin : inst
dff #(PARAMETER) unit(
.clk(clk),
.ena(ena),
.in(in),
.out(out)
) ;
end
endgenerate
generate还可以进行多个assign赋值!
案例
module anytest_v(
input clk,
input[7:0] datain,
output[7:0] dataout,
output finish
);
wire[7:0] mem[31:0];
wire[32*8-1:0] xxx;
//reg[7:0] i;
generate
genvar i;
for(i=0;i<=31;i=i+1)
begin :wiertech
assign mem[i]= 8'b0;
end
endgenerate
endmodule
其他相关文章,请看我大哥的这篇笔记《(筆記) 如何將memory轉成vector? (SOC) (Verilog) 》 真 OO无双
语法:
1。genvar后面的for,变量必须是genvar变量;generate+if,不如`ifdef `else `endif;
2。for里必须有begin,哪怕只有一句;
3。begin必须有名称,原因见4;
4。这里例化的模块名称是inst[j].unit;
5。generate语句可以看作是标准化为块的综合指令。
应用实例:
generate可以用for,case,if。其中,generate实例化多个器件很简洁。
案例
generate
genvar j ;
for(j=0;j<=INST_NUM;j=j+1)
begin : inst
dff #(PARAMETER) unit(
.clk(clk),
.ena(ena),
.in(in),
.out(out)
) ;
end
endgenerate
generate还可以进行多个assign赋值!
案例
module anytest_v(
input clk,
input[7:0] datain,
output[7:0] dataout,
output finish
);
wire[7:0] mem[31:0];
wire[32*8-1:0] xxx;
//reg[7:0] i;
generate
genvar i;
for(i=0;i<=31;i=i+1)
begin :wiertech
assign mem[i]= 8'b0;
end
endgenerate
endmodule
其他相关文章,请看我大哥的这篇笔记《(筆記) 如何將memory轉成vector? (SOC) (Verilog) 》 真 OO无双
相关文章推荐
- 【原创】关于generate用法的总结【Verilog】
- verilog中generate用法及参数传递(转)
- verilog中generate语句的用法
- Verilog中generate用法
- [转载]关于generate用法的总结【Verilog】
- verilog中generate用法及参数传递(转)
- Verilog中生成语句(generate)的用法
- verilog中generate的用法
- Verilog中generate用法
- 【原创】关于include用法的总结【Verilog】
- 关于generate用法的总结【Verilog】
- 关于generate用法的总结【Verilog】
- Verilog的generate的用法
- 【原创】加减计数器——标志变量的用法(Verilog)
- 【转载】关于generate用法的总结【Verilog】
- [转载]关于generate用法的总结【Verilog】
- verilog中generate用法及参数传递
- [原创][Verilog]个人.v文件书写规范
- verilog中的function用法与例子
- 【原创】The solutional manual of the Verilog HDL: A Guide to Digital Design and Synthesis (2nd)--ch08