Verilog语法--生成块语句

目录

  • 什么是生成块
  • 生成块语句
    • if语句
    • case语句
    • 循环语句

什么是生成块

生成块能够动态的生成Verilog的代码,可以用于对矢量中的多个位进行重复操作、多个模块的实例引用并根据程序中的参数确定程序中是否包含哪段代码。生成语句可以控制变量的声明、任务和函数的调用。在编程时,可以使用关键字generate_endgenerate来表明生成块语句的范围。

生成块语句

生成块语句根据功能可以分为三种形式,它们分别是条件、case和循环。

if语句

generate 
if(condition)
    operation_1
else
    operation_2
endgenerate

其中,“condition”是逻辑表达式作为判决条件。当判决条件为真时,就进行“operation_1”操作;否则,进行“operation_2”操作。

case语句

generate 
case(constant_express)
  value_1:operation_1
  value_2:operation_2
....
  value_n:operation_n
  default:operation_default
endgenerate

循环语句

generate 
genvar genvarvar
for(genvarvar=start_value:loop_condition:circle_express)
begin:instant_name
    operations
end
endgenerate

在结构中,“start_value”、“loop_condition”、“circle_express”具有和一般for循环的相似。

你可能感兴趣的:(FPGA)