fpga编译的步骤
① Quartus II中的完全编译包括几个环节每个环节分别完成什么功能
直接全编译(Ctrl + L)就知道有哪些环节了
分析和综合:这里主要是检查每个源文件的语法错误,生成门级代码,模块之间的错误可能检查不出来;
布局和布线:针对不同的器件进行优化,布局布线,这是关键步骤
汇编:产生编程文件,简单的fpga工程就完了
完整的步骤还有时序约束,约束完再编译,查看时序分析是否满足条件,再修改,这是一个反复的过程,如果要用第三方的工具进行仿真还需要单独生成对应的时序网表,包括一下仿真模型,延时输出文件等
② FPGA关于编译方面的问题
由于算法是随机的,因此一般来说,是不确定的。
当然,如果你使用了反标注,或者分区设计之类的用法,只要你的程序不发生改变,那么它可以保留你上次编译的结果不变,即使再编译也不会发生改变。
我指的程序不变,是不要进行任何修改,你说的语句顺序调换了,那么也被认为是程序发生改变,自然编译结果也可能不同。
③ fpga 编译完成后就可以烧录,为什么还需要综合
你是外行,老铁!
FPGA流程:代码编写----FPGA代码综合(做语法检查,将代码转换成门级电路网表)-----映射(或者叫适配,将通用门电路映射到相关器件的逻辑资源,例如查找表,RAM)-----布局布线(将FPGA映射结果,在FPGA内部摆出来)----生成配置文件(FPGA内部配置sram的初始值,配置查找表和其他逻辑资源,至于你不理解什么叫配置sram值,请深入理解FPGA的构造,尤其是LUT的结构)。
④ 用FPGA开发一个电子系统需要哪些步骤
首先你要设计verilog或者VHDL文件,然后编译,综合,仿真,下载到芯片,大概就是这几个步骤!
详细的见下图!
⑤ CPLD和FPGA的编程和配置有哪些方式
对CPLD/FPGA芯片进行编程配置的方式有多种
1、按使用计算机的通讯接口划分,有:
(1)串口下载(BitBlaster或MasterBlaster)、
(2)并口下载(ByteBlaster)、
(3)USB接口下载(MasterBlaster或APU)等方式。
2、若按使用的CPLD/FPGA器件划分,有:
1)CPLD编程(适用于片内编程元件为EPROM、E2PROM 和闪存的器件);
2)FPGA下载(适用于片内编程元件为SDRAM的器件)
3、按CPLD/FPGA器件在编程下载过程中的状态划分,有:
1)主动配置方式。
在这种配置方式下,由CPLD器件引导配置操作的过程并控制着外部存贮器和初始化过程;
2)被动配置方式。
在这种配置方式下,由外部CPU或控制器(如单片机)控制配置的过程。
CPLD/FPGA器件按照正常使用和下载的不同过程其工作状态分为三种:
1、用户状态(User mode)
即电路中CPLD器件正常工作时的状态;
2、配置状态(Configuration mode )
指将编程数据装入CPLD/FPGA器件的过程,也可称之为下载状态;
3、初始化状态(Initialization)
此时CPLD/FPGA器件内部的各类寄存器复位,
让I/O引脚为使器件正常工作作好准备。
ALTERA公司的开发系统MAX+PLUSⅡ可以生成多种格式的编程数据文件。对于不同系列器件, 所能生成的编程/配置文件类型有所不同, 但大致可有下面几种类型:
①SRAM Object格式(.sof):
SOF格式文件用于FLEX器件的Bit Blaster或Byteblaster被动配置方式。
MAX+PLUS II编译综合工具会在编译综合过程中自动为FLEX系列器件生成SOF数据格式文件, 其它数据格式均可由该种格式转化而成。
②Programming Object格式(.pof):
POF格式文件用于对MAX系列器件编程配置, 也可以用于对采用EPROM配置方式的FLEX器件进行配置。POF文件也是由MAX+PLUS II软件在编译综合过程中自动产生。
③十六进制格式(.hex):
HEX格式文件是使用第三方编程硬件对并行EPROM编程的数据文件,从而可以将并行EPROM作为数据源, 用微处理器对FLEX器件进行被动串行同步(PS)配置或被动串行异步(PSA)配置。
④ASCII码文本格式(.ttf):
TTF格式文件适用于被动串行同步(PS)配置和被动串行异步(PSA)配置类型, 它在配置数据之间以逗号分隔。
编程一般会用:Verilog和VHDL两种来完成,也用用电路直接搭的,那种比较高端,需要很丰富的设计经验,和对数字电路的了解
⑥ 叙述EDA的FPGA/CPLD的设计流程
1.设计输入(包括原理图输入和HDL文本编辑,EDA可以提供文本编辑工具)
2.综合,将输入的原理图或者HDL文本根据硬件的约束条件进行编译综合,EDA工具提供了综合器
3.适配,此过程ED
4.时序仿真与功能仿真,EDA工具提供仿真工具
5.编程下载,分不同的方式
6.硬件测试A工具貌似没什么用
⑦ 简述基于eda软件的fpga/cpld设计流程主要包括哪几个步骤
1、功能定义/器件选型
一般都采用自顶向下的设计方法,把系统分成若干个基本单元,然后再把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接使用EDA元件库为止。
2、设计输入
设计输入是将所设计的系统或电路以开发软件要求的某种形式表示出来,并输入给EDA工具的过程。常用的方法有硬件描述语言(HDL)和原理图输入方法等。原理图输入方式是一种最直接的描述方式,在可编程芯片发展的早期应用比较广泛,它将所需的器件从元件库中调出来,画出原理图。
3、功能仿真
功能仿真也称为前仿真是在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有延迟信息,仅对初步的功能进行检测。
4、综合优化
所谓综合就是将较高级抽象层次的描述转化成较低层次的描述。综合优化根据目标与要求优化所生成的逻辑连接,使层次设计平面化,供FPGA布局布线软件进行实现。
5、综合后仿真
综合后仿真检查综合结果是否和原设计一致。在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中去,可估计门延时带来的影响。但这一步骤不能估计线延时,因此和布线后的实际情况还有一定的差距,并不十分准确。
6、实现与布局布线
布局布线可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑的最佳布局,选择逻辑与输入输出功能链接的布线通道进行连线,并产生相应文件(如配置文件与相关报告),实现是将综合生成的逻辑网表配置到具体的FPGA芯片上,布局布线是其中最重要的过程。
7、时序仿真
时序仿真,也称为后仿真,是指将布局布线的延时信息反标注到设计网表中来检测有无时序违规(即不满足时序约束条件或器件固有的时序规则,如建立时间、保持时间等)现象。时序仿真包含的延迟信息最全,也最精确,能较好地反映芯片的实际工作情况。
8、板级仿真与验证
板级仿真主要应用于高速电路设计中,对高速系统的信号完整性、电磁干扰等特征进行分析,一般都以第三方工具进行仿真和验证。
9、芯片编程与调试
设计的最后一步就是芯片编程与调试。芯片编程是指产生使用的数据文件(位数据流文件,Bitstream Generation),然后将编程数据下载到FPGA芯片中。其中,芯片编程需要满足一定的条件,如编程电压、编程时序和编程算法等方面。
⑧ Verilog 编译过程图解
如果是Quartus II软件的话可以在顶层原理图中手动挨个输入管脚分配信息,也可以建立一个TCL文档,把开发板的管教都放进去,然后才在TOOLS里面有一个TCL执行选项的,直接就自动分配了,不过信号名和管教名要对应起来。如果用ACTEL的LIBERO软件,它有一个版块是专门用来管教分配的,也是手动分配就行的。XINLINX的暂时没用过,抱歉。
⑨ 基于fpga/cpld的数字系统设计流程包括哪些步骤
EDA技术的设计流程:
1、设计输入
用一定的逻辑表达手段表达出来。
2、逻辑综合
将用一定的逻辑表达手段表达出来的设计经过一系列的操作,分解成一系列的逻辑电路及对应关系(电路分解)。
3、目标器件的适配
在选用的目标器件中建立这些基本逻辑电路的对应关系(逻辑实现)。
4、目标器件的编程/下载
将前面的软件设计经过编程变成具体的设计系统(物理实现)。
5、仿真/硬件测试
验证所设计的系统是否符合要求。同时,再设计过程中要进行有关“仿真”,即模拟有关设计结果,验证是否与设计构想相符。
(9)fpga编译的步骤扩展阅读:
基于fpga/cpld数字系统的设计规则:
1、分割准则
(1)、分割后最底层的逻辑块应适合用逻辑语言进行表达。
(2)、相似的功能应该设计成共享的基本模块。
(3)、接口信号尽可能少。
(4)、同层次的模块之间,在资源和i/o分配上,尽可能平衡,以便结构匀称。模快的划分和设计,尽可能做到通用性好,易于移植。
2、系统设计的可测性
具有系统的关键点信号,如时钟、同步信号和状态等信号;具有代表性的节点和线路上的信号等。
3、系统设计的重用性
(1)、设计者应该尽可能采用同步电路进行设计,系统中应该有时钟和复位信号。
(2)、fpga/cpld的结构可以提供一定数量的片上存储器块。
(3)、复杂、系统级芯片需要各种标准的i/o接口。
(4)、编码是数字系统设计者应该给予足够重视的一项工作。
4、最优化设计
由于可编程器件的逻辑资源、连接资源和i/o资源有限,器件的速度和性能也是有限的,用器件设计系统的过程相当于求最优解的过程。
5、可靠性设计
⑩ 编写了个FPGA程序,怎么编译
什么牌子的FPGA
懂事电子设计 Vgz