lcytms
发表于 2018-12-5 09:40:19
1046
我们做烧片,sof的文件。
我们下午可以做一个配置的试验。
把我们的网表固化到这个开发板里面去,怎么做?
不必每次都来做下载嘛。
那么必须要把它放到闪存芯片。
这个是对应的闪存芯片所需要的数据的容量。
闪存芯片也可以支持压缩。
压缩到35%到55%,最多可以到55%。
lcytms
发表于 2018-12-5 09:43:13
1047
关于闪存芯片,有一个文件,epcs4.pdf。
马上发给大家。把它打开。
这是串行配置芯片。
EPCS1、EPCS4、EPCS16、EPCS64,这4个芯片,它就是串行闪存,你用其它的芯片配置也一样。
我们的开发板实际上没有用到它,但是实际上操作是一模一样的。
EPCS1,这是1M,4M,16M,64M,EPCS64。
这是它的存储器的容量。
lcytms
发表于 2018-12-6 17:16:58
1048
然后呢,对器件配置的支持而言,Stratix的EP2S15需要是EPC16、EPCS64。
EP2S60,这两个可以做。
EP2S90,只能EPCS64来做,因为它的容量更大嘛。
这是用于Cyclone II器件的。
Cyclone II,EP2C8,至少要EPCS4,EPCS16都可以。
容量越大,富余度就越大。
这是Cyclone II所需要的容量。
我们可以选一个EPCS16。
实际上我们开发板上的对应的就可以选它,用它来做。
lcytms
发表于 2018-12-9 09:37:46
1049
这是配置芯片。
配置自压缩。
主动串行,Active Serial,AS配置。
由于FPGA都有多种配置,使得有些工程师反而不知所措。
有主动串行、被动串行,还有并行,等等,还有JTAG。
各有什么样的特点?
我们究竟应该采用哪些呢?
我们简单看一下。
这个是AS的配置。
lcytms
发表于 2018-12-9 09:40:15
1050
AS,主动串行,分成正常的20M和快速的40M两种。
有些配置呢,我们要求上电了以后,要非常快地响应。
你打开了电源以后,它立刻就要开始工作。
有些情况之下,开了电源以后,允许有一段延迟。
这个过程就看它配置的快慢了。
因为配置是从外围的Flash芯片把网表输入进来,肯定有一个过程。
所以说有些芯片要求快速配置,可以选40M的。
下面有些图我们简单看一下。这是单设备的配置。
FPGA和配置芯片之间的连接关系。
这个连接关系我们要用得到。
lcytms
发表于 2018-12-9 09:41:16
1051
这个时候配置芯片是闪存芯片。
闪存芯片跟FPGA构成一个连接关系。
闪存芯片里有固化的网表。
AS,主动,什么是主动呢?
主动被动是指谁呢?
当然是FPGA了。
FPGA主动地进行配置,称之为AS。
FPGA被动地进行配置,就称之为PS。
主动就意味着FPGA主动向外围芯片要数据,要网表。
时钟是FPGA发的,控制是FPGA发的。
所以说这个时候FPGA是主机。
它是主动地向配置芯片要网表。
所以说称之为AS配置。
但是它又是串行的。
FPGA上电以后,它的POR,上电复位电路,开始置位了以后,就是时钟电压稳定点以后,FPGA会向配置芯片要数据,通过串行把网表读进来。
lcytms
发表于 2018-12-9 09:42:21
1052
这两者的选择,40M和20M的选择可以用在它的MSEL管脚上来选择。
这张图说的是,用一个闪存芯片配多个FPGA的连接图。
lcytms
发表于 2018-12-9 09:44:34
1053
主动串行的好处在什么地方呢?
只要一个串行芯片,固化了,立刻就可以工作。
这个时候可以用主从的方式,用一个配置芯片带主从的方式,做多个器件的配置。
Sof文件。
我们重点在JTAG上,其它的我们简单看一下,并且我们说明为什么要这么做?
这是一个在线的编程的模式。
在线编程,因为要做AS配置的时候,可以把JTAG口连接器挂载在配置芯片上。
lcytms
发表于 2018-12-9 09:45:58
1054
这个时候我们可以下载对应芯片的目标文件。
也就是说我们现在我们能看见我们的开发板上有一个专门的AS口的连接器,还有一个JTAG口的连接器,这个就是AS口的。
它只能用于一个什么目的呢?
它只能用于把网表烧制到芯片里面去。
它不具备调试功能,所以AS只能用于配置。
虽然可以支持在片。
然后呢,就是可以支持它的PS。
被动串行。
主动串行,是FPGA为主,上电以后FPGA想要数据就要数据。
FPGA什么时候想要网表呢?
当然是上电了以后想要。
其它的时候是否想要,就取决于FPGA的控制逻辑了,一般不会这么做的。
lcytms
发表于 2018-12-9 09:48:20
1055
做AS配置的时候只有一次。
PS不同。
PS是被动的,是由外围说了算。
也用MSEL来决定。
外围的时候有什么好处呢?
这个时候FPGA被动地做配置的时候,就是什么时候变化网表是外部说了算。
外部的器件,外部的主机。
这上面说,可以是MAX II,这是CPLD的一个设备。
或者是一个微处理器,可以用单片机来做。
什么时候做PS比较合适呢?
就是你这个FPGA,你在不同的场景你要执行不同的逻辑,装不同的网表,这个时候做PS比较合适。
但是PS同样它不只是调试,这是用一个外围的主机做多个FPGA的配置,一个单片机配多个FPGA。
所以说做PS的时候呢,可以用单片机来配。