DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1318|回复: 0
打印 上一主题 下一主题

[待整理] 解决硬盘驱动器能耗难题

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-27 12:16:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
作者: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中这些先进的嵌入式功能,有助于降低整个逻辑设计的成本,同时缩短上市时间。这些特性使之成为了提供给今天的系统设计人员的一种极具竞争力的解决方案。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-28 22:03 , 耗时 0.097682 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表