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

这篇具有很好参考价值的文章主要介绍了【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Verilog HDL简介

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
就是用代码来描述硬件结构
语言有VHDL与Verilog HDL

与VHDL比较

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
Verilog HDL 是从C语言来的,学的快

Verilog HDL基础语法

逻辑值

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
###例子
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

关键字

也叫保留字,一般是小写

module

表示模块的开始

endmodule

模块的结束

模块名

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

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

输入信号

input

输出信号

output

既做输入也做输出

inout

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
需要一些变量和参数对输入信号进行处理得到输出信号,变量又分为两种类型

线网型变量 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·

赋值方式

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

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

阻塞赋值

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

非阻塞赋值

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

always语句

使用前面定义的计数器
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
当复位信号有效时,我们给变量cnt初值是0.如果计数到最大值我们设定的参数时,就一直保持最大值,如果没有技术到最大值,每个时钟周期值+1

assign 语句

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

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

算数运算符

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

归元运算符、按位运算符

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

逻辑运算符

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

关系运算符

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

移位运算符

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

位拼接运算符

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

条件运算符

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

优先级

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

if-else 条件分支语句

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

case分支控制语句

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

系统函数

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

display

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

write

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

strobe

但是只在最后执行
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

monitor

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

stop ,finish

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
继续仿真不是从头开始执行的,而是从暂停的地方开始执行的

time,random

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记

readmemb,readmemh

【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记
【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法,fpga开发,学习,笔记文章来源地址https://www.toymoban.com/news/detail-833023.html

到了这里,关于【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • FPGA | Verilog基础语法

    菜鸟教程连接 举例(\\\"//\\\"符号后的内容为注释文字): initial $dumpfile (“myfile.dump”); //指定VCD文件的名字为myfile.dump,仿真信息将记录到此文件 可以指定某一模块层次上的所有信号,也可以单独指定某一个信号。 典型语法为$dumpvar(level, module_name); 参数level为一个整数,用于指

    2024年02月05日
    浏览(12)
  • 【Verilog HDL】FPGA-Verilog文件的基本结构

    【Verilog HDL】FPGA-Verilog文件的基本结构

    🎉欢迎来到FPGA专栏~Verilog文件的基本结构 ☆* o(≧▽≦)o *☆ 嗨 ~我是 小夏与酒 🍹 ✨ 博客主页: 小夏与酒的博客 🎈该系列 文章专栏: FPGA学习之旅 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏 📜 欢迎大家关注! ❤️ Verilog HDL系列博客参考书籍 《

    2024年02月04日
    浏览(12)
  • FPGA用verilog HDL实现串口通讯协议

    FPGA用verilog HDL实现串口通讯协议

    串口通信是一种通过串行传输数据的通信方式。它使用单个数据线将数据位逐个传输,而不是同时传输多个数据位。串口通信常用于连接计算机与外部设备,如打印机、调制解调器、传感器等。 串口通信一般使用的是异步传输方式,即发送方和接收方的时钟不同步。数据传输

    2024年02月05日
    浏览(14)
  • FPGA_学习_04_Verilog基础语法和Modelsem仿真

    FPGA_学习_04_Verilog基础语法和Modelsem仿真

    前言:对于以前学过C/C++/C#的作者来讲,Verilog的基础语法算是 特别简单 的。本文主要介绍Verilog的基础语法和Modelsem仿真。 FPGA开发是以模块为基础的,每个可 综合 的.v文件都是一个模块,模块由 module 和 endmodule 来声明。在这两个的内部,完成模块功能的实现。 在Vi

    2024年02月05日
    浏览(6)
  • 【FPGA】组合逻辑电路三种建模方式(Verilog HDL 门级建模、Verilog HDL 数据流建模、组合电路行为级建模)

    【FPGA】组合逻辑电路三种建模方式(Verilog HDL 门级建模、Verilog HDL 数据流建模、组合电路行为级建模)

    目录   Verilog HDL 门级建模 各种逻辑门的表示和使用 门级建模书写实例 Verilog HDL 数据流建模 数据流建模 数据流建模书写实例 组合电路行为级建模 always语句 条件语句 多路分支语句 循环语句 for while repeat forever 行为级建模示例   可以理解为对逻辑电路中各个门依次进行描述

    2024年04月13日
    浏览(21)
  • 【FPGA】verilog基础语法与应用:位操作 / 模块调用——流水灯(跑马灯)

    【FPGA】verilog基础语法与应用:位操作 / 模块调用——流水灯(跑马灯)

    今天的实验是计数器实验的升级,设计让8个LED灯以每个0.5s的速率循环闪烁 1 移位法实现 1.1 移位方法1 每个LED灯代表一位,共8位,亮为1,灭为0 如何实现这样的逻辑呢? 移位操作即可! 怎么样才能移位呢? 第一个状态需满足最低位为1,然后每次左移1个 源代码 仿真代码 功

    2024年01月16日
    浏览(7)
  • FPGA实验报告 Verilog HDL:7人表决器 巴克码信号发生器 FPGA数字时钟

    写在前面:本文提供以下三个任务的思路讲解和代码实现, 如需参考引脚配置说明,可以点击下方链接跳转查看完整实验报告 ;本实验使用的是Altera公司的cycloneⅢ类型的芯片。 Verilog HDL实现:7人表决器 信号发生器 多功能数字时钟 实验目标:实现7人投票表决电路,支持人

    2024年02月05日
    浏览(16)
  • Verilog HDL语言基础知识

    Verilog HDL语言基础知识

    目录 Verilog HDL语言基础知识  6.1.2  Verilog HDL模块的结构 6.1.3 逻辑功能定义 6.2.1  常量 6.3 运算符及表达式 6.4.2 条件语句 先来看两个Verilog HDL程序。 例6.1    一个8位全加器的 Verilog HDL源代码 【例6.2】一个8位计数器的Verilog HDL源代码     从上面的例子可以看出:     ①

    2024年02月05日
    浏览(10)
  • 基于FPGA的DDS原理信号发生器设计 quartusII 9.1平台 Verilog HDL语言编程 可产生正弦波

    基于FPGA的DDS原理信号发生器设计 quartusII 9.1平台 Verilog HDL语言编程 可产生正弦波

    基于FPGA的DDS原理信号发生器设计 quartusII 9.1平台 Verilog HDL语言编程  可产生正弦波、方波、锯齿波以及三角波   频率幅度可调节   代码+原理图 在现代电子技术领域,针对各种应用的信号发生器是一种非常核心的设备,而基于现场可编程逻辑门阵列(FPGA)的直接数字合成(

    2024年04月27日
    浏览(11)
  • HarmonyOS(二)—— 初识ArkTS开发语言(下)之ArkTS声明式语法和组件化基础

    HarmonyOS(二)—— 初识ArkTS开发语言(下)之ArkTS声明式语法和组件化基础

    通过前面ArkTS开发语言(上)之TypeScript入门以及ArkTS开发语言(中)之ArkTS的由来和演进俩文我们知道了ArkTS的由来以及演进,知道了ArkTS具备了声明式语法和组件化特性,今天,搭建一个可刷新的排行榜页面。在排行榜页面中,使用循环渲染控制语法来实现列表数据渲染,使

    2024年02月04日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包