3.1标识符

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

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

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

3.2注释

  1. /* */

2. //

3.3格式

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

3.4系统任务和系统函数

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

3.5编译器指令

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

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

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

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

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线网类型

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

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进行改变。参数是局部的,只能在其定义的模块内部其作用,而宏定义对同时编译的多个文件起作用。

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

  1. verilog设置24进制计数器_任意进制计数器 || 反馈复位法 反馈置数法 || 超级重点 || 数电...

    任意进制计数器 || 反馈复位法 反馈置数法 || 超级重点 || 数电 前面介绍了4位二进制计数器和十进制计数器,但它们的计数长度.计数方式是固定的. 例如: 十进制计数器74160,其计数的模为1 ...

  2. verilog设置24进制计数器_通用计数器的功能简介

    通用计数器主要包括频率.周期和时间间隔测量,任意时间间隔内脉冲个数通常还包括频率比.以及累加计数等测量功能. 通用计数器是一种常用的用数字显示被测信号频率的测量仪器.被测信号可以是方波.正弦波或其它周 ...

  3. 74ls390设计任意进制计数器_异步FIFO:设计原理及Verliog源码

    1.  异步FIFO的概念 异步FIFO为读取与写入采用不同的时钟,使用异步FIFO用于在不同的时钟域传输数据,主要用于跨时钟域传输多bit数据. 2.  异步FIFO的设计难点 同步异步信号,避免亚 ...

  4. 二位四进制计数器_金三银四还在看JVM这一块?看完这篇万字JVM面试解析就够了...

    金三银四你必备的学习笔记 Java面试核心知识点笔记+高级架构面试知识点整理+互联网Java工程师必备的1080道面试解析​shimo.im Java内存区域 说一下 JVM 的主要组成部分及其作用? ...

  5. 74ls390设计任意进制计数器_利用数字频率合成技术设计高速任意波形发生器(上)...

    波形发生器为常用器件,正因如此,波形发生器具备较强现实意义.对于波形发生器,诸多朋友均存在一定兴趣.此外,小编在往期带来诸多波形发生器相关文章,热爱波形发生器的朋友可翻阅哦.本文中,小编对于波形发生器 ...

  6. 用74ls90组成二十四进制计数器_减法计数器的组成以及原理

    异步二进制减法计数器如图1-1所示 减法计数器的结构原理 1-1减法计数器的结构原理 该计数器是一个3位二进制异步减法计数器,它与前面介绍过的3位二进制异步加法计 数器一样,是由3个JK触发器组成,其 ...

  7. 用74ls90组成二十四进制计数器_一个厉害的芯片芯片74LS190同步计数器可以做加法也可以做减法...

    74LS190是同步十进制加/减计数器(又称可逆计数器), 漂亮的主板 它依靠加/减控制端的控制来实 现加法计数和减法计数. CPU CO/BO:进位输出/借位输出端: CP:时钟输入端: CT:计数 ...

  8. 作业2:用Verilog实现12进制计数器

    1.新建工程文件 2.新建Verilog文件,注意文件名称必须与工程相同, 编写完成后的文件如下图所示 通过TOOL工具栏的相关选项查看工程的RTL文件如下图所示 通过建立VWF仿真文件,并且加入使能 ...

  9. Verilog自顶向下设计24进制和60进制计数器(FPGA)

    提供Verilog自顶向下设计24进制和60进制计数器(1Hz,频率可调)并用数码管动态显示的代码,且两个程序皆在Basys2开发板上验证通过.程序思路: 首先将程序分为4部分:分频程序.计数程序.数 ...

最新文章

  1. windows系统下Python环境的搭建
  2. [置顶] Android面试题目之三: 字符串转整形
  3. 本地项目关联到远程git仓库
  4. 前驱、后驱和四驱,究竟哪个好?
  5. Java学习笔记二:数据类型
  6. java帐篷_Java多线程之 Park和Unpark(十四)
  7. python之类与对象(2)
  8. Redhat Linux安装JDK 1.7
  9. HCIE-RS面试---交换机原理
  10. python把文件中的邮箱分类 保存到相应的文件里面
  11. 刘德华直播观看人数破亿
  12. 如何定义StrokeIt手势 常用StrokeIt手势大全
  13. Find My产品|苹果Find My技术助力儿童鞋发展
  14. 2020.10.29腾讯QQ音乐社招前端电话一面总结
  15. Tecohoo VD-206S 全高清视频会议摄像机
  16. 感受山猫之力 Ubuntu 10.04 LTS试用手记
  17. WebStorm license server
  18. 笔记:RT-Thread Studio 快速上手
  19. DAEMON Tools Ultra(虚拟光驱超级版)v5.5.0.1046免费版
  20. 易优cms 专业授权域名的验证教程指南 Eyoucms快速入门

热门文章

  1. n个数里找出前m个数(或者 从10亿个浮点数中找出最大的1万个)
  2. interface接口_接口 interface
  3. angular html清除元素,在Angular js中单击时删除HTML元素
  4. mysql c webservice_如何编写webservice c
  5. (JAVA)Calender类
  6. 计算机组装与维护配置清单作业,计算机组装与维护 作业汇.doc
  7. 【算法设计与分析】14 分治算法的一般描述和分析方法
  8. NanUI文档 - 如何实现C#与Javascript的相互通信
  9. 使用mybatis操作AS400数据库
  10. JAVA核心技术卷2:高级特征(原书第8版)