【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法

这里写目录标题

  • Verilog HDL简介
    • 与VHDL比较
  • Verilog HDL基础语法
    • 逻辑值
        • 关键字
          • module
          • endmodule
        • 模块名
        • 输入信号
        • 输出信号
        • 既做输入也做输出
        • 线网型变量 wire
        • 寄存器型变量 reg
        • 参数 parameter
        • 参数 localparam
        • 常量
        • 赋值方式
          • 阻塞赋值
          • 非阻塞赋值
        • always语句
        • assign 语句
    • 算数运算符
    • 归元运算符、按位运算符
    • 逻辑运算符
    • 关系运算符
    • 移位运算符
    • 位拼接运算符
    • 条件运算符
    • 优先级
    • if-else 条件分支语句
    • case分支控制语句
    • 系统函数
      • display
      • write
      • strobe
      • monitor
      • stop ,finish
      • time,random
      • readmemb,readmemh

Verilog HDL简介

在这里插入图片描述
就是用代码来描述硬件结构
语言有VHDL与Verilog HDL

与VHDL比较

在这里插入图片描述
Verilog HDL 是从C语言来的,学的快

Verilog HDL基础语法

逻辑值

在这里插入图片描述
###例子
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

关键字

也叫保留字,一般是小写

module

表示模块的开始

endmodule

模块的结束

模块名

一般与.v文件的名字一致

在这里插入图片描述

输入信号

input

输出信号

output

既做输入也做输出

inout

在这里插入图片描述
需要一些变量和参数对输入信号进行处理得到输出信号,变量又分为两种类型

线网型变量 wire

可以看作直接的链接,可以映射为一条真实存在的物理连线

寄存器型变量 reg

对某一时间点状态进行保持的功能,可以映射为一条真实的元器

参数 parameter

实例化可以修改参数

参数 localparam

只能在模块内部使用,不能实例化

常量

基数表示法
格式:[ 换算为二进制后位宽的总长度 ] [ ’ ] [ 数值制符号 ] [ 与数值进制符号对应的数值 ]
8‘d171:位宽是8bit,十进制的171。
[数值进制符号]中如果是[h]则表示十六进制,如果是[o]则表示八进制,如果是[b]则表示二进制,D 表示十进制
8’hab表示8bit的十六进制数ab,
8’o253表示8bit的八进制数253:
8’b10101011表示8b性的二进制数10101011,下划线增强可读性。
[换算为过进制后位宽的总长度]:可有可无,verilog会为常量自动匹配合适的位宽。
当总位宽大于实际位宽,则自动在左边补0,总位宽小于实际位宽,则自动截断左边超出的位数。
'd7与8’d7:表示相同数值,8’d7换算为二进制就是8’b0000—0111,前面5位补0;
2’d7换算为二进制就是2’b11,超过2位宽的部分被截断。
如果直接写参数,例如100,表示位宽为32bit的十进制数100·

赋值方式

赋值方式有两种,一种是阻塞赋值,一种是非阻塞赋值

在这里插入图片描述

阻塞赋值

可以理解为顺序执行,即第一句语句执行玩之后才会执行第二句语句

非阻塞赋值

语句是并行执行,同一时刻两条语句同时执行

always语句

使用前面定义的计数器
在这里插入图片描述
当复位信号有效时,我们给变量cnt初值是0.如果计数到最大值我们设定的参数时,就一直保持最大值,如果没有技术到最大值,每个时钟周期值+1

assign 语句

如果括号内的条件满足的话,就将第一个值赋值给某一个变量,如果不满足的话,就将第二个值赋值给这个变量

在这里插入图片描述

算数运算符

在这里插入图片描述

归元运算符、按位运算符

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

逻辑运算符

在这里插入图片描述

关系运算符

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

移位运算符

在这里插入图片描述

位拼接运算符

在这里插入图片描述

条件运算符

在这里插入图片描述

优先级

在这里插入图片描述

if-else 条件分支语句

在这里插入图片描述

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

case分支控制语句

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

系统函数

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

display

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

write

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

strobe

但是只在最后执行
在这里插入图片描述
在这里插入图片描述

monitor

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

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

stop ,finish

在这里插入图片描述
在这里插入图片描述
继续仿真不是从头开始执行的,而是从暂停的地方开始执行的

time,random

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

readmemb,readmemh

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

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

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

相关文章

C++ Qt day2

自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show() #include <io…

翻译: 使用 GPT-4 将您的 Streamlit 应用程序提升到一个新的水平一

帮助您更快地设计、调试和优化 Streamlit 应用的专业技巧 设计和扩展 Streamlit 应用程序可能是一项艰巨的任务&#xff01;作为开发人员&#xff0c;我们经常面临一些挑战&#xff0c;例如设计良好的 UI、快速调试我们的应用程序以及快速制作它们。 如果有一个工具可以加快速…

Tomcat运维

目录 一、Tomcat简介 二、系统环境说明 1、关闭防火墙&#xff0c;selinux 2、安装JDK 3、安装Tomcat 三、Tomcat目录介绍 1、tomcat主目录介绍 2、webapps目录介绍 3、Tomcat配置介绍&#xff08;conf&#xff09; 4、Tomcat的管理 四、Tomcat 配置管理页面(了解) …

类和对象 第三部分第三小节:const修饰成员函数

一.常函数&#xff1a; &#xff08;一&#xff09;成员函数后面加const后我们成这个函数为常函数 &#xff08;二&#xff09;常函数内不可以修改成员函数属性 额外补充&#xff1a; this指针的本质&#xff0c;是指针常量&#xff0c;指针指向的是不可以修改的 但是指针指向的…

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例4-11 HTML5 表单验证

代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>HTML5 表单验证</title> </head><body> <form action"#" method"get" novalidate>请输入您的邮箱:<input type&q…

无限学模式-“科研创新的加速器:全面掌握ChatGPT,推动研究方法和工作模式现代化!“

2023年随着OpenAI开发者大会的召开&#xff0c;最重磅更新当属GPTs&#xff0c;多模态API&#xff0c;未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff0c;不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车…

小型商用机器人,如何做到小而强?

兼顾体型和性能。 体型和性能的矛盾 一直以来&#xff0c;商用清洁机器人的应用场景主要集中在大型商场、超市、写字楼等&#xff0c;为什么1000平米以下的小型商超等中小场景却很少涉足&#xff1f;原因可以说有很多&#xff0c;但核心为两方面&#xff0c;一方面&#xff0…

YOLOv8优化策略:注意力涨点系列篇 | 一种轻量级的加强通道信息和空间信息提取能力的MLCA注意力

🚀🚀🚀本文改进:一种轻量级的加强通道信息和空间信息提取能力 MLCA注意力 🚀🚀🚀在YOLOv8中如何使用 1)作为注意力机制使用;2)与c2f结合使用; 🚀🚀🚀YOLOv8改进专栏:http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研…

PaddleOCR将自己训练的模型转换为openvino格式模型

1 训练模型 python train_steelseal_det.py2 checkpoints模型转换为inference 模型 加载配置文件ch_PP-OCRv4_det_student_steelseal.yml&#xff0c;从./output/ch_PP-OCRv4/best_model/目录下加载model模型&#xff0c;inference模型保存在./output/ch_PP-OCRv4/best_model…

机器学习 | 深入探索Numpy的高性能计算能力

目录 初识numpy numpy基本操作 数组的基本操作 ndarray运算 数组间运算 矩阵 初识numpy Numpy&#xff08;Numerical Python&#xff09;是一个开源的Python科学计算库&#xff0c;用于快速处理任意维度的数组。Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务&…

视频尺寸魔方:分层遮掩3D扩散模型在视频尺寸延展的应用

▐ 摘要 视频延展(Video Outpainting)是对视频的边界进行扩展的任务。与图像延展不同&#xff0c;视频延展需要考虑到填充区域的时序一致性&#xff0c;这使得问题更具挑战性。在本文中&#xff0c;我们介绍了一个新颖的基于扩散模型的视频尺寸延展方法——分层遮掩3D扩散模型(…

盛况空前 火热来袭 ▏2024上海国际轴承及其专用装备展览会暑期归来

中国设备管理协会主办的“2024上海国际轴承及其专用装备展览会”将于2024年7月24日至26日在“国家会展中心&#xff08;虹桥&#xff09;”举办。展会预计展出面积55000平方米&#xff0c;汇聚来自世界各地的近1000家企业与60000多人次的国内外观众齐聚一堂。为期三天的展览会是…

VisualSVN Server下载安装和使用方法、服务器搭建、使用TortoiseSvn将项目上传到云端服务器、各种错误解决方法

VisualSVN Server下载安装和使用方法、服务器搭建、使用TortoiseSvn将项目上传到云端服务器、各种错误解决方法 0.写在前面00.电脑配置01.思路 1.VisualSVN Server下载安装01.下载02.安装03.电脑命名不能有中文04.制作VisualSVN Server快捷方式05.License limits exceeded, Som…

仅用2天就备案完成了,这速度也太快了...

引言 大家好&#xff0c;就在前天&#xff0c;笔者才发布了文章《时隔78天&#xff0c;个人微信小游戏内容审核终于通过了&#xff0c;这到底是经历了什么…》。 感慨了游戏内容审核的不容易&#xff0c;同时简单介绍了备案的流程。 没想到申请备案才2天&#xff0c;就已经过…

【EI会议征稿】第三届大数据、区块链与经济管理国际学术会议 (ICBBEM 2024)

第三届大数据、区块链与经济管理国际学术会议 (ICBBEM 2024) The 3rd International Conference on Bigdata Blockchain and Economy Management 第三届大数据、区块链与经济管理国际学术会议(ICBBEM 2024)&#xff0c;将于2024年3月22-24日在中国南昌召开。大会由江西科技师…

2023年衣物清洁赛道行业数据分析(电商数据查询):总销额同比下滑21%

衣物清洁产品是日常生活中的必备消费品&#xff0c;加之消费频次较高&#xff0c;因此在我国较大的人口基数背景下&#xff0c;衣物清洁市场的整体体量也比较大。不过&#xff0c;从年度的销售走势看&#xff0c;2023年衣物清洁市场的整体销售呈现一定幅度的下滑。 根据鲸参谋…

深入浅出 diffusion(2):pytorch 实现 diffusion 加噪过程

我在上篇博客深入浅出 diffusion&#xff08;1&#xff09;&#xff1a;白话 diffusion 原理&#xff08;无公式&#xff09;中介绍了 diffusion 的一些基本原理&#xff0c;其中谈到了 diffusion 的加噪过程&#xff0c;本文用pytorch 实现下到底是怎么加噪的。 import torch…

Oracle篇—分区表和分区索引的介绍和分类(第一篇,总共五篇)

☘️博主介绍☘️&#xff1a; ✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux&#xff0c;也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章&#xff0c;并且也会默默的点赞收藏加关注❣…

金蝶云星空—开发直接SQL报表

项目场景&#xff1a; 金蝶云星空报表开发 问题描述 金蝶云星空直接SQL开发不需要些代码&#xff0c;只通过SQL脚本即可开发 解决方案&#xff1a; 步骤如下&#xff1a; 步骤一&#xff1a; 打开BOSS开发平台&#xff0c;打开 -》财务会计 -》总账 -》账表 -》直接SQL账表…

C语言的模型玩具:结构体的使用以及操作符优先级

各位少年&#xff0c;大家好&#xff0c;我是博主那一脸阳光&#xff0c;今天分享结构体的使用&#xff0c;声明以及操作符的使用。 前言&#xff1a; 如果你想做一块月饼&#xff0c;你要学习它的制作方法&#xff0c;需要准备面粉&#xff0c;白砂糖&#xff0c;奶粉&…