开始学习fpga,想尽快,那么先来了解一下fpga的开发流程。
1、需求分析到模块划分
需求说明文档;器件选择(逻辑资源、功耗、io数量、封装等等);配置电路考虑;开发工具选择;电路板的可拓展性考虑;在线调试和板级调试考虑;分模块设计。
2、设计输入到综合优化
设计输入:原理图、verilog、vhdl
综合:指的是将较高层次的电路描述转化成较为低层的电路描述。就是将设计代码转成底层的与门、非门、ram、触发器等基本逻辑单元相互连接而成的网表,综合工具使用synplicity的synplify,也可使用器件厂商提供的开发工具进行实现(实现指的是:翻译、映射、布局布线)。
代码设计完成后,最好先使用开发工具进行语法检测,之后进行功能仿真,此处仿真不涉及时序上的延时。仿真工具首推modeltech公司的modelsim,也可以用ise的quartus 2进行简单仿真。
3、实现到时序收敛
实现:
翻译---将综合后的结果转化成所选器件的底层模块和硬件原语;
映射---将翻译的结果映射到具体器件上;
布局布线---根据用户的设计约束,进行布局布线,完成fpga内部逻辑的连接;
时序收敛:(设计关键,必须满足时序收敛)
工具的最红布局布线满足设计者输入的时序约束要求。
4、仿真到板级调试
仿真和板级调试用于主要的验证。fpga的板级调试一个很大的问题在于同步观察接口信号数量受限,很难观测内部信号节点的状态,假若纯板级调试,就消耗太大的人力物力了。
fpga仿真很重要,但是和其他软件开发中的仿真概念不大一样。时序电路,逻辑的每一步变化都是由时终沿来触发的,调试时控制时钟频率显然不能达到单步的效果。
开发团队一般不会严格地执行所有的三次仿真,一般做行为仿真和时序仿真,当我们熟练的可以编写可综合的代码,我们只需要进行功能仿真,时序仿真也一般不做,我们会花时间去做深入细致的时序约束,通过时序报告分析解决时序问题。
关于fpga的调试有很多种方法,借助示波器和逻辑分析仪的调试方法最常用。如ise的chipscope、quartus 2、signaltap 2。练习的时候可以使用quartus 2 。
关于quaryus 2的开发流程,在该软件的help---pdf_tutorials---verilog hdl users:
quartus 2的工程建立、使用、编译,在此就不一一赘述,但是要明白task窗口的编译步骤:
compile design ---- 使用说明
analysis & synthesis ---- 分析综合
fitter(place & route) ---- 适配(布局布线)
assembler(generate programming files)---- 产生相应的编程下载配置的文件,一般是 bit数据流,sof/pof格式
timequest timing analysis ---- 时序分析
eda netlist writer ---- 给 quartus 2 支持的第三方提供网表
program derice (open programmer) ---- 配置
三屏幕电竞笔电原型机Project Valerie在CES展场上失窃
芯盛传感超高性价比单点激光雷达大规模量产,成为无人机避障和定高的理想方案
MMA766OFC加速度计在移动电话中的应用
被华为先发制人了?小米6:还要再等一个月值得等待
双核单片机之初体验
想尽快上手FPGA,FPGA开发流程了解一下
介绍一种友恩充电器芯片U6101
芯片初创公司Pliops完成6500万美元融资
各种形式滤波电路分析
工信部发正式牌照鼓励移动通信创新还要促进工业互联网平台建设
如何给OriginBot安装大语言模型
CAN总线防护电路及解决方案
Protel转换到PADS的步骤
Simon-Smart系列智能家居 五大系统领航解决方案
黑幕黑幕!小米7被曝光,无下巴刘海屏+屏下指纹
对抗三星OLED面板 JDI将推可挠式液晶面板
关于中国市场软件定义网络趋势的分析
小米6和vivoXplay6评测对比,谁更值得买?
西典新能登陆上交所
中兴通讯事件还在继续 美国政府又将对华为动手