发明名称 FPGA中进行电子设计自动化的逻辑单元装箱方法
摘要 本发明公开了一种FPGA中进行电子设计自动化的逻辑单元装箱方法,主要解决现有技术装箱后电路时延过大,可配置逻辑单元CLB消耗过多的问题。其装箱过程是:将工艺映射,单元划分处理后的电路用有向无环图表示;通过电路中查询表LUT之间的连接方式对有向无环图中的时延信息进行初始化;通过广度优先遍历法计算每个节点的松散度,并结合每个节点对电路关键路径的影响计算出它的关键度;根据每个节点的关键度并结合查询表LUT的线网个数和可配置逻辑单元CLB中已使用的线网个数,计算每个查询表LUT的线网增益值,根据线网增益值对查询表LUT进行选择填装。本发明极大地降低了最终电路的时延,同时极大地减少了最终电路消耗的可配置逻辑单元CLB的数量。
申请公布号 CN103745057B 申请公布日期 2016.05.25
申请号 CN201410008483.X 申请日期 2014.01.08
申请人 西安电子科技大学 发明人 段振华;李虎;黄伯虎
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;朱红星
主权项 一种FPGA中进行电子设计自动化的逻辑单元装箱方法,包括如下步骤:A.计算电路中每个查询表LUT的关键度B:(A1)将经过工艺映射,单元划分处理后的电路作为一个有向无环图DAG,该有向无环图中的节点表示具有存储电路逻辑功能的查询表LUT;有向无环图中的边表示查询表LUT之间的线网连线,根据查询表LUT之间的实际连接关系对有向无环图中的每条边赋上相应的时延权重值;(A2)从电路的源端节点开始,根据有向无环图中边所对应的时延权重值,采用广度优先遍历的方法计算出有向无环图中节点i的最晚到达时间Ta(i):Ta(i)=max{Ta(m)+t(m,i)},其中m表示节点i的输入节点集合In(i)中的第m个节点,m的取值范围为:1~e1;t(m,i)表示集合In(i)中的第m个节点与有向无环图中节点i之间的时延权重值,i表示有向无环图中的第i个节点的标号,i的取值范围为1~N,N表示电路中节点的总数,节点i的输入节点集合用In(i)表示,集合In(i)中的节点总数用e1表示,节点i的输出节点集合用On(i)表示,集合On(i)中的节点总数用e2表示;(A3)从电路的末端节点开始,结合每条边对应的时延权重值,采用广度优先遍历的方法计算出有向无环图中节点i的最晚需要达到时间Tr(i):Tr(i)=min{Tr(n)‑t(i,n)},其中n表示节点i的输出节点集合中On(i)中的第n个节点,n的取值范围为:1~e2;t(i,n)表示集合On(i)中的第n个节点与有向无环图中节点i之间的时延权重值;(A4)根据得到的有向无环图中节点i的最晚到达时间Ta(i)和最晚需要达到时间Tr(i),得到第节点i对应的松散度:s(i)=Tr(i)‑Ta(i);#(A5)根据松散度计算有向无环图中节点i的时延度:C(i)=1‑s(i)/Ms,其中Ms表示有向无环图中所有节点松散度的最大值;(A6)计算有向无环图中节点i对关键路径的影响权值:TA(i)=IA(i)+OA(i),其中:IA(i)表示节点i所对应的输入节点在关键路径上的节点总数,OA(i)表示节点i所对应的输出节点在关键路径上的节点总数;(A7)根据节点i的时延度C(i)和该节点对有向无环图中关键路径的影响权值TA(i),计算节点i的关键度:<img file="FDA0000939661960000021.GIF" wi="444" he="71" />其中<img file="FDA0000939661960000022.GIF" wi="40" he="53" />取0.01;B.选择查询表LUT装填到新的可配置逻辑单元CLB:(B1)对于步骤(A7)中所得到的每个节点的关键度进行排序,选出关键度最高的那个节点所对应的查询表LUT,填装到一个新的可配置逻辑单元CLB中去;(B2)将装填到可配置逻辑单元CLB中的查询表LUT标记为H,计算与H相连接的第j个查询表LUT的线网关联增益I(j),其中j表示与H相连接的第j个查询表LUT,j的取值范围为1~M,M表示与H相连接的查询表LUT的总个数;(B3)对计算得到的所有查询表LUT的线网关联增益值I(j)进行排序,选择线网关联增益值最大的那个查询表LUT将其填装到上述新的可配置逻辑单元CLB中去;(B4)重复步骤(B2)和步骤(B3),直到上述新的可配置逻辑单元CLB被填装满为止;C.更新电路时延信息,继续对查询表LUT进行填装:(C1)对于一个已经被填装满的可配置逻辑单元CLB,根据它和电路中其他查询表LUT的连接方式,重新设置电路中边的时延权重值,形成新的有向无环图DAG’;(C2)利用新的有向无环图DAG’,重复步骤(A2)和步骤(B4),直到电路中所有的查询表LUT被装填完成为止。
地址 710071 陕西省西安市太白南路2号