自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 收藏
  • 关注

原创 Windows下自动云备份思源笔记到Gitee

前言思源笔记是一款本地笔记为主的软件,其目前提供了148元/year的付费同步功能,但对于21世纪中国难民而言还是太贵啦。条件允许的同学还是使用官方的同步,支持下作者。所以,就在思考有没有白嫖的一种方法,能同步且不要付费呢。网上有些使用云盘自动同步,但可能导致数据丢失。这里提供方法:笔记通过小软件的方式进行自动同步到git。这个[siyuansyntogit]小软件基于python...

2022-10-30 19:32:00 973

原创 百M千M以太网TCP/IP栈的FPGA实现-初识以太网

以太网,计算机局域网技术。用于多端点的信息交互,本质上跟串口没啥区别。需要注意的是,以太网协议是分层的。分层的好处在于,对于软件开发者,无需关系下层协议的打包解析。分层协议如下所示:应用层:软件开发者在此层解析各种软件的协议包,收发邮件,文件传输。即软件开发者一般通过以太网的TCP/UDP协议进行多端点间的数据传输。传输层:就是TCP/UDP协议包。打包软件应用层 报文到协议data字段...

2022-01-13 17:59:00 1109

原创 FPGA中多时钟切换(无毛刺):通过代码的方式

前言在实际的项目开发中,一个逻辑块在不同的时刻可能需由不同的时钟进行驱动。比如存在clk1,clk2,有always@(posedge i_clk)需要执行,在0时刻使用clk1进行驱动,在1时刻使用clk2进行驱动,则需要进行时钟切换。参考文档Glitch free clock switching circuit design (Verilog)流程源语的方式:Altera和XI...

2022-01-13 17:56:00 2147

原创 VISIO使用FPGA时序图、状态机等所需的模具

前言项目中经常需要进行时序图、状态机跳转、流程图等的绘制,使用visio绘制相对美观。但visio中并没有现成的模具,所以手动绘制了一些,一劳永逸,避免重复劳动。流程Q:模具是什么?子图形的集合,方便下次使用。Q:如何绘制模具?Q:如何使用模具 ?模具共享v1.0版本有下述编辑后的模具形状,根据需要可以修改添加使用。链接:https://pan.baidu.com...

2022-01-13 17:53:00 8013 13

原创 ZYNQ FLASH+EMMC手动移植LINUX启动

前言虽可使用Petalinux进行移植,简单方便,但为了更清楚明白的了解整个流程,还是尝试了一波手动移植。参考资料ZYNQ Linux 移植:包含petalinux移植和手动移植debian9ZYNQ #5 - 从vivado工程开始,从emmc启动Linux_里先森-CSDN博客流程对于手动移植,所需的文件为:BOOT.bin(FSBL+fpga_bit文件+u_boot.elf...

2021-07-27 11:07:00 2130

原创 petalinux非离线模式build卡死在u-boot编译问题

问题现象:petalinux编译工程卡死在u-boot,无法过去。使用petalinux-build -v指令可以看到在循环编译u-boot。解决方法:由于petalinux是部署在服务器上的,而服务器的时间跟网络时间不一致。centos7跟网络时间同步参考文档:https://blog.csdn.net/a_drjiaoda/article/details/89674468对服务器的时间进行同...

2021-04-10 09:31:00 846

原创 ZYNQ MP AXI datamover IP使用流程说明

参考文档https://zhuanlan.zhihu.com/p/82129170https://zhuanlan.zhihu.com/p/82509188https://blog.csdn.net/qq_36662353/article/details/107120293pg022_axi_datamover.pdf前言很久没更新FPGA相关的东西,忙TI平台的东西去了。本来打算...

2021-03-08 19:11:00 2050 4

原创 ZYNQ Linux 移植:包含petalinux移植和手动移植debian9

参考:https://electronut.in/workflow-for-using-linux-on-xilinx-zynq/https://blog.csdn.net/m0_37545528/article/details/90177983?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159826227019725...

2020-08-27 15:57:00 2096

原创 如何在SV中package中使用函数\parameter并在子模块调用

前言实际开发过程中,可能会使用到一些函数,如果在不同子模块中重复定义,则会导致代码冗余。而使用SV语法则可以把函数定义在包中,包是单独的一个文件,子模块只需要include这个文件即可使用函数。而包中可以包含哪些定义?流程以下操作需要两个文件:definition.sv和 demo_sv.sv文件(1)definition文件内容:包含位宽计算函数clogb2`ifndefDFFS_...

2020-08-13 11:55:00 2160

原创 如何在SV中使用枚举enum语法

前言enum可用于一系列常量的定义。典型是用于状态机的状态建模,使得code更为清晰。流程本次需要一个top层模块描述状态机和定义文件即可。(1)definition.sv内容为:使用one_hot编码。`ifndefDFFS_DONE`defineDFFS_DONEpackagep_demo;localparamp_width=...

2020-08-13 11:54:00 3081

原创 如何在SV中使用结构体struct语法

前言测试下可综合的struct,struct和interface的区别:两者都可以是信号的组合,但interface可以定义信号的不同方向,而struct中的所有信号都是同向的。struct可对像以太网帧格式进行建模(暂未用到)。流程(1)为了对struct进行建模,需要三个模块,顶层,信号输出模块,信号输入模块。(2)对于结构体的定义可放在模块外部的包里面,单独成一个文件。同时为了避免...

2020-08-12 18:56:00 3664

原创 如何在SV中使用二维数组精简代码

前言在信号处理实现过程中,对于多通道的数据定义,采用常规的方式就得定义多个通道变量。verilog不支持二维端口数组定义,但SV可以,所以可以省点代码量。流程对于verilog的代码:可以看到代码类似冗长。reg[31:0]r_value_add_ch0=32'd0;reg[31:0]r_value_add_ch1=32'd0;reg[31:0]r_value_ad...

2020-08-12 18:55:00 2233 1

原创 如何在SV代码中使用interface语法

前言测试下可综合的interface接口,为了方便未来接口定义的懒惰操作以及减少出错的概率。综合工具:Vivado2018.3流程首先看接口是什么?顾名思义,用于模块间信号交互的路。是一系列信号组。想象一辆公交车(bus),分立的信号就是乘客,将乘客封装进bus,就是接口。对于最简单的使用interface的demo需要三个模块:top,输入,输出。用接口简化输入输出的信号组。(1)定义...

2020-08-12 13:45:00 2136

原创 System verilog learning

准备全面拥抱SV语言,Systemverilog增加了些结构体、接口等有用的东西,为了更懒的写代码,学学先~。参考文档:SystemVerilog IEEE 1800-2017.pdfSystemVerilog硬件设计及建模 Question:SV与Verilog的异同?SV是verilog的升级版,verilog是SV的子集,verilog不再更新。版本1800-201...

2020-08-10 10:28:00 421

原创 怎样让外部信号第一级寄存器吸入IOB

参考:https://blog.csdn.net/q774318039a/article/details/88778669前言从FPGA的PAD到IOB里面的寄存器是有专用布线资源的,而到内部其他寄存器没有专用的布线资源。使用IOB里面的寄存器可以保证每次实现的结果都一样,使用内部其他寄存器就无法保证每次用的都是同一个寄存器且采用同样的布线。流程(1)有如下代码:`timescale1...

2020-08-05 11:42:00 379

原创 Linux怎样暂时修改IP地址及MAC地址

前言调试需要流程(1)修改IP地址:eth0ifconfig eth0 192.168.0.111(2)修改MAC地址:暂时更改MAC地址为:00:AA:BB:CC:DD:EEifconfig eth0 downifconfig eth0 hw ether 00:AA:BB:CC:DD:EEifconfig eth0 up以上。...

2020-08-04 18:00:00 200

原创 怎样使用为知笔记客户端进行Cnblogs文章发布

前言为知笔记win支持写完的笔记直接分享发布cnblogs。可以免去到网页端操作了。流程(1)写一篇笔记。(2)分享中点击发送到博客。(3)先点击帮组查看下不同博客的API地址,设置用户名、密码,点确定即可。(4)上网页端查看劳动成果即可。同时,为知笔记支持编辑修改后再继续传。以上。...

2020-08-04 15:51:00 157

原创 Vivado中怎么做set_input_delay约束

参考:https://forums.xilinx.com/t5/Timing-Analysis/Hold-violation-in-ISERDES/td-p/715121前言在STA中,要分析上游器件和FPGA之间的时序关系就得指定inputdelay。流程什么是inputdelay:约定上游芯片输出及时钟之间的关系。约束的目的就是看适配后的时序关系是什么样的。以下以源同步接口举例,...

2020-08-04 15:43:00 6060 4

原创 电脑导入mobi书籍文件到IPAD的方法

前言PC下载的书籍文件怎么通过数据线导入到IPAD。流程(1)下载爱思助手。(2)连接IPAD。(3)这里以Kybook3为例:点击浏览。然后直接把书文件拖进去即可。以上。...

2020-08-02 18:26:00 3007

原创 使用综合语法控制Vivado是否使用DSP块

前言使用DSP的方法一般有两种:让综合器自己推断、例化DSP原语。有的时候为了偷懒或者有的计数器之类的需要跑高速,则可以让计数器也使用DSP实现。语法:(*use_dsp=“yes”*)流程1.编写代码测试,一个乘法器加一个cnt计数器,直接在模块头使用语法规则。`timescale 1ns/1ps(*use_dsp = "yes"*)module mul_test ...

2020-07-30 09:51:00 4438 2

原创 三款LVDS ADC的使用总结

前言两年时间使用了三款ADC:AD9653,AD9266,AD3442,在此记录下坑及使用经验。参考文档xapp524-serial-lvds-adc-interface.pdf所需用到的原语:IDDR、ISERDESE2等1.AD9653:ADI公司的采样率高达125M,16bit ADC时序图1:时序图2:根据时序图,可使用ISER...

2020-07-08 14:25:00 7941 6

原创 FFT输出在带内存在幅度纹波问题

前言在实际项目中发现,实测中频通带内输出响应不为一条直线,处理过程是信号源灌入点频,1s步进1khz,步骤为ADC采集加窗过FFT之后dB求解回传上位机曲线如下所示:流程怀疑FFT输出滤波器组包络导致的幅度存在起伏。滤波器组响应问题。使用matlab对通带进行simulation,图示如下:可以看到仿真结果和实测的结果是一致的。以上。...

2020-05-30 11:54:00 577

原创 verilog可综合function使用

参考博文:https://blog.csdn.net/qq_37147721/article/details/84889832?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4&utm_source=distribute.pc_relevant.no...

2020-04-28 15:35:00 2925

原创 Xilinx 可变长度移位寄存器IP深度导致的延迟问题

前言对于xilinx移位寄存器IP的使用而言,其内部为SLR16/SRL32实现。当位深小于32时,其可变延迟是正确的。当大于32,其可变延迟为相同延迟加1。可能是内部多个SLR32之间插入了一个寄存器导致多了一拍。流程验证位深小于32和位深大于32的移位寄存器可变延迟关系。(1)配置两个不同位深的实例。(2)使用相同的可变延迟配置。(3)仿真...

2020-04-03 14:11:00 925

原创 Vivado在线debug打开窗口报错

前言在打开vivado在线debu的窗口直接报错:ERROR: [Wavedata 42-472] WCFG parsing ERROR: Fatal Error at filexxx/dev/project_1.hw/hw_1/wave/hw_ila_data_2/hw_ila_data_2.wcfg, line 1, char 1 Message: invalid docum...

2020-03-12 10:50:00 4503 1

原创 Vivado编译报错[DRC RTSTAT-5] Partial antennas: xx net(s) have a partial antenna.

前言编译到最后一步,出现错误:Partial antennas: xx net(s) have a partial antenna.解决

2020-03-05 17:05:00 2954 3

原创 Vivado关掉烦人的Webtalk

前言默认vivado的webtalk貌似是开启的,会收集软件的使用信息。浪费时间,直接关掉。流程直接在下述界面中不勾选复选框即可。以上。

2020-02-27 09:59:00 917

原创 VSCODE设置代码提示优先级

前言用户的代码块和语法自带的代码块可能提示排序不是我们想要的,所以需要更改排序。流程在设置中选择下图所示即可:

2020-02-23 12:38:00 3184 2

原创 ZYNQ7000 通过FPGA Manager加载比特流

参考:https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841645/Solution+Zynq+PL+Programming+With+FPGA+Managerhttps://blog.csdn.net/weixin_40604731/article/details/100690049前言实际项目中,往往存在PL端...

2020-02-06 16:09:00 679

原创 verilog中可综合的task使用

参考:https://blog.csdn.net/CrazyUncle/article/details/86164830前言在进行多通道数据处理的时候,对于数据截位这样的操作,重复性的功能任务则可使用task进行预先定义,直接调用。减少代码量及代码出错概率及后期修改容易程度。流程(1)任务的语法格式:task <任务名>; <端口...

2020-01-15 11:45:00 4564

原创 verilog条件编译

前言在设计流程中,可能有的模块是不使用的,但某时候可能需要使用。不同代码段的选择就可以使用条件编译。流程使用`define和`ifdef `else `endif语句实现此功能。`timescale 1ns/1ps`define SIM_USE //定义SIM_USE,如果取消定义,注释此句即可module xxx ( input i_clk ...

2020-01-15 11:06:00 2771

原创 Vivado debug异常现象

前言bit文件和ltx文件的信号位宽不匹配问题。用了dont_touch等属性没用。。。WARNING: [Labtools 27-1972] Mismatch between the design programmed into the device xc7z035 (JTAG device index = 1) and the probes file(s) xxxx/dev...

2019-12-19 17:11:00 2521 3

原创 Matlab相关函数使用

1.cat:拼接两个数组。

2019-12-13 20:14:00 103

原创 Vscode选中变量高亮问题

前言vscode的默认变量选中全局高亮根本看不清楚下一个变量高亮在哪。。。。。。如下图。框的颜色实在是差强人意。流程(1)安装插件:highlight-icemode(2)配置插件:打开用户设置,找到 highlight-icemode 配置项,根据喜好设置背景颜色。(3)此处设置了yellow,查看结果。以上。...

2019-11-29 14:16:00 7241

原创 Vscode选中变量高亮颜色及注释颜色更改

前言vscode的默认变量选中全局高亮根本看不清楚下一个变量高亮在哪。。。。。。如下图。框的颜色实在是差强人意。流程增加了新的方法,无需装插件。旧方法:(1)安装插件:highlight-icemode(2)配置插件:打开用户设置,找到 highlight-icemode 配置项,根据喜好设置背景颜色。(3)此处设置了yellow,查看结果,亮瞎狗眼有木有。...

2019-11-29 14:16:00 3804

原创 Matlab title正确显示下划线

前言使用matlab中title语句,直接敲下划线无法正确显示。title('MSB_data');流程使用如下语句即可:直接字符串转译title('MSB_data','Interpreter','none');以上。...

2019-11-29 10:36:00 1313

原创 excel2016打开为空白界面解决办法

前言excel2016打开文件为空白的界面,明显不正常。解决方法https://blog.csdn.net/b2345012/article/details/94134401以上。

2019-10-15 19:37:00 2512

原创 怎么对ZYNQ的FCLK做时钟组约束

前言对于包含PS和PL的设计,两者的数据交互PL必然会用到PS端的时钟。对于FCLK(PS端时钟输入到PL端)的约束,此时钟的基础约束已在IP中产生。以下想约束其异步时钟的时钟组特性。注意事项:FCLK的名字在综合时不可见,在适配阶段才可见,所以对于约束文件的属性需要选择只在适配阶段有效,否则综合时报警告(感觉无伤大雅)。但PL中又有别的时钟,与FCLK是异步的,而且这些...

2019-10-08 17:51:00 2135

原创 ZYNQ block design警告:[BD 41-968] AXI interface port /axi_lite4 is not associated to any clock port. I...

前言在Block design中引出AXI接口给外部,检查设计告警如下:[BD 41-968] AXI interface port /axi_lite4 is not associated to any clock port. It may not work correctly. Please update ASSOCIATED_BUSIF parameter of a clo...

2019-09-27 10:01:00 4409 2

原创 实际电路中有阻塞幅值和非阻塞幅值?

前言最近群内同学问到:啥是阻塞,啥是非阻塞。实际电路中有这玩意儿吗?个人觉得阻塞非阻塞是仿真电路下的描述,实际电路中是没有这个描述的。实际的电路中只有组合逻辑和时序逻辑,不可能存在谁阻塞了谁。只是仿真中需要特别注意。按照书上的描述:阻塞相当于软件中的顺序执行,非阻塞相当于并发执行。类比为阻塞就是一个人干活,如果一条语句为一个活,那么先干前面的活再干后面的活。非阻塞就是...

2019-09-26 17:44:00 275 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除