当前位置: 首页 > news >正文

【经验总结】【乘法替换方法】

1 背景

客户将原有器件(xilinx,altera,lattice,elitestek)平台代码移植到京微齐力器件平台时,代码中可能存在大量的乘法语句。原器件厂商的EDA工具可以将乘法映射到DSP的资源,且能够正确的统计资源的使用情况。由于FUXI目前不支持映射因此需要手动替换到。

2 场景

场景1:变量 * 常量

场景2:变量 * 变量

3 替换方案

场景1: 变量位移和加法器/减法器替。

3.1 变量 * 常量 = 变量位移 + 常量

举例:

原代码语句:gray_GF_22 = gray22 * 1796

分析:以上语句可以分解为:gray_GF_22 = gray22 * (1024 + 512 + 256 + 4)

替换代码语句: gray_GF_22 = {gray22, 10'd0} + {gray22, 9'd0} + {gray22, 8'd0} + {gray22, 2'd0}

3.2 变量 * 常量 = 变量位移 - 常量

举例:

原代码语句:Table_filiter = TableCur + TableBref * 7

分析:以上语句可以分解为:Table_filiter = TableCur +TableBref *(8 - 1)

替换代码语句:Table_filiter = TableCur + {TableBref , 3'd0} - TableBref

场景2: 例化DSP IP核

3.3 小于等于10 * 10 例化一个 10 *10的DSP;

3.4 小于等于18*9例化一个18*9的DSP;

3.5 小于等于18*18例化一个18*18的DSP;

4 FUXI工具DSP IP核支持模型

4.1 DSP IP核的4种10*10模型

4.1.1 DSP IP核支持单个 X*Y = Z模型,也支持同时8组 X*Y = Z模型,如图1:

图1

4.1.2 DSP IP核支持单个X0*Y0 + X1*Y1 = Z01模型,也支持同时4组X0*Y0 + X1*Y1 = Z01的模型,如图2:

图2

4.1.3 DSP IP核支持单个X0*Y0 + X1*Y1 + X2*Y2 + X3*Y3 = Z0123模型,也支持同时2组X0*Y0 + X1*Y1 + X2*Y2 + X3*Y3 = Z0123模型,如图3:

图3

4.1.4 DSP IP核支持X0*Y0 + X1*Y1 + X2*Y2 + X3*Y3 + X4*Y4 + X5*Y5 + X6*Y6 + X7*Y7 = Z模型,如图4:

图4

4.2 DSP IP核的3种18*9模型

4.2.1 DSP IP核支持单个 X*Y = Z模型,也支持同时4组 X*Y = Z模型,如图5:

图5

4.2.2 DSP IP核支持单个X0*Y0 + X1*Y1 = Z01模型,也支持同时2组X0*Y0 + X1*Y1 = Z01的模型,如图6:

图6

4.2.3 DSP IP核支持1组X0*Y0 + X1*Y1 + X2*Y2 + X3*Y3 = Z模型,如下图7:

图7

4.3 DSP IP核的2种18*18模型

4.3.1 DSP IP核支持单个 X*Y = Z模型,也支持同时2组 X*Y = Z模型,如图8:

图8

4.3.2 DSP IP核支持1组X0*Y0 + X1*Y1 = Z模型,如下图9:

图9

针对大于18*18的位宽乘法可以做如下拆解:

举例:36*18 = (高18*18) << 18 + (低18*18)

例化 4.3.1 18*18同时2组 X*Y = Z模型,然后高位结果移位 + 低位结果。

相关文章:

  • 无线定位之四 SX1302 网关源码 thread_jit 线程详解
  • Linux文件编程——标准库函数(fopen等)和系统调用函数(open等)的区别
  • 51c嵌入式~电路~合集27
  • 多目应用:三目相机在汽车智能驾驶领域的应用与技术创新
  • 基于智能家居项目 实现DHT11驱动源代码
  • Java——集合基础
  • 虹科干货 | CAN XL安全实践:深度防御下的密钥协商优化
  • AI+企业应用级PPT生成(实战)
  • 如何将两台虚拟机进行搭桥
  • BFS算法篇——打开智慧之门,BFS算法在拓扑排序中的诗意探索(上)
  • Python | Dashboard制作
  • 关于 ast: Babel AST 全类型总览
  • #跟着若城学鸿蒙#HarmonyOS NEXT学习之Blank组件详解
  • C语言—再学习(数据的存储类别)
  • 大模型——Crawl4AI为 LLM 和 RAG 准备高质量网页数据
  • electron 基础知识
  • 服务器租用与托管注意事项有哪些
  • 互联网大厂Java求职面试:优惠券服务架构设计与AI增强实践-4
  • Python Day 24 学习
  • 亚马逊云科技:开启数字化转型的无限可能
  • 国台办:台湾自古属于中国,历史经纬清晰,法理事实清楚
  • 郑州通报涉“健康证”办理有关问题查处进展情况
  • 铁路部门:确保沿线群众安全,焦柳铁路6个区段将陆续安装防护栅栏
  • 全球医药股普跌,A股创新药板块下挫
  • 专访|日本驻华大使金杉宪治:对美、对华外交必须在保持平衡的基础上稳步推进
  • “80后”李灿已任重庆市南川区领导,此前获公示拟提名为副区长人选