一种基于SAT的FPGA映射优化算法.docVIP

一种基于SAT的FPGA映射优化算法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于SAT的FPGA映射优化算法   摘要:为了提高FPGA技术映射算法的质量,提出了一种基于布尔可满足性(SAT)的算法,在实现系统功能的前提下,可以将一个子电路映射到数量最少的查看表中。通过将该算法迭代应用于已经完成映射的电路局部,在许多情况下,可以使用更少的查看表来完成。   关键词:布尔可满足性;FPGA;再综合;映射优化;查看表   中图分类号:TP331文献标识码:A 文章编号:1009-3044(2008)35-2502-02   An Optimality of FPGA Mapping Algorithms Based on SAT   LU Hua-qi   (Department of Computer Engineering, Huaiyin Institute of Technology, Huai’an 223003, China)   Abstract: This paper attempts to quantify the optimality of FPGA technology mapping algorithms. We develop an algorithm, based on Boolean satisability (SAT), that is able to map a small subcircuit into the smallest possible number of lookup tables (LUTs) needed to realize its functionality. We iteratively apply this technique to small portions of circuits that have already been technology mapped by the best available mapping algorithms for FPGAs. In many cases, the optimal mapping of the subcircuit uses fewer LUTs than is obtained by the technology mapping algorithm.   Keywords: Boolean Satisability; Resynthesis; Mapping Optimization; FPGA, Lookup Table      1 引言      FPGA是可重构的集成电路,其特点是由大量可编程的布线结构包围的可编程逻辑模块。目前大部分FPGA器件都包含基于K个输入查看表(K-LUT)的可编程逻辑模块,一个K-LUT含有2K个真值表配置位,因此K-LUT可以实现任意的K个输入功能。对于一个给定电路而言,实现给定电路的LUT数量决定了基于FPGA实现的尺寸和代价。因此,在FPGA CAD流程中最重要的的阶段之一就是技术映射,技术映射将一个优化过的电路描述映射到目标FPGA体系结构中的一个LUT网络中。   在技术映射过程中,常常将技术映射看为覆盖问题。例如,在图1中给出了将一个电路映射到LUT的过程。图1a是初始的门级网络,图1b是使用4-LUT对初始网络的可能覆盖,图1c给出了由覆盖产生的LUT网络[1]。在所给出的映射中,标号为x的门同时属于两个LUT,即复制了x。有时,为了最小化LUT网络面积,必须复制门电路。   对于小的子电路来说,实现面积优化没有问题。设f(i0,i1,…,in)是任意函数,如果以3-LUT或2-LUT实现,可以使用图2所示的可配置虚拟网络(Configurable Virtual Network, CVN)来实现面积的优化。CVN是由连接到变量i0,i1,…,in的输入线与三个2-LUT组成。交叉位置允许LUT输入选择来自其它LUT的任意输入线或输出线。交叉点上的每一个“开关”由一个虚拟配置位进行配置,其中0代表交叉点是不连接的,而1表示交叉点是连接的。如同为每个2-LUT设置真值表配置位一样,通过控制虚拟配置位,可以枚举包含三个2-LUT的每一种可能的电路配置[2]。   在式(1)及(2)中,可以看到网络fnet的输出作为布尔表达式,其中表达式中包括变量i0, i1…, in、虚拟配置位V1…Vm及真值表配置位L1…Lo。在这两个式中,需要提出的是,对于i0,…, in所有的值来说,V1…Vm及L1…Lo的赋值对fnet(i0, i1…, in,V1…Vm,L1…Lo)引起的变化是否等同于f(i0, i1…, in),这个问题可以从布尔可满足性(Boolean Satisfiability, SAT)中获得确切的答案

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档