fpga程序和普通程序区别

fpga程序和普通程序区别,第1张

fpga程序接收数据速率高,普通程序接收数据速率低。

1、fpga程序有通信高速接口设计,接收数据速率高。

2、普通程序数据速率低,接口设计很普通,出数据的时间长,做起来不方便。

这是两个不同的概率,c语言程序是软件程序,可以在做一直在运行。而fpga程序首先先从外部存储设备装载进来,然后经过布线就生产了实际的电路,所以它应该看成实际的电路。而生成了实际电路,你外部信号如何变化,对应的fpga就会有相应的反映,即你看成的程序运行。

建议如下:

1、掌握必要的理论知识,如leshen750所说部分;

2、理清思路,在做C语言的时候你可以单纯当作程序来看,至于FPGA的程序,建议把它看做实际的数字电路就好理解了,比如说一个module你就可以看出一个实际的器件(实际就是电路模块),而对于if-else则是判断电路,所以其需要一步步判断,case的话则相当于选通电路。有了这些概率再加以modelsim、questsim等仿真软件你就好理解了。其实,设计数字电路都是写verilog代码。仅能表达这么多,重在理解!

你买的fpga是基于sram的工艺,掉电程序确实会消失,只是在运行时程序存在sram中。JTAG一般用来调试,在通电的情况下把程序烧到sram中,断电又没了;AS是主动模式,fgpa在上电的时候主动从epcs芯片中读取数据放到sram中,这样也能工作了,每次上电那一瞬间fpag都会从epcs里读取数据然后正常工作,所以用起来像是烧到fpga里一样。PS就是被动模式,由一个外部的CPU给fpga输入程序,用的不太多。所以,你想“程序烧到内部”,应该是用AS模式把程序烧到EPCS里,每次上电的时候fpga都会从中读取数据然后正常运行的。看起来就像是烧到fpga里面一样。如果要“真的”烧到fpga里面,是有基于flash工艺的fpga,可以直接烧到fpga里面的flash里,也就不需要ecps芯片了,不过商业或者民用领域不太常用。

你买的这个板子也不是这种。

on-chip-memery就是fpga用内部的资源撘成一个ram或者rom。fpga里面都是ram,这个没问题。那rom其实也是一个ram,只是上电的时候fpga从epcs里面读取了固定的信息放到这个ram里,所以用起来就像rom一样。

FPGA程序固化(转) 主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式:

AS由FPGA器件引导配置 *** 作过程,它控制着外部存储器和初始化过程,EPCS系列如EPCS1,EPCS4配置器件专供AS模式,目前只支持 Cyclone系列。使用Altera串行配置器件来完成。Cyclone期间处于主动地位,配置期间处于从属地位。配置数据通过DATA0引脚送入 FPGA。配置数据被同步在DCLK输入上,1个时钟周期传送1位数据。

PS则由外部计算机或控制器控制配置过程。通过加强型配置器件(EPC16,EPC8,EPC4)等配置器件来完成,在PS配置期间,配置数据从外部储存部件,通过DATA0引脚送入FPGA。配置数据在DCLK上升沿锁存,1个时钟周期传送1位数据。

JTAG接口是一个业界标准,主要用于芯片测试等功能,使用IEEE Std 11491联合边界扫描接口引脚,支持JAM STAPL标准,可以使用Altera下载电缆或主控器来完成。

AS PS JTAG的区别:

AS模式: 烧到FPGA的配置芯片里保存的,FPGA器件每次上电时,作为控制器从配置器件EPCS主动发出读取数据信号,从而把EPCS的数据读入FPGA中,实现对FPGA的编程;

PS模式:EPCS作为控制器件,把FPGA当做存储器,把数据写人到FPGA中,实现对FPGA的编程。该模式可以实现对FPGA在线可编程;

JTAG:直接烧到FPGA里面的,由于是SRAM,断电后要重烧;

pof文件可以通过AS方式下载(保证byteblasterII/usb blaster连接正确);

sof文件或者转换的jic可以通过JTAG方式下载。

FPGA在正常工作时,它的配置数据存储在SRAM中,加电时须重新下载。在实验系统中,通常用计算机或控制器进行调试,因此可以使用PS。在实用系统中,多数情况下必须由FPGA主动引导配置 *** 作过程,这时FPGA将主动从外围专用存储芯片中获得配置数据,而此芯片中fpga配置信息是用普通编程器将设计所得的pof格式的文件烧录进去。

专用配置器件:epc型号的存储器

常用配置器件:epc2,epc1,epc4,epc8,epc1441(现在好象已经被逐步淘汰了)等

对于cyclone cycloneII系列器件,ALTERA还提供了针对AS方式的配置器件,EPCS系列如EPCS1,EPCS4配置器件也是串行配置的注意,他们只适用于cyclone系列

除了AS和PS等单BIT配置外,现在的一些器件已经支持PPS,FPS等一些并行配置方式,提升配置了配置速度。当然所外挂的电路也和PS有一些区别。还有处理器配置比如JRUNNER 等等,如果需要再baidu吧,至少不下十种。比如Altera公司的配置方式主要有Passive Serial(PS),Active Serial(AS),Fast Passive Parallel(FPP),Passive Parallel Synchronous(PPS),Passive Parallel Asynchronous(PPA),Passive Serial Asynchronous(PSA),JTAG等七种配置方式,其中Cyclone支持的配置方式有PS,AS,JTAG三种

一般在做FPGA实验板,(如cyclone系列)的时候,用AS+JTAG方式,这样可以用JTAG方式调试,而最后程序已经调试无误了后,再用 AS模式把程序烧到配置芯片里去,

关于工程中不同后缀名的文件的适用范围:

sof(SRAM Object File)当直接用PS模式下将配置数据下到FPGA里用到,USB BLASTER,MASTERBLASER,BBII,BBMV适用,quartusII会自动生成,所有其他的配置文件都是由sof生成的

pof(Programmer Object File)也是由quartusII自动生成的,BBII适用,AS模式下将配置数据下到配置芯片中

rbf(Raw Binary File)用于微处理器的二进制文件在PS,FPP,PPS,PPA配置下有用处

rpd(Raw Programing Data File)包含bitstream的二进制文件,可用AS模式配置,只能由pof文件生成

hex(hexadecimal file)这个就不多说了,单片机里很多

ttf(Tabular Text File)适用于FPP,PPS,PPA,和bit-wide PS配置方式

sbf(Serial Bitstream File)用PS模式配置Flex 10k和Flex6000的

以上就是关于fpga程序和普通程序区别全部的内容,包括:fpga程序和普通程序区别、C程序和FPGA程序、我的FPGA能下载程序,但不运行,怎么回事啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9685332.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存