Windows下自动云备份思源笔记到Gitee 前言思源笔记是一款本地笔记为主的软件,其目前提供了148元/year的付费同步功能,但对于21世纪中国难民而言还是太贵啦。条件允许的同学还是使用官方的同步,支持下作者。所以,就在思考有没有白嫖的一种方法,能同步且不要付费呢。网上有些使用云盘自动同步,但可能导致数据丢失。这里提供方法:笔记通过小软件的方式进行自动同步到git。这个[siyuansyntogit]小软件基于python...
百M千M以太网TCP/IP栈的FPGA实现-初识以太网 以太网,计算机局域网技术。用于多端点的信息交互,本质上跟串口没啥区别。需要注意的是,以太网协议是分层的。分层的好处在于,对于软件开发者,无需关系下层协议的打包解析。分层协议如下所示:应用层:软件开发者在此层解析各种软件的协议包,收发邮件,文件传输。即软件开发者一般通过以太网的TCP/UDP协议进行多端点间的数据传输。传输层:就是TCP/UDP协议包。打包软件应用层 报文到协议data字段...
FPGA中多时钟切换(无毛刺):通过代码的方式 前言在实际的项目开发中,一个逻辑块在不同的时刻可能需由不同的时钟进行驱动。比如存在clk1,clk2,有always@(posedge i_clk)需要执行,在0时刻使用clk1进行驱动,在1时刻使用clk2进行驱动,则需要进行时钟切换。参考文档Glitch free clock switching circuit design (Verilog)流程源语的方式:Altera和XI...
VISIO使用FPGA时序图、状态机等所需的模具 前言项目中经常需要进行时序图、状态机跳转、流程图等的绘制,使用visio绘制相对美观。但visio中并没有现成的模具,所以手动绘制了一些,一劳永逸,避免重复劳动。流程Q:模具是什么?子图形的集合,方便下次使用。Q:如何绘制模具?Q:如何使用模具 ?模具共享v1.0版本有下述编辑后的模具形状,根据需要可以修改添加使用。链接:https://pan.baidu.com...
ZYNQ FLASH+EMMC手动移植LINUX启动 前言虽可使用Petalinux进行移植,简单方便,但为了更清楚明白的了解整个流程,还是尝试了一波手动移植。参考资料ZYNQ Linux 移植:包含petalinux移植和手动移植debian9ZYNQ #5 - 从vivado工程开始,从emmc启动Linux_里先森-CSDN博客流程对于手动移植,所需的文件为:BOOT.bin(FSBL+fpga_bit文件+u_boot.elf...
petalinux非离线模式build卡死在u-boot编译问题 问题现象:petalinux编译工程卡死在u-boot,无法过去。使用petalinux-build -v指令可以看到在循环编译u-boot。解决方法:由于petalinux是部署在服务器上的,而服务器的时间跟网络时间不一致。centos7跟网络时间同步参考文档:https://blog.csdn.net/a_drjiaoda/article/details/89674468对服务器的时间进行同...
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平台的东西去了。本来打算...
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...
如何在SV中package中使用函数\parameter并在子模块调用 前言实际开发过程中,可能会使用到一些函数,如果在不同子模块中重复定义,则会导致代码冗余。而使用SV语法则可以把函数定义在包中,包是单独的一个文件,子模块只需要include这个文件即可使用函数。而包中可以包含哪些定义?流程以下操作需要两个文件:definition.sv和 demo_sv.sv文件(1)definition文件内容:包含位宽计算函数clogb2`ifndefDFFS_...
如何在SV中使用枚举enum语法 前言enum可用于一系列常量的定义。典型是用于状态机的状态建模,使得code更为清晰。流程本次需要一个top层模块描述状态机和定义文件即可。(1)definition.sv内容为:使用one_hot编码。`ifndefDFFS_DONE`defineDFFS_DONEpackagep_demo;localparamp_width=...
如何在SV中使用结构体struct语法 前言测试下可综合的struct,struct和interface的区别:两者都可以是信号的组合,但interface可以定义信号的不同方向,而struct中的所有信号都是同向的。struct可对像以太网帧格式进行建模(暂未用到)。流程(1)为了对struct进行建模,需要三个模块,顶层,信号输出模块,信号输入模块。(2)对于结构体的定义可放在模块外部的包里面,单独成一个文件。同时为了避免...
如何在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...
如何在SV代码中使用interface语法 前言测试下可综合的interface接口,为了方便未来接口定义的懒惰操作以及减少出错的概率。综合工具:Vivado2018.3流程首先看接口是什么?顾名思义,用于模块间信号交互的路。是一系列信号组。想象一辆公交车(bus),分立的信号就是乘客,将乘客封装进bus,就是接口。对于最简单的使用interface的demo需要三个模块:top,输入,输出。用接口简化输入输出的信号组。(1)定义...
System verilog learning 准备全面拥抱SV语言,Systemverilog增加了些结构体、接口等有用的东西,为了更懒的写代码,学学先~。参考文档:SystemVerilog IEEE 1800-2017.pdfSystemVerilog硬件设计及建模 Question:SV与Verilog的异同?SV是verilog的升级版,verilog是SV的子集,verilog不再更新。版本1800-201...
怎样让外部信号第一级寄存器吸入IOB 参考:https://blog.csdn.net/q774318039a/article/details/88778669前言从FPGA的PAD到IOB里面的寄存器是有专用布线资源的,而到内部其他寄存器没有专用的布线资源。使用IOB里面的寄存器可以保证每次实现的结果都一样,使用内部其他寄存器就无法保证每次用的都是同一个寄存器且采用同样的布线。流程(1)有如下代码:`timescale1...
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以上。...
怎样使用为知笔记客户端进行Cnblogs文章发布 前言为知笔记win支持写完的笔记直接分享发布cnblogs。可以免去到网页端操作了。流程(1)写一篇笔记。(2)分享中点击发送到博客。(3)先点击帮组查看下不同博客的API地址,设置用户名、密码,点确定即可。(4)上网页端查看劳动成果即可。同时,为知笔记支持编辑修改后再继续传。以上。...
Vivado中怎么做set_input_delay约束 参考:https://forums.xilinx.com/t5/Timing-Analysis/Hold-violation-in-ISERDES/td-p/715121前言在STA中,要分析上游器件和FPGA之间的时序关系就得指定inputdelay。流程什么是inputdelay:约定上游芯片输出及时钟之间的关系。约束的目的就是看适配后的时序关系是什么样的。以下以源同步接口举例,...
电脑导入mobi书籍文件到IPAD的方法 前言PC下载的书籍文件怎么通过数据线导入到IPAD。流程(1)下载爱思助手。(2)连接IPAD。(3)这里以Kybook3为例:点击浏览。然后直接把书文件拖进去即可。以上。...
使用综合语法控制Vivado是否使用DSP块 前言使用DSP的方法一般有两种:让综合器自己推断、例化DSP原语。有的时候为了偷懒或者有的计数器之类的需要跑高速,则可以让计数器也使用DSP实现。语法:(*use_dsp=“yes”*)流程1.编写代码测试,一个乘法器加一个cnt计数器,直接在模块头使用语法规则。`timescale 1ns/1ps(*use_dsp = "yes"*)module mul_test ...