lcytms
发表于 2018-12-14 09:58:53
1056
当我们需要用这种重复配置的时候,可以选择这种方式。
我们重点看JTAG。
这是做被动配置。
被动配置的时候,仍然用USB-Blaster,就是我们现在的适配器来做。
但是我们现在开发板上没有做PS的口。
为什么我们看见很多类似做项目的?
lcytms
发表于 2018-12-14 10:00:08
1057
这个也说明了一个思维的惯性。
当初Altera给出中国的开发板上,就是友晶的DE2开发板上,它就有两个配置口,一个AS的配置口,一个JTAG的配置口。
友晶那个开发版之所以要这么做,是想向它的用户来说明,FPGA有这些配置的模式。
而后面的工程师呢,来做自己的开发板的时候,照葫芦画瓢,每一个配置都做,实际上只要选一个对自己有用的即可。
不必每个都做。
这都是PS的。
下面是JTAG,这是我们的重点。
AS是做什么呢?
非常快嘛。
它只要有一个主动串行配置的芯片配合FPGA,开机就能用。
lcytms
发表于 2018-12-14 10:00:52
1058
当然快,但是它不能调,它不支持调试。
什么是调试呢?
就像内置的逻辑分析仪,它并不支持这种调试。
PS也不支持调试。
PS可以用外围芯片来做,外围的单片机来做配置。
如果做AS的配置的话,通常只有一次。
就是FPGA主动,上电了以后FPGA主动地要一次网表。
但是你做PS的时候,你就可以用外部的单片机主动地来做多次不同网表的配置。
lcytms
发表于 2018-12-14 10:01:58
1059
第一次,我是做一个图像,第二次,我是做通信,等等都可以。
但是PS也不支持调试。
JTAG呢?
JTAG都支持。
JTAG就是慢一点。
它既支持这种配置,也支持调试。
它既支持SOF的配置,它也支持做闪存芯片的烧制。
它也支持边界扫描,它还支持内置逻辑分析仪。
JTAG是什么都支持,只是在不同的情况之下它可能慢一点。
如果我们要选择配置的话,当你的项目是处于研发阶段,你的网表还没有固定下来的时候,JTAG千万不要删掉。
因为有很多调试工作必须要它完成。
当JTAG一旦完成了之后,你可以把JTAG改成AS口。
lcytms
发表于 2018-12-14 10:06:28
1100
这时候不需要调了嘛。
一个AS口非常方便,装配的时候非常方便,只要贴一个片子上去就行了。
这是我们开发板上用的JTAG口的连接。
JTAG口的10脚的连接器。
一个在片的USB会配置一个芯片。
当然烧制的就是对应的sof文件。
烧到FPGA里面去了。
FPGA是基于挥发性的SRAM的结构。
可以运行,一掉电就没有了。
在这种情况之下,如果用一个JTAG口,来既支持配置,又支持调试,该怎么做呢?
它也可以支持外围的像PS那种应用,就是由外部的处理器来实行的方法。
所以说JTAG呢,是一种万能的使用的方法。
这个时候的网表在单片机的Memory里面。
lcytms
发表于 2018-12-15 09:18:40
1101
可以这么做。
非常重要的,就是这张图。
这张图上说的是什么呢?
就是JTAG配置的时候,这是配置一个器件,使用下载线。
JTAG配置的时候呢,既可以支持基于挥发性的SRAM的programming,也可以支持将网表下载到它的闪存芯片里面。
当把网表通过JTAG口下载到闪存芯片里的时候,这个时候FPGA上很有意思,它是称之为一个Serial Flash Loader,就是串行闪存的一个桥路,一个安装器。
这个里面就是把FPGA重新下载一个固定的IP核,免费的IP核,它做成一个桥路。
lcytms
发表于 2018-12-15 09:19:51
1102
通过这个桥,把USB装到闪存芯片里面去。
这个过程我给大家做一遍。
还用刚刚我们那个例子。
打开文件夹,双击qpf文件。
刚刚已经全编译了。
全编译了以后,打开编程器。
是sof文件。
lcytms
发表于 2018-12-15 09:22:31
1103
如果连上开发板,这个start是亮着的。
点击start以后,就会下载到开发板上去。
就是这个sof的顶层的网表。
它有个进度条。
进度条结束以后,看得到是通过JTAG的TDI和TDO这根线,装到芯片里面去的。
这个芯片呢,就是FPGA的芯片。这个芯片是挥发性的。
掉电就没有了。
所以说下次要运行的时候,你还得再装一次。
所以说sof文件直接烧制到它的RAM里面去,这一步呢,我们称之为编程,programming。
如果想要烧制到flash芯片里面,那么可以采用它的这个电路来做。
具体的操作是这样的。
首先你要将顶层的网表转变为一个特定的文件,称之为间接配置文件。
lcytms
发表于 2018-12-15 09:25:05
1104
在file菜单下面有一个convert programming files,转换编程文件,点击它。
在这个窗口上会有一些选项。
它的默认选项就是pof,就是AS的选项。
现在呢,我们做开发板的时候,不做AS口可不可以?
当然可以。
而且是最优的做法,是Altera推荐的做法。
选这个。
JTAG Indirect configuration file,JTAG间接配置文件。
然后选择配置芯片。
lcytms
发表于 2018-12-15 09:27:11
1105
我们这个芯片是什么型号?
Stratix II,用EPCS16可以。
我们用的是EP2S15的系列。
输出文件名,你可以自己敲一个,默认的是output_file。
然后选择它的loader,就是我们手册上所看见的这个loader。
Loader,你必须要指明用哪个loader。
Loader是要跟设备有关嘛,是用什么样的器件?