FPGA_01:初识FPGA

基于 Xilinx Vivado

参考 视频课程:01 课程学习方法与要求说明_哔哩哔哩_bilibili

1:学习的目的

a:

通过学习如何在电路板上实现功能的过程中,积累开发和调试经验和技巧(独立的过程)

利用FPGA这个工具来实现你要达到的目的。

一定要自己写代码,自己调试。别人的代码只是别人的,要学会内化成自己的思想。

b:

应该学习如何写代码

c:

1:Verilog 语法(很少很简单),FPGA常见的设计方法,

2:自己写代码

(如状态机,线性序列机)

3:下载代码进行使用(别人的代码,能不能通过接口使用起来,能不能验证),使用厂家或者第三方使用的IP核,

IP核(知识产权核):由厂家或者第三方提供,看不到源代码,提供一个接口一个文档告诉你能够实现什么样的功能,你能不能自己使用。如FFT核,滤波器。FIFO,RAM,ROM

4:常见的接口设计:SPI,IIC,UART

DDS:矩阵键盘,DAC输出模拟信号,LCD/数码管

模块与模块之间使用怎样的接口逻辑,来确保数据的正确传递。

高速数据采集系统:数据流接口的设计(数据流怎么样从ADC进来,进入我们的FIFO,甚至我们外面的DDR存储器,RAM中,最后我要通过USB,通过以太网读出来传到电脑上去,这种高速的数据流怎么来设计。)

学习时间:

基础内容的学习,至少要有20*8小时。(这个时间不是包括视频的时间,更多是练习的时间)

不要过于注重时间,要注重调试,分析问题的经验。沉淀!

对于视频课:

学完不等于学会,学会不需要学完

在问题中学习,在项目中成长,学习3-5个具有一定综合性的项目课程,放心,FPGA很简单,重要的是经验与兴趣!

学习态度:

不要眼高手低,每一个项目都必须要自己动手去做

对于简单的知识,学习开发工具的使用,学习BUG的调试,提高对工具的熟练度,积累调试的经验。

(后面一个以太网通信,一个摄像头,VGA,可能几百行代码如果前面没有打好基础的话,后面是很难受的)

要求:

1:一定要动手去自己写,自己调试

2:练习的时候,一定要自己尝试独立的去写,这是你成长的机会。

3:仿真的认识:

两大作用

1、检查验证你的设计功能是否正确

2、调试问题,仿真可以看到设计中每一个信号每一个时刻的值,通过仿真来分析设计中的信号异常的原因,一步一步的溯源,最终找到问题。

在做设计时,超过50%的时间不是在写代码,而是在通过仿真找到并且解决问题

FPGA开发流程介绍

开发流程:

开发流程很重要,只有掌握了正确的开发流程,后面的学习才能扎实。而且学习开发流程不仅仅适配于Vivado,掌握了流程对整个电路研发,芯片开发都有很重要的作用。

做FPGA开发的目的:写一套硬件描述语言(代码),能够在制定的硬件平台上实现相应的功能。

让程序在目标板上正常工作(功能正常,性能稳定)

👆

我要验证功能是不是正常,分析性能是不是正确

👆

设计输入

设计定义(让LED一秒闪烁一次)

使用Verilog编写逻辑,画逻辑图,使用IP核心

👇

综合工具,对所写的逻辑描述内容进行分析,并得到逻辑门级别的电路内容

(由专业的EDA软件进行,Quartus,Vivado,ise)

👇

功能仿真(逻辑仿真,功能仿真),使用仿真工具对写的代码进行检查,而不是下载到板子上

注意:

对于数字电路来说,仿真是基本接近与真实情况的,是可信的。

功能不正确,修改设计

👇

布局布线:

不同的板子有不一样的性能,在功能仿真之后,我们要对电路进行布局布线。

布局不一样,那么电路内部的延迟肯定不一样,延迟不一样,时序性能也就不一样

主频和时间成反比,时间越长,主频就越低

👇

分析性能:

1:时序仿真(延迟分为:走线延迟tcd,内部延迟 tpd)(耗时间)

通过分析各个元器件内部的布局走线,逻辑功能,得到一个仿真的波形结果,从而分析输入和输出是不是想要的结果。

2:静态时序分析(常用)

我希望我的输入信号输进去到输出,我的频率是100M,也就是10ns的时间完成,然后一天一条路的分析。

静态时序满足那么设计可以成功,时序不满足那么就要优化设计(改代码)

👇

下载到目标板上运行,查看运行结果。(板级调试)

借助工具

ILA

Signaitap II

总结:

1、设计定义

需求定义。

2、设计输入(写Verilog代码)

3、分析综合(EDA软件)(一种厂家芯片对于一个软件)

看有没有语法错误

4、功能仿真(Vivado,Modelsim)

5、布局布线(vivado、quartus)

6、分析性能(时序仿真Modelsim,静态时序分析)

7、板级调试

8、OK

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值