草庐IT

CPU-FPGA

全部标签

实战!使用 阿里 Arthas 工具分析 CPU 飙高

Arthas是阿里开源的Java诊断工具,相比JDK内置的诊断工具,要更人性化,并且功能强大,可以实现许多问题的一键定位,而且可以一键反编译类查看源码,甚至是直接进行生产代码热修复,实现在一个工具内快速定位和修复问题的一站式服务。今天,我就带你使用Arthas定位一个CPU使用高的问题,系统学习下这个工具的使用。首先,下载并启动Arthas:curl-Ohttps://alibaba.github.io/arthas/arthas-boot.jarjava-jararthas-boot.jar启动后,直接找到我们要排查的JVM进程,然后可以看到Arthas附加进程成功:[INFO]arthas

C++ 应用程序使用 mmap 通过 PCI 在用户区与 FPGA 通信

首先,我是Linux编程的新手,如果这没有意义,或者我找错了树,请向我指出正确的方向,我深表歉意。我正在尝试编写一个cpp应用程序,以在用户区通过pci总线与FPGA通信。到目前为止,我编写的代码枚举了/sys/bus/pci/devices中的目录,检查设备和供应商文件以找到正确的文件。找到设备后,我知道我需要写入的映射区域以某种方式由资源[n]文件表示,但我不确定如何使用它们来读取/写入某些值。从为另一个操作系统编写的代码中,我知道我想与PCI设备的BAR1对话,我(尝试)这样做的方式是使用mmap(这是正确的方式吗?)。首先,我使用O_RDWR获取到/sys/bus/pci/de

FPGA开发技巧备忘录——如何修改vivado IP源码

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档FPGA开发技巧备忘录——如何修改vivadoIP源码为什么要修改IP核内的源码如何修改IP核内的源码风险提示为什么要修改IP核内的源码说如何之前,先说为什么。之所以要写这篇文章是因为前段时间完整的看过了一遍7系列的transceiver,里面提到了,当在使用中需要复位RXlane和TXlane的时候,我们都可以使用GTRXRESET和GTTXRESET。我们顺着代码看下去的时候看到了在gtwizrd_0_init.v文件中的parameter参数EXAMPLE_USE_CHIPSCOPE,需要将其设置为1,gtX_gttxres

国外大学生都用FPGA做什么项目(十一)

看看国外大学的FPGA开发项目国外大学生都用FPGA做什么项目(二)据我了解,目前国内很多大学是没有开设FPGA相关课程的,所以很多同学都是自学,但是自学需要一定的目标和项目,今天我们就去看看常春藤盟校CornellUniversity康奈尔大学开设的FPGA项目课程,大部分课程是有源码的,而且和国内使用习惯类似都是Verilog开发,还是很有借鉴意义的。项目链接https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/项目介绍Fall2010开发板CycloneIIFallingSandGame-FallingSand

【FPGA静态时序分析与时序约束_1】基础知识总结1

【FPGA静态时序分析与时序约束1】基础知识总结0、前言【废话计划】今天开始学习FPGA静态时序分析与时序约束,计划15天内学习完!!!1、为什么要时序约束?简而言之:不加时序约束,可能会出现错误(也可能,不出现,看缘分)。一般对于高速传输场景添加时序约束,以确保数据准确。2、什么是时序分析?针对设计电路,添加是时序约束后,分析系统是否满足设定的时序要求。当时序约束要求过高时,要么降低要求,要么更换更加高速的器件。例如:一个信号需要从输入到输出在FPGA内部经过一些逻辑延时和路径延时。我们的系统要求这个信号在FPGA内部的延时不能超过13ns,而开发工具在执行过程中会找到一些可能的布局布线方式

c++ - 不同 CPU 上 sin 的不同值

我正在编写一个用于计算一些几何变换的应用程序,在测试该程序时,我发现了一些奇怪的东西:我在两台不同的机器上启动了测试,Z400工作站配备Intel®Xeon®处理器W3550和Z800工作站使用英特尔®至强®处理器X5560,一次操作得到了不同的结果:doublex=24.169408798217777*sin(0.59420877837561048)/sin(0.97658754841928608)使用Z400,我得到了x=16.330508228047432虽然Z800抛出这个值x=16.330508228047435最后一位的值不同,我用那个值做了很多计算,所以很不方便。我尝试使

全定制FPGA硬件电路设计实现最大公约数求取算法(Quartus II)

目录一、设计需求二、设计工具及版本三、设计原理及结构方案四、电路设计描述1. 32位D触发器2.32位多路选择器3.32位减法器4.32位求余电路5.GCDOUT信号产生电路6.DONE_L信号产生电路五、仿真激励设计方案及电路仿真结构六、设计总结当前,FPGA设计在很多场合得到了广泛的应用,如集成电路设计、SoC开发等领域。常规的设计方法采用硬件描述语言或高级综合的方式对功能进行描述,优点是设计周期较短,便于调试,然而难以满足对性能要求较高的场合。因此,笔者尝试采用纯硬件电路的方式,针对基本的数学运算进行设计。本文为采用硬件电路实现最大公约数的求取算法。一、设计需求已知最大公约数的求取算法如

c++ - 是否可以在 "reserved"cpu 内核上运行代码?

简化背景:我的应用程序运行很多任务。其中大部分是CPU密集型的。一个任务(实际上是一个循环运行的单线程,监听来自网络的数据包)是一个非常“实时”的任务。更有趣的是,该线程是使用pinvoke调用的native代码。问题:当显示大量流量时,任务非常努力,所有核心都已满负荷运转。发生这种情况时,“实时”线程(在100%cpu内核上运行)开始丢弃数据包,因为它没有获得足够的cpu时间。问题:有可能以某种方式为“实时”线程“保留”一个核心,并将所有其他线程(任务)限制到其他核心吗?当然,还有其他进程在运行,也消耗CPU时间,但我们假设它们消耗的资源很少且持续存在。这是一个真正的问题,可以通过“

基于FPGA和MCU的互相关算法实现--超声流量测量

基于FPGA和MCU的互相关算法实现--超声流量测量1引言2摘要3FPGA方案设计3.1为什么需要FPGA3.2FPGA数据采集模块框图3.3Interface接口设计3.4ADC接口模块设计3.5Regcontrol模块3.6PWM产生模块3.7控制模块4MCU互相关算法设计4.1通信接口4.2互相关算法模块4.2.1数据采集模块4.2.2互相关计算5仿真验证5.1FPGA部分仿真5.2MCU部分仿真6总结1引言超声流量计是一种工业上应用于液体,气体的非接触式测量仪器,具有测量精度高,安装方便的特点,目前是工业上主流的测量仪器。在市政行业的原水、自来水、中水、污水的计量中,超声流量计具有大量

FPGA开发

 Quartus13.0使用编译下载:添加引脚:#----------------LED----------------#set_location_assignmentPIN_K2-toled_out[11]set_location_assignmentPIN_J1-toled_out[10]set_location_assignmentPIN_J2-toled_out[9]set_location_assignmentPIN_L1-toled_out[8]set_location_assignmentPIN_L2-toled_out[7]set_location_assignmentPIN_