开端学习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) —- 装备