草庐IT

CPU-FPGA

全部标签

warning: setUpNet DNN module was not built with CUDA backend; switching to CPU错误解决

问题描述利用opencv-python的dnn模块调用yolo3模型进行目标检测的时候,根据网上的教程,加入GPU加速,也就是加入如下的两行代码:net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA);net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);但是在运行之后,出现了这样的提示:warning:setUpNetDNNmodulewasnotbuiltwithCUDAbackend;switchingtoCPU原因分析:这说明GPU没被用上,原因是OPENCV在安装的时候,没有安装支持CUDA

FPGA PCIe 软核的实现——扒一扒复旦微、国微PCIe软核的实现

1、前言近来复旦微、国微等厂家相继推出了可以兼容XILINXPCIe硬核的PCIe软核,销售也到所里来推广了一下,领导交代让抽自己的时间试用研究一下,看项目中用不用的起来。读研的时候就接触过,PCIE协议非常非常复杂,要实现非常非常困难,稍微看过一些协议,看球不懂,真给这协议写出来,吊炸天。复旦微作为国内首家正向FPGA做的比XILINX还牛逼的厂家,弄出来的PCIe软核肯定也是很了不得。国微则作为反向界的扛把子,真想看看这次这个PCIe软核是否和反向有关系。2、IP初见2.1国微IP国微的PCIe软核提供的是edf文件加上一个说明。看看使用说明,就是告诉用户如何将.v、.edf替换原来的PC

新型攻击可从所有CPU中窃取数据,但英特尔、AMD一点都不慌

奥地利和德国的科学家设计出了一种针对计算机CPU的功率监控侧信道攻击,能够从变化的功率中泄露设备敏感数据。该项研究概况于8月1日刊载于德国IDW(InformationsdienstWissenschaf)网站上,这种攻击手法被称为Collide+Power(碰撞+功率),依靠分析处理器的功率使用情况来确定CPU缓存存储器的内容。如果攻击者能够持续访问受害者的硬件或共享硬件的云计算环境,就有可能暴露加密密钥和其他相当短的标识符。Collide+Power依靠测量来自攻击者的已知数据和来自受害者的未知数据电能使用情况的变化,然后根据这些测量结果的差异推断未知数据。这种方法是用攻击者控制的数据填充

基于FPGA线性调频信号LFM的产生

本文用了DDS来产生LFM信号,DDS的原理可以查看赛灵思的官方文档,这里不做赘述,同时对于LFM信号也不做赘述,直接上工程实现及其方法。首先,我们要确定脉宽和PRI,在这里脉宽选取10us,PRI选取200us(fpga内部时钟用来100MHz),所以使用计数器去实现这两个信号的计数,当计数器计数到一定值的时候,使用使能信号来反应该计数状态,根据使能信号和成脉冲门信号,在脉冲门信号里面对DDS进行频率的步进,达到最后的输出效果。DDS配置如下:  其余保持默认配置`timescale1ns/1ps////Company:xidian//Engineer:CC////CreateDate:20

FPGA基础知识-时序和延迟

目录学习目标:学习内容:1.延迟模型的类型2.路径延迟建模3.时序检查4.延迟反标注学习时间:学习总结学习目标:提示:这里可以添加学习目标·鉴别Verilog仿真中用到的延迟模型的类型,分布延迟、集总(lumped)延迟和引脚到引脚〔路径)的延迟。能解释rise.fall和turn-off延迟,理解如何设置min,max和typ的值。能够为时序检查定义系统任务,$setup.$hold和$width理解如何在仿真过程中用specify块设置路径延迟。能解释输入和输出引脚之间的并行连接和全连接理解如何在specify块中用specparam语句定义参数。描述状态依赖路径延迟,即条件路径延迟。理解

FPGA-串口通信

串口通信概念UART通信原理UART(universalasynchronousreceiver-transmitter)是一种采用异步串行通信方式的通用异步收发传输器;它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。UART串口通信需要两根信号线来实现,一根用于发送,另外一根接收(表明是异步全双工通信)。①协议层:通信协议(包括数据格式、传输速率等)。②物理层:接口类型、电平标准等。协议层:数据格式,一帧数据由4部分组成(用代码设计串口用到的就是协议层):·起始位(1bit)·数据位(6/7/8bit)·奇偶校验位(1bit)·停止位(1bit/1

突破计算机性能瓶颈的利器CPU Cache

计算机性能的瓶颈缓存及其发展历史缓存如何弥补CPU与内存的性能差异?尾语大家好,我是呼噜噜,今天我们来介绍计算机的储存器之一,CPU高速缓冲存储器也叫高速缓存,CPUCache缓存这个专业术语,在计算机世界中是经常使用到的。它并不是CPU所独有的,比如cdn缓存网站信息,浏览器缓存网页的图像视频等,但本文讲述的是狭义Cache,主要指的是CPUCache,本文将其简称为"缓存"或者"Cache"计算机性能的瓶颈在冯诺依曼架构下,计算机存储器是分层次的,存储器的层次结构如下图所示,是一个金字塔形状的东西。从上到下依次是寄存器、缓存、主存(内存)、硬盘等等图片离CPU越近的存储器,访问速度越来越快

【bad CPU type in executable】 MAC M1无法使用 x86_64 架构应用,通过配置自动使用

今天在使用protoc时发现会出现以下报错,badCPUtypeinexecutable:protoc解决方案首先可以看一下一下文章https://support.apple.com/en-us/HT211861https://developer.apple.com/documentation/apple-silicon/about-the-rosetta-translation-environment可以通过安装rosetta来自动解析运行x86_64架构应用。通常可以通过点击应用,系统提示进行安装。或者运行softwareupdate--install-rosetta来进行安装

FPGA adrv9002 4收4发板卡,支持NVME SATA EMMC 光口 FMC

板卡采用ADI射频直采芯片ADRV9002,支持4收4发支持外部本振跳频同时支持4X10G光口对外传输,FMC扩展。同时支持4XNVME接口,可以实时流盘,备份一路SATA接口,板卡同时预留了EMMC,可以PSPL选通访问,PS直接可以用来放操作系统的根文件系统,PL访问可以当做一个低速的固态存储接口

FPGA:调试报错Error:add_1 must be in range [-1,DEPTH-1]解决办法和调试思路

在进行FPGA调试的过程中,进行行为仿真,能观察设计的逻辑是否正确,通常情况下需要进行runall的运行,这样才能看到信号在运行过程中的状态,在调试的过程中遇到如下的报错:#**Failure:ERROR:add_1mustbeinrange[-1,DEPTH-1]#Time:128nsIteration:1Protected:/top_tb/DmodInst0/FirD40/U0//////File:D:/Xilinx/Vivado/2019.1/data/ip/xilinx/axi_utils_v2_0/hdl/axi_utils_v2_0_vh_rfs.vhd#BreakinfileD: