Verilog HDL语法入门系列(二):Verilog的语言文字规则

news2024/10/6 22:28:06

目录

  • 1 空白符和注释
  • 2 整数常量和实数常量
  • 3 整数常量和实数常量
  • 4 字符串(string)
  • 5 格式符与转义符
  • 6 标识符(identifiers)

微信公众号获取更多FPGA相关源码:
在这里插入图片描述

1 空白符和注释

空白符和注释

2 整数常量和实数常量

Verilog中,常量(literals)可是整数也可以是实数。

整数的大小可以定义也可以不定义。整数表示为:

         <size>’<base><value>

其中

  1. size :大小,由十进制数表示的位数(bit)表示。缺省为32位
  2. base:数基,可为2(b)、8(o)、10(d)、16(h)进制。缺省为10进制
  3. value:是所选数基内任意有效数字,包括X、Z。

实数常量可以用十进制或科学表示法表示。

实数常量表示说明
12unsized decimal (zero-extended to 32 bits)
'H83aunsized hexadecimal (zero- extended to 32 bits)
8’b1100_ 00018-bit binary
64’hff0164-bit hexadecimal (zero- extended to 64 bits)
9’O179-bit octal
32’bz01xZ-extended to 32 bits
3’b1010_ 11013-bit number, truncated to 3’b101
6.3decimal notation
32e- 4scientific notation for 0.0032
4.1E3scientific notation for 4100

3 整数常量和实数常量

整数的大小可以定义也可以不定义。整数表示:

  1. 数字中(_)忽略,便于查看
  2. 没有定义大小(size)整数缺省为32位
  3. 缺省数基为十进制
  4. 数基(base)和数字(16进制)中的字母无大小写之分
  5. 当数值value大于指定的大小时,截去高位。如 2’b1101表示的是2’b01

实数常量

  1. 实数可用科学表示法或十进制表示
  2. 科学表示法表示方式:
    <尾数><e或E><指数>, 表示: 尾数×10指数

4 字符串(string)

Verilog中,字符串大多用于显示信息的命令中。Verilog没有字符串数据类型。

  1. 字符串要在一行中用双引号括起来,也就是不能跨行。
  2. 字符串中可以使用一些C语言转义(escape)符,如\t \n
  3. 可以使用一些C语言格式符(如%b)在仿真时产生格式化输出:

”This is a normal string”

”This string has a \t tab and ends with a new line\n”

”This string formats a value: val = %b”

5 格式符与转义符

格式符

格式符%0d表示没有前导0的十进制数。

转义符

6 标识符(identifiers)

  1. 标识符是用户在描述时给Verilog对象起的名字
  2. 标识符必须以字母(a-z, A-Z)或( _ )开头,后面可以是字母、数字、( $ )或( _ )。
  3. 最长可以是1023个字符
  4. 标识符区分大小写,sel和SEL是不同的标识符
  5. 模块、端口和实例的名字都是标识符

标识符(identifiers)
微信公众号获取更多FPGA相关源码:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1861396.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python根据excel的文件创建文件夹

这几天要整理一点文档&#xff0c;需要批量生成一些文件夹&#xff0c;&#xff08;其实也可以进一步自动生成各种文档&#xff09;&#xff0c;用到了py的功能&#xff0c;在此记录一下。 1.准备工作 需要两个库支持openpyxl和os 安装 pip install openpyxl2.代码思路 打算…

通用创新点:坐标注意力机制!低成本下表现依旧SOTA

同学们&#xff0c;今天我们来聊聊坐标注意力。 坐标注意力是一种非常高效的注意力机制&#xff0c;它通过将位置信息嵌入到通道注意力中&#xff0c;轻轻松松就能提高轻量级网络的性能。 这一机制的核心在于其创新的结构和对位置信息的精确捕捉能力&#xff0c;允许模型在强…

缓存双写一致性(笔记)

缓存更新方案 旁路缓存模式 这是比较多的 旁路缓存模式&#xff1a;缓存有就返回&#xff0c;没有数据库查询&#xff0c;放入缓存返回。 还有些常用缓存策略 读穿透模式 读穿透和旁路很相似&#xff0c;程序不需要关注从哪里读取数据&#xff0c;它只需要从缓存查询数据。…

机器学习-保存模型并根据模型进行预测 python demo

文章目录 前言机器学习-保存模型&#xff0c;根据模型进行预测python demo1. 将我们创建的线性回归模型保存到本地2. 利用我们保存的模型进行房价预测 demo2. 利用我们保存的模型生成对应的预测线性图 demo 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评…

LLM大语言模型-AI大模型全面介绍

简介&#xff1a; 大语言模型&#xff08;LLM&#xff09;是深度学习的产物&#xff0c;包含数十亿至数万亿参数&#xff0c;通过大规模数据训练&#xff0c;能处理多种自然语言任务。LLM基于Transformer架构&#xff0c;利用多头注意力机制处理长距离依赖&#xff0c;经过预训…

一个土木工程专业背景的开发者,讲述开源带给他的力量

在前段时间我们举办的“TDengine Open Day”第一季技术沙龙中&#xff0c;TDengine 应用研发高级工程师谭雪峰进行的“开源之路&#xff1a;程序员的成长与探索”主题分享获得了众多参会者的好评。谭雪峰从自身独特的职业发展经历出发&#xff0c;分享了自己在开源领域的种种收…

DM达梦数据库字符串函数整理

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

视觉理解与图片问答,学习如何使用 GPT-4o (GPT-4 Omni) 来理解图像

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、引言 OpenAI 最新发布的 GPT-4 Omni 模型&#xff0c;也被称为 GPT-4o&#xff0c;是一个多模态 AI 模型&#xff0c;旨在提供更加自然和全面的人机交互体验。 GPT-4o 与 GPT-4 Turbo 都具备视觉功…

3d中模型显示黑色给不了材质---模大狮模型网

如果3D模型显示黑色&#xff0c;而且无法给它添加材质&#xff0c;可能有以下几种原因&#xff1a; 一&#xff1a;模型没有UV贴图 UV贴图是3D模型表面纹理的一种方式&#xff0c;如果模型没有正确的UV贴图&#xff0c;渲染时可能会显示黑色。在大多数3D建模软件中&#xff0c…

Telnet远程登录(Cisco)

Telnet 基于TCP/IP协议族 远程终端协议 在Internet上远程登录 VTY(Virtual Teletype) 通过IP连接物理上的终端 实现在Internet上 登陆和配置远程目标终端 A Router>enable Router#config Router(config)#hostname A A(config)#interface gigabitEthernet 0/0 A(confi…

归并排序与快速排序总结-c++

一&#xff0c;归并排序 归并排序&#xff08;Merge sort&#xff09;是建立在归并操作上的一种有效的排序算法。该算法分治法&#xff08;Divide and Conquer&#xff09;的一个非常典型的应用。 作为一种典型的分而治之思想的算法应用&#xff0c;归并排序的实现由两种方法…

机器学习/pytorch笔记:time2vec

1 概念部分 对于给定的标量时间概念 t&#xff0c;Time2Vec 的表示 t2v(t)是一个大小为 k1的向量&#xff0c;定义如下&#xff1a; 其中&#xff0c;t2v(t)[i]是 t2v(t)的第 i 个元素&#xff0c;F是一个周期性激活函数&#xff0c;ω和 ϕ是可学习的参数。 以下是个人理解&am…

最热门的智能猫砂盆好不好用?这期统统告诉你!

身为上班族的我们&#xff0c;常常被工作和出差填满日程。忘记给猫咪铲屎也不是一次两次了。但我们必须意识到&#xff0c;不及时清理猫砂盆不仅会让猫咪感到不适&#xff0c;还可能引发泌尿系统感染、皮肤疾病等健康问题。为了解决这个问题&#xff0c;越来越多的铲屎官开始将…

JavaWeb——MySQL:navicate客户端工具简单使用

目录 1. 连接 2. 新建数据库 3. 使用数据库 4. 新建表 5.使用表 6. 导出数据库 我这里是英文版&#xff0c;没有进行汉化。 1. 连接 点击左上角Connection&#xff0c;选择MySQL&#xff0c;&#xff08;我连接的是自己计算机上的数据库&#xff09;连接名输入&#x…

Java面试题:聚簇索引和非聚簇索引

聚簇索引和非聚簇索引 聚簇索引(聚集索引) 将数据的存储和索引放在一块,索引结构的叶子节点保存了行数据 索引字段必须存在,且只能存在一个 非聚集索引(二级索引) 将数据和索引分开存储,索引结构的叶子节点关联的是对应的主键 索引字段可以存在多个 索引的选取规则 如果…

Unity2D - 碰撞检测及边界检测

1. 地面检测 1.1 地面检测的逻辑及代码 一般情况下&#xff0c;对于手人物进行事件处理或动作处理时&#xff0c;我们需要判定人物是否在地面上&#xff0c;这个时候最好的方式是设定地面碰撞器&#xff0c;只有角色在地面时才可以进行跳跃; 我们可以想象物体的重心向地面延伸…

Java的gui开发-Swing如何一键打包exe、dmg等

java的gui开发其实很方便&#xff0c;性能也不错&#xff0c;知名的idea开发工具也是java-swing开发&#xff0c;只是用的人少&#xff0c;看了我的例子3分钟就能学会&#xff0c;分分钟写桌面端&#xff0c;下面教你如何一键打包windows端exe Java-Swing-Template java的gui开…

解决SD卡被写保护问题

存储卡在使用过程中&#xff0c;有时会遇到写保护问题&#xff0c;导致无法写入或删除数据。这可能会对用户的正常使用造成困扰。MK米客方德将为您介绍几种常见的解决方法&#xff0c;帮助用户解除存储卡的写保护。 一、检查物理写保护开关 许多存储卡&#xff0c;如SD卡&…

深入剖析Tomcat(十二) 详解StandardContext

StandardContext是Context容器的一个标准实现&#xff0c;一般情况下&#xff0c;Tomcat都是使用StandardContext类来创建Context容器。前面讲过&#xff0c;Context容器代表了一个Web应用&#xff0c;Tomcat本身支持部署多个应用&#xff0c;相应的每个应用都会有一个Standard…

解锁小红书新玩法:中小企业出海营销的集成策略

随着全球数字化浪潮的推进&#xff0c;小红书作为生活方式分享平台的崛起&#xff0c;为中小企业提供了一个全新的营销舞台。NetFarmer&#xff0c;作为专注于企业数字化出海的服务商&#xff0c;深谙小红书的营销策略&#xff0c;并致力于通过HubSpot产品销售与实施&#xff0…