在vitis中bit位赋值如何优化到一拍完成
使用vitis实现硬件代码时,经常遇到不是整拍对齐的情况,比如:
ap_uint<128> a;
ap_uint<64> b[10];
int pad,pos;
/// 计算pos,pad .....
a(pos-1,0) = b[pad](63,pos);
a(63+pos,pos) = b[pad+1];
a(127,64+pos)=b[pad+2];
上述代码要3拍才能完成,如果做到1拍需要做以下优化
ap_uint<64>& get_one_pad(ap_uint<64>& data1,ap_uint<64>& data2,int pos)
{
ap_uint<64> data;
data(63-pos,0) = data1(63,pos);
data(63,64-pos)=data2(pos-1,0);
return data;
}
///**************************************************************************************
ap_uint<128> a;
ap_uint<64> b[10];
int pad,pos;
/// 计算pos,pad .....
/// 1 这块代码的目的是将b中需要用到的数据copy出来,copy两份是为了后面赋值避免冲突
ap_uint<64> x1[3];
ap_uint<64> x2[3];
for( int i=0;i<2;i++)
{
x1[i] = b[pad];
x2[i] = b[pad];
}
/// 2这块代码的目的是将数据分别放到两个64bit区域
ap_uint<64> d[2];
d[0] = get_one_pad(x1[0],x2[1],pos);
d[1] = get_one_pad(x1[1],x2[2],pos);
/// 3最终赋值
a(63,0) = d[0];
a(127,64)=d[1];
上述代码通过三步解决了每次数据操作都是整拍的问题,这样后续即使一拍无法完成,也可以流水打拍完成,比如a如果是ram,就可以方便的流水打拍了。
ps:在实现上述功能的时候发现vitis对函数inline是在verilog层次的,就是说它先把c代码编译成verilog在inline,这样导致本来函数在从c到verilog过程中可以优化的地方无法优化了。比如:get_one_pad函数如果inline就无法一拍完成了,这种情况也不能用pipeline,只能让编译器自动生成
相关文章:
在vitis中bit位赋值如何优化到一拍完成
使用vitis实现硬件代码时,经常遇到不是整拍对齐的情况,比如: ap_uint<128> a; ap_uint<64> b[10]; int pad,pos; /// 计算pos,pad ..... a(pos-1,0) b[pad](63,pos); a(63pos,pos) b[pad1]; a(127,64po…...
深度学习入门(二)之 简单手写数字识别实现
文章目录 引入MINIST数据脚本读入MNIST数据神经网络推理处理批处理 引入MINIST数据脚本 load_mnist为重要关注函数 params: normalize : 将图像的像素值正规化为0.0~1.0 one_hot_label : one_hot_label为True的情况下,标签作为one-hot数组返回 one-hot数…...
USART HMI串口屏+单片机通讯上手体验
USART HMI串口屏单片机通讯上手体验 🔖本文采用淘晶驰4.3寸IPS串口屏实物验证,HMI串口屏经简单配置即可快速实现,串口通讯效果。串口屏上手简单,有独立的开发套件,容易上手,驱动显示和功能代码独立。本文仅…...
Linux进程概念(1)
📟作者主页:慢热的陕西人 🌴专栏链接:Linux 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要内容为进程的概念做铺垫,主要介绍冯诺依曼体系结…...
uniapp 查看安卓第三方插件抛出的异常
0.安装好andriod studio 和hbuilder 1.配置环境变量 鼠标右键此电脑-》设置》关于》高级系统设置》环境变量》系统变量》path中加入 具体的hbuildr adb目录看个人 2.在cmd中输入命令adb version 查看是否配置成功 出现版本号就是配置成功了 3.去hbuilder中,导航栏运…...
美妆造型教培服务预约小程序的作用是什么
美业市场规模很高,细分类目更是比较广,而美妆造型就是其中的一类,从业者也比较多,除了学校科目外,美妆造型教培机构也有生意。 对机构来说主要目的是拓客引流-转化及赋能,而想要完善路径却是不太容易&…...
Pytorch常用函数
Pytorch 1 一些操作含义2 常用函数torch.squeezetorch.unsqueezetorch.transpose随机数生成Tensor详细内容 1 一些操作含义 下划线后缀含义: 在touch中函数后面加下划线代表是原位(In-place)操作,也就是内存的位置不变化,比如torch.add(valu…...
如何利用python连接讯飞的星火大语言模型
星火大模型是科大讯飞推出的一款人工智能语言模型,它采用了华为的昇腾910 AI处理器。这款处理器是一款人工智能处理器,具有强大的计算能力和高效的能耗控制能力。 华为昇腾910 AI处理器采用了创新的Da Vinci架构,这种架构在设计上充分考虑了…...
【Kubernetes 基本概念】Kubernetes 的架构和核心概念
目录 一、Kurbernetes1.1 简介1.2 为什么要用K8s?1.3 K8s的特性 二、Kurbernetes集群架构与组件三、Kurbernetes的核心组件3.1 Master组件3.1.1 Kube-apiserver3.1.2 Kube-controller-manager3.1.3 Kube-scheduler 3.2 配置存储中心——etcd3.3 Node组件3.3.1 Kubelet3.3.2 Ku…...
Docker安装部署Elasticsearch+Kibana+IK分词器
Docker安装部署ElasticsearchKibanaIK分词器 Docker安装部署elasticsearch拉取镜像创建数据卷创建网络elasticsearch容器,启动! Docker安装部署Kibana拉取镜像Kibana容器,启动! 安装IK分词器安装方式一:直接从github上…...
PCL setCameraPosition 参数讲解
setCameraPosition 的原型如下void setCameraPosition (double pos_x, double pos_y, double pos_z,double view_x, double view_y, double view_z,double up_x, double up_y, double up_z, int viewport 0);pos_x pos_y pos_z为相机所在的位置view_x view_y view_z 是焦点所…...
有关YOLOV5在测试时,图片大小被调整的问题
执行detect.py文件,在运行栏中出现以下: detect: weightsyolov5s.pt, sourcedata\images, datadata\coco128.yaml, imgsz[640, 640], conf_thres0.25, iou_thres0.45, max_det1000, device, view_imgFalse, save_txtFalse, save_confFalse, save_cropFa…...
【机器学习】四、计算学习理论
1 基础知识 计算学习理论(computational learning theory):关于通过“计算”来进行“学习”的理论,即关于机器学习的理论基础,其目的是分析学习任务的困难本质,为学习算法体统理论保证,并根据结…...
spring解决后端显示时区的问题
spring解决后端显示时区的问题 出现的问题: 数据库中的数据: 解决方法 spring:jackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: Asia/Shanghai...
大模型冷思考:企业“可控”价值创造空间还有多少?
文 | 智能相对论 作者 | 叶远风 毫无疑问,大模型热潮正一浪高过一浪。 在发展进程上,从最开始的技术比拼到现在已开始全面强调商业价值变现,百度、科大讯飞等厂商都喊出类似“不能落地的大模型没有意义”等口号。 在模型类型上࿰…...
ctfshow-web入门37-52
include($c);表达式包含并运行指定文件。 使用data伪协议 ?cdata://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg 是<?php system(cat flag.php);?> base64加密 源代码查看得到flag 38 多禁用了ph…...
前端项目部署后,需要刷新页面才能看到更新内容
问题背景 前端项目部署更新后,通知业务验证,业务点击收藏的标签,打开网页后没有看到修改的内容,每次都需要手动刷新,用户体验非常不好。 问题原因:缓存未过期,浏览器直接读取本地缓存…...
android 13 write javaBean error at *** 错误
报错代码:红框处。 注意:android10 不会报错,运行正常。android13就报错 错误原因:对象中VerifyDownloadEntity,有个Bitmap成员变量 public class VerifyDownloadEntity {private Bitmap bitmap;private String cooki…...
Only fullscreen opaque activities can request orientation
出现Only fullscreen opaque activities can request orientation是谷歌爸爸在安卓8.0版本时为了支持全面屏,增加了一个限制:如果是透明的Activity,则不能固定它的方向,因为它的方向其实是依赖其父Activity的(因为透明…...
前端实验(一)单页面应用的创建
实验目的 掌握使用vite创建vue3单页面程序命令熟悉所创建程序的组织结构熟悉单页面程序运行原理能够编写简单的单页面程序 实验内容 创建一个名为vue-demo的单页面程序编写简单的单页面程序页面运行单页面程序 实验步骤 使用vite创建单页面程序 创建项目名为目录vue-demo的…...
010 Editor破解指南:从安装到激活的完整步骤
1. 010 Editor简介与破解前的准备 010 Editor是一款功能强大的十六进制编辑器,广泛应用于逆向工程、文件分析和数据恢复等领域。它的二进制编辑能力和模板解析功能深受安全研究人员和开发者的喜爱。不过正版软件价格较高,个人用户可能会考虑寻找替代方案…...
Building Tools:Blender建筑建模插件终极指南 - 快速生成3D建筑的专业解决方案
Building Tools:Blender建筑建模插件终极指南 - 快速生成3D建筑的专业解决方案 【免费下载链接】building_tools Building generation addon for blender 项目地址: https://gitcode.com/gh_mirrors/bu/building_tools Building Tools是一款专为Blender设计的…...
别再猜了!Unity URP灯光数量上限到底在哪设?详解Universal RP Asset配置
Unity URP灯光数量上限配置全指南:从原理到实战 刚接触Unity URP渲染管线的开发者,经常会遇到一个令人困惑的问题:明明在场景中放置了多个灯光,为什么有些灯光会莫名其妙地消失或闪烁?这背后其实涉及到URP对灯光数量的…...
4步攻克Windows与Office激活难题:从新手到专家的智能解决方案
4步攻克Windows与Office激活难题:从新手到专家的智能解决方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 在数字化办公环境中,软件激活问题常常成为影响工作效率的隐…...
计算机组成原理视角:解析GTE-Base-ZH在GPU上的计算与存储
计算机组成原理视角:解析GTE-Base-ZH在GPU上的计算与存储 最近在折腾一些文本嵌入模型,发现大家讨论模型效果的多,但聊它背后在硬件上怎么“跑”起来的少。这就像开车只关心能跑多快,却不看发动机是怎么工作的。今天,…...
从OpenAI Assistants API看厂商对Agent生态的战略布局
从OpenAI Assistants API看厂商对Agent生态的战略布局 引言 背景介绍 人工智能技术正在以前所未有的速度改变着我们的世界。从最早的规则引擎到机器学习,再到如今的大语言模型(LLMs),AI技术的每一次飞跃都带来了新的可能性和商业机…...
PRJ引起的tif影像导入global mapper/CASS位置异常以及PRJ参数的说明
1 问题描述 将Pix4Dmapper生成的tif拖入global mapper,发现投影中央子午线不对,导致位置异常。并且将影像插入cass,影像出现了拉伸、显示错误等问题。 查看prj文件,central_meridian为112.5,而global mapper识别为114。…...
终极pix2pix训练指南:200个epoch完整流程与实战技巧
终极pix2pix训练指南:200个epoch完整流程与实战技巧 【免费下载链接】pix2pix-tensorflow Tensorflow port of Image-to-Image Translation with Conditional Adversarial Nets https://phillipi.github.io/pix2pix/ 项目地址: https://gitcode.com/gh_mirrors/pi…...
Git-RSCLIP模型快速入门:10分钟实现第一个图文检索应用
Git-RSCLIP模型快速入门:10分钟实现第一个图文检索应用 1. 引言 你是不是经常遇到这样的情况:电脑里存了几千张照片,想找某张特定的图片却怎么也找不到?或者想用文字描述来搜索相关的图片,但传统的关键词搜索总是不够…...
用STM32F103C8T6+ESP8266做个公交车报站器,附完整电路图和代码(避坑OLED与GPS)
用STM32F103C8T6ESP8266打造高可靠性公交车报站器:从硬件选型到代码调试全指南 在智能交通系统快速发展的今天,公交车报站器作为乘客信息服务的重要载体,其稳定性和准确性直接影响出行体验。本文将带你从零开始,基于STM32F103C8T6…...
