草庐IT

CPU-FPGA

全部标签

ZKP加速 GPU/FPGA/ASIC

1.引言参考资料有:[1]FigmentCapital团队2023年4月博客AcceleratingZero-KnowledgeProofs[2]Ulvetanna团队2023年5月博客PoseidonMerkleTreesinHardware[3]supranational2023年1月博客OpenVDF:AcceleratingtheNovaSNARK-basedVDF【采用ASIC加速Nova实现的VDF,开源代码见:https://github.com/supranational/minroot_hardware(Verilog)】[4]Ingonyama团队2023年5月博客Intr

基于FPGA的YOLO加速器设计与实现

    去年空闲之余基于FPGA实现了类YOLO的轻量化的CNN加速器。为了方便,直接基于Ultra96平台进行了验证,整个加速器资源消耗还算客观,帧率基本在200FPS左右。FPGA实现架构硬件资源消耗:       后面打算优化架构设计,实现一种更为轻量级或者资源占用更少的CNN加速器,这样可以在低端的片子,以更少的资源和主频,达到同样的效果。先立个flag。争取这几个月实现tinyyolov3的轻量级加速器,可以在Artix50T或者7020的FPGA上,达到实时性能。

FPGA学习笔记——FIFO读写

【实验任务】向FIFO中以50MHz的频率按顺序写入0~254,再从FIFO中以5Hz的频率按顺序读出0~254,输出到LED中点亮。一、FIFO简介FIFO全称为“First-In-First-Out”,是FPGA内部的存储数据的缓冲器,读写数据具有先入先出的特点,与数据结构中的“队列”有异曲同工之妙。本博客例化紫光同创官方提供的FIFOip核,实现数据的写入读出,烧录到PGL50H开发板,以LED灯指示数据的一次写入读出是否已完成。例化FIFOip核各参数如上。有几个特别重要的选项要注意一下:①FIFOType:可选择是同步FIFO(SYN_FIFO,读写时钟相同、读写复位引脚相同)还是异

K8s系列---【资源不足:0/3 nodes are available: 1 Insufficient cpu, 2 node(s) had taint {node-role.kubernetes...

1.背景  我用KubeSphere创建了一个工作负载,在增加副本数量时,报了下面的错。2.报错0/3nodesareavailable:1Insufficientcpu,2node(s)hadtaint{node-role.kubernetes.io/master:},thatthepoddidn'ttolerate.3.分析  Insufficient:不足的。很显然,资源不足导致的。遇到这种情况,两种思路:一是增加cpu和内存,二是调低工作负载占用的内存和cpu的配置。这里我是因为只是学习用,所以选了第二种。

FPGA之锁存器(Latch)

latch是指锁存器,是一种对脉冲电平敏感的存储单元电路。锁存器和寄存器都是基本存储单元,锁存器是电平触发的存储器,寄存器是边沿触发的存储器。两者的基本功能是一样的,都可以存储数据。锁存器是组合逻辑产生的,而寄存器是在时序电路中使用,由时钟触发产生的。latch的主要危害是会产生毛刺(glitch),这种毛刺对下一级电路是很危险的。并且其隐蔽性很强,不易查出。因此,在设计中,应尽量避免latch的使用。代码里面出现latch的两个原因是在组合逻辑中,if或者case语句不完整的描述,比如if缺少else分支,case缺少default分支,导致代码在综合过程中出现了latch。解决办法就是if

go - runtime._ExternalCode Cpu 使用率过高,高达 80%

我用golang写了一个tcphandler,每秒大概300个连接。刚投产的程序没有问题。但是运行了大约10天后,我看到cpu使用率高达100%。我使用golang工具“gotoolpprof”来获取cpu使用信息:File:gateway-wType:cpuTime:Nov7,2018at5:38pm(CST)Duration:30.14s,Totalsamples=30.13s(100%)Enteringinteractivemode(type"help"forcommands,"o"foroptions)(pprof)topShowingnodesaccountingfor27.

go - runtime._ExternalCode Cpu 使用率过高,高达 80%

我用golang写了一个tcphandler,每秒大概300个连接。刚投产的程序没有问题。但是运行了大约10天后,我看到cpu使用率高达100%。我使用golang工具“gotoolpprof”来获取cpu使用信息:File:gateway-wType:cpuTime:Nov7,2018at5:38pm(CST)Duration:30.14s,Totalsamples=30.13s(100%)Enteringinteractivemode(type"help"forcommands,"o"foroptions)(pprof)topShowingnodesaccountingfor27.

国产FPGA:替代ATLERAEP4CE10E22的AG10KL144

背景AG10K用于PINTOPIN替代ATLERAEP4CE10E22、EP3C10E144的FPGA,其资源介绍如下:引脚对应如下:一般QuartusII开发方式新建工程FPGA使用QuartusII开发,开发的整体流程如下:新建工程时选用CycloneIII或者CycloneIV库,如下图:CycloneIII:CycloneIV:设计输入新建工程后添加verilog文件,一定要记得顶层verilog文件名称一定要和工程名称保持一致,否则会报下面的错误:我们添加verilog文件并写测试代码如下:module名一定要和文件名保持一致这里我们就完成了设计输出代码。下面就可以分析综合来检查代码

鸿蒙DevEco本地模拟器提示不支持的CPU解决办法

鸿蒙DevEco本地模拟器不支持的CPU解决方法问题描述解决方法问题描述打开本地模拟器点击按钮之后弹窗提示不支持的CPU解决方法打开控制面板搜索Windows找到程序和功能里的启动或关闭Windows功能把Hyper-V勾选并重新启动即可(如果没有这一项或者无法打开,要在主板BIOS中找到CPU的虚拟化选项,各品牌主板的方式不同,可以自行百度)![搜索](https://img-blog.csdnimg.cn/ec44de4edcdc4a4e94d9056c1359968d.png重启之后就可以正常使用本地虚拟机了尽情编程吧!softzut

理解FPGA的基础知识——逻辑电路

FPGA(FieldProgrammableGateAray,现场可编程门阵列)是一种可通过重新编程来实现用户所需逻辑电路的半导体器件。为了便于大家理解FPGA的设计和结构,我们先来简要介绍一些逻辑电路的基础知识。1.逻辑代数  逻辑代数中的变量称为逻辑变量,用大写字母表示。逻辑变量的取值只有两种,即逻辑0和逻辑1,0和1称为逻辑常量,并不表示数量的大小,而是表示两种对立的逻辑状态,即称为逻辑0状态和逻辑1状态。逻辑代数是由和逻辑值(0和1)相关的逻辑与(AND)、逻辑或(OR)和逻辑非(NOT)三种运算形成的代数体系,也称为布尔代数。   逻辑代数分为两种:一种是从一种状态变为另一种状态的逻