[发明专利]基于yosys实现求和运算的FPGA逻辑综合方法及装置有效
| 申请号: | 202111130658.0 | 申请日: | 2021-09-26 |
| 公开(公告)号: | CN113568598B | 公开(公告)日: | 2021-12-14 |
| 发明(设计)人: | 王鑫楠;赵美飞;刘洋 | 申请(专利权)人: | 中科亿海微电子科技(苏州)有限公司 |
| 主分类号: | G06F7/575 | 分类号: | G06F7/575 |
| 代理公司: | 北京融智邦达知识产权代理事务所(普通合伙) 11885 | 代理人: | 董惠文 |
| 地址: | 215000 江苏省苏州市苏州工业园区金*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 yosys 实现 求和 运算 fpga 逻辑 综合 方法 装置 | ||
1.一种基于yosys实现求和运算的FPGA逻辑综合方法,其特征在于,包括以下步骤:
步骤1:使用yosys开源程序将求和运算的行为级用户电路描述文件解析生成语法树;
步骤2:对所述语法树中的全部节点进行遍历,根据所述语法树中的节点类型提取出描述求和功能模块的RTL级数据对象,形成RTL级数据对象集合;
步骤3:遍历所述RTL级数据对象集合,将所述RTL级数据对象集合中的每一个RTL级数据对象转化为多个单位宽的具有进位输入端口和进位输出端口的逻辑门级Cell对象,在新建逻辑门级Cell对象的同时新建表示求和运算的Wire类型的进位信号,将进位信号作为操作数;
步骤4:将转化的所有逻辑门级对象映射为物理门级对象打印提取逻辑网表文件。
2.根据权利要求1所述的方法,其特征在于,步骤3还包括:对每一个RTL级数据对象转化的多个单位宽的具有进位输入端口和进位输出端口的逻辑门级Cell对象进行优化。
3.根据权利要求2所述的方法,其特征在于,步骤1中所述行为级用户电路描述文件为使用Verilog格式硬件描述语言的用户电路设计文件。
4.根据权利要求2所述的方法,其特征在于,步骤3的具体方法是:
步骤3.1:对RTL级数据对象的多位宽操作数进行拆分,建立与RTL级数据对象的两个操作数中具有较大位宽的操作数的位宽数量相对应的单位宽逻辑门级Cell对象;
步骤3.2:在新建单位宽逻辑门级Cell对象的同时新建表示求和运算产生的Wire类型的进位信号;
步骤3.3:依次将RTL级Cell对象的输入输出端口连接信息,逐位赋值给新建的各单位宽逻辑门级Cell对象的输入输出端口连接信息;
步骤3.4:所述逻辑门级Cell对象建立有进位输入端口和进位输出端口,所述进位信号连接当前新建的逻辑门级对象的进位输出端口以及下一个相邻的逻辑门级对象的进位输入端口;
步骤3.5:根据逻辑门级Cell对象的输入输出端口连接状态信息,得到所述逻辑门级Cell对象的端口连接参数FUN值,根据端口连接参数FUN值得到所述逻辑门级Cell对象的功能参数值LUT。
5.根据权利要求4所述的方法,其特征在于,步骤3.3中逐位赋值的具体方法是:
步骤3.3.1:分别获取当前RTL级cell对象的A、B输入端连接信号sig_a、sig_b和Y输出端信号sig_y,获取sig_a、sig_b信号位宽最小值记录为N;
步骤3.3.2:创建N个逻辑门级Cell对象,将RTL级cell对象的A、B输入端连接信号的第i位sig_a[i]、sig_b[i]分别赋值给第i个逻辑门级Cell对象的两个输入端,将RTL级cell对象的第i位Y输出端信号sig_y[i] 赋值给第i个逻辑门级Cell对象的输出端;
步骤3.3.3:判断sig_a和sig_b信号位宽是否一致,若一致则结束,否则获取sig_a和sig_b位宽较大者,位宽较大者的值赋值给临时对象extra_sig,计算位宽为M,i从N+1开始循环至M结束,继续创建M-N个单位宽逻辑门级Cell对象,为该M-N个逻辑门级Cell对象的其中一个输入端口赋值extra_sig[i],输出端口赋值sig_y[i]。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科亿海微电子科技(苏州)有限公司,未经中科亿海微电子科技(苏州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111130658.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:电荷传递装置和电荷传递方法
- 下一篇:一种鞋帽生产过程中用烘干装置





