利用TCAMS的紧凑型K-SAT验证的制作方法
- 国知局
- 2024-07-31 19:29:21
背景技术:
1、内容可寻址存储器(“cam”)是一种类型的计算存储器,其中存储的数据不是通过其位置而是通过其内容来访问的。向cam输入单词或“标签”,cam在其内容中搜索该标签,当找到时,cam返回找到的内容驻留位置的地址。cam功能强大、效率高、并且速度快。然而,cam也比较大,功率大,并且价格比较昂贵。这些缺点限制了它们在某些应用中的适用性,在这些应用中,它们的功率、效率和速度的重要性足以超过它们的大小、成本和功耗。近年来,基于非易失性存储技术的更高效的cam被用于多个应用中的存储器内计算,诸如模式匹配、人工智能和机器学习推理。
技术实现思路
技术特征:1.一种方法,包括:
2.根据权利要求1所述的方法,其中对以否定析取范式dnf编写的所述k-sat问题的所述布尔表达式的每个子句进行编程包括:将包括0、1或x的位值编程到每个tcam阵列内的每个单元,其中所述x表示不在意值。
3.根据权利要求2所述的方法,其中每个子句中的每个字面值的每个否定被分配位值0,每个子句中的每个字面值的每个非否定被分配位值1,并且每个子句中的每个缺失变量被分配位值x。
4.根据权利要求1所述的方法,其中如果所述解释违反存储在所述tcam阵列的对应行中的所述子句,则每个匹配线返回高位值,并且其中如果所述解释满足存储在所述tcam阵列的所述对应行中的所述子句,则每个匹配线返回低位值。
5.根据权利要求1所述的方法,还包括:生成包括一个或多个更新变量的更新解释。
6.根据权利要求1所述的方法,其中每个匹配线被预充电到高电压。
7.一种方法,包括:
8.根据权利要求7所述的方法,其中对以否定析取范式dnf编写的所述k-sat问题的所述布尔表达式的每个子句进行编程包括:将包括0、1或x的位值编程到每个tcam阵列内的每个单元,其中所述x表示不在意值。
9.根据权利要求8所述的方法,其中每个子句中的每个字面值的每个否定被分配位值0,每个子句中的每个字面值的每个非否定被分配位值1,并且每个子句中的每个缺失变量被分配位值x。
10.根据权利要求7所述的方法,其中如果所述解释违反存储在所述tcam阵列的对应行中的所述子句,则每个匹配线返回高位值,并且其中如果所述解释满足存储在所述tcam阵列的所述对应行中的所述子句,则每个匹配线返回低位值。
11.根据权利要求7所述的方法,还包括:生成包括一个或多个更新变量的新解释。
12.根据权利要求7所述的方法,其中每个变量1、0和x对应于被应用到所述tcam阵列的每个搜索线的不同电压。
13.一种存储指令的非瞬态计算机可读存储介质,所述指令当由处理器执行时,使所述处理器:
14.根据权利要求13所述的存储指令的非瞬态计算机可读存储介质,所述指令当被执行时,还使所述处理器:
15.根据权利要求14所述的存储指令的非瞬态计算机可读存储介质,所述指令当被执行时,还使所述处理器:
16.根据权利要求13所述的存储指令的非瞬态计算机可读存储介质,所述指令当被执行时,还使所述处理器:
17.一种用于求解k-sat问题的电路,包括:
18.根据权利要求17所述的电路,其中所述搜索数据包括位值,所述位值包括对每个tcam阵列内的每个单元的0、1或x,其中所述x表示不在意值。
19.根据权利要求18所述的电路,其中每个子句中的每个字面值的每个否定被分配位值0,每个子句中的每个字面值的每个非否定被分配位值1,并且每个子句中的每个缺失变量被分配位值x。
20.根据权利要求17所述的电路,其中所述k-sat验证电路还被配置为应用更新解释,所述更新解释包括更新的搜索数据。
技术总结本公开的实施例涉及利用TCAMS的紧凑型K‑SAT验证。本公开一般提供了一种求解K‑SAT问题的方法。该方法包括将以否定析取范式(DNF)编写的K‑SAT问题的布尔表达式的一个或多个子句编程到包括TCAM单元的列和行的三元‑CAM(TCAM)阵列,将包括预期用于求解布尔表达式的一个或多个二元变量的解释作为输入沿列应用到TCAM阵列,返回针对每个子句的二元值,以及如果违反至少一个子句,则更新解释内的一个或多个变量。技术研发人员:G·佩德雷蒂,T·F·齐格勒,T·范瓦伦贝格,C·格拉弗斯受保护的技术使用者:慧与发展有限责任合伙企业技术研发日:技术公布日:2024/1/15本文地址:https://www.jishuxx.com/zhuanli/20240731/182730.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。