- 博客(36)
- 收藏
- 关注
原创 Vortex GPGPU的github流程跑通与功能模块波形探索(二)
昨天另辟蹊径地去探索了子模块的波形仿真,但找朋友唠嗑发现有可以直接生成vcd格式波形文件的方式。遂,写下此篇,简单记录下。不过今天测试完,发现看子模块波形还是有点不方便,得把引脚拉出来才能看到子模块波形。尽管多少还是有点不方便,但起码有个例子可以参考了。傻了,信号都在里面。还是打算再琢磨琢磨子模块直接导出波形。接下来就结合波形分析模块代码和功能吧!
2024-10-02 15:15:27
2138
3
原创 Vortex GPGPU的github流程跑通与功能模块波形探索
文章目录前言一、跟着官方文档走一遍二、cache子模块的波形仿真2.1 必要的文件内容解释2.2 cache子模块波形仿真——目前环境没啥问题了,就vcd因为配置问题出不来总结前言看了那么久的verilog代码和文档,但还是没怎么接触过Vortex GPGPU全流程跑通与功能模块的波形显示。这一节就开始尝试探索这块内容。一、跟着官方文档走一遍已经有博客做了流程尝试,看了是通过容器保存运行环境的,我呢,还是老老实实按照流程走!主要还是参考这个文档:https://github.com/vorte
2024-10-01 13:48:46
1461
3
原创 Vortex GPGPU的硬件代码分析(Cache篇4)
Vortex GPGPU的硬件设计和代码结构分析前面也分析了Vortex GPGPU中关于Cache设计的一部分代码:1、Vortex GPGPU的硬件代码分析(Cache篇1)2、Vortex GPGPU的硬件代码分析(Cache篇2)3、Vortex GPGPU的硬件代码分析(Cache篇3)在Cache篇3中我们详细分析了对Cache访问,从接收对Cache的访问request开始,到访问Cache内的各个bank,随后将应答信号gather。
2024-08-12 20:31:46
799
原创 Vortex GPGPU的硬件代码分析(Cache篇3)
前面已经分析了Vortex GPGPU的硬件设计和代码结构分析前面也分析了中关于Cache设计的一部分代码:1、Vortex GPGPU的硬件代码分析(Cache篇1)2、Vortex GPGPU的硬件代码分析(Cache篇2)本文接着分析代码详细讲解了模块中的功能,并大致梳理了对bank访问的请求-应答流程。
2024-08-09 22:35:56
1009
3
原创 Vortex GPGPU的硬件代码分析(Cache篇2)
上一篇的Vortex GPGPU的硬件代码分析(Cache篇1)已经分析了代码的一部分,主要包括参数、变量和接口。这一篇接着分析的代码。本文接着对展开介绍,并对涉及的模块做出了解释。
2024-07-14 22:30:10
1335
4
原创 Vortex GPGPU的硬件代码分析(Cache篇1)
本文开始分析的RTL代码了。按照架构来看,我们首先分析cache设计。在GPGPU Core的设计中,cache出现在ICache中,图示并没有表明是否存在DCache,但作者给出的另一张slide里面现时由DCache。此外,在Core之上的ProcessorCluster和Socket中也存在L3L2和L1,如下:一些必要的Cache首先代码通过宏定义及参数计算部分地址选择部分其他地址转换宏和性能计数器宏。首先是宏定义及参数计算部分(以下的line其实就是cache line,数字8是为了计算。
2024-07-11 00:15:30
1114
原创 Vortex GPGPU的硬件架构和代码结构分析
这次开始针对进行架构分析、硬件代码分析、仿真代码分析和运行时代码分析。github,其中vortex包含源码和必要的.md文件,其中包含作者在MICRO顶会上汇报的slide本系列文章首先参考了知乎帖子,在略微深入了解之后就觉得这可能是学习GPGPU系统工作的好机会。同时也为下一个研究工作做准备工作。本文简单回顾GPU和CPU之间的集成方式,GPU和GPGPU之间的差异,同时根据经典书籍展开GPU的基本知识,并与VMIPS进行对比。
2024-07-08 21:32:40
2505
5
原创 瞎谈指令集和寄存器读写来驱动硬件
其实很早以前就想对这个话题展开来聊聊,但是对体系结构的理解也仅仅限于《量化体系结构》这一书,对底层实现也仅仅局限于做过RISC-V RV32I基本指令子集的CPU设计。此外实践深度远远不足以支撑我站在系统的角度考虑问题!因此怕讲了出现太多错误,被技术老炮们炮轰。现在之所以敢壮起胆子来谈这个话题有3点原因和1点动机!1、过去三年时间内读了不少架构类、嵌入开发和操作系统类的书籍,或多或少已经对系统有了大致但还是有点朦胧的了解。由于曾经接触过超级demo的CPU设计,所以对指令集的印象也相对深刻!
2024-07-02 12:28:47
1571
原创 几个排序器的verilog及其资源占用、延时分析
因为课题需要,调研了几个快速排序方法,并手写或者改进了若干待测试对象,包括记分板型冒泡排序(这个是别人的)、插入排序(这个是我写的)、双调排序(这个我改了又改,可能还会接着改进)、堆排序(这个是别人的)。以上都在7035开发板上测试了资源。除了堆排序截了时序图之外,其他几个我就直接给代码,外加资源占用情况和延迟(这个延迟是给定例子的延迟)。不介绍原理了,默认都懂!书写、修改、调试不易,请大家多多惠存~
2024-05-15 22:36:24
1211
2
原创 NVDLA用户态驱动代码整理二
本系列内容力求将nvdla的用户态驱动整理清楚,如果有分析不对的请指出。前面已经花了不少章节详细解释NVDLA内核态驱动代码,链接分别如下:NVDLA内核态驱动代码整理一NVDLA内核态驱动代码整理二NVDLA内核态驱动代码整理三NVDLA内核态驱动代码整理四NVDLA内核态驱动代码整理五NVDLA内核态驱动代码整理六NVDLA内核态驱动代码整理七NVDLA内核态驱动代码整理八NVDLA内核态驱动代码整理汇总篇欢迎阅读硬件信号和架构分析系列文章1:NVDLA内核态驱动代码整理三。
2023-12-11 22:44:51
1094
原创 NVDLA的SDK代码整理二
带着上一篇的问题我们来到了本篇。1 、怎么确定哪些寄存器是需要的?2 、寄存器的取值?3 、开发板如果迁移以后,怎么去迁移寄存器?带着三个问题写了这篇水文,按照道理来说,写这篇博客需要大量测试经验,但我是为了先看懂整个框架再去测试,同时逐步提出我的问题与试探性解决问题,为之后可能遇到的问题做个铺垫。后续经验充足了,会另写几篇博客来叙述到底怎么进行寄存器的管理!
2023-12-10 10:40:06
544
原创 NVDLA的SDK代码整理一
这里主要借鉴这位大佬开放的代码,当然,NVDLA官方也开放了一些代码。我分析sdk的内容将会多提点有意思的东西!在中其实透露了细节。;;;;;check;;;mem;无因此答案破解,那我们需要看看这些函数都在哪些文件中用到?可以在............所以接下来最重要的就是寄存器到底是什么含义?以及我们是否有比较简单的方法去看懂寄存器?这个不是本篇的内容,留在下一篇!
2023-12-04 18:12:50
1012
原创 NVDLA用户态驱动代码整理一
本系列内容力求将nvdla的用户态驱动整理清楚,如果有分析不对的请指出。前面已经花了不少章节详细解释NVDLA内核态驱动代码,链接分别如下:NVDLA内核态驱动代码整理一NVDLA内核态驱动代码整理二NVDLA内核态驱动代码整理三NVDLA内核态驱动代码整理四NVDLA内核态驱动代码整理五NVDLA内核态驱动代码整理六NVDLA内核态驱动代码整理七NVDLA内核态驱动代码整理八NVDLA内核态驱动代码整理汇总篇欢迎阅读硬件信号和架构分析系列文章1:NVDLA内核态驱动代码整理三。
2023-11-20 11:18:11
191
原创 NVDLA内核态驱动代码整理汇总篇
本系列内容力求将nvdla的内核态驱动整理清楚,如果有分析不对的请指出。前面已经分析了一大块代码了,链接分别如下:NVDLA内核态驱动代码整理一NVDLA内核态驱动代码整理二NVDLA内核态驱动代码整理三NVDLA内核态驱动代码整理四NVDLA内核态驱动代码整理五NVDLA内核态驱动代码整理六NVDLA内核态驱动代码整理七NVDLA内核态驱动代码整理八欢迎阅读硬件信号和架构分析系列文章1:NVDLA内核态驱动代码整理三NVDLA硬件信号和架构设计整理一。
2023-11-20 10:01:11
587
原创 NVDLA内核态驱动代码整理八
本系列内容力求将nvdla的内核态驱动整理清楚,如果有分析不对的请指出。前面已经分析了一大块代码了,链接分别如下:NVDLA内核态驱动代码整理一NVDLA内核态驱动代码整理二NVDLA内核态驱动代码整理三NVDLA内核态驱动代码整理四NVDLA内核态驱动代码整理五NVDLA内核态驱动代码整理六NVDLA内核态驱动代码整理七欢迎阅读硬件信号和架构分析系列文章1:NVDLA内核态驱动代码整理三NVDLA硬件信号和架构设计整理一NVDLA硬件信号和架构设计整理二。
2023-11-19 21:50:03
258
原创 NVDLA内核态驱动代码整理七
本系列内容力求将nvdla的内核态驱动整理清楚,如果有分析不对的请指出。前面已经分析了一大块代码了,链接分别如下:NVDLA内核态驱动代码整理一NVDLA内核态驱动代码整理二NVDLA内核态驱动代码整理三NVDLA内核态驱动代码整理四NVDLA内核态驱动代码整理五NVDLA内核态驱动代码整理六欢迎阅读硬件信号和架构分析系列文章1:NVDLA内核态驱动代码整理三NVDLA硬件信号和架构设计整理一NVDLA硬件信号和架构设计整理二NVDLA硬件信号和架构设计整理三本章分析。
2023-11-17 20:03:03
316
原创 NVDLA硬件信号和架构设计整理三
本系列内容力求将nvdla的硬件设计和架构分析理清楚,如果有分析不对的请指出。架构分析系列文章,链接分别如下:NVDLA内核态驱动代码整理三NVDLA硬件信号和架构设计整理一NVDLA硬件信号和架构设计整理二欢迎持续关注我对内核态代码的解读,链接分别如下:NVDLA内核态驱动代码整理一NVDLA内核态驱动代码整理二NVDLA内核态驱动代码整理三NVDLA内核态驱动代码整理四NVDLA内核态驱动代码整理五NVDLA内核态驱动代码整理六NVDLA内核态驱动代码整理三note。
2023-11-17 10:49:47
559
原创 NVDLA硬件信号和架构设计整理二
本系列内容力求将nvdla的硬件设计和架构分析理清楚,如果有分析不对的请指出。前面已经分析了一篇信号和寄存器的文章,NVDLA硬件信号和架构设计整理一欢迎持续关注我对内核态代码的解读,链接分别如下:NVDLA内核态驱动代码整理一NVDLA内核态驱动代码整理二NVDLA内核态驱动代码整理三NVDLA内核态驱动代码整理四NVDLA内核态驱动代码整理五NVDLA内核态驱动代码整理六其中系列文章3有大量关系架构部分的介绍。NVDLA内核态驱动代码整理三note。
2023-11-16 18:33:59
1063
原创 NVDLA内核态驱动代码整理六
本系列内容力求将nvdla的内核态驱动整理清楚,如果有分析不对的请指出。前面已经分析了一大块代码了,链接分别如下:NVDLA内核态驱动代码整理一NVDLA内核态驱动代码整理二NVDLA内核态驱动代码整理三NVDLA内核态驱动代码整理四NVDLA内核态驱动代码整理五NVDLA硬件信号和架构设计整理一本章是分析nvdla_core_callbacks.c代码第四部分。函数原型功能将local_task的任务地址数量和任务具体内容的指针handles,其中。
2023-11-12 08:37:58
284
原创 NVDLA内核态驱动代码整理五
本系列内容力求将nvdla的内核态驱动整理清楚,如果有分析不对的请指出。前面已经分析了一大块代码了,链接分别如下:NVDLA内核态驱动代码整理一NVDLA内核态驱动代码整理二NVDLA内核态驱动代码整理三NVDLA内核态驱动代码整理四NVDLA硬件信号和架构设计整理一本章是分析nvdla_core_callbacks.c代码第三部分。结构体功能包含重要的变量,首先是,用于drm存储管理和分配的结构体;其次是*kvaddr:这是一个指针成员,通常用于存储内核虚拟地址。
2023-11-10 17:10:49
908
1
原创 NVDLA内核态驱动代码整理四
本系列内容力求将nvdla的内核态驱动整理清楚,如果有分析不对的请指出。前面已经分析了一大块代码了,链接分别如下:NVDLA内核态驱动代码整理一NVDLA内核态驱动代码整理二NVDLA内核态驱动代码整理三NVDLA硬件信号和架构设计整理一本章是分析nvdla_core_callbacks.c代码第二部分。结构体功能包含重要的变量,首先是,用于drm存储管理和分配的结构体;其次是*kvaddr:这是一个指针成员,通常用于存储内核虚拟地址。
2023-11-10 11:33:16
681
原创 NVDLA硬件信号和架构设计整理一
本系列力求将硬件模块设计方法和相关信号理清楚,便于后续改造。由于在《NVDLA内核态驱动代码整理三》中开坑开出来四个外部接口模块IRQCSBSRAMIFDBBIF,在阅读发现有大量信号介绍的部分,同时有大量的内部的寄存器方案,因此决定先把这部分整理完。以的架构作为开篇,引出外部接口。外部接口模块功能NVDLA中的某些状态要求向正在命令NVDLA的处理器异步报告,这些状态包括操作完成和错误条件。外部中断接口提供了一个单独的输出引脚,以补充CSB接口。主机系统通过一个非常简单的地址/数据接口访问和配置。
2023-11-09 16:11:09
1284
原创 NVDLA内核态驱动代码整理三
本系列内容力求将nvdla的内核态驱动整理清楚,如果有分析不对的请指出。前面已经分析了一大块代码了,链接分别如下:NVDLA内核态驱动代码整理一NVDLA内核态驱动代码整理二本章是分析nvdla_core_callbacks.c代码第一部分,同时借助结构体引出的架构与外部接口。结构体功能包含重要的变量,首先是,用于drm存储管理和分配的结构体;其次是*kvaddr:这是一个指针成员,通常用于存储内核虚拟地址。这个地址指向内核中的数据缓冲区,该缓冲区可能包含了与图形或DMA相关的数据。
2023-11-08 20:31:12
692
原创 NVDLA内核态驱动代码整理二
本系列内容力求将nvdla的内核态驱动整理清楚,如果有分析不对的请指出。本章是分析nvdla_gem.c代码第二部分。NVDLA内核态驱动代码整理一函数原型功能将local_task的任务地址数量和任务具体内容的指针handles,其中就是在申请所有具体任务相关数据的地址空间函数传入参数arg(该参数的使之内容是结构体类型的变量,包含内容为任务、任务的数量等),arg传入的任务转换为结构体类型的任务,随后调用完成用户态空间任务数据到内核态空间任务数据的下陷。与此同时,利用传入的drm_device。
2023-11-06 17:43:52
583
原创 【聆思CSK6 视觉AI开发套件试用】在autodl服务器上的环境配置和官网检测demo
写在最前面,本文比较适合初级开发者想要快速体验CSK6开发板。CSK6是聆思科技推出的新一代AI芯片SoC产品系列,采用多核异构架构,集成了ARM Star MCU,HiFi4 DSP,以及聆思全新设计的AI神经网络处理内核NPU,算力达到128GOPS。多核异构的设计使芯片能以较低功耗满足音频及图像视频的AI应用需求。
2023-10-14 16:46:18
495
原创 记录ncnn导出模型的权重读取的一点思路
大概找了找全网使用ncnn框架导出权重模型的博客(可以参考的只有2篇,一篇过时了,没法儿使用;另一篇的函数重载似乎提及了也没什么用处,因为另一篇提到的函数重载事实上在ncnn中已经代码体现了,但是未能深入逐层输出,而且我运行了发现出了bug),翻了ncnn的github,有大量技术发烧友都在追求ncnn工具导出后的FP16、INT8模型的权重、偏置参数读取,然而苦于ncnn框架规模实在太大,C++技术高度密集,权重输出确实不太容易。
2023-08-16 17:25:47
664
原创 Yolov4部署到ZYNQ系列2-重新训练darknet框架下的Yolov4
根据ZYNQ上实际部署的情况,重新调整了Yolov4的网络结构。
2022-10-02 10:41:58
2421
4
原创 Yolov4部署到ZYNQ系列1-USB转UART驱动不在COM和LPT显示问题的解决方案
USB转UART驱动不在COM和LPT显示问题的解决方案,Zynq Ultrascale+ MPSoC连接UART转USB接口到win10笔记本时出现的问题。
2022-09-04 18:02:42
2132
原创 DOTA数据集应用于Yolo-v4(-Tiny)系列3——使用Darknet框架的Yolov4(-Tiny)训练与推测
DOTA数据集应用于Yolo-v4(-Tiny)系列3——使用Darknet框架的Yolov4(-Tiny)训练与推测
2022-09-04 18:00:42
1985
4
原创 DOTA数据集应用于Yolo-v4(-Tiny)系列2——使用Pytorch框架的Yolov4(-Tiny)训练与推测
使用Pytorch框架的Yolov4(-Tiny)训练与推测
2022-09-01 16:30:06
3223
5
原创 利用红外-可见光图像数据集OTCBVS打通图像融合、目标检测和目标跟踪
利用红外-可见光图像数据集OTCBVS打通图像融合、目标检测和目标跟踪
2022-07-31 16:04:06
15953
15
原创 记录Yolo-tiny-v4的权重提取和中间层结果提取
Yolo-tiny-v4的权重提取和中间层结果提取前情概要做点准备工作云服务器:GitHub Project:环境配置:功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入前情概要先说点废话,为啥要做Yolo-tiny-v4权重和中
2022-03-11 21:47:35
4860
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人