- 博客(155)
- 收藏
- 关注
原创 always块敏感列表的相关报错,
猜测报错原因(暂时没有时间寻找原因,后续在碰到再回来寻找原因):1、在综合的时候,需要初始化s2p_output的初值,然后才能进行操作2、敏感列表有reset信号,就必须要用到?
2024-07-10 14:17:35
355
原创 赛灵思的乘法器IP核的blocking mode
我以为乘法器使用blocking mode的输入buffer很大,结果如下图,FFT的buffer就buffer了一个时钟周期,接下来就是只能用一个fifo,35个时钟周期之后,再把值给到乘法器了,然后把乘法器可以改回到non blocking mode ,这样的话,能节省一点点资源。
2024-07-05 10:13:02
273
原创 verilog将信号和常数拼接起来
这样的话会变成32个1bit的1和一个32位的数据进行拼接。我猜测是太复杂了verilog不支持。我de了大概20分钟这个问题。注意,信号的两部分都要用{}花括号括起来。
2024-07-02 14:23:14
353
原创 使用vscode+git+github管理代码
以我最近的看的一个代码项目为例打开如下为了方便日后打开,可以把经常看的代码拉出来,然后建一个工作区,后续查看也方方便。直接点开下面第二张图的工作区文件就可以。
2024-06-30 16:46:59
1117
原创 使用matlab的大坑,复数向量转置!!!!!变量区“转置变量“功能(共轭转置)、矩阵转置(默认也是共轭转置)、点转置
近期使用matlab犯了一个错误,极大的拖慢了项目进展,给我人都整emo了,因为怎么做仿真结果都不对,还好整体的代码都是我来写的,慢慢往下找就找到了问题的来源,全网没有看到多少人把这个愚蠢的错误写出来,我来引入一下。首先讲一下我做了什么,以及这个错误出现的原因:我习惯在变量区查看变量,然后大致对照一下输入输出对不对,但是有的时候,如果一个矩阵是很长的行矩阵,例如1*512,我就习惯把它转置过来看,例如图1中matlab变量区的最左边变量cmplx_wave_single,按照图2。
2024-06-23 18:39:50
649
原创 用寄存器读取文件的数据的时候,寄存器怎么读取,寄存器的高位和低位分别是什么
寄存器读取数据的时候,数据自身是什么样的,寄存器读的时候就原样存储在寄存器里,高位就是第一个数据,低位就是最后一个数据。寄存器读取数据原理是,将给定的二进制数反转,我理解成调转一下车头,然后将数据放入寄存器。
2024-06-17 11:50:17
390
原创 浮点数的复数乘法
然后 complex multiple 的IP核下面只有定点的,不支持浮点,所以需要写一个浮点数的复数乘法模块。floating point IP核I只有multiple ,没有 complex multiple。
2024-06-14 18:14:27
179
原创 floating_point的IP核使用,实现输入数据24位,其中 1位符号位,1位整数位,22位小数位转浮点数
输入精度:为了满足要求,输出数据的24位,其中 1位符号位,1位整数位,22位小数位。后边还要做FFT,所以理论上最好的输出方式是单精度浮点。IP核这里有一个设置,就是输入和输出延迟6个时钟周期。选项界面:注意选择non-blocking。输出精度:设置为浮点。
2024-06-14 11:36:24
468
原创 cordic IP核中,sin and cos的使用
前者放缩到-π到+π,后者放缩到-1到+1,另外由于π实际上是一个无限不循环小数,所以使用前者可能会造成一些精度上的误差,建议使用后者,即scaled radians。,输入位宽是2qn,因为输入的时候还有可能大于一,但是计算sin和cos的话,值在-1到1之间,那么就只需要1qn。rotate是旋转,sin and cos是计算这两个三角函数,sinh和cosh是计算双曲正弦和双曲余弦。只有两组数据的valid和ready同时拉高,才会计算他们的乘积。对于相位格式有两种表示方法,分别是。
2024-06-11 13:58:52
1220
原创 通过vivado的IP核的.veo文件快速实例化
复制到工程文件里之后,粗略用Tab调整一下变量的位置,便于后面用列选对变量,进行复制粘贴。打开之后找到这一块,复制粘贴出来就好。找到对应IP核的.veo文件位置。
2024-06-06 09:40:40
405
原创 FFT的IP核在vivado的使用
一、创建IP核IP catalogconfigurationimplementdetailed implement
2024-05-30 15:05:10
161
原创 vscode配置同步
我有一台台式机,不想重新配置扩展,快捷键等,可以如下配置,据说有个vscode自带的同步,懒得折腾了,还要考虑merge啥的,回头考虑。
2024-05-30 11:16:38
618
原创 vivado设置Vscode为默认编辑器
D:\vscode\Microsoft VS Code\Code.exe -g [file name]:[line number]
2024-05-28 19:14:23
564
原创 在看代码的时候,vscode使用书签快速跳转到想看的代码
搜搜索“书签”,更改自己需要的快捷键,我这里更改了三个。重启vscode之后,摁F1。安装bookmarks。
2024-05-27 12:50:51
536
原创 verilog中的task语句
语句在Verilog和SystemVerilog中都能使用,但在SystemVerilog中它的功能更加强大,并且添加了一些新的特性。
2024-05-26 10:22:44
272
原创 阅读一个axi_generator的代码,实现基于FPGA的packet generator
目前看来,情况是这样的,首先写一个AXI4-stream总线,然后用C写一个特定的数据包,或者去截取一个都可以,然后通过axi总线传输之后,在FPGA里面实现一个IDS或者IPS的规则匹配,匹配到包头或者啥啥之后,输出啥啥。晚些可以去看看IDS或者IPS那篇论文是怎么实现的。这个啥啥还需要再去调研一下P4交换机的规则。
2024-05-14 18:14:23
215
原创 研究幽灵漏洞及其变种(包括但不限于V1-V5)的攻击原理和基于Github的尝试
幽灵漏洞的基本原理是由于glibc库中的gethostbyname()函数在处理域名解析时,调用了__nss_hostname_digits_dots()函数存在缓冲区溢出漏洞。具体来说,__nss_hostname_digits_dots()使用一个固定大小(1024字节)的栈缓冲区来存储解析后的数字和点字符。但在复制用户输入的域名字符串时,没有进行足够的长度检查,导致如果域名过长,就会发生栈缓冲区溢出。
2024-05-13 15:30:41
598
原创 视觉图像信息处理与FPGA实现第九次作业——直方图均衡
因为vivado的testbench使用$open函数的路径问题,详情见我的CSDN博客:https://blog.csdn.net/weixin_44357071/article/details/137203642。但相应的,双端口RAM的资源消耗也更高。代码中有四处需要修改的地方,可以在vscode搜索“修改”即可找到需要修改的参数,需要根据灰度图的分辨率,调整相应的参数。然后将图片另存为bmp图像,256色图,在代码里的图像数据开始位置是由这个参数决定的。然后把图片放在正确的地方,我的路径如图。
2024-05-07 13:30:17
574
2
原创 DDR3的使用(非AXI4总线)——文章报废,我的小梅哥7015不能用MIG,因为管脚有限,具体图片如下http://www.corecourse.cn/forum.php?mod=viewthrea
参考小梅哥视频:https://www.bilibili.com/video/BV1va411c7Dz/?
2024-04-14 18:33:46
330
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅