首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

在Spartan-6系列FPGA中使用块RAM的心得(2)---‘连载――我与FPGA活动’

在Spartan-6系列FPGA中使用块RAM的心得(2)---‘连载――我与FPGA活动’

      回来头来再仔细思考。首先发现上述实现中最重要的一点是:虽然有896个44位的系数需要存储,但是它们都是常数!使用宝贵的LUT资源来存储这些烧一次FLASH PROM就再也不变的数值显然是非常不划算的。那只好思考其他的办法。显然,那些大容量的存储器最适合处理此类问题了。考虑到需要算法处理对实时性的要求,使用片外存储单元的想法被pass掉了(虽然它们容量很大,价格也不高)。于是,接下来自然将思路转移到使用片上的存储单元来完成任务。前面已经提到了Xilinx FPGA中都具有较大的、高速的硬核RAM资源,可以通过调用IPcore来产生不同类型的存储器。因为需要存储的大量数据是常数,不需要对其修改,自然也不需要写操作,即没有必要生产RAM了,一个单端口的ROM就足够完成任务。估算一下,896个拟合系数,每个是44位,一共是需要39424b,即消耗约39kb的块RAM存储单元,而查一下Xilinx FPGA的器件概览,绝大多数型号FPGA的块RAM对此都绰绰有余。
          接下来的步骤就是查找相关文档,弄清块RAM的使用方法了。有意思的是,虽然大部分书籍都可以面面俱到,却不够详细,普遍的情况是介绍优点,然后简单提一下调用core generator——差不多该结束了。没有多少可以从实际使用者角度出发讲解的,而“细节之中出魔鬼”这话就要接着发挥威力了,这应该是初学者最头疼的事情了吧。
          夜深了,大家还在挑灯夜战吗?还是身体最重要啊!明天继续写,欢迎交流!
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表