CycloneIII设计向导-第四篇.设计和编译 (下)

七、功耗优化

Quartus II软件支持功耗优化的综合和布局布线选项。不过,时序约束比功耗优化的优先级要高,得先满足前者再考虑后者。软件包含了功耗优化的向导,易于使用。DSE也是一个很好的优化工具。

下面是一些从设计角度进行功耗优化的方法:

1. 时钟功耗管理。Quartus II会自动对时钟网络的功耗进行优化。也可以自己使用门控时钟来减少功耗。

2. 内存功耗。减少内存功耗的方法是,使用内存的门控时钟信号。

3. I/O功耗。决定I/O功耗的因素包括:负载电容,输出频率,输出电压摆幅。电压参考的I/O标准(比如SSTL)的电压摆幅比LVTTL和LVCMOS要低,因此动态功耗低一些。但静态功耗反而高一些。

4. 寄存器插入。在复杂的组合逻辑中插入寄存器,能减少毛刺带来的动态功耗,但也增加了寄存器功耗。

5. 结构优化。使用DSP模块进行数学计算,而不是使用LE。大的移位寄存器使用ram资源实现的FIFO,而不是使用LE。这样都能减少功耗。

八、I/O考虑

Cyclone III芯片的I/O特性比以前的更强大。I/O的设计流程包括:创建pin相关的配置,验证配置是否符合规则。

管脚分配工具(Pin Planner):

Package View(默认视图):提供了可视化的芯片封装,能更直观的分配管脚,避免拥挤。能用不同的方式显示芯片的封装,包括分bank,显示差分管脚,显示已分配管脚等。如果你分不清芯片的哪一边是TOP,可以使用Show Edges,然后你就知道了,bank12是LEFT,bank34是BOTTOM,bank56是RIGHT,bank78是TOP。

Pad View:提供了芯片核心(裸片)的引脚分布顺序。注意某些引脚分布规则,在芯片封装后(比如BGA封装)可能难以理解,但看看裸片的引脚分布就知道了。

Pin Migration View:如果你设计时要考虑器件迁移(兼容),那么用这个视图是最方便的,选择好要兼容的器件,直接就会生成每个引脚的最终选择。按照这个视图的结果做封装就可以了。

配置工具(Assignment Editor),管脚相关的配置:

1. 输出电流(Current Strength):每个I/O标准都可以配置输出电流大小。注意增大电流,会提高I/O性能,但也会提高噪声。电流过小也会有影响,特别是对输出的时钟信号。因此选择合适的电流大小很重要。

2. 摆动(变化)速率控制(slew rate control):对于高速的数据总线,Altera建议打开这项设置,用来降低SSO干扰。这项设置只支持单端的I/O标准,大于等于8mA以上的电流。这项设置的具体使用,会再补充。

3. 片内串行匹配(OCT):OCT有两种模式,校准和非校准。在非校准的情况下,默认选择25欧和50欧的电阻。校准模式下,RUP和RDN管脚需要连接25欧或者50欧的精密电阻,芯片会在FPGA的配置时期,进行校准,设置更准确的OCT值。

4. 专用差分输出缓冲单元:left和right的I/O bank有此单元,最大LVDS输出速率达840Mbps,且不需要外部的发送匹配电阻。这个单元还能对输出信号进行可选择的预加重。信号在线缆中传输时,高频成分的衰减,相对于低频成分要大。因此在输出时,对高频成分适当放大,这样能减少接收端的高频成分和低频成分的不平衡。注意配置选项的名称为(Programmable Pre-emphasis)。

九、PLL考虑

Cyclone III有4个独立的PLL单元(EP3C5和EP3C10只有2个)。PLL的输入时钟只能是专用时钟输入或者是另一个PLL的输出时钟。PLL的C0输出到专用时钟输出脚,可以达到最好的布线效果。

PLL模块可以进行功能仿真和时序仿真。

十、配置软件的设置

1. 可选的配置管脚。Enable user-supplied start-up clock (CLKUSR),这个选项用来控制,是否使用外部时钟来初始化FPGA。FPGA默认用10MHz的内部时钟来初始化。Enable INIT_DONE output,这个选项如果打开,当FPGA配置完成时,该管脚会由低变高。如果使用,需要外部10K欧的上拉。

2. 自动重配。打开auto-restart configuration after error option这个选项,当FPGA配置错误时,会自动重新配置。

3. 估算配置文件大小。rbf格式的文件大小,最接近原始的未压缩文件大小。

4. 转换配置文件的格式。可以把原始的sof文件转化为pof,hexout,rbf,ttf,rpd,jic这些格式。pof和jic是Quartus II烧写软件支持的格式,其它格式用于其它烧写软件。如果要做到多器件配置,可以把多个sof合在一起,转化为一个配置文件。合在一起的顺序需要注意,和配置的顺序是相关的。

十一、 有效pin的布局

1. I/O配置检查。Start I/O Assignment Analysis命令,可以用来检查I/O配置有没有违规的地方。

2. 直流相关。输入或者输出电流过大都会损坏芯片。典型的例子是,输出高的引脚直接接地,输出低的引脚直接接Vcc。每个I/O引脚,最大输出40mA,输入25mA。引脚如果要拉高或者拉低,一定要串联外部电阻。还要注意,连续引脚的总输出电流是有限制的。因此,尽量分散管脚的使用,而且适当限制电流是有必要的。

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