自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 解决 “rm cannot remove ‘path/to/.nfs0000*‘: Device or resource busy

为了解决"rm cannot remove ‘path/to/.nfs0000*’: Device or resource busy# terminallsof +D path/to # .nfs0000*的相对或者绝对路径# 得到被占用的进程id: PIDkill -9 PID #之后就可以正常rm了。

2022-04-28 10:39:34 1426

原创 HLS进阶——频率优化

频率优化对于HLS设计或是RTL设计其实都是分为两部分:逻辑(logic)和布线(route)优化。思路上和RTL开发是一致的,但是由于HLS的控制力度不同,所以执行策略上也会有一些区别,下面我就介绍一些常用的优化技巧。逻辑优化拆分为多个dataflow模块,减少一个模块内一拍执行的组合逻辑操作数量;如果不能拆分为多个dataflow模块,则通过状态机将部分操作切换到下一拍去执行;合理选择资源类型;平衡设计模块中的ii和latency,一般以最大吞吐率为目标;布线优化合理选择资源类型,

2021-07-03 17:22:13 548

原创 HLS相比RTL的优劣

HLS: xilinx公司推出的Vitis HLS开发, HLS工具是将HLS代码翻译成RTL,然后由Vivado编译生成bitstreamRTL: xilinx公司推出的Vivado开发优势开发周期短,非常适合前期功能、性能的验证,可以极大的节省时间成本和人力成本;新手入门门槛低,HLS代码由C++和pragma组成,相比Verilog和VHDL对软件工程师更友好(当然具有硬件思维的工程师设计的代码更有优势);模块可复用性强;平台可移植性强;劣势不适合高速接口开发;会存在一定的冗

2021-06-20 19:43:39 1667

原创 Linux PostgreSQL入门(安装与简单使用)

安装git clone https://github.com/postgres/postgres.gitcd postgresgit checkout REL_13_STABLE # 选择版本# 配置安装路径,如果系统没有readline,需要指定--without-readlne,如果出现下述报错需要指定--build。# configure: loading cache config.cache# checking build system type... mkdir: cannot cre

2021-03-28 15:37:04 283 1

原创 XiIinx AI Engine总结

AI Engine 是Xilinx ACAP系列器件的组成模块,相对于其中大家均比较熟悉的PL、PS、NoC等,AI Engine可以说是一个全新的结构,但从某种意义上来说,从宏观上来看AI Engine有点类似GPU的思想。刚开始学习,先创个页面待后续补充,大家有什么心得可以互通有无。...

2021-03-20 12:15:58 706

原创 C++中常用的数据结构

一直以来虽然写的都是C++的代码但是基本上用的都是C的数据结构。这次实现一个相对大型的C++项目,发现了很多很有用的数据结构,通过使用这些数据结构,可以极大程度的提高开发效率。所以计划逐渐整理下C++的数据结构,以及他们的用法,以供自己以及小白参考。暂时不涉及时间性能。std::stringstd::vectorstd::vector<int> vec;std::vector<int> vec(3); // 深度为3的整形数据std::vector<int>

2021-01-25 23:14:51 4401

原创 HLS进阶技巧——反压fifo

在Vitis HLS设计中,由于只能获取到fifo的empty、full信号,而不像RTL设计中还能拿到write/read count,所以在dataflow中,只能通过empty、full信号来进行数据驱动。反压fifo是通过fifo的full信号来控制程序的运行。下面介绍两种笔者涉及到的反压技巧。技巧1下图所示为dataflow中一个最基本的结构,在反压设计中,backPressStrm指定depth=2,那么Producer写入两个数后,如果Consumer没读取,则Producer会hang住

2020-12-19 11:11:55 3011 3

原创 FPGA中,Kernel Level的结构设计思路

对于一个或者部分在FPGA上设计实现的应用,设计实现之前应该从以下一个方面着手:Throughput- 对外读写数据的速率,比如xilinx的U200,CPU和FPGA读写DDR。都存在最大的数据吞吐量,那么设计上必然不能超过这个门限。- 内部单个计算单元最大的throughput,一共能放置多少个PU,这样也存在一个门限。木桶原理取决于最短的。Frequency- 频率主要取决于设计,算法实现逻辑复杂度和资源布线的连线复杂度都会影响频率。一般而言资源利用率越高会导致布线越困难,导致频率越

2020-07-27 21:50:56 508

原创 简便的JsonCpp集成调用方式

这里介绍了一种简便的sonCpp集成调用方式。在研究使用JsonCpp时,发现网上的资料都是需要在一定的框架或者管理工具下安装使用,但是我没这些工具的使用经验,而且也不想去研究这些复杂的框架,通过分析这个开源库发现它也是可以通过cmake工具来编译的,所以就用最简单的方式尝试了下,发现成功生成了so文件,所以通过下述过程就能成功的将JsonCpp集成到我们的代码中。git clone https://github.com/open-source-parsers/jsoncpp.gitcd jsoncpp

2020-07-24 21:50:54 190

原创 集成RE开源库Oniguruma

安装git clone https://github.com/kkos/onigurumacd onigurumaautoreconf -vfi (* case: configure script is not found.)./configure# 对于没有sudo权限或者想自己指定按照路径./configure --prefix /install/to/pathmakemake isntall环境# 直接命令行输入,当然也可以考虑写入~/.bashrcexport LD_LIBR

2020-06-01 22:11:52 732

原创 Logstash入门知识

Logstash是Elastic公司的一个开源库,入门也可以考虑使用release版本。Logstash从结构上看分为3部分:input plugins,filter plugins,output plugins。不管是从config文件还是实际的框架设计都能够提现出来。从代码结构上来看,由java和jruby组成,均是jvm平台。java主要只提供环境设计,负责启动bin/logstash,如果我们直接使用bin/logstash命令行启动Logstash,实际上是涉及不到java的。所以如果我们想d

2020-06-01 21:48:14 449

原创 java读json格式文件

前言最近调试lucene,想着以文本的形式输入json,文本中一行对应一个json文档,因为以前几乎没用过java,在网上找的资料总差那每一点意思,所以记录下研究的过程。环境java环境就不说了,随便一搜就有helloWorld教程,做到这一步之后:# json解析包wget https://repo1.maven.org/maven2/org/json/json/20190722/js...

2020-05-04 17:09:32 253

原创 ElasticSearch源码远程调试模式,亲测可用

基本流程按照官方文档执行。尤其是版本,对于初学者不要乱改动。git clone https://github.com/elastic/elasticsearch.gitcd elasticsearch git checkout --track origin/6.6./gradlew idea #可以理解为源码编译,一般问题均出在jdk版本./gradlew run --debug-j...

2020-04-20 21:48:05 245

原创 linux下scala的编译打包工具安装使用

wget https://piccolo.link/sbt-1.3.5.tgztar -xvf sbt-1.3.5.tgzcd sbtvi sbt #新建sbt,输入下述内容,`path`中为sbt的绝对路径#!/bin/bashSBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSiz...

2019-12-20 22:19:11 740

原创 HLS中pragma的归纳总结(入门级)

unroll,如下代码所示,unroll是将for循环zhong的代码展开成8份,也相当于使用8倍的资源去实现这个结构。factor指定的unroll份数必须是可以被循环次数整除的数。factor也可以省略,default时unroll份数就是循环次数。for(int i=0;i<16;i++){#pragma HLS unroll factor=8 x[i] = y[i];}...

2019-10-13 13:57:29 11030

原创 HLS中对于超过64bit的变量赋初值

ap_uint<128> P; P.range(127, 64) = 0xffffffffffffffff; P.range(63, 0) = 0xfffffffffffffffb;如上所示,为对于128bit的变量P赋值,如果直接写成P=0xfffffffffffffffffffffffffffffffb,那么等号右边只能存储64bit,所以赋给P的值也...

2019-10-04 23:06:14 576

原创 GDB调试打印Vector和Array

std::vector类型变量vector的打印方式:p *(vector._M_impl._M_start)@vector.size()std::array类型变量values_的打印方式:p *values_.data_.get()@values_.size()最开始学习gdb时一直没找到打印这两种类型变量的方式,作为一个C++小白也是尝试了很久,分享给大家希望能有帮助。...

2019-10-03 14:17:00 733

原创 Xilinx芯片存储介绍

LUT = 64bitBRAM = 36Kb = 18Kb x 2 = 36bit x 512 x 2URAM = 288Kb = 72bit x 4K = 72bit x 4 x 1024BRAM的容量为36Kb,且可当作两个独立的18KbBRAM使用。对于一个36Kb的BRAM,其最能达到的最大位宽为72bit。URAM容量为288Kb,一个URAM深度为4K(4×1024),宽度为72...

2019-10-03 13:56:33 2753

原创 vim代码补齐工具:Ctags

#installwget http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gztar zxvf ctags-5.8.tar.gzcd ctags-5.8/./configure --prefix=<install path>/ctags-5.8 #指定安装目录,不指定prefix,则可执行文件默认放在/usr/loc...

2019-10-03 13:48:15 242

原创 HLS优化调试技巧

确定优化方向,分析数据流和数据间的dependency,综合考虑resource and throughput, 基本确定能达到的优化目标; 根据HLS synth report, 分析整体的latency以及其具体组成,然后从对latency影响最大的模块开始着手优化; 对于csim和cosim结果不一致的情况,一般原因均是因为变量、数组没有初始化引起的,因为未初始化的变......

2019-10-03 13:26:39 3933 6

原创 基于python的protobuf简介及入门

Protobuf1、安装用于在Windows下安装protobuf以及在python下使用protobuf,要求python版本必须&gt;2.6。打开网页下载最新版的protobuf-python-3.5.1.zip和protoc-3.5.1-win32.zip。解压文件后,将protoc-3.5.1-win32\bin\protoc.exe 复制到protobuf-3.5.1\src,然后进入...

2018-07-03 17:33:37 8273

原创 基于CentOS系统Python2.7环境搭建和程序开发

前言下述内容均由作者在centos6.9系统上实测,根据实际项目需求开发和完善,最终保证了程序正常运行。python版本升级在linux系统下操作时,需要将之前windows下的文件导入,当不能直接拉进去时,可以通过共享文件夹实现。建立共享文件夹 进入虚拟机->设置->选项->共享文件夹,选择总是启用,并添加主机路径和设置共享文件夹。 登录系...

2018-04-27 23:13:36 390

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除