- 博客(23)
- 收藏
- 关注

原创 Eyeriss_脉动阵列实现卷积操作(附完整Verilog代码)
Eyeriss: A Spatial Architecture for Energy-Efficient Dataflow for Convolutional Neural Networks》是一篇由谷歌、麻省理工学院和斯坦福大学的研究人员合作撰写的论文。该论文于2016年在IEEE International Solid-State Circuits Conference (ISSCC)上发表。
2023-12-14 22:30:52
12569
9
原创 ModelSim的TCL脚本仿真流程
Tcl全称是Tool Command Language,其在fpga设计、ic设计和验证中作为一种比较常用的脚本语言(其他的还有:perl,shell,python)
2025-02-09 15:39:23
7980
原创 详解三种常用标准化:Batch Norm & Layer Norm & RMSNorm
Normalization现在已经成了神经网络中不可缺少的一个重要模块了,并且存在多种不同版本的归一化方法,其本质都是减去均值除以方差,进行线性映射后,使得数据满足某个稳定分布,如下图所示:深度学习中,归一化是常用的稳定训练的手段,CV 中常用 Batch Norm;Transformer 类模型中常用 layer norm,而 RMSNorm 是近期很流行的 LaMMa 模型使用的标准化方法,它是 Layer Norm 的一个变体。
2024-10-07 15:40:18
36226
原创 NoC (Network on chip)架构详解
总线(Bus)结构:总线结构是最基础的连接方式,其中所有设备都连接到同一条总线上,数据传输需要在总线上进行,所有设备共享这条总线。这种结构简单且成本低,但当连接的设备数量增加时,性能会下降,因为所有的设备必须共享有限的总线带宽。共享总线(Shared Bus)结构:在共享总线结构中,所有的处理器或核心都连接到同一条总线上。这意味着任何时候只有一个处理器可以使用总线。这种设计在低核心数量的系统中可能是有效的,但是在高并发的环境中会成为瓶颈,因为所有的处理器必须等待总线空闲才能发送数据。
2024-09-20 22:31:06
38636
2
原创 AI芯片:高性能卷积计算中的数据复用
随着深度学习的飞速发展,对处理器的性能要求也变得越来越高,随之涌现出了很多针对神经网络加速设计的AI芯片。卷积计算是神经网络中最重要的一类计算,本文分析了高性能卷积计算中的数据复用,这是AI芯片设计中需要优化的重点之一,具体思路如下:1.数据复用的动机2.存储-计算分离框架下,针对卷积计算的优化思路3.针对卷积计算的硬件架构设计分析4.已经面临的挑战和解决方向5.神经网络中数据复用的未来。
2024-08-12 19:05:00
40328
原创 AXI协议规范超详细中文总结版
AXI4协议支持基于AXI ID事务标识符的顺序模型。到任何单个外设的事务顺序必然与事务被发出的顺序一致。使用相同或重叠地址的存储器事务的到达顺序必然与事务被发出的顺序一致。注意:在拥有多个主设备的AXI系统中,AXI ID中包含主设备的标识符,这意味着对于顺序模型对于每个主设备而言是独立的。AXI顺序模型同时要求所有相同方向且AXI ID一致的事务的响应顺序必须与事务发出顺序一致。
2024-06-18 21:49:47
45032
原创 Ventus(承影):基于RISC V的开源GPGPU
Ventus(承影):提供一个开源的基于RVV的GPGPU实现方案,并给出软件映射方案、指令集(支持的指令及特性、添加的自定义指令)和微架构实现。
2024-04-20 11:23:29
46935
原创 平方根倒数运算——硬件快速实现(Magic Number)
平方根倒数速算法是适用于快速计算积的算术平方根的倒数(在此需取符合IEEE 754标准格式的32位浮点数)的一种算法。此算法最早可能是于90年代前期由SGI所发明,后来于1999年在《雷神之锤III竞技场》的源代码中应用,但直到2002-2003年间才在Usenet一类的公共论坛上出现。这一算法的优势在于减少了求平方根倒数时浮点运算操作带来的巨大的运算耗费,而在计算机图形学领域,若要求取照明和投影的波动角度与反射效果,就常需计算平方根倒数。
2024-04-15 23:41:57
33694
1
原创 SystemVerilog——Interface简单介绍
Interface是将一系列信号封装为一个模块,这里的“一系列信号”通常是彼此相关的,比如AXI接口协议之一的AXI4-Stream的TLAST/TVALID/TREADY/TDATA,这个“模块”称为接口模块。接口模块可以被实例化作为其他module的端口,从而简化了module之间以及module与TB(testbench)之间的连线操作。
2024-04-14 22:39:30
47220
2
原创 常见函数泰勒公式展开及收敛域(完整版)
泰勒公式(Taylor's theorem)是微积分中的一个重要定理,用于描述一个可导函数在某一点附近的近似表达式。它是以数学家布鲁诺·泰勒(Brook Taylor)的名字命名的。
2024-04-10 19:53:12
53406
3
原创 WaveDrom:开源时序图绘图插件
WaveDrom是一种用于描述时序图的开源工具和语言。它可以帮助用户以一种简单直观的方式来描述数字信号的时序行为,例如时钟、数据、使能信号等。WaveDrom通常用于硬件描述、数字电路设计、通信协议分析等领域。WaveDrom提供了一种基于JSON格式的描述语言,通过在JSON中定义时序波形的各个方面(如信号名称、波形类型、时序关系等),用户可以生成清晰、易读的时序图形。在WaveDrom中,用户可以描述波形的高低电平、信号的变化时刻、时钟周期等信息,以及信号之间的相对时间关系。
2024-04-05 19:11:29
47507
1
原创 CRC(循环冗余校验)原理及Verilog代码
CRC(循环冗余校验)是一种常用的错误检测码,广泛应用于数据通信和存储系统中,用于检测数据传输过程中是否发生了错误。CRC校验通过在数据流中附加校验位(余数)的方式实现错误检测,具有高效性和可靠性。下面是CRC校验的详细原理和步骤:①生成多项式:CRC校验使用一个固定的生成多项式来进行计算。生成多项式通常表示为一个二进制数,如1011。②数据处理:在数据发送端,需要将待发送的数据(比特流)与一定数量的零比特序列相连,以确保数据位数能够容纳生成多项式的位数。
2024-03-17 15:08:30
54474
2
原创 异步fifo读空、写满分析(附完整异步fifo代码)
FIFO 是 First-In, First-Out 的缩写,即“先进先出”,是一种常见的数据结构,类似于排队服务。在 FIFO 结构中,最先进入的数据项首先被取出,后进入的数据项则会在队列中等待。FIFO 在计算机科学和电子工程中被广泛使用,用于数据存储和传输。特点数据按照先进先出的顺序进行存储和检索。支持两个基本操作:入队(enqueue)将数据放入队列尾部,出队(dequeue)从队列头部取出数据。FIFO 可以用数组或链表等数据结构来实现。应用领域数据缓冲。
2024-03-02 12:42:09
55962
19
原创 VCS & Verdi 联合仿真总结
VCS(Verilog Compilation and Simulation)是一种常用的Verilog编译和仿真工具,广泛应用于硬件设计和验证领域。它是Synopsys公司开发的一款商业化工具,提供了强大的功能和性能,被认为是业界的主流仿真工具之一。编译器:VCS提供了高效的Verilog编译器,支持Verilog-1995、Verilog-2001和SystemVerilog语言标准。它能够将Verilog代码转换为可执行的仿真文件,并进行优化以提高仿真性能。
2024-01-17 17:05:29
50214
6
原创 GNN图神经网络常用数据集总结
图神经网络(Graph Neural Network,GNN)是一种新兴的神经网络模型,适用于处理图数据。与传统的神经网络模型不同,GNN 能够有效地捕捉节点之间的结构信息和关系,并对节点进行精准的分类、聚类和预测分析。因此,GNN 在社交网络、生物信息学、推荐系统、物联网等领域得到了广泛的应用。为了研究和评估 GNN 的性能,需要使用各种不同类型的数据集。这些数据集包含了不同领域的实际问题,例如社交网络中的用户关系、生物学中的蛋白质分子结构、推荐系统中的用户行为等。
2023-12-23 17:11:03
35164
1
原创 ECE755_gnn图神经网络(附完整工程)
ECE 755是加拿大渥太华大学(University of Ottawa)计算机工程系(School of Electrical Engineering and Computer Science)的一个研究生课程,涵盖了图神经网络(Graph Neural Networks)及其应用的基本概念和原理。该课程的主要目标是介绍最新的图神经网络模型,并探讨它们在处理图形数据、社交网络、推荐系统、自然语言处理等领域中的实际应用。该课程强调深入理解GNN模型的数学原理,并通过实验和项目作业来帮助学生巩固所学知识。
2023-12-17 17:24:34
21719
1
原创 谷歌TPU_脉动阵列实现矩阵乘法(附完整Verilog代码)
谷歌的 TPU(张量处理单元)是一种专门为机器学习工作负载优化的定制硬件加速器。TPU 通过高效地执行矩阵乘法、卷积运算和其他常见的神经网络操作,以提供比传统 CPU 或 GPU 更快的训练和推理性能。谷歌 TPU 的基本构建块是一个称为 TPU 芯片的 ASIC(应用特定集成电路),其中包含了数千个小型处理单元,它们被称为“计算核心”或“TPU 内核”。这些内核提供了高度并行的计算能力,并且专门优化了常见的矩阵操作,如卷积和矩阵乘法。
2023-12-13 00:20:51
12995
18
原创 iverilog+GTKwave使用总结
iverilog是一个开源的硬件描述语言(HDL)仿真工具,用于对硬件描述语言(如Verilog)编写的数字电路进行仿真。它可以将Verilog代码编译为仿真模型,并通过仿真运行来验证设计的正确性。iverilog支持IEEE 1364-2005 Verilog语言标准,并提供了丰富的功能,包括对多种Verilog语言特性的支持、模块化设计、测试平台等。它还可以与其他工具(如GTKWave波形查看器)配合使用,以便进行仿真后的波形查看和分析。
2023-12-10 18:23:21
20068
原创 Gnuplot使用总结
Gnuplot是一个开源的交互式绘图工具,用于生成各种类型的二维和三维图形。它支持许多不同的数据格式,包括文本文件、二进制文件、数据库和网络数据。Gnuplot可以用于许多不同的应用程序,包括科学研究、数据可视化、教育和出版物等。它可以通过命令行或脚本进行操作,并且可以在许多不同的平台上运行,包括Windows、macOS、Linux等。
2023-12-09 22:12:15
20698
1
IEEE 1800-2023 SystemVerilog新版本
2024-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人