FPGA 学习路线
硬件编程语言
verilog
VHDL
SystemVerilog
基础知识及FPGA开发流程
电子类专业基础课
电路,数电
计算机体系结构,接口,数字信号处理
FPGA专业知识
基本单元
查找表,逻辑单元,逻辑块,dsp,存储器
FPGA开发流程
RTL
设计
前仿真
后仿真A
FPGA
综合
布局布线
时序收敛
映射
后仿真
镜像下载
硬件调试
时序收敛
1. 什么是时序,时间顺序,有先有后,不能错乱。时序收敛就指的是某一系统电路能按既定的顺序来执行特定功能。
2. 系统内不同单元电路的处理速度和走线延迟等是造成时序无法收敛的因素。
3. 一个时序不收敛的芯片和一块砖头没有什么区别。所以时序约束是很重要的。
在设计输入之后、设计综合之前进行 RTL 级仿真,称为综合前仿真,也称为前仿真
或功能仿真。
前仿真也就是纯粹的功能仿真,主旨在于验证电路的功能是否符合设计要求,其特点是不考
虑电路门延迟与线延迟。
在完成一个设计的代码编写工作之后,可以直接对代码进行仿真,检测源代码是否符合功能要求。
这时,仿真的对象为 HDL 代码,可以比较直观的观察波形的变化,在设计的最初阶段发现问题,节省大量的精力。
在布局布线后进行的仿真称为布局布线后仿真,也称为后仿真或时序仿真。
时序仿真真实地反映了逻辑的时延与功能,综合考虑电路的路径延迟与门延迟的影响,
验证电路能否在一定时序条件下满足设计构想的过程,是否存在时序违规。
https:
---
前仿真也就是通常所说的功能仿真,是RTL级的仿真,对象是verilog代码,其作用是验证RTL代码功能的正确性。
后仿真是综合布局布线后的时序仿真,对象是电路网表,也就是电路级的仿真,仿真是加入了sdf文件的。
某种意义上说后仿真在现在的大规模设计上才是可以去掉的,
一是因为现在的芯片规模很大,动态的时序仿真会花费相当长的时间(仿真一次几天时间已经算短的),
二是形式验证和STA已经将后仿真所能完成的任务拆开来完成了。
前仿真=功能仿真=行为级仿真=RTL级仿真
后仿真=时序仿真=布局布线后仿真=门级仿真
广义的后仿真又可以分为两步,
第一步是布线前 仿真,也就是综合后仿真其目的主要是验证逻辑功能是否正确,综合时序是不是正确;
第二步是布线后 仿真,这一级的仿真最接近于芯片,里面加入了线延迟
---
对FPGA来说,我觉得布局布线后直接看时序报告是否有时序违例就好了,时序仿真真的有必要去做吗
个人理解,如果是ASIC的话可能还有必要,纯粹FPGA开发的话,做了这么多年还没见过有人做后仿真
跨时钟域问题通过时序报告是看不出来,需要后仿
当我们做后仿时我们究竟在仿些什么
https:
开发工具
工具
amd/xilinx 的 vivado
intel/altera 的 quartus
熟悉一些常用IP用法
PLL,FOFO,存储器
软核处理器NIOS,以太网控制器,PCIe,DDR控制器
学习一些常见的硬件调试和时序分析的方法
怎么看最大频率
时序不收敛的时候怎么进行分析和修改设计
怎么用signaltap做一些简单的硬件设计
动手实验
在板子上做经典实验
流水灯
按键
数码管
红绿灯
总线通信
数据和信号处理
资源
工具
Vivado : 编辑,设计,综合
语言
图形化界面
verilog
开源的的rtl代码
ARM DesignStart M3
实例
使用ARM提供的 DesignStartM3 设计 软核Soc