Verilog generate
文章目录
generate用法
关键字generate和endgenerate作为使用语法的起点,有三种衍生结构:
generate-for语句结构generate-if语句结构generate-case语句结构
使用generate的情况主要如下:
- 使用for循环对模块进行多次相似实例化
- 使用参数更改模块的结构或者设计
- 使用带有断言语句进行功能和形式验证
generate在综合过程中重复构造相似电路。
generate-for
使用generate-for之前,需要先声明一个genvar变量,用于for循环语句进行判断。
genvar i;
generate
for( i=0;i<15;i=i+1)
begin: loop
always @ (posedge clk or negedge rst_n ) begin
if( !rst_n ) begin
dout[i] <= 1'b0;
end
else begin
dout[i] <= din_a[i] ^ din_b[i];
end
end
end
endgenerate
// 如果for结构中没有使用always,注意要使用assign
genv

本文详细介绍了Verilog语言中的generate关键字及其衍生结构,包括generate-for、generate-if和generate-case,展示了如何通过这些结构实现模块的循环实例化、条件结构变化和分层访问。通过实例解析了它们在BCD加法模块中的应用。
最低0.47元/天 解锁文章
1488

被折叠的 条评论
为什么被折叠?



