[Verilog学习笔记]①基础知识

Verilog 基础知识(一) Verilog 基础语法与注意事项 本文主要介绍了硬件描述语言:Verilog HDL的一些常用语法及注意事项。 阅读详情

一、Verilog HDL语言要素

1.空白符:

空白符包括空格符(\b)、制表符(\t)、换行符和换页符。在编译和综合时,空白符被忽略。

2.注释符

单行注释: //
多行注释: /*开始 */结束 (Verilog HDL由C语言发展而来)

3.标识符

标识符被用来命名信号名、模块名、参数名,可以是任意一组字母、数字、$符号和_的组合。 需要注意的是,字母区分大小写,且第一个字符必须是字母或者下划线。

4.转义标识符

转移标识符以""开头,以空白结束

5.关键字

所有关键字都是小写的。

5.数值

四种基本逻辑数值状态

状态含义
0低电平、逻辑0,或“假”
1高电平、逻辑1或“真”
x或X不确定或位置的逻辑状态
z或Z高阻态

整数及其表示:

数制基数符号合法表示符
二进制b或B0、1、x、z、?、_
八进制o或O0-7、x、z、?、_
十进制d或D0-9、_
十六进制h或H0-9、a-f、A-F、x、z、?、_

需要注意的是,_一般用于隔开便于使用者观察,提高可读性,在编译时会将其删除。

8'b10001101 //8位二进制数
8'ha6  //8位16进制数
5'o35 //5位8进制数
4'd6  // 4为十进制数
4'b1x_01 //4为二进制数

实数及其表示:
十进制表示法或科学记数法

2.7
5.2e8
3.5E-6
5_4582.2158_5896

二、数据类型

1.物理数据类型

1.1连线型

在这里插入图片描述

2.1寄存器型

数据储存单元的抽象类型,对应的硬件电路元件具有状态保持作用,常用语行为级描述

reg a; //一位名为a的reg变量
reg [3:0] b; //4为名为a的reg变量
reg [8:1] c,d,e //三个名称为c、d、e的reg型变量

reg型变量在进行赋值是储存的为补码

b=-2    //b的值为1110

2.连线型和reg型数据类型的声明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.抽象数据类型

包括整型(integer)、时间型(time)、实型(real)及参数型(parameter)

integer index; //32位有符号整数
integer i[31:0] //整型数组

时间型为64位无符号数,主要用于对模拟时间的存储和计算处理

实型即浮点型,用于对延迟数据的计算。

参数型即常量,仿真开始前就被赋值,一直保持不变,可提高程序的可读性和维护性

parameter PI=3.14,LOAD=4'B1101

三、运算符和表达式

在这里插入图片描述

算数表达式结果的长度由最长的操作数决定,在赋值语句下,算数操作结果的长度由操作左端目标长度决定。

比较的结果有3种,1,0,和x

在这里插入图片描述
在这里插入图片描述
规约运算符:
将&,|,^、~&、~|、~^、^~作为单目运算符使用,意味对某数据类型的所有二进制位进行连续该操作符的连续使用,结果返回1位
例如: &a 的结果为将a所有位进行与操作得到的二进制数

连接运算符:{}
{信号1的某几位,信号2的某几位, ⋯ \cdots ⋯,信号n的某几位}

重复操作符: {{}}

四、模块的基本概念

1.模块的基本概念

模块是verilog的基本单元,代表一个基本功能块,用于描述某个设计的功能或结构以及与其他模块通信的外部端口。
在这里插入图片描述

module dff(din,clk,q,);   //设计的上升沿D触发器
           intput din,clk;
           output q;
           reg q;
           always@(posedge clk)
                         q<=din;
 endmodule

2.端口

模块的端口可以是输入端口(input),输出端口(output),或双向端口(inout)

Verilog学习笔记(1):Verilog基础知识 verilog学习笔记;verilog知识总结;verilog考试知识点汇总;Verilog基础知识;Verilog语法要素;空白符;注释符;标识符;关键字;转义标识符;数值;数据类型;物理数据类型;连线型和reg型数据类型的声明;存储器型;抽象数据类型;运算符和表达式;算术操作符;关系操作符;相等关系操作符;逻辑运算符;按位运算符;归约运算符(缩位运算符);移位操作符;条件运算符;连接和复制运算符;模块的基本概念;模块的基本概念;端口 阅读详情

相关推荐

【Verilog】一、Verilog的always使用

【Verilog】一、always使用 有不足请各位观众老爷批评指正~ 一、Verilog HDL 模块的模板(仅考虑用于逻辑综合的程序) module<顶层模块名>(<输入输出端口列表>); output 输出端口列表; input 输入端口列表; //(1)使用assign语句定义逻辑功能 wire<结果信号名>; assign<结果信号名>=表...

weixin_43699738的博客 2万+

Verilog 标识符和转义标识符

内容 在 Verilog HDL中,标识符( Identifier)被用来命名信号名、模块名、参数名等,它可以是任意一组字母、数字、$符号和(下划线)符号的组合。应该注意的是,标识符的字母区分大小写,并且第一个字符必须是字母或者下划线。 以下标识符是合法的: 以下标识符是不合法的: 为了使用标识符集合以外的字符或标号, Verilog HDL规定了转义标识符。采用转义标识符可以在一条标识符中包含任何可打印的字符。转义标识符以“\”(反斜线)符号开头,以空白结尾(空白可以是一个空格、一个制表字符或换行符)

qq_38573940的博客 6320

Verilog学习笔记(一)

文章目录参考来源:china.pub.com一、Verilog HDL简介1.1 Verilog HDL二、HDL指南2.1 模块(module)2.2时延2.3数据流描述方式2.4行为表述方式2.5 结构化描述形式2.6混合设计描述方式三、Verilog语言要素3.1标识符3.2 注释3.3编译指令3.4 值集合3.5 数据类型3.5.1线网类型3.5.2 寄存器类型3.6参数四、表达式4.1操作数4.2操作符 参考来源:china.pub.com 一、Verilog HDL简介 1.1 Verilog

qq_45933957的博客 1503

Verilog基础:简单标识符和转义标识符

本文详解Verilog中标识符的两种形式:简单标识符与转义标识符。简单标识符由字母、数字、$、_组成,区分大小写,首字符不能为数字或$,且不可与关键字重名。转义标识符以反斜杠开头,以空白结尾,可包含任意可打印ASCII字符(33–126),其起止符号不计入内容。转义标识符常用于综合工具生成的网表中,如DC综合后出现的带中括号的信号命名,可通过change_names命令避免。

保持终身学习的能力,温故而知新 1991

system verilog基础知识

1、`ifndef SPT : if not define 宏定义判断,作用是防止多重定义。 define SPT:宏定义 2、class: 在类的实例中调用方法 extends: 继承 3、Transaction及field_automation Transaction是整个验证平台中流动的信息单元。Sequence产生出transaction,通过...

qq_39620453的博客 3181

FPGA数字电子技术复习笔记(一)verilog语法规则补充(语法篇2)(及ASIIC表)

通过学习数字电子技术(康华光 华中科技大学)总结。

贾saisai的博客 3085

verilog语句

Verilog HDL中的标识符( i d e n t i f i e r )可以是任意一组字母、数字、 $符号和_(下划线)符号的 组合,但标识符的第一个字符必须是字母或者下划线。另外,标识符是区分大小写的。以下 是标识符的几个例子: C o u n t COUNT / /与C o u n t不同。 _ R 1 _ D 2 R 5 6 _ 6 8 F I V E $ 转义标识

鬼故事的博客 1391

Infinite-Canvas:一站式AI绘画工作流平台部署与实战指南

在 AI 绘画和内容创作领域,你是否经常遇到这样的困扰:灵感来了,却要在多个工具间来回切换——找素材、写提示词、调整参数、批量生成,整个过程繁琐且低效。创作一个系列作品时,管理不同版本的图片和提示词更是让人头疼。如果你渴望一个能整合所有流程,实现从素材管理、提示词工程到批量出图一站式完成的工作台,那么今天介绍的 Infinite-Canvas 正是为你量身打造的解决方案。 Infinite-Canvas 是一个开源的本地网页应用,它将 AI 绘画的完整工作流集成在一个界面中。无论你是想快速生成单张图片,还是

weixin_28707535的博客 340

ASIC-WORLD Verilog(4)基础语法上篇

这篇文章描述了Verilog的基础语法。

孤独的单刀 2074

中颖单片机SH79F3213正弦波矢量的电动车小毛驴控制器量产资料

中颖单片机SH79F3213正弦波矢量的电动车小毛驴控制器量产资料 中颖单片机SH79F3213 制作的电动车小毛驴控制器量产资料,已量产十几万片,拿到手即可量产 1、提供原理图 2、提供PCB图 3、提供C语言源代码程序 4、提供清单 ...

m0_69036675的博客 4528

Unity 机械臂控制(二)——从碰撞检测到姿态解算:实现精准抓取

本文详细介绍了Unity中机械臂控制的实现方法,从碰撞检测到姿态解算,涵盖精准抓取的全流程。重点讲解了碰撞检测的分层处理、状态机设计、逆向运动学(IK)算法以及抓取稳定性优化等关键技术,并提供了实用的调试技巧和性能优化建议,帮助开发者实现高效的机械臂控制。

weixin_28693447的博客 306

verilog学习笔记(一)--基础知识

说明:本文是一个学习笔记。 verilog概述verilog基础知识verilog的语言特点ASIC与FPGA时序约束竞争与冒险的存在时序约束FPGA的主要组成部分 verilog基础知识 个人理解,verilog是一种简化数字电路开发的硬件描述语言。它和其他编程语言不太一样,它核心在描述,既学习的重点应该落在电路上,用verilog如何搭出想要的电路。 verilog的语言特点 在一般的思想中,人们习惯于将复杂的功能划分为简单的部分,所以verilog提出了模块的概念。一般书里都提到“自定向下”的设计思路

weixin_41866783的博客 1746

Metal ECO实战:如何在不修改底层掩模的情况下修复芯片时序问题

本文深入探讨了Metal ECO技术在芯片设计中的应用,这是一种在不修改底层晶体管掩模的前提下,仅通过调整金属连线和替换预置填充单元来修复时序问题的“微创手术”。文章详细解析了其原理、适用场景、关键操作流程与命令,并分享了实战中的高级技巧与常见陷阱,为面临流片前时序违例的工程师提供了宝贵的修复指南。

wdx0123456的博客 433

Verilog的基础知识

Verilog的基本介绍: 硬件描述语言发展至今已有二十多年历史,当今业界的标准中( IEEE标准)主要有VHDL和Verilog HDL 这两种硬件描述语言。 一个设计往往从系统级设计开始,把系统划分成几个大的基本的功能模块,每个功能模块再按一定的规则分成下一个层次的基本单元,如此一直划分下去。自顶向下的设计方法可用下面的树状结构表示: 主要功能 1, 基本逻辑门,例如and 、 or 和nand 等都内置在语言中。 2, 开关级基本结构模型,例如pmos 和nmos 等也被内置在语言中.

浮若于心 4万+

风光储互补微电网在偏远地区的应用实践:从建模到仿真全解析

本文深入解析了风光储互补微电网在偏远地区的应用实践,从系统设计到仿真建模全流程。通过Simulink等工具进行动态仿真,验证了系统在多种工况下的可靠性,并结合实际案例展示了其显著的经济和环保效益。文章为从业者提供了从技术路径到实施优化的全面指导。

weixin_29047545的博客 271

从零构建高精度温控系统:ADN8835的单电感拓扑与0.01℃稳定性实战解析

本文深入解析了如何利用ADN8835构建高精度温控系统,重点介绍了其创新的单电感拓扑架构如何实现0.01℃的长期稳定性。内容涵盖精密PCB布局、电源滤波设计,并详细阐述了针对不同热容负载的数字PID控制参数整定策略,为开发精密仪器和医疗设备提供了实战指南。

r2s3t4的博客 240

Verilog 基础知识

Verilog 基础知识。。Verilog 和 C 的区别。。Verilog 和 VHDL 区别。。4.8、运算符的优先级。。4.7、拼接运算符。。4.6、移位运算符。。4.5、位运算符。。4.4、条件运算符。。4.3、逻辑运算符。。4.2、关系运算符。。4.1、算术运算符。。

yishuihanq的博客 6030

【大模型】百度千帆大模型对接LangChain使用详解

百度千帆大模型对接LangChain使用详解

congge 5065

Verilog 的基础知识

Verilog 的基础知识前言一、Verilog的四值逻辑系统二、Verilog的数据类型1.寄存器数据类型2.线网数据类型3.参数数据类型三、Verilog的基本运算符1.算术运算符2.关系运算符3.逻辑运算符4.条件运算符5.位运算符6.移位运算符7.拼接运算符8.运算符的优先级别下期预告 前言 上一篇文章介绍了Verilog的综述,下面咱们就开始讲解 Verilog 的基础知识,进一步了解Verilog,从而更好的加以使用。 一、Verilog的四值逻辑系统 首先我们先来讲一下 Verilog 的

qq_39546802的博客 2811

【报错解决】OpenClaw 报错 Unsupported engine: requires node >=22.0.0 —— Node.js 版本过低的完整排查与解决实录

在国产操作系统环境下部署OpenClaw时遇到"Unsupported engine: requires node >=22.0.0"报错,分析表明该工具要求Node.js 22+以支持fetch API等新特性。解决方案包括:1) 使用nvm升级Node至22+版本;2) Docker环境中改用node:22-alpine镜像;3) 不推荐强制忽略引擎检查。文章强调遵循引擎要求的重要性,指出环境版本是工程化体系稳定运行的关键,建议通过规范升级解决兼容性问题。(149字)

博客 608

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【FPGA】学习笔记—{Verilog}—{一、Verilog设计初步}

【FPGA】学习笔记—{Verilog}—{一、Verilog设计初步}4.1 Verilog简介4.2 Verilog模块的结构4.2.1 Verilog程序的特点4.2.2 Verilog程序的4个主要部分 1、模块声明 2、端口(Port)定义 3、信号类型声明 4、逻辑功能定义4.3 Verilog基本组合电路设计4.4 Verilog基本时序电路设计 4.1 Verilog简介    Verilog是一种硬件描述语言。    Idea→行为级描述→RTL描述→门(Gate)级网表→物理版图 4

#法外狂徒张三的博客 2146

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Verilog学习之路(3)— Verilog HDL的基础知识

Verilog学习之路(3)— Verilog HDL的基础知识 一、语言要素 1、空白符 空白符包括空格符(\b)、制表符(\t)、换行符和换页符。空白符使代码看起来结构清晰,阅读起来更方便。在编译和综合时,空白符被忽略。VerilogHDL程序可以不分行,也可以加入空白符采用多行编写。 initial begin a=3'b100; b=3'b010; end 和如下代码是一致的 initial begin a=3'b100; b=3'b010; end 2、注释符 Verilog HDL中运行

qq_38113006的博客 9389

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

1、Verilog的基础知识

Verilog的基础知识 目录 Verilog的基础知识 1.1、Verilog模块的定义与构成 1.2、基本语言要素 1.2.1、词法约定 1.2.2、数据类型 1.2.3、操作符及其表达式 1.1、Verilog模块的定义与构成 模块是Verilog层次化设计的基本构件,代表一个基本的功能单元。 每个模块由几个部分组成,包括模块名称、端口列表、数据类型说明、内部变量定义和电...

Rodinnn的博客 3682

Verilog学习笔记(一)基本概念

Verilog学习笔记 文章目录Verilog学习笔记前言一、Verilog语言相关二、Verilog基本结构三、Verilog变量定义四、Verilog中的逻辑运算五、Verilog的逻辑描述方式1 组合逻辑:2 时序逻辑:六、硬件常用的缓存FIFO总结 前言 因为参与的新项目需要用fpga,所以自己学了一下verilog语言。整理一些比较基础的内容。 一、Verilog语言相关 Verilog是一种硬件描述语言,与C语言不同,Verilog通常操作的对象是数字硬件系统,Verilog可以表示逻辑电

bjwhile的博客 2130

Verilog设计与验证 学习笔记一

Verilog设计与验证 学习笔记一 第四章 RTL概念与RTL建模 安排常用的设计实例,对RTL建模有感性的认识 第五章 重点讨论RTL级的编码风格和各种设计原则 第六章 讨论RTL级设计的FSM(有限状态机)的描述技巧 第四章 RTL概念与RTL建模 主要内容如下: RTL与综合的概念 RTL级设计的基本要素和步骤 常用的RTL级建模 实例 RTL和综合的概念 1....

Ter23LBJ的博客 2296

Verilog学习笔记

Verilog VHD基本语法+实战操作 一、基本语法 1.1举个例子对verilog语言进行总体性概括 例1:描述一个adder的三位加法器 看该简单的代码编写,咱们可以得到如下结论: verilog HDL 程序是由模块构成的。每个模块的内容都是嵌套于module和endmodule两个语句之间。每个模块实现特定的功能。模块之间可以进行像C语言一样的嵌套方式。这样整合成模块就有一个好处:大型数字电路可以分割成很多小的模型来实现特定的功能,最后通过顶层的模块调用小模块来实现整体的功能。 每个模块都要进

da.的博客 4500
上一篇: csp201809-03元素选择器
下一篇: [Verilog学习笔记]②程序设计语句和描述方式
RealWeakCoder
博客等级 码龄7年 236粉丝 68原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值