CrazyBingo

Chapter 19:国产FPGA之各种运行模式分析

0
阅读(2561)

第十九章

国产FPGA之各种运行模式分析

wps_clip_image-27407

对于Altera CPLD而言,其实Falsh架构,代码直接存储运行在片内;对于Altera FPGA而言,其为sram结构,代码存储在外部EPCS存储器,上电后配置FPGA数据,让代码在片内SRAM中运行。

不过对我们的国产FPGA而言,貌似不是一点点的灵活了,片子虽小,功能不少,且听Bingo细细道来:

国产FPGA  AstroII主要有三种运行模式:

1) 小模式运行

wps_clip_image-27021

此模式主要是在FPGA和8051配置数据小于1K的情况下,将数据存储在片内SPI Flash中。上电后,先从SPI FLASH配置FPGA,再从SPI FLASH导入8051代码到1块EMB(Embedded Memory Block)中运行。

2) 调试模式

wps_clip_image-15542

主要是在FPGA和8051配置数据大于1K的情况下。首先,从SPI FLASH,导入FPGA的Bootloder到AstroII内部的2块EMB中,然后从2块EMB搬运8051代码到外挂SRAM中,最后再从SPI FLASH配置FPGA,并且开始运行SRAM中的8051代码。

3) 最终生产模式

wps_clip_image-22404

正如Actel的反熔丝FPGA那样,为了保护产品的安全,以及代码的稳定可靠性,Astro内部也有相关的东东,即64K的数据存储器OTP(One Time Programmable,一次性可编程)。

当然这是最终产品定型的时候的下载模式,并不能调试运行,调试只能通过欲行模式(1)(2)来运行。

各种分析:

EMB  可以作为SRAM 使用,所以 8051 的存储器数据和地址接口可以直接连接到EMB端口上,此时EMB需要配置为单端口工作模式。 要使用EMB作为8051 的代码存储器,8051和EMB的内部互联是必须建立的(通过FP实现),当使用1 块EMB时(8051 代码小于 1KB ,推荐使用),Primace(京微雅格的EDA 工具软件)系统模板可以帮助设计者轻松实现这种内部互联而无需设计者再为此编写任何代码。

同时由于两块EMB--SRAM的模式还没有非常成熟,暂缺完美,软件上也没有提供完整的接口,Primance又在SRAM模式下推荐我们用1块EMB。。。。。。。。所以…… 第二中运行模式------1块EMB----SRAM。。。。。。。。。。。。。

例程可在http://www.agatelogic.com.cn/product_02.htm  “Astro 设计实例 ”下载,AstroII好像用不上。。。