FPGA的设计艺术(16)逻辑设计中无刻不在的判断之if/case语句

本文介绍了Verilog中if和case语句的基本概念、语法及在逻辑设计中的作用。if语句用于根据布尔条件选择执行代码块,常用于多路选择器的建模;case语句则根据输入信号的值选择执行相应的代码块,常用于多路复用器的建模。文中通过具体示例展示了if和case语句在Verilog设计中的应用,并强调了合理使用嵌套语句以满足时序要求的重要性。
摘要由CSDN通过智能技术生成

前言

Verilog中的if或者case语句十分简单,但确实十分重要,我们的逻辑设计可以说一定离不开它,我们时时刻刻使用它,我们使用它进行建模,通常对应的是多路选择器这样的硬件单元或者变种。

我们通常将if语句或者case语句与generate语句中的generate if与generate case语句相比较,因为都有if和case,实在太像了,但是它们之间其实有着本质的区别,本系列前面的generate有关的文章就讲到过,generate if的条件是常量,它综合出来的语句其实就是分支中的一条,满足if条件的那一条,而if语句综合出来的电路,则每个分支都包含在内,是一个选择的关系。

而且generate语句一般在always块外部,它用于判断哪个块有效,例如:

// Use a parameter to control our build

parameter debug_build = 0;

  
// Conditionally generate a counter

generate

  if (debug_build) begin

    // Code for the counter

    always @(posedge clock, posedge reset) begin

      if (reset) begin

        count <= 4'h0;

      end

      else begin

        count <= count + 1;

      end

    end

  end

  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李锐博恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值