- 博客(35)
- 资源 (5)
- 收藏
- 关注
原创 Linux文本处理三剑客+正则表达式
Linux文本处理常用的3个命令,脚本或者文本处理任务中会用到。这里做个整理。三者的功能都是处理文本,但侧重点各不相同,grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较复杂格式处理。
2024-06-15 18:10:09
848
2
原创 questasim界面的个性化设置
安装好questasim后默认的波形查看界面字体很小,颜色看起来也不舒服,所以调整了一下颜色布局如下图,顺便记录一下波形窗口颜色大小及选中行高亮如何设置
2023-07-27 16:58:11
810
原创 linux下的questasim安装和与vivado的关联
linux下的questasim安装和与vivado的关联,出现了一些其他教程中没有的问题,装了一天半终于搞好了
2023-07-27 11:34:23
940
转载 存储介质与RAM与ROM科普
1、光盘是用激光打上去的数据,区别于磁盘。2、磁性存储早期,乃至现在,我们的主要存储介质都是磁性存储,也就是磁盘,分为硬盘和软盘硬盘(机械硬盘)不太适合做移动存储,因为其磁头容易损坏,不耐摔,而且体积较大,就算是缩小容量仍然很难缩小其体积,软盘虽然用作移动介质还算方便,但软盘容量过于小,不够用,而光盘虽然容量大但不易擦写,同时体积也不够小,这时就很适合使用半导体存储介质——ROM和RAM3、半导体存储介质那么电脑硬盘和ROM有什么关系呢?
2023-06-12 12:04:52
2017
原创 vivado中的FPGA时钟管理单元PLL学习记录
FPGA中时钟管理模块(CMT)包括PLL和MMCM,用于将时钟倍频(比如输入时钟25M,我们要产生50M时钟)、分频(在不影响系统功能的前提下,较低的工作时钟,能够降低系统功耗)、改变相位偏移或占空比等。当需要上板时,由于板上晶振时钟固定,所以其他频率的时钟产生就要用到PLL或者MMCM。两者类似,MMCM可以完成PLL的所有功能外加一些高级功能。其中具体的一些时钟域,BUFG等时钟资源介绍,以及FPGA中的PLL和MMCM介绍可参考。
2023-05-23 11:01:59
2245
2
原创 Vivado 仿真器中以批处理或脚本模式(Batch or Scripted Mode)进行仿真
1、xvlog会analyze解析HDL文件;analyze: 读入RTL代码,分析每个文件的语法是否正确。(这个时候每个module还是独立的,没有instance的关系)2、xelab会将 HDL 模型编译为快照,快照以模拟器可以执行的形式表示模型(就是之前提到的第一阶段),其中有elaborate(用analyze已经读入的RTL代码来构建hierarchy。顶层是可以设置的。
2023-05-05 19:13:32
1442
原创 DDR原理及MIG IP核使用记录
DDR=Double Data Rate双倍速率,DDR SDRAM=双倍速率同步动态随机存储器,人们习惯称为DDR,其中,SDRAM 是Synchronous Dynamic Random Access Memory的缩写,即同步动态随机存取存储器。SDR SDRAM采用单端(Single-Ended)时钟信号, 在一个时钟周期内只传输一次数据;而 DDR由于工作频率比较快,采用可降低干扰的差分时钟信号作为同步时钟。在一个时钟周期内可以传输两次数据,它能够在的DQS上升沿和和下降沿各传输一次数据。
2023-04-02 20:25:32
1820
2
原创 AXI三种接口及DMA DDR XDMA介绍(应用于vivado中的ip调用)
因工程需要,学习了AXI的三种接口及DMA DDR XDMA,用于vivado中对应ip的使用
2022-08-18 17:30:38
11498
原创 HLS入门操作总结UG871与HLS接口ap_axis
创建项目先添加c设计文件(.c /.h)再添加c-based testbench文件(test.c/out.gold.dat这是标准输出)时钟周期(10ns)和时钟不确定性(默认为12.5%的时钟周期,留空/未定义)。实践步骤一共四个步骤,其实就对应这下列图标从左到右c仿真 将函数输出与已知正确值比较,若失败可以选择launch debugger调试。生成csim文件夹C综合,将c设计合成为RTL(verilog语言描述的寄存器转换电路),报告中有时延、利用率估算(使用的各个模块数)
2022-04-22 17:10:16
1110
原创 吴承恩机器学习作业3 4 手写数字的识别
关于代码的一些记录1、图片数据是存储在ex3data1.mat中的,运行如下代码之后会生成X和y两个变量load('ex3data1.mat'); % training data stored in arrays X, y有5000张图,每张图有400个像素点,也就是400个特征,X中存储图片的灰度强度(但是不知道为什么值好像都是-1到1的值,归一化到-1,1?);y中是图片对应的数值1到10matlab批量图片导出图片大小,MATLAB实例:将批量的图片保存为.mat文件.MATLAB将批量
2021-07-29 10:04:31
637
原创 关于指针(作为函数的参数)
高程用单链表实现string即linked_string时,遇到了一个类似的问题C4700 使用了未初始化的局部变量.本来变量patchuan的类型就是指针了,直接用做函数参数还不行,要初始化。但是加一个& 就可以了,实际是把指针的地址当做参数了。这样直接对地址就行操作,函数不用考虑返回值,也 直接把参数里的东西给改了。关于指针地址的理解,上面PPT的红字一定不要搞混。...
2021-06-09 11:36:30
152
原创 可综合的异步FIFO(CMOS)
主要参考可综合的异步fifo设计(一).和二异步fifo的设计(FPGA).FIFO(二):FIFO工作原理.1.本工程中的async_fifo模块就是例化模块,testbench也是基于这个文件写的,关于例化:最强Verilog例化说明.2.dpram中有一句如下:rd_data <= {RD_WID{1’b0}};参考 关于FPGA的 {width{1’b0}} 是什么意思?.3.格雷码在相邻的两个码元之间只由一位变换(二进制码在很多情况下是很多码元在同时变化)。这就会避免
2021-06-07 19:43:11
193
原创 C&C++编程
1.#include< >和#include“ ”的区别#include<>直接从编译器自带的函数库中寻找文件#include""是先从自定义的文件中找 ,如果找不到再从函数库中寻找文件。如果是自己写的头文件,建议使用#include“”2.#ifndef条件指示符#ifndef的主要目的是防止头文件的重复包含和编译。#ifndef 标识1 //判断"标识1"是否定义,如果被定义则返回假,如果没有被定义则返回真。代码示例:/**********************
2021-03-03 22:47:33
239
原创 全景视频播放器代码分析
全景视频播放器代码分析一、前期准备(1)FFmpeg新旧接口对照使用一览(2)libswscale图片像素数据处理类库(3)OpenGL相关记录(4)列队与线程二、代码分析来总结一下最近研究的全景视频播放器代码平台:Windows软件:vs2019代码来源:OpenGL全景视频.一、前期准备刚开始的时候想先从代码入手,和想象的不太一样,本来以为C语言的代码撑死每句指令都百度,打断点看变量应该也能看懂。于是先在b站找到了C++编写视频播放器的视频,看的我一头雾水,里面用了vlc的库,代码可以说是一
2021-02-27 22:14:19
1771
原创 列队与线程(全景视频播放器)
深度缓冲区OpenGL 深度缓冲区 Z缓冲区介绍.不考虑绘制的顺序对于同一个像素遮挡的影响,启用深度测试可以决定何时覆盖或不覆盖一个像素。为了启动深度缓冲区,必须先启动它,即glEnable(GL_DEPTH_TEST)。每次绘制场景之前,需要先清除深度缓冲区,即glClear(GL_DEPTH_BUFFER_BIT),然后以任意次序绘制场景中的物体。...
2021-02-26 17:55:41
173
原创 全景视频播放器中OpenGL的相关记录
全景视频播放器中OpenGL的相关记录一、OpenGL顶点数组二、坐标系与投影三、坐标系相关函数四、纹理坐标五、纹理过滤六、深度缓冲区七、OpenGL的glut库OpenGL函数功能glutTimerFunc()glutMainLoop()循环什么?一、OpenGL顶点数组OpenGL顶点数组详细介绍.(可不看)**OpenGL顶点数组的理解.glVertex函数调用的开销会过大,而顶点数组就是将原来由一系列的glVertex*指定的顶点放在一个数组中(其意思就是顶点数据组成的数组)由顶点数组处理函
2021-02-26 17:52:26
403
原创 被逼无奈(二)——5G组网+无线资源管理
Mac层的位置本文所述的MAC层,指的是接入网部分中,负责调度、协调物理资源的处理过程。接入网中MAC层的位置:层二
2021-01-31 23:06:23
27793
5
原创 OpenGL(二)——渲染流程+hello triangle代码
主要参考:1.LearnOpenGL CN.2.太子哥、乔红视频什么是OpenGL一般它被认为是一个API(Application Programming Interface, 应用程序编程接口),包含了一系列可以操作图形、图像的函数。然而,OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范(Specification)。OpenGL规范严格规定了每个函数该如何执行,以及它们的输出值。至于内部具体每个函数是如何实现(Implement)的,将由OpenGL库的开发者
2021-01-24 11:32:50
381
原创 OpenGL(一)——简介+创建窗口
主要参考:1.LearnOpenGL CN.2.太子哥、乔红视频什么是OpenGL一般它被认为是一个API(Application Programming Interface, 应用程序编程接口),包含了一系列可以操作图形、图像的函数。然而,OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范(Specification)。OpenGL规范严格规定了每个函数该如何执行,以及它们的输出值。至于内部具体每个函数是如何实现(Implement)的,将由OpenGL库的开发者
2021-01-24 11:32:22
197
原创 你不得不知道的通信行业基础介绍
一、移动通信技术发展路径1G实现了模拟语音通话、2G实现了语音通信数字化、3G实现了图片等多媒体通信、4G实现了局域高速上网。其中G是代generation的意思,5G即第五代移动通信技术。1986年左右,依托着频分多址(FDMA)技术,1G时代崛起,生活在信息依靠模拟信号传递的世界,我们手拿高昂的“大哥大”,躲在墙角里,四处寻找能听得清楚对方讲话的最佳方位。1995年左右,挥别1G,时分多址(TDMA)技术使我们进入到了2G世界,诺基亚7110开启了人类手机上网的时代,也开启了160字长度的短信来
2021-01-23 20:21:29
31315
10
原创 FFmpeg与OpenGL与SDL
FFmpeg+SDLFFmpeg可以实现视频的解码,将原始视频文件转换为YUV,而这些像素数据不能直接显示在屏幕上。SDL就是将像素数据“画”在屏幕上,实现YUV到屏幕的转换。SDL与OpenGLSDL是跨平台的多媒体库,旨在提供对音频,键盘,鼠标,操纵杆等的低级访问。它还通过OpenGL支持3D硬件。SDL实际上是对底层绘图API(Direct3D,OpenGL)的封装,使用起来明显简单于直接调用底层 API。OpenGL是由SGI公司1992年7月发布,是一款基于桌面操作系统、功能强大、调用方便
2021-01-22 10:05:41
3204
2
原创 被逼无奈(一)——5G NR小区搜索和同步
因为要交作业而不得不硬着头皮看的系列——被逼无奈问题:5G NR物理小区ID(PCI)是如何获取的?概念明确:一、 NR(New Radio) 架构5G NR网络架构.3GPP TS 38.300 规范中定义的5G NR(New Radio)架构如下图所示:由上图可以看出,gNB节点向UE提供NR的用户平面和控制平面协议终端(即智能手机、平板电脑、笔记本电脑等 5G 终端设备),并通过 NG 接口连接到5GC。ng-eNB 节点提供E-UTRA(即 LTE)用户平面和控制平面协议终端到UE,并通
2021-01-20 23:15:27
4629
6
原创 通入放(一)——计算机网络入门
整理自小白必读:计算机网络入门.对于一堆电脑互相之间通信,只用网线互相连接显然不现实。一、引入集线器,它仅仅是无脑将电信号转发到所有出口(广播),不做任何处理,你觉得它是没有智商的,因此把人家定性在了物理层 ,用全局唯一的MAC地址为标识二、如果把这个集线器弄得更智能一些,只发给目标 MAC 地址指向的那台电脑。引入交换机,在 数据链路层,MAC地址表三、路由器(其端口也有独立的MAC地址),用来解决多个交换机连接的问题,做转发,在 网络层引入IP地址,在软件层面上,可以随时修改,MAC不能修
2021-01-20 22:21:03
150
原创 视频文件的解码与yuv原理
视频文件的解码FFmpeg不具备直接使用效果,而是操作音频数据(pcm)和视频数据(yuv或RGB)。之后通过设备(显示屏和喇叭)才能显示出来,即视频和音频渲染。什么是yuvYUV,是一种颜色编码方法。常使用在各个视频处理组件中。 YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。YUV是编译true-color颜色空间(color space)的种类,Y’UV, YUV, YCbCr,YPbPr等专有名词都可以称为YUV,彼此有重叠。“Y”表示明亮度(Luminance或Lu
2021-01-18 19:04:50
589
原创 基于FPGA的2ASK信号产生以及其特性测量分析
本文对应西电随机试验实验的实验三,用于记录整理与参考。主要是通过FPGA实现2ASK调制,用Quartus II 搭建,用Modelsim进行仿真并将程序下载到硬件平台(XSRP软件无线电平台),将波形显示在示波器上。总体介绍FPGA程序框图如下上图的模块分别对应下图的模块,后面的部分老师给的demo中都有,我们只需要产生m序列和载波,并通过一个控制开关,m序列为1的时候输出载波,m序列为0的时候输出0就可以。主要难点在于载波的产生,软件的使用,还有参数的对应。软件使用上有许多的小细节需要注意
2021-01-15 17:21:19
5501
3
原创 音视频基础知识
一、API与SDKSDK的中文名叫“软件开发工具包”(本文中将之简称为软件包或软件开发包),它被开发出来是为了减少程序员工作量的,有公司开发出某种软件的某一功能,把它封装成SDK(比如美颜SDK就是能够实现美颜功能的SDK),出售给其他公司做开发用,其他公司如果想要给软件开发出某种功能,但又不想从头开始搞开发,可以付钱省事。API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。 用来提供
2021-01-12 22:51:57
228
原创 AutoCAD全面卸载的方法
AutoCAD全面卸载的方法一、控制面板中卸载二、c盘清理三、注册表清理在安装systemview时,安装完成后双击软件会弹出如下页面,且无法取消关闭窗口。原因是之前下载的AutoCAD没有卸载干净,下面介绍全面清理AutoCAD的方法。一、控制面板中卸载二、c盘清理在我的电脑地址栏中输入“C:\ProgramData\AutoDesk”后单击Enter键,将该文件夹中的AutoCAD的安装过的各个版本删除。含Autodesk的也全部删除。三、注册表清理1、进入注册表编辑器页面之后,找到“H
2020-11-05 16:04:18
7821
1
原创 stm32中cubmx+keil+proteus+虚拟串口+串口助手的使用
stm32中cubmx+keil+proteus+虚拟串口+串口助手的使用stm32cubmxkeilproteus一个简单的实例虚拟串口+串口调试项目设计需要,以下为微控制器模块要用到的软件。要求是实现stm32与上位机的通信,采集传感器信号并且实时反馈给上位机。此文为项目设计系列一。stm32cubmx用cubmx可以通过直观的方式直接配置管脚时钟并生成代码,不必再手动通过写代码的方式进行使能配置,基于HAL库。下载安装之后新建工程,MCU即微处理器,所以点第一个新建工程。其次选择对应的板
2020-06-07 22:12:30
1569
原创 基于距离传感器的I2C通信(二)
基于距离传感器的I2C通信(二)一、cubmx的配置二、代码讲解传感器驱动文件main.c文件三、实操一、cubmx的配置配置如图:PA11、12是任选的两个作为i2c通信的管脚。stm32上的绿灯是我们可以编程控制的,如果想要控制它就要查找板子的原理图,把对应灯连接的管脚使能设置为输出,查询可知为PC13。同时应注意,STM32单片机使用SWD(Serial wire debug)模式下载程序时要配置sys中的Serial wire。之后生成代码即可。二、代码讲解传感器驱动文件myii
2020-06-07 20:42:35
1432
13
原创 基于距离传感器的I2C通信(一)
I2C通信的实现(day3)一、软硬件准备硬件软件——ST-Link驱动的下载安装三、实操二、代码讲解基于stm32F103C8T6,以VL6180X为例实现I2C通信。首先一、软硬件准备硬件距离传感器和核心板的排针tb商家已经给焊好了软件——ST-Link驱动的下载安装在ST官网下载,链接: link.如果没有账号需要先注册才能下载。之后解压,64位的计算机双击amd64的exe文件,一直下一步即可。安装完成后在笔记本上插入购买的ST-LINK,打开控制面板中的设备管理器,如果能够
2020-06-07 19:33:27
1912
3
原创 总体方差与样本方差分母的小小区别,n还是n-1?
总体方差与样本方差分母的小小区别,n还是n-1?引入方差概念方差计算无偏估计样本方差公式相关参考链接样本方差的自由度是n-1引入方差概念方差是在概率论和统计方差衡量随机变量或一组数据时离散程度的度量,用来度量随机变量和其数学期望(即均值)之间的偏离程度。方差计算定义:DX=E(X−EX)2=EX2−(EX)2D X=E(X-E X)^{2}=E X^{2}-(E X)^{2}DX=...
2020-01-31 16:05:22
8153
大一c语言程序自用.rar
2021-11-13
随机试验三汇总传csdn.rar
2021-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人