项目信息
项目名称:【HLS】类TCAM的硬件流表  
英文名称:【HLS】TCAM-like hardware flow table 
项目信息:
应用领域:网络与通信
设计摘要:
利用Vivado HLS高层次综合工具设计实现SoC片上TCAM查找引擎,目标高吞吐高可靠高性能计算能力,同时实现流水线单周期查找。
系统原理和技术特点:

TCAM (ternary content addressable memory)是一种三态内容寻址 存储器,主要用于快速查找ACL、路由等表项。 
  它是从CAM的基础上发展而来的。一般的CAM存储器中每个bit位的状态只有两个,“0”或“1”,而TCAM中每个bit位有三种状态,除掉“0”和“1”外,还有一个“don’t care”状态,所以称为“三态”,它是通过掩码来实现的,正是TCAM的这个第三种状态特征使其既能进行精确匹配查找,又能进行模糊匹配查找,而CAM没有第三种状态,所以只能进行精确匹配查找。 
  TCAM具有查找速度快、操作简单的优点,但同时它也具有3个明显的缺点:成本高、功耗大和路由更新复杂。 路由器为了实现 负载平衡以及 策略路由,在 路由表中保存着相当数量的具有多个 下一跳的路由表项。基于TCAM技术,提出一种支持多下一跳的高速路由查找方案。方案通过两级索引表实现了多下一跳路由的存储和快速访问。为了提高TCAM的更新效率,方案还提出了一个N子空间TCAM更新算法。该算法对目前实际网络中的路由表,可达到近似O(1)的更新复杂度。为了减少TCAM的成本和功耗,方案中还使用了有效的路由 压缩技术。压缩技术基于 Trie树结构,实现简单。应用压缩技术,对于实际网络中的路由表,可减少20%的路由。该查找方案可以很容易地应用到未来的IPv6网络中。

 

1、TCAM 表内所有条目都可以并行访问,比如,如果你有100条ACL,TCAM能一次就能对比这100条ACL进行对比操作,过去如果有100条ACL的话,需要第一条ACL对比完后再对比第二条,然后第三条,直至N条,效率很明显没有TCAM高。 
  2、TCAM得结构已经经过了优化,支持更抽象的操作,通常是基于二进制关键字匹配,查询相当快 
  如FIB TCAM中每个表项都有对应的下一条,而每个下一条有维护了下一条邻居的MAC。 
  2、正因为有上边的这些特性,所以无论表内有多少条数目,性能都不会减弱。 
  3、TCAM 包含多组的Mask 与Value 对应关系,对应比例为1:8,一个Mask可对应8个Value。最长掩码位于TCAM顶部,如255.255.255.255位于最顶部,用于最长匹配,提升查找速率。 
  4、Mask 用于表示Value 的匹配方法,1 为必须比较并匹配,0 为不用比较。 
  5、TCAM的可用掩码、值模式、LOU表项有限,如果 访问列表很大或需要很多第四层运算,TCAM表和寄存器很可能溢出。 
  6、TCAM成本比较高, 存储空间的单位价格高于普通的sram,而且耗能也远远高于sram 
  7、由于TCAM的并行查找特性和三态,存储必须以前缀形式来存储,比如一个range需要拆分成几个更小的可以表示成前缀形式的range才可以存储在TCAM中

 

2009914171552106.jpg
系统框图:2009914171552106.jpg
tcam_blkdiag.jpg
系统框图:tcam_blkdiag.jpg
US08018751-20110913-D00000.jpg
系统框图:US08018751-20110913-D00000.jpg
软件流程介绍: HLS挑战赛-类TCAM硬件流表.pdf [375.9 KB]
计划书:HLS-challenge-sigma.zip [353.9 KB]
当前项目状态: OK
参赛信息:
指导老师姓名: 李德识
指导老师职称: 教授
学校: 武汉大学
研究方向: WSN,SoC,无线通信,智能系统
参赛情况: OpenHW2014开源硬件与嵌入式计算大赛
需求信息:
拟采用的平台:挑战赛目标器件Kintex7-325T
是否需要设计扩展板?
需要的基本功能:
最新版本:
暂无发布的版本信息   了解目前项目的开发进度
相关评论:  
添加评论  更多评论
正在读取数据……
关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:aimei@eefocus.com  联系电话: 0512-80981663-8069    Fax:0512-80981279
Powered by eefocus.com