0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA学习系列:if-else与case

FPGA学习交流 2018-06-01 16:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

设计背景:

不管是在什么软件和硬件语言,我们在我们的代码中都或多或少的用到这两条语句,if..else与case语句,今天我们将学习verilog中的这两条语句,其实不管在什么语言中这两个语句都是一样的逻辑。

设计原理:

if...else 条件语句的作用是根据指定的端盘条件是否满足来确定下一步要执行的操作他们的书写格式如下

(1)if (条件语句) (2)if(条件语句) (3)if(条件语句)

语句 语句 语句

else else if(条件语句)

语句 语句

else

语句

(1)语句是if(条件语句)满足则条件成立,也就是这个逻辑执行结果为1,则执行条件语句成立执行的语句,如果不满足,就执行else给出的条件语块,然后才推出这个条件语句。


(2)语句是if(条件语句)满足则条件成立,也就是这个逻辑执行结果为1,则执行条件语句成立执行的语句,如果不满足则直接推出条件语句。


(3)语句是if(条件语句)满足则条件成立,也就是这个逻辑执行结果为1,则执行条件语句成立执行的语句,如果不满足,就判断else if(语句块)是否满足,如果满足就就执行else if 条件给出的语句,如果也不满足这个条件就执行else 给出的语句,然后执行完就退出条件语句。

if ... else 条件语句也允许语句的嵌套也就是

if(...)

..

else

if()

...

else

等语句块

代码演示

module led_run (a, b, c);

input a, b; //定义输入输出

output reg c;

always @ (*)

if(a) //判断a是否为1

c = b; //如果是1的话,就是b的值给c

else

c = ~b; //如果不是1的话,就把b的反值给c

endmodule

仿真图:

仿真中我们可以看到和我们写的分析逻辑一样,a = 1 的时候。b = 0, c = 0 ,a = 0的时候, b = 0,c = 1 ........

case 语句是另一种可以实现多路分支控制的分支语句,和使用if - else 相比,采用case 语句实现多路控制看起来代码逻辑看起来更加清楚明了。

case (控制表达式)

<分支表达式1> : 语句块 1

<分支表达式2> : 语句块 2

<分支表达式3> : 语句块 3

...............

default : 语句块;

endcase

控制表达式代表着对程序流向进行控制的控制信号,各个分支语句表达式代表着控制表达式的状态取值,通常分支表达式都是一些常量表达式,各个语句在分支表达式满足的情况下执行相应的语句块语句,最后有一个关键字default 分支项,这个项可以缺失,在case语句中分支语句的值各不相同,如果相同就会出现矛盾的现象,这应该不是我们想要的。

代码演示

0moduleled_run (a,b,sel,c);

1

2 inputa,b; //定义输入输出

3 input[1:0]sel;//输入选择位

4 outputregc;

5

6 always@(*)

7 case(sel)

8 2'b00 :c =a;//选择位为0,把a值给c

9 2'b01:c =b; //选择位为1,把b值给c

10 2'b10:c =~a;//选择位为2,把a反值给c

11 2'b11:c =~b;//选择位为3,把a反值给c

12 default:c =0;//否则c =0

13 endcase

14

15endmodule

仿真图:


仿真中我们可以看到和我们写的分析逻辑一样,a = 1 的时候。b = 0,sel = 1;c = 0 ,a = 1的时候, b = 0,sel = 0,c = 1 ........


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Case
    +关注

    关注

    0

    文章

    28

    浏览量

    13788
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Altera Agilex 5系列FPGA与SoC产品荣膺2025全球电子成就奖

    近日,全球 FPGA 创新技术领导者 Altera 的 Agilex 5 FPGA 与 SoC 产品系列,荣获 2025 年 AspenCore 全球电子成就奖(WEAA)的处理器/DSP/F
    的头像 发表于 12-03 11:13 443次阅读

    Altera Agilex 5 D系列FPGA和SoC家族全面升级

    Agilex 5 D 系列 FPGA 和 SoC 家族全面升级,为中端 FPGA 应用能力带来巨大飞跃——逻辑单元、内存、DSP/AI 算力提升高达 2.5 倍,外存带宽提升高达 2 倍,轻松驾驭功耗和空间受限环境中的高计算性能
    的头像 发表于 11-25 14:42 1067次阅读

    开源RISC-V处理器(蜂鸟E203)学习(二)修改FPGA综合环境(移植到自己的Xilinx FPGA板卡)

    1.简述 首先感谢芯来开源了蜂鸟E203 risc-v处理器,提供了比较完整的工程环境、配套的软硬件。但是配套的FPGA板卡实在太贵,对于自费学习的来说是不小的学习成本,而且我也认为完备环境
    发表于 10-31 08:46

    开发单片机需要学习什么?软件编程的 4 个关键层次

    ,缺一不可。 第一层是 C 语言基础语法。这是单片机编程的 “通用语言”,需熟练掌握变量(字符型、整型、浮点型)、函数(定义、调用、返回值)、流程控制(if-else、for 循环、switch),以及数组、指针的基本用法。不用追求复杂语法,重点是 “能用简洁代码实现
    的头像 发表于 08-25 11:32 580次阅读

    FPGA在机器学习中的具体应用

    随着机器学习和人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为一种灵活且高效的硬件加速平台
    的头像 发表于 07-16 15:34 2634次阅读

    智多晶推出新一代SA5T-200系列FPGA器件

    在国产 FPGA 加速突破、迈向高性能、高可靠的新阶段,智多晶隆重推出新一代 SA5T-200 系列 FPGA 器件。该系列面向高算力、高清视频、高速通信等关键应用场景,集成丰富硬核资
    的头像 发表于 07-02 09:13 2131次阅读

    Xilinx Ultrascale系列FPGA的时钟资源与架构解析

    Ultrascale是赛灵思开发的支持包含步进功能的增强型FPGA架构,相比7系列的28nm工艺,Ultrascale采用20nm的工艺,主要有2个系列:Kintex和Virtex
    的头像 发表于 04-24 11:29 2096次阅读
    Xilinx Ultrascale<b class='flag-5'>系列</b><b class='flag-5'>FPGA</b>的时钟资源与架构解析

    【干货】基于串口的FPGA远程升级

    近期,我们收到许多粉丝朋友的技术问题反馈,为便于大家的学习,小编整理了一系列常见问题的技术指南,将陆续分期发布,请大家敬请关注“小眼睛FPGA”微信公众号,在FPGA的世界里,我们努力
    的头像 发表于 04-14 09:53 1719次阅读
    【干货】基于串口的<b class='flag-5'>FPGA</b>远程升级

    Altera Agilex 7 M系列FPGA正式量产出货

    近日,全球 FPGA 创新技术领导者 Altera 宣布, Agilex 7 M 系列 FPGA 正式量产出货,这是现阶段业界领先的集成高带宽存储器,并支持 DDR5 和 LPDDR5 存储器技术
    的头像 发表于 04-10 11:00 1188次阅读

    进群免费领FPGA学习资料!数字信号处理、傅里叶变换与FPGA开发等

    进群免费领FPGA学习资料啦!小编整理了数字信号处理、傅里叶变换与FPGA开发等FPGA必看资料,需要的小伙伴可以加小助手(微信:elecfans123)或进 QQ 群:9135011
    发表于 04-07 16:41

    【国产FPGA入学必备】刀剑在鞘,兵器先藏 | 盘古676系列国产FPGA开发板

    刀剑在鞘,兵器先藏 ,AI时代如何立足,首先有过硬的本领和趁手的兵器,给FPGA工程师安利一款趁手的国产FPGA开发板盘古676系列...... 盘古676系列开发板共有2款板卡:盘古
    发表于 02-20 15:38

    【国产FPGA入学必备】国产FPGA权威设计指南+配套FPGA图像视频教程

    》。 本书系统地介绍紫光同创FPGA的开发与应用,详细阐述FPGA开发的各个方面,从基础原理到实际应用,从设计流程到开发工具的使用,力求为读者提供一套完整的学习和参考体系。通过阅读本书,读者不仅可以掌握紫光
    发表于 02-20 15:08

    【国产FPGA必备教程】——紫光同创FPGA图像视频教程,适用于小眼睛FPGA盘古全系列开发板

    案例、时序约束及收敛方法等,教程内容丰富,从入门到应用提高,覆盖紫光同创FPGA开发全流程,教程适用于小眼睛科技盘古系列、泰坦系列全开发套件。目前,小眼睛科技基于FPGA赛事配套紫光同
    发表于 02-19 15:44

    基于FPGA的电子琴设计

    在之前也出了几篇源码系列,基本上都是一些小设计,源码系列主要就会想通过实操训练让各位学习者,尤其是初学者去更好的理解学习FPGA,或者给要的
    的头像 发表于 01-20 14:07 1252次阅读
    基于<b class='flag-5'>FPGA</b>的电子琴设计

    FPGA在AI方面有哪些应用

    提供了强有力的支持。 一、FPGA 在深度学习中的应用 深度学习是 AI 的重要分支,涉及海量的数据运算。FPGA 能够针对深度学习算法中的
    的头像 发表于 01-06 17:37 2107次阅读