CycloneIII设计向导-第二篇.早期系统规划

1.早期功耗估计

  需要提早就估算好芯片的功耗是多少,才能做好供电设计和散热设计。

下面是Altera对于Cyclone III器件的功耗估计excel表格:

http://www.altera.com.cn/support/devices/estimator/cy3-estimator/cycloneiii_epe_72sp1.xls

如果设计已经基本完成,QuartusII软件也可以根据实际设计估算功耗。

2.I/O支持

   A. 三类I/O标准,包括Single-ended(单端),Voltage-referenced(参考电压),Differential(差分)。三者各有优缺点。不过在实际应用中,使用哪种标准,往往由FPGA连接的芯片决定。

B.灵活的I/O bank。8个bank的I/O电压和Vref参考电压可以不一样,但在每个bank内部必须一致。在I/O电压确定的情况下,还可以有一定的兼容性。比如2.5V和3.3V的兼容性。

C.外部内存接口。支持ddr,ddr2,qdrII,需要专门的管脚。以前的sdram和sram当然也支持,不需要专门的管脚(把时钟脚小心处理更好)。使用top和bottom的bank速度更快,最快支持200MHz。这里简单介绍,做高速设计,得多查文档。

D.Pin-Out文件。QuartusII工程编译后会生成该文件,里面对引脚的描述就是该引脚最终确定的功能。对这个文件的检查,可以帮助我们明确问题。一些多功能引脚,需要小心处理。

3.选择FPGA配置方案

下面是原文中的配置方案的表格,说得很清楚。

  配置方案很多,包括

Active serial (AS):

单芯片,使用Altera的EPCS系列芯片,配置速度第3。芯片价格较贵。
Active parallel (AP):

单芯片,使用特定型号的FLASH(INTEL P30,P33),配置速度第1。芯片价格便宜。但需要占用FPGA 40个管脚(16data+24addr)。
Passive serial (PS):

被动方式,需要额外的控制器参与。配置速度第4.
Fast passive parallel (FPP):

被动方式,需要额外的控制器和flash芯片。配置速度第2。flash芯片价格便宜。需要占用FPGA 8个管脚(8data)。
Joint Test Action Group (JTAG)——调试使用

配置方案的选择,由MSEL pin控制。

选择考虑:是否需要fast power-on reset (POR) time ,达到快速上电工作的目的。

封装不同,支持的配置方案也不同。

配置方案的选择,需要考虑配置时间的要求。

AS和AP模式,FPGA的DCLK为输出,最大速度40MHz。PS和FPP模式,FPGA的DCLK为输入,上升沿采样。最大速度为100MHz。

下载电缆包括:

USB-Blaster,目前最常用的。价格中等,下载配置文件到FPGA的速度快。不想购买的话,可以从网上下载pcb,采购器件自己做。

ByteBlaster II,常见,最便宜,但是下载速度慢。同样可以自己做。器件规模大了用这个会慢得很痛苦。

EthernetBlaster,不常见,价格贵,下载速度快。

目前,强烈建议使用USB-Blaster,除非对价格太敏感。

可以通过FPGA的JTAG接口,烧写EPCS配置芯片。需要用到Serial Flash Loader这个Altera提供的IP核。

使用MAX II芯片,PS或者FPP模式,也有MAX II Parallel Flash Loader这个IP核,来通过MAX II芯片JTAG烧写FLASH。

AP模式,有FPGA-Based Parallel Flash Loader这个IP核,通过FPGA的JTAG烧写FLASH。

4.配置特性

      AS和PS模式,配置文件可以选择压缩模式,能减少配置文件的大小。

     远程系统升级,不熟悉,待补充

5.PLL锁相环

      强大的PLL功能,包括时钟倍频,分频,相移,可编程占空比,输入时钟切换,PLL级联,PLL动态重配,动态相移,扩展频谱时钟,外部时钟输出和控制信号。

   相对于Cyclone和Cyclone II,现在Cyclone III增加了PLL的动态重配功能。

  PLL的时钟输入,必须使用FPGA的专用时钟输入脚(dedicated clock
input pins)或者另一个PLL的时钟输出。也就是说,PLL可以级联。

  输入时钟切换:可以给PLL输入双时钟,当使用的输入时钟失效时,可以自动或者手动切换使用另一个备用输入时钟。

PLL有5个输出。如果要输出到专用外部时钟输出脚,建议用C0输出,这样jitter最小。当然也是可以使用其它的输出的。

如果对输入时钟和PLL的输出时钟,有相位上的要求,就得了解PLL的相位补偿模式的设置。

6.芯片内部调试方法

A.SignalProbe Incremental Routing   不改变目前的布线,引出内部信号到一个没使用的I/O上。

B.SignalTap II Embedded Logic Analyzer 嵌入式逻辑分析仪,可以捕捉实时的内部信号。是最常用的调试工具。需要消耗一定的LE和M9K资源。使用时,如果想减少对原设计的影响和编译时间,可以反标原设计,使用增量编译模式。

C.Logic Analyzer Interface  等效于多路选择器,把多个内部信号通过少量的管脚输出。可以切换输出哪些信号而不用重新编译。适合于把信号引出给外部的逻辑分析仪。

D.In-System Memory Content Editor  在线修改内存或者常量的值。

E.In-System Sources and Probes  能对内部节点给一个简单的激励信号,然后捕获输出。

F.Virtual JTAG Megafunction  能对内部节点给一个简单的激励信号,然后捕获输出。和上面的方式有不同的地方。

posted @ 2010-07-12 10:50  flying1104  阅读(1222)  评论(0编辑  收藏  举报