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