掌握Verilog控制流:if-else、case、循环语句全解析
if-else-if 条件语句
用于决定是否执行特定语句,类似C语言。表达式为真执行第一语句,为假且有else则执行else部分。多语句需用begin-end包围。嵌套if省略else易混淆,建议总将else关联最近缺else的if,或用begin-end明确界定。最后else处理默认情况。
四种循环语句
forever 循环
持续执行块内语句,慎用避免仿真挂起。
repeat 循环
执行固定次数,表达式为X/Z视为零不执行。
while 循环
条件为真持续执行,条件变假退出。初始为假则不执行。
for 循环
三步控制:初始化计数器、评估条件、更新计数器。有明确始终,适合已知迭代次数场景。Verilog无++运算符,用i = i + 1。
设计实例:8位左移寄存器
对比无for循环(逐位手写赋值)与有for循环(可扩展、参数化宽度)实现。for循环大幅减少代码,配合参数化实现可复用不同位宽移位寄存器。测试平台含时钟生成、复位、加载、运行20周期验证。
Verilog