verilog设置24进制计数器_阅读笔记:《Verilog HDL入门》第3章 Verilog语言要素

3.1标识符

1.Verilog中的Identifier是由任意字母、数字、下划线和$符号组成的,第一个字符必须是字母或者下划线。区分大小写。

2.Escaped Identifier是为了解决简单标识符不能以数字和$符号开头的缺点。如下所示:

efe73e9056b1086caf6b59cd77be63a8.png

3.关键字。我的理解是保留字包括关键字,verilog中关键字都是小写的。

3.2注释

  1. /* */

2. //

3.3格式

语句结构既可以跨越多行编写,也可以在一行内编写。

3.4系统任务和系统函数

以$开头的标识符被认为是系统任务或者系统函数。任务可以返回0个或者多个值,函数只能返回一个值。函数的执行不允许由任何延迟,任务可以有延迟。但是系统任务不能有延迟。简单做个测试,但是发现控制台没有输出。

a6d8cb4fb0118039f664eacbc89c5b80.png

3.5编译器指令

某些以`(反引号)开头的标志符是编译器指令。

1. `define和`undef指令:宏定义以及取消前面的宏。

2.`ifdef、`ifndef、`else、`elseif和`endif:条件编译。

3.`default_nettype:该指令用于为隐式线网指定线网类型。

e8865d74bb5bec313562c0993d4a2d01.png

4.`include:可以包含其他文件的内容(替换的方式)。绝对路径和相对路径都可以。

5.`resetall:将所有的编译指令重新设置为缺省值。

6.`timescale:一般放在模块声明的外部,影响其后所有的延迟值。直到遇到另一个`timescale指令或者`resetall指令。

3.6值集合

Verilog中有四种基本值:0,1,x,z。其中x、z是不区分大小写的。这四种基本值构成了Verilog语言中3种类型的常数:Integer、Real和String。下划线可以自由地在整数中或者实数中使用,用来改进常量的易读性。

3.6.1整数型

1.简单的十进制:+、-这两个操作符只能作用于十进制,不能作用于其他进制。

2.基数格式表示法:

[size] '[signed] base value

基数格式的数通常为无符号数。若某整型数的位宽没有定义,则默认是32位的。无符号数在左边补零,有符号数在左边补符号位。若数的最左边是x或者z,则补x或z。

base是必须要有的。

3.6.2实数

1.十进制:小数点两侧必须有数字。

2.科学计数法:23_5.1e2。

Verilog将实数隐式地转换成整数。

3.6.3字符串

字符串是双引号括起的字符序列。字符串是8位ASCII值的序列。

3.7数据类型

Verilog有两大数据类型:Net Type和Variable Type。

3.7.1线网类型

关于这部分,多个激励源驱动的线网,线网的值有效值由表决定。

e90fdff4bbbb62249524869bb23d2c9b.png

3.7.2未声明的线网

3.7.3向量线网和标量线网

3.7.4变量类型

1.reg变量类型

使用了关键词signed的reg变量,会以补码的形式保存。

2.存储器

存储器是由reg变量组成的数组。存储器声明格式如下:

reg[[msb : lsb]] memory1[upper1 : lower1], ...;

存储器中的每一个元素被称为字,对存储器赋值可以分别对存储器中的每个字进行赋值。文中提到了使用for循环对存储器进行赋值。还可以使用$readmemb和$readmemh这两个函数对存储器进行赋值。

3.整型变量

整型变量的声明格式如下所示:

integer integer1, integer2, ... integerN[msb : lsb];

[msb : lsb]指定了整型数组的范围。一个整形数至少有32位。

整型能被当作向量处理。可以通过赋值将整数型转换为位向量。

4.time变量

5.real和realtime变量

3.7.5数组

看一下二维数组的声明:

integer 

一维reg变量的数组也被称为存储器。不能对整个数组进行赋值。只能对数组的一个元素进行赋值。

3.8参数

参数声明语句的格式如下:

parameter [signed][msb : lsb] param1 = const_expr,...;

参数值在编译的时候可以使用defparam进行改变。参数是局部的,只能在其定义的模块内部其作用,而宏定义对同时编译的多个文件起作用。

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

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

相关文章

锋利的jQuery--jQuery与DOM对象的互相转换,DOM的三种操作(读书笔记一)

1.jQuery对象就是通过jQuery包装DOM对象后产生的对象。2.jQuery对象和DOM对象的相互转换。良好的书写风格&#xff1a;var $input$("input")jQuery获取的对象在变量前面加上$。<1>jQUery对象转成DOM对象,两种方法&#xff1a;[index]和get(index)a:var $cr$(&q…

网站显示不正常服务器怎么弄,你真的知道网站出现收录不正常的原因是什么吗...

当一个新网站构建起来时&#xff0c;每天所担心的就是一个收录量。当你偶然看到收录减少时&#xff0c;不免心有所寒。不知道怎么“得罪”蜘蛛大哥了&#xff0c;发生了什么事把收录量给“没收”了。作为SEOer&#xff0c;我们知道在搜索引擎蜘蛛的心里内容的质量占有很大比重&…

ajax status php,解决laravel 出现ajax请求419(unknown status)的问题

如下所示&#xff1a;这个是因为laravel自带csrf验证的问题解决方法方法一&#xff1a;去关掉laravel的csrf验证&#xff0c;但这个人不建议&#xff0c;方法也不写出来了。方法二&#xff1a;把该接口写到api.php上就好了方法三&#xff1a;首先在页面加上然后请求的在header里…

string 转比较运算符_运算符

1、概述算术运算符 - * /基本运算算术运算符%取模&#xff0c;取余数&#xff0c;计算整除算术运算符 --自增 自减比较运算符 !相等比较 不等比较逻辑运算符&& &逻辑与 短路与&#xff08;同真为真&#xff09;逻辑运算符|| |逻辑或 短路或&#xff08;一真则真&am…

神舟战神换cpu教程_神舟将十代i5称为“神U出世”?聊聊到底有哪些优势

在各个品牌大力的宣传之下&#xff0c;消费者对于笔记本电脑乃至各种数码硬件的要求都越来越高。既要好的处理器、显卡等性能配置&#xff0c;又要好的屏幕&#xff0c;甚至还得低定价&#xff0c;这就产生一种鱼与熊掌不可兼得的感觉了。就在今年的表白日&#xff0c;神舟电脑…

服务器系统杀毒系统崩溃怎么恢复,系统崩溃是什么原因导致的

大家在使用电脑的时候&#xff0c;经常都是需要安装一些软件和其他东西的。但是在安装软件的时候&#xff0c;很容易让一些病毒侵入电脑。一旦病毒侵入了电脑&#xff0c;就很容易让电脑系统崩溃。那么系统崩溃是什么原因导致的呢&#xff1f;下面就来告诉大家系统崩溃的原因及…

atom配置python环境_python与excel有段情之二:python的安装和环境配置

索引python与excel有段情之一&#xff1a;前述python与excel有段情之二&#xff1a;python的安装和环境配置python与excel有段情之三&#xff1a;python编程前的准备工作和基本概念python与excel有段情之四&#xff1a;案例1.把多excel表抽数生成新excel表python与excel有段情之…

x86服务器当虚拟化的存储,龙存科技-软件定义数据中心产品提供商

一、应用背景服务器虚拟化技术是云计算的核心技术&#xff0c;是将系统进行虚拟化应用于服务器之上的技术。面向应用集中化处理&#xff0c;能最大的程度上利用硬件资源&#xff0c;并且实现灵活分配。虚拟化技术是将计算机底层的硬件功能的模拟&#xff0c;需要复杂的语句和机…

使用python开发网页游戏_不敢想!不敢想!我用Python自动玩转2048游戏

近来在折腾selenium自动化, 感觉配合爬虫很有意思, 大多数以前难以模拟登录的网站都可以爬了&#xff0c;折腾了这么久,于是想自动玩个2048游戏&#xff01;嘿嘿, 我是一个不擅长玩游戏的人, 以前玩2048就经常得了很低的分&#xff0c;每每想起都”痛心疾首”, 所以我打算拿204…

【飞谷六期】爬虫项目4

经过了几天的摸索&#xff0c;照猫画虎的把爬虫的部分做完了。 但是很多原理性的东西都不是很理解&#xff0c;就是照着抄的&#xff0c;还需要继续学习。 看这个目录结构&#xff0c;只看.py的文件&#xff0c;.pyc的文件是运行的时候生成的不管它。 items.py:定义想要导出的数…

activex控件 新对象 ocx 初始化_Office已经支持64位的树控件Treeview了

之前在使用Office365时发现微软其实已经悄悄地开始提供了64位的Treeview树控件&#xff0c;只是并没有公开宣布。当时是在一个网友的电脑上说他可以在64位Excel中可直接使用64位树控件&#xff0c;当时以为他看到的只是一个假的树控件&#xff0c;后来经过远程他的电脑&#xf…

mysql 获取昨天凌晨_MySQL慢日志体系建设

慢查询日志是MySQL提供的一种日志记录&#xff0c;用来记录在MySQL中响应时间超过阈值的SQL语句&#xff0c;在很大程度上会影响数据库整体的性能&#xff0c;是MySQL优化的一个重要方向。在58的云DB平台建设中&#xff0c;慢SQL系统作为一个非常重要功能模块&#xff0c;不仅是…

十进制小数化为二进制小数的方法是什么_十进制转成二进制的两种方式

第一种&#xff1a;用2整除的方式。用2整除十进制整数&#xff0c;得到一个商和余数&#xff1b;再用2去除商&#xff0c;又会得到一个商和余数&#xff0c;如此重复&#xff0c;直到商为小于1时为止&#xff0c;然后把先得到余数作为二进制数的低位有效位&#xff0c;后得到的…

notes邮件正文显示不全_python实现一次性批量发邮件

在上次实现了批量修改文件名后&#xff08;链接&#xff1a;https://zhuanlan.zhihu.com/p/133727520&#xff09;&#xff0c;又拿来了同事编写的一次性批量发邮件小程序&#xff0c;小编每月向分公司发数据任务算是基本上实现了自动化 需要新建2个.py文件实现&#xff0c;一个…

用python画五角星中心颜色不同_画个五角星让它绕中心点旋转

李兴球Python画个五角星绕中心点旋转 画一个五角星让它旋转起来,这在Python中有几个方案可选,这里提供一个不是用自定义形状的方案,以下是部分源代码, 其实关键的代码函数&#xff0c;也就是starpoints这个函数&#xff0c;它是核心。代码已经给你了。接下来就看你的聪明才智了…

oracle 建表id自增长_oracle 左连接、右连接、全外连接、内连接、以及 (+) 号用法...

Oracle中的连接可分为&#xff0c;内连接(INNER JOIN)、外连接(OUTER JOIN)、全连接(FULL JOIN)&#xff0c;不光是 Oracle&#xff0c;其他很多的数据库也都有这3种连接查询方式。Oracle 外连接(OUTER JOIN)&#xff0c;又分为左外连接和右外连接&#xff0c;即左连接和右连接…

匿名函数自我调用_Python中的匿名函数及递归思想简析

匿名函数前言上次咱们基本说了一下函数的定义及简单使用&#xff0c;Python中的基本函数及其常用用法简析&#xff0c;现在咱们整点进阶一些的。同样都是小白&#xff0c;咱也不知道实际需要不&#xff0c;但是对于函数的执行顺序以及装饰器的理解还是很有必要的。首先咱们先简…

java解析dxf文件_浅析JVM方法解析、创建和链接

一&#xff1a;前言上周末写了一篇文章《你知道Java类是如何被加载的吗&#xff1f;》&#xff0c;分析了HotSpot是如何加载Java类的&#xff0c;干脆趁热打铁&#xff0c;本周末再来分析下Hotspot又是如何解析、创建和链接类方法的。二&#xff1a;Class文件中的Java方法Java类…

python解释器的提示符是shell嘛_python解释器怎么运行

python解释器怎么运行&#xff1f; 在Python可用的机器上&#xff0c;Python解释器通常放在 /usr/local/bin/python3.7 ; 把 /usr/local/bin 放到你 Unix shell 的搜索路径当中 , 这样就能键入命令:python3.7 就能运行了。安装时可以选择安装目录&#xff0c;所以解释器也可能在…

判断运营商_三大通信运营商步调一致,大流量互联网套餐陆续成绝版

此前笔者就发过一篇文章“预警”三大通信运营商的大流量互联网资费套餐面临调整&#xff0c;很可能一直流行的200G定向流量套餐都将会大幅缩减&#xff0c;不过未引起大家的注意。当初的判断&#xff0c;是基于卡商渠道和内部传言消息分析&#xff0c;同时也基于此前通信运营商…