A. labviewFPGA编译
右键单击RT终端的FPGA芯片,选择属性,查看编译器是那种
官网上有下载,搜xilinx即可。
安装好后,就可以使用本地编译服务器了。
B. 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两种来完成,也用用电路直接搭的,那种比较高端,需要很丰富的设计经验,和对数字电路的了解
C. FPGA编程
今年电子大赛的时候做过一个,不过是基于XILINX公司的FPGA的,我给你介绍一下思路吧。
还有就是不知道你的信号发生器要求频率和精度是多少
一般有两种实现方式:一种是控制AD输出模拟量,另一种是通过SPWM和低通整流而来
本程序是第二种
工作机理有两部分组成:PWM的产生和表
产生部分由两个寄存器和一个计数器组成,计数器不听累加同时与两个寄存器作比较,两个寄存器一个控制置底一个控制拉高,一般把一个固定就行了(有的地方说是一个控制周期一个控制高电平时间,其实是一样的)
表里放的是一个正弦数组(产生正弦波),之后有一个寄存器控制读取表的速度(间隔),把读取出的表值存入上面那个没固定的寄存器就行了
http://blog.sina.com.cn/s/blog_6e22b1da0100n52r.html
我的博客里有一篇关于SPWM模式的DDS的文章
你可以看一看
不懂得话可以给我留言
A/D转换的方法要比SPWM的方法简单,首先你要新建一个存储空间,里面存上A/D的电压控制量的一维数组,数组中存在的数值对应的电压从前到后呈正弦波形排列,每个周期从数组中每隔n个元素依次读取数组付给A/D转换器,这样A/D就可以输出正弦波了,而里面的n步进是由一个寄存器控制的,n的大小决定了你的频率。
至于你说的液晶显示,按键等。我建议你用SOPC实现,Alter公司有Nois2的ip核。它相当于把FPGA当单片机用,你将液晶控制、按键控制、波形生成分别变成自定义IP核集成于系统,之后在顶层用C语言实现目的即可。
如果你不会HDL语言的话,必须先把它学了。如果你不了解SOPC的话,给你介绍一个很好的资料,估计你按这个一步一步来,1周就能学会。
http://wenku..com/view/dd7ade360b4c2e3f57276360.html
这是网络文库的链接,一共是五章,你可以自己搜索。
今年的电子大赛FPGA组的比赛有不少省市都和你这道题有关,虽然是XILINX公司的,但是大同小异。
D. FPGA等可编程逻辑器件设计流程是怎么样的
通常可将FPGA/CPLD设计流程归纳为以下7个步骤,这与ASIC设计有相似之处。 1.设计输入。Verilog或VHDL编写代码。 2.前仿真(功能仿真)。设计的电路必须在布局布线前验证电路功能是否有效。(ASCI设计中,这一步骤称为第一次Sign-off)PLD设计中,有时跳过这一步。 3.设计编译(综合)。设计输入之后就有一个从高层次系统行为设计向门级逻辑电路设转化翻译过程,即把设计输入的某种或某几种数据格式(网表)转化为软件可识别的某种数据格式(网表)。 4.优化。对于上述综合生成的网表,根据布尔方程功能等效的原则,用更小更快的综合结果代替一些复杂的单元,并与指定的库映射生成新的网表,这是减小电路规模的一条必由之路。 5.布局布线。 6.后仿真(时序仿真)需要利用在布局布线中获得的精确参数再次验证电路的时序。(ASCI设计中,这一步骤称为第二次Sign—off)。 7.生产。布线和后仿真完成之后,就可以开始ASCI或PLD芯片的投产
E. FPGA关于编译方面的问题
由于算法是随机的,因此一般来说,是不确定的。
当然,如果你使用了反标注,或者分区设计之类的用法,只要你的程序不发生改变,那么它可以保留你上次编译的结果不变,即使再编译也不会发生改变。
我指的程序不变,是不要进行任何修改,你说的语句顺序调换了,那么也被认为是程序发生改变,自然编译结果也可能不同。