【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日
    浏览(51)
  • 【Verilog HDL】FPGA-Verilog文件的基本结构

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

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

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

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

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

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

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

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

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

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

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

    2024年02月05日
    浏览(49)
  • 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日
    浏览(43)
  • 基于FPGA的DDS原理信号发生器设计 quartusII 9.1平台 Verilog HDL语言编程 可产生正弦波

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

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

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

    2024年02月04日
    浏览(58)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包