[Verilog学习笔记]②程序设计语句和描述方式

Verilog学习笔记3--数据流建模和行为级建模 一、数据流建模 二、过程流建模 阅读详情

一、数据流建模

1.连续赋值语句

  • 目标类型是线型
  • 连续赋值中,只要赋值语句右边表达式任何一个变量有变化,表达式被立即计算
  • 连续赋值语句不能出现在过程块中
  • 多个连续赋值语句之间是并行语句
assign y=m|n


二、行为级建模

在这里插入图片描述

1.过程语句

1.1 initial过程语句

在这里插入图片描述
一般用于初始化

1.2always语句块

always语句块的出发状态是一直存在的,只要满足always后面的敏感事件列表,就执行过程块。
在这里插入图片描述
在这里插入图片描述

1.3过程语句使用中需要注意的问题

无论是时序还是组合逻辑描述,在过程语句中,被赋值信号必须定义为reg类型。

  • 组合电路描述中,全部输入信号列入敏感信号列表
  • 时序电路描述中,时间信号和部分输入信号列入敏感信号列表

2.语句块

语句块包括串行语句块和并行语句块两种,前者的关键字为begin和end,后者的关键字为fork和join
在这里插入图片描述
需要注意的是,并行语句块只能用于仿真测试程序,不能用于可综合电路程序
在这里插入图片描述

3.过程赋值语句

3.1阻塞赋值语句

语法格式为变量=表达式

在串行语句块中,各条阻塞赋值语句按照先后顺序依次执行,在并行语句块中,各条阻塞赋值语句同时执行。
执行阻塞赋值语句的顺序是,先计算等号右边表达式的值,然后立刻将计算的值付给左边的变量,与仿真时间无关。

3.1非阻塞赋值语句

语法格式为变量<=表达式
在串行语句块中,各条非阻塞赋值语句的执行没有先后顺序,每条语句并行执行。
执行非阻塞赋值语句的顺序是,先计算右端表达式的值,然后等到延时时间结束时,将计算的值赋给左边的变量。

4.过程连续赋值语句

过程性连续赋值语句有两种类型:赋值、重新赋值(assign,deassign)和强制、释放语句(force,release)

assign <寄存器型变量>=<赋值表达式>
deassgin<寄存器变量>
force<寄存器或连线型变量>=<赋值表达式>
release<寄存器或连线型变量>

5.条件分支语句

if 与else(有缩进)
case(相比于c++,不需要break,执行完直接跳出)

在使用case语句时,应该包含所有状态,如果没有包含完全,则必须设定缺省项default

6.循环语句

6.1 forever循环语句

执行无限循环,直到遇到系统任务$finsh为止。如果需要退出,可以使用disable语句
在这里插入图片描述

6.2 repeat循环语句

固定次数循环
在这里插入图片描述

6.3 while循环语句

在这里插入图片描述

6.4 for循环语句

在这里插入图片描述

三、结构化建模

1.模块级建模

即通过调用由用户自己描述产生的module模块对硬件电路结构进行说明。
模块调用的基本语法格式为:
模块名 <参数值列表> 实例名(端口名列表)

阵列调用:
在这里插入图片描述

2. 门级建模

在这里插入图片描述
在这里插入图片描述
门级模块的调用为:

  • 多输入门:门类型<实例名>(<输出端口>,<输入端口1>,<输入端口2>, ⋯ \cdots ⋯,<输入端口n>)
  • 多输出们:门类型<实例名>(<输出端口1>,<输入端口2>, ⋯ \cdots ⋯,<输入端口n>,<输入端口>)

例如:

and A1(OUT1,in1,in2);
not not_1(out1,out2,in)
Verilog学习笔记(2):Verilog程序设计语句和描述方式 verilog学习笔记;verilog知识总结;verilog考试知识点汇总;Verilog程序设计语句和描述方式;数据流建模;连续赋值语句;行为级建模;过程语句;语句块;过程赋值语句;过程性连续赋值语句;条件分支语句;循环语句;结构化建模;模块级建模;门级建模;开关级建模 阅读详情

相关推荐

【 Verilog HDL 】循环语句总结

目录   综述 forever语句 repeat语句 while语句 for语句 综述 在Verilog HDL中存在四种类型的循环语句,用来控制执行语句的执行次数。 1) forever  连续的执行语句。 2) repeat  连续执行一条语句 n 次。 3) while  执行一条语句直到某个条件不满足。如果一开始条件即不满足(为假),则语句一次也不能被执行。 4)...

Reborn Lee 1万+

硬件语言 Verilog HDL 学习 day02 数据流建模,行为级建模,结构化建模

硬件语言 Verilog HDL 学习 day02 数据流建模,行为级建模,结构化建模

she666666的博客 2497

Verilog VHDL三种建模描述方式——2选1数据选择器

Verilog VHDL三种建模描述方式——2选1数据选择器

zylhxq的博客 1万+

EDA技术实用教程 | 复习六 | 过程语句always

过程语句 always引导的过程语句结构是Verilog语言中最常用和最重要的可综合语句结构。 设计模块中的任何顺序语句都必须放在过程语句结构中。过程语句的格式如下: always @ (敏感信号及敏感信号列表或表达式) 包括块语句饿各类顺序语句 在always块中被赋值的只能是register型变量(如reg,integer,real,time)。 每个always块在仿真一开始便开始执行,当执行完块中最后一个语句,继续从always块的开头执行。 时钟过程表述的特点和规律 1、如

m0_46607832的博客 2414

M×N扫描序列图像拼接、大视场图像拼接、全景图像拼接、2D网格拼图方法、累计误差消除(显微图像/航拍图像等)

M×N序列图像完整拼接方法前言一、最朴实的一般方法二、广度优先搜索算法1.引入库2.读入数据整体路径优化算法 前言 1、网上有很多介绍图像两两拼接的算法,但是缺少对M×N张子图两两相对位置关系获得整体误差较小,肉眼下无明显错位的完整图像的算法实现。 2、由于拼接算法的不稳定可能会产生不同程度的误差,那么如何需要选择(搜索)误差较小拼接路径。 一、最朴实的一般方法 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、广度优先搜索算法 1.引入库 代码如下(示

qq_37764141的博客 5408

5分钟搞定kkFileView 4.4.0 Docker部署:小白也能上手的完整配置流程

本文提供了一份针对kkFileView 4.4.0版本的Docker部署完整指南。通过使用预构建的Docker镜像,即使是新手也能在5分钟内完成文件预览服务的搭建,涵盖从环境准备、镜像拉取、容器启动到服务验证的全流程,并分享了进阶配置与生产环境优化建议。

mango的博客 528

verilog 中forever always_HDLBits--(Verilog在线学习)--"94--97: Edge Detector"

Verilog HDLBits--Edge Detection 疫情期间,宅家的你不妨一起,做些对得起自己、对得起守候的事情! 希望疫情早点结束,我们一切都好!这篇文章主要讲述HDLBits的基础练习中,有关Verilog边沿检测类问题。是本人做到目前为止觉得有必要拿出来细细琢磨的一小部分。主要讲述本人在初期踩过的坑,和一时半会儿没有转过来的弯儿,以及对于学习Verilog的细微理解。希望对于一些...

weixin_39775029的博客 471

「分治法」最近点对距离问题

一、问题描述 给定平面S上n个点,找其中的一对点,使得在n个点组成的 所有点对中,该点对间的距离最小。 假设所讨论的点是以标准笛卡儿坐标形式(x, y)给出的。因 此,在两个点Pi =(xi , yi )和Pj =(xj , yj )之间的距离是标准的欧几里德 距离: d = 根号下( x i − x j ) 2 + ( y i − y j )2 二、问题分析 直接用暴力解法很简单,用结构体把每个点的x、y坐标都存下来之后,用一个二重循环即可获得距离的最大值。但是这样做的时间复杂度也达到了O(n的平方)

Laok0413的博客 9656

第三章-过程语句和子程序

目录 3.1过程语句 3.2任务、函数和void函数 3.3任务和函数概述 3.3.1在子程序中去掉begin...end 3.4子程序参数 3.4.1C语言风格的子程序参数 3.4.2参数的方向 3.4.3高级的参数类型 3.4.4参数的缺省值 3.4.5采用名字进行参数传递 3.4.6常见的代码错误 3.5子程序的返回 3.5.1返回语句return ​3.5....

bleauchat的博客 1315

王道考研计算机网络课件全解析:从零搭建你的知识框架(附B站视频+PPT下载)

本文全面解析王道考研计算机网络课程的核心知识体系,从OSI七层模型到TCP/IP四层架构,详细讲解物理层、数据链路层、网络层、传输层和应用层的关键技术。提供高效学习路径、实战案例和常见误区警示,帮助考生系统构建计算机网络知识框架,适合计算机考研备考者参考学习。

leaf8的博客 564

HDRnet——双边滤波和仿射变换的摇身一变

layer层数越多,下采样得到的图越小,low-level features的好处是最后的grid会更coarser,最后的特征图的感受野也越多,非线性更好,表达力更强。所以最终grid是5维的[B,in*out,n,H,W],permute之后是[B,H,W,n,in*out],B是batchsize,n表示对guide的量化级数,in*out表示每个cell的变换系数。这部分的处理对象是低分辨率图,利用CNN进行特征提取(局部和全局),最后fuse得到grid,这里面包含了变换的系数。

zcg1942的博客 1578

Verilog 硬件描述语言自学——程序设计语句和描述方式

Verilog HDL硬件建模方法摘要 Verilog HDL提供了三种硬件建模方法:数据流建模、行为级建模和结构化建模。数据流建模通过连续赋值语句(assign)描述组合逻辑电路,分为显式和隐式两种形式,支持延时和驱动强度设置。行为级建模使用initial和always过程块,通过过程赋值、条件分支和循环语句实现高层次抽象设计,适用于复杂逻辑和状态机。结构化建模通过模块实例化实现层次化设计,支持模块级、门级和开关级建模,可采用位置对应或名称对应方式连接端口,并能通过参数重定义实现模块复用。三种方法分别适用

qq_44791751的博客 2461

奇迹MU单机版开服全流程:从零搭建到分辨率调整(附GM工具使用技巧)

本文详细介绍了奇迹MU单机版从零搭建到分辨率调整的完整流程,包括环境配置、服务端启动、GM工具使用技巧等关键步骤。特别针对现代高分辨率显示器提供了优化方案,帮助玩家轻松搭建个性化游戏环境,重温经典MMORPG的独特魅力。

b3n4m5q6w7的博客 684

Verilog的三种描述方式(结构化描述、数据流描述、行为级描述)

Verilog对电路功能的描述有三种方式:结构化描述、数据流描述、行为级描述。三种描述方式抽象级别不同,各有优缺点,相辅相成,需要配合使用。 目录 一、结构化描述 1、概念 2、特点 3、示例 真值表: 电路抽象: 实现代码: 测试文件: 仿真结果: 实现电路: 二、数据流描述 1、概念 2、特点 3、示例 实现代码: 实现电路: 三、行为级描述 1、概念 ...

CLL_caicai的博客 2万+

三相电机控制入门:端电压、相电压、线电压到底怎么测?(附实测波形对比)

本文为三相电机控制初学者提供了端电压、相电压和线电压的完整测量指南。通过厘清三者的物理定义与测量方法,详细讲解了如何搭建虚拟星形点电路,并对比分析了方波、SPWM和SVPWM三种主流控制模式下关键电压波形的核心特征与差异,帮助工程师掌握正确的示波器测量与波形解读技巧。

oauth7security的博客 657

Vue3 - 实现集成配置百度语音识别转文字,长按或开启录音并将录音文件实时转换为文字,上传音频文件利用百度语音识别API转换为文本并展示(vue3百度智能云API实现上传录音文件并转换成文字案例)

vue3对接百度智能云语音识别,vue3 h5移动端网页中实现语音识别,百度语音识别录音转文字_百度智能云,vue3如何使用百度语音识别,如何将语音转文字,使用vue3实现录音并将录音转换为文字,vue3如何实现语音输入功能功能,vue3集成百度智能云API实现录音转文字详细教程完整示例代码demo,VUE3使用百度语音识别语音转文字,vue调用百度语音识别,vue3百度语音识别文字并展示功能,vue3免费语音转文本api,百度语音识别申请配置教程,Vue3项目配置自定义界面百度语音识别转文字和原生使用方式

🏆 前端领域优质创作者 2728

Josh 的学习笔记之 Verilog(Part 3——描述方式和设计层次)

Verilog 语言可以用多种方式来描述硬件,同时,使用这些描述方式又可以在多个抽象层次上设计硬件。这是 Verilog 语言的重要特征。本文主要侧重于阐述 Verilog 语言的描述方法和设计层次。

Josh_Gao 3157

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Verilog的结构化、数据流、行为级描述方式

Verilog的结构化、数据流、行为级描述方式 概述: verilog通常可以使用三种不同的方式描述模块实现的逻辑功能:结构化、数据流、行为描述方式。 结构化描述方式: 是使用实例化低层次模块的方法,即调用其他已经定义过的低层次模块对整个电路的功能进行描述,或者直接调用Verilog内部预先定义的基本门级元件描述电路的结构。 数据流描述方式: 是使用连续赋值语句(assign)对电路的逻辑功能进行描述,该方式特别便于对组合逻辑电路建模。 行为级描述方式: 是使用过程块语句结构(always)和比较抽象的高

Crazzy_M的博客 9275

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【FPGA】Verilog描述电路的三种方式(结构化、数据流和行为化)

Verilog作为一种HDL,硬件描述语言,是如何在不同的抽象层级上描述电路的?描述电路的方式有哪些?

孤独的单刀 9165

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【 Verilog HDL 】HDL的三种描述方式

当我们使用HDL代码描述硬件功能的时候,主要有三种基本描述方式,即结构化描述方式、数据流描述方式和行为级描述方式。通过本次总结,我们将明白到底我们描述的电路是什么方式描述的。 结构化描述方式 结构化描述方式是最原始的描述方式,是抽象级别最低的描述方式,但同时也是最接近于实际的硬件结构的描述方式。结构化的描述方式,思路就像在面包板上搭建数字电路一样,唯一的不同点就是我们通过HDL的形式来描述数字...

Reborn Lee 1万+

Verilog的基础知识

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

浮若于心 4万+

Verilog初级教程(8)Verilog中的assign语句

wire类型的信号需要连续赋值。例如,考虑一根电线用于连接面包板上的元件。只要将+5V电池施加在电线的一端,连接在电线另一端的元件就会得到所需的电压。

Reborn Lee 8万+

verilog 入门教程

verilog 入门教程   2011-07-23 10:21:15|  分类: Verilog | 1.1 什么是Verilog HDL? 1.2 Verilog的历史 1.3 Verilog的主要描述能力 2.1 Verilog-模块 2.2 Verilog-时延 2.3 Verilog-assign语句 2.4 Verilog-initial语

申缘 7万+

verilog的结构化、数据流、行为级描述方式

一、前言 verilog通常可以使用三种不同的方式描述模块实现的逻辑功能: 结构化描述方式: 是使用实例化低层次模块的方法,即调用其他已经定义过的低层次模块对整个电路的功能进行描述,或者直接调用Verilog内部预先定义的基本门级元件描述电路的结构。 数据流描述方式: 是使用连续赋值语句(assign)对电路的逻辑功能进行描述,该方式特别便于对组合逻辑电路建模。 行为级描述方式: 是使用过程块语句结构(always)和比较抽象的高级程序语句对电路的逻辑功能进行描述。 二、举例 要实现的逻辑功

耐心的小黑的博客 5792

Verilog中Case语句

case

CLL_caicai的博客 7万+

Verilog学习笔记

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

da.的博客 4500
上一篇: [Verilog学习笔记]①基础知识
下一篇: [Verilog学习笔记]③数字逻辑电路设计方法
RealWeakCoder
博客等级 码龄7年 236粉丝 68原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值