微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 解决硬盘驱动器能耗难题

解决硬盘驱动器能耗难题

时间:10-13 来源:电子产品世界 点击:

作者:QuickLogic公司 Judd Heape

今天,大多数开发便携式媒体播放器、PDA、智能电话和基于IP协议的语音电话等高档电池供电消费类产品的设计人员都在使用某种或其他类型的FPGA(现场可编程门阵列)。比较先进的FPGA器件还集成了一个与外部逻辑连接在一起的嵌入式RAM,因此可以用来增加更先进的功能。这种FPGA的一种典型应用包括充当系统处理器及其HDD(硬盘驱动器)之间的桥接器件,利用RAM作为一个FIFO(先进先出存储器)将处理器存储器与硬盘驱动器加以区分,进而有利于更快的数据传输。这种方法有一种显著的节能优势:当硬盘驱动器运行时,它需要汲取几百毫安的电流--不论数据传输率如何;通过提供高带宽数据缓冲,IDE硬盘驱动器总线可以在瞬增流量下以最高速度运行,也就是说,磁盘驱动器可以经常处于省电模式。

不过,迄今为止,这种额外的外部逻辑需要进行设计、验证并与FPGA中使用RTL来源的嵌入式RAM连接。QuickLogic公司新的PolarPro系列FPGA使所有这些成为了历史。这种器件包括一个高度灵活的嵌入式RAM块,使设计人员不使用任何额外的桥接逻辑,甚至不须编写一行RTL代码,即可实现FIFO。更有甚者,这种缓冲器能够同时具备各种深度和宽度、可编程输出标记,可以在两个不同的时钟域运行!

图1 PolarPro FPGA布局

图1所示为PolarPro FPGA的布局,它包括嵌入式RAM块和FIFO控制器。虽然这两种功能是以硬连接的标准单元(ASIC)实现,但是却可提供高度灵活的功能。每个RAM块都包含4608位的存储空间--即使是最小的器件也可提供8个RAM块--每个RAM块都有其自己的FIFO控制器。以下是可供使用的配置:

利用简单的限制条件(simple proviso)可以实现任何一个或一组这样的FIFO配置,使给定器件的RAM块和FIFO控制器的总数不致太多。在每种情况下,都可以得到以下特性:

异步输入和输出端口(这些都可以在完全不同频率下运行) "近空"和"近满"输出标记 FIFO输入和输出端电平指示器标记矢量(Level indicator flag vectors) FIFO输入和输出端数据刷新(Data flush)输入 对于使用一个RAM块的FIFO来说,可编程长宽比为256×18或512×9,输入和输出端口可独立配置 对于使用两个RAM块的FIFO来说,可编程长宽比为256×36或512×18或1024×9,输入和输出端口可独立配置

图2所示为FIFO控制器及其输入和输出信号。

设计问题

为了使用外部逻辑和嵌入式RAM块创建FPGA的FIFO,设计人员可简单地创建计数器和控制逻辑,以便依次为RAM块的读写端馈入地址和控制输入。这可以简单地利用极小的逻辑实现。不过,如果FIFO也必须输出"近空"/"近满"标记和/或输出矢量,以表明FIFO中存在多少个单元的话,就需要在读写地址计数器之间执行一个减法器,以便计算出FIFO的"使用率(fill level)"。尽管这样做并不困难,而且可以用不太多的FPGA逻辑资源轻松进行管理,但是却增加了异步操作的需求--其中FIFO的输入和输出端口完全运行于不同的频率--使事情变得更加复杂化,而且要消耗许多逻辑。而且,FIFO还需要有一个与输入端口对输出端口匹配的可配置长宽比(深度与宽度之比),这使设计任务变得更加令人生畏。

QuickLogic用于功率敏感应用的突破性的PolarPro FPGA

今天的设计人员担心的问题是,如何去实现FPGA中复杂的异步可配置FIFO方式。因此,不得不利用暂存器编写这种类型的RTL设计,或者从第三方获取一套完整的IP设计,这给他们带来了一定的负担。所以,QuickLogic公司利用QuickWorks设计软件开发了该设计流程,它可以产生RTL包装(wrappers)和测试台,有助于嵌入FIFO块的PolarPro FPGA在给定的设计中运行。该软件采用基于GUI(图形用户界面)的向导,在FPGA的布局和布线阶段,可以对PolarPro器件中嵌入的FIFO和RAM块进行自动配置。一旦这些设计文件被例示(instantiate)到RTL中,即可实现设计中的FIFO部分,而无需进一步的编码或调整(tweaking)。

设计人员现在可以针对非常重要的定制任务使用FPGA中可用的逻辑,也可以花时间来设计这些应用的关键功能,而不必担心如何实现繁复的异步FIFO。能够迅速访问和配置FPGA中这些先进的嵌入式功能,有助于降低整个逻辑设计的成本,同时缩短上市时间。这些特性使之成为了提供给今天的系统设计人员的一种极具竞争力的解决方案。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top