FPGA 从零开始学习-第二章第2-1节

FPGA 从零开始学习

第一章 工欲善其事必先利其器–各类工具安装

  1. FPGA开发工具安装
  2. 软件配置和可能遇到的问题

第二章 系统搭建和硬件编程语言的学习

  1. FPGA硬件系统搭建
  • 设计思想与方法
  • VIVADO创建一个完整的工程流程
  1. 硬件编程语言的学习
  • Verilog基础知识


前言

近期工作比较忙,学习时间较少,后续还是根据自己学习的进度,定期总结和分享,也是对自己学习过程的一个梳理。


Verilog基础知识

1. Verilog 和 C 的区别

Verilog 是硬件描述语言,在编译下载到 FPGA 之后, FPGA 会生成电路,所以 Verilog 全部是并行处理与运行的;C 语言是软件语言,编译下载到单片机/CPU 之后,还是软件指令,而单片机/CPU 处理软件指令需要取址、译码、执行, 是串行运行的。

在VIVADO里,RTL级分析原理图就可以查看到你的Verilog代码的功能框图,综合后的原理图可以查看到代码利用FPGA资源实现后的框图(包括使用了哪些逻辑资源或者BUFFER等),布局布线后就相当于利用PCB上的实物已经实际实现的情况(包括了管脚分配和线路时延等)。

2. Verilog 基础知识

A. 逻辑电路的4种状态:0(GND,低电平)、1(VCC,高电平)、X(不确定,可高可低)、Z(高阻,悬空状态)

B. 数据类型:总结了一个图,如下
在这里插入图片描述
C. 运算符:总结如下图
在这里插入图片描述
运算符是有优先级的,可以看下面这个图
在这里插入图片描述
D. 模块代码基本格式(module基本内容)
在这里插入图片描述

3. 补充知识点

阻塞赋值(=)与非阻塞赋值(<=)
看名字就比较好理解,同一个always 中,一条阻塞赋值语句如果没有执行结束,那么该语句后面的语句就不能被执行,在always内顺序执行;非阻塞赋值是由时钟节拍决定,在时钟上升到来时,执行赋值语句右边,并行执行,一个时钟沿执行一次。
在这里插入图片描述
阻塞赋值如上图
在这里插入图片描述
非阻塞赋值如上图
这里自己懒,没截图,借用个别人的图,能直观看出差别,比较简单可以自己测试一下。


总结

这篇主要总结了一些Verilog基础知识,后续就从简单的门电路开始,学习代码实现功能。不积跬步无以至千里,慢慢来积累。
这里安利一下比较好的教材,除了夏宇闻老师的大学教材外,还有正点原子的参考板教材,两者结合起来理解效率比较高。我用的板子是自己设计的,目前是个A7,功能比较简单。所以我的代码学习都是上板验证,后续一些复杂的功能等后面新板卡(K7)设计完成再验证(最近比较忙的原因)。

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值