文章
简介
本系列文章主要针对FPGA初学者编写,包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解,旨在更快速的提升初学者在FPGA开发方面的能力,每一个章节中都有针对性的代码书写以及代码的讲解,可作为读者参考。
![255c6d9884d7b554faf824d3417538ef.gif](https://img-blog.csdnimg.cn/img_convert/255c6d9884d7b554faf824d3417538ef.gif)
六
第六章:运算符号
![255c6d9884d7b554faf824d3417538ef.gif](https://img-blog.csdnimg.cn/img_convert/255c6d9884d7b554faf824d3417538ef.gif)
Verilog HDL 中的运算符号基本和 c 语言中的运算符号相同,本章讲解常用的几种运算符。
算数运算符(+、-、x、\、%)是非常熟悉的运算符,只拿%作介绍。在测试文件中我们有时候会想要产生 0~N 之间的数据,那么就可以用求余加上随机函数得到,假设我们实现 0~9 之间的随机数,我们可以按照如下代码示例所示实现。
代码示例 1:
reg [3:0] a;
always #5 a = {$random}%10;
代码解析 1:
① 第 1 行定义一个能表示 0 到 15 的变量;
② 第 2 行对随机数取 10 的余数,得到的值为 0~9。
关系运算符有(>、=、<=、==、!=),关系运算符得到的结果要么为真(1)要么为假(0)。但是在运用中很多人会犯一些错误,比如 b 的结果根据 a 是否在 5~9 来决定,现有如下两种代码示例情况。
代码示例