FPGA开发:条件语句 × 循环语句

2024-09-08 06:44
文章标签 条件 开发 循环 fpga 语句

本文主要是介绍FPGA开发:条件语句 × 循环语句,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

条件语句

if_else语句

if_else语句,用来判断是否满足所给定的条件,根据判断的结果(真或假)决定执行给出的两种操作之一。

if(表达式)语句;

例如:

if(a>b) out1=int1;

if(表达式)

        语句1;

else

        语句2;

例如:

if(a>b)out1=int1;
elseout1=int2;

if(表达式1) 语句1;

else if(表达式2) 语句2;

else if(表达式3) 语句3;

……

else if(表达式n) 语句n;

else   语句m

【注意】条件语句必须在过程块中使用,所谓过程块是指initialalways语句所引导的执行语句集合。除了这两种块语句引导的begin end块中可以编写条件语句外,模块中其他地方都不能编写。

【注意】表达式为0、x、z时均视为假。


case语句

case语句是一种多分支选择语句,有如下3种格式:

  • case(表达式) <case分支项>  endcase
  • casex(表达式) <case分支项>  endcase
  • casez(表达式) <case分支项>  endcase

分支项如下:
 

分支表达式1: 语句1;分支表达式2: 语句2;……默认项(default项): 语句;

【注意】所有表达式位宽必须相同,常犯错误:用'bx,'bz代替n'bx,n'bz,因为x、z的默认宽度是机器的字节宽度(通常32位)。

【注意】对于casez,不考虑高阻值z的比较过程,默认其与任何表达式比较后均为真。对于casex,不考虑z和x,默认其与任何表达式比较后均为真。


循环语句

forever语句

连续执行语句,格式如下:

格式1:
forevr  语句;格式2:
foreverbegin多条语句;end

【注意】其必须写在initial语句中。


repeat语句

连续执行一条语句n次,格式如下:

格式1:
repeat(表达式)  语句;格式2:
repeat(表达式)begin多条语句;end

while语句

执行某一条语句直到某个条件不满足。如果一开始就不满足条件,则语句一次也不会被执行。格式如下:

格式1:
while(表达式)  语句;格式2:
while(表达式)begin多条语句;end

for语句

for(表达式1;表达式2;表达式3)语句;

与C语言中的for循环语句一样,通过以下三个步骤决定语句的循环执行:

  • 1、先给控制循环次数的变量赋初值。
  • 2、判定控制循环的表达式的值,如为假,则跳出循环语句;如为真,则执行指定的语句后,转到第3步。
  • 3、执行一条语句赋值语句来修正控制循环变量次数的变量值,然后返回第二步。

【注意】Verilog HDL中的四种循环,只有for循环能够用于综合电路,其余三种只能用来写TestBench仿真激励文件,综合电路使用更多的还是如下循环结构。

generatefor(表达式1 ; 表达式2 ; 表达式3)begin : 块名循环语句;end
endgenerate

这篇关于FPGA开发:条件语句 × 循环语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147409

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for

Java循环创建对象内存溢出的解决方法

《Java循环创建对象内存溢出的解决方法》在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError),所以本文给大家介绍了Java循环创建对象... 目录问题1. 解决方案2. 示例代码2.1 原始版本(可能导致内存溢出)2.2 修改后的版本问题在

详解如何在React中执行条件渲染

《详解如何在React中执行条件渲染》在现代Web开发中,React作为一种流行的JavaScript库,为开发者提供了一种高效构建用户界面的方式,条件渲染是React中的一个关键概念,本文将深入探讨... 目录引言什么是条件渲染?基础示例使用逻辑与运算符(&&)使用条件语句列表中的条件渲染总结引言在现代

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j