FPGA-----------查找表

1、查找表定义

        在计算机科学中,查找表是用简单的查找工作代替计算的数组或者是associative array的数据结构。由于从内存中提取数值,要比复杂的简单计算速度快很多,所以可以提升计算速度。

        例如计算三角函数时,每次计算的正弦值会变得越来越复杂,为了避免这种情况,在程序开始前先将各个角度的正弦值存储到内存中,在后面程序中用到正弦值的时候,使用查找表从内存中提取临近的各个角度的正弦值。由于查找表的高效率与方便性,他在实时要求比较高的嵌入式系统中得到广泛应用。在FPGA中,主要有两种情况会要到此查找表:一种是逻辑时序要求非常高的,使用其他计算方式不能满足实时的要求;另一种是计算复杂度非常高的,需要消耗相当一部分逻辑资源,而查找表只需要建立一块存储器,这可以使用FPGA的片内存储资源来进行构建,仅仅消耗一部分逻辑资源。

2、查找表的构建

        使用查找表的第一步是构建输入表。构建输入表首先是得到输入函数的的有效定义域,其次将输入的定义域进行等分(需要根据项目情况考虑步长,在计算精度和表的大小之间做一个最佳权衡),最后还要考虑数据格式的问题,待求函数通常是实数表示,在计算时要将其转换为整形,但是这个过程会带来误差。

        查找表在特定值下精度有效,但是随着输入值宽度的增加,表的尺寸呈现指数倍的增长,实用的查找表尺寸需要减少查找精度,一个简单的方法就是简单的删除最低位,不需要对数据进行四舍五入,因为表的内容可以根据保留为作用域中函数的适当值设置获得最好的结果。

3、查找表的使用

        查找函数可以通过MATLAB或者VC等软件来实现,对于Altera的器件可以使用生成的mif或hex格式的文件实现。

参考资料:基于FPGA的数字图像处理以及应用

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FPGA工艺映射(FPGA technology mapping)是指将逻辑电路映射到FPGA器件中的具体可编程逻辑资源上的过程。在FPGA设计中,我们常常使用查找(Look-Up Table,简称LUT)来实现逻辑功能。 查找是一种存储数字运算结果的格结构,具有输入端和输出端。它是FPGA中最基本的逻辑单元,可以实现与、或、非等基本逻辑运算以及更复杂的布尔函数。FPGA内部的查找数量是有限的,通常由工艺规模所决定。每个查找通常具有2至6个输入和1个输出。 在FPGA工艺映射过程中,我们需要将逻辑电路分解为逻辑门级别,并将这些逻辑门映射到FPGA中的查找上。通过将逻辑电路的真值分析为与逻辑或或逻辑和的组合,我们可以将其转换为对应的查找配置。通过将多个查找组合和连接,我们可以实现更复杂的逻辑功能。 工艺映射的目标是在给定FPGA资源有限的情况下,使得逻辑电路能够在FPGA上正常工作,并尽可能地利用FPGA可编程资源的优势实现高性能和低功耗。因此,在进行FPGA工艺映射时,我们需要综合考虑逻辑电路的功能需求、延迟和功耗之间的折中,以及FPGA器件的资源限制和架构特点。 总而言之,FPGA工艺映射是将逻辑电路映射到FPGA查找中的过程,通过将逻辑门级别的电路转换为对应的查找配置来实现逻辑功能。这一过程需要综合考虑电路功能、资源限制和性能需求,并进行合理的延迟和功耗优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值