- 博客(61)
- 资源 (13)
- 收藏
- 关注
原创 【LiteX】【开发板】【BoChenK7】使用Python开发FPGA【Linux】
手头目前只有一个购买的BoChenK7开发板,后续会用它来进行LiteX FPGA SoC的构建【LiteX】【开发板】【BoChenK7】使用Python开发FPGA【Hello World、LED点灯、Memory测速、替换BIOS】【LiteX】【开发板】【BoChenK7】使用Python开发FPGA【SDRAM/DDR/Bootloader】【LiteX】【开发板】【BoChenK7】使用Python开发FPGA【QSPI Flash】SD CardEthernet以太网。
2024-08-18 02:14:25
1241
1
原创 【LiteX】【开发板】【BoChenK7】使用Python开发FPGA【QSPI Flash】
手头目前只有一个购买的BoChenK7开发板,后续会用它来进行LiteX FPGA SoC的构建【LiteX】【开发板】【BoChenK7】使用Python开发FPGA【Hello World、LED点灯、Memory测速、替换BIOS】【LiteX】【开发板】【BoChenK7】使用Python开发FPGA【SDRAM/DDR/Bootloader】QSPI Flash:本篇文章SD CardEthernet以太网HDMI视频输入输出PCIeLinux。
2024-08-17 22:54:42
1316
2
原创 【LiteX】【开发板】【BoChenK7】使用Python开发FPGA【SDRAM/DDR/Bootloader】
手头目前只有一个购买的BoChenK7开发板,后续会用它来进行LiteX FPGA SoC的构建【LiteX】【开发板】【BoChenK7】使用Python开发FPGA【Hello World、LED点灯、Memory测速、替换BIOS】DDR:本篇文章SPI FlashSD CardEthernet以太网HDMI视频输入输出PCIeLinux。
2024-08-17 22:14:42
1385
原创 【LiteX】【开发板】【BoChenK7】使用Python开发FPGA【Hello World、LED点灯、Memory测速、替换BIOS】
手头目前只有一个购买的BoChenK7开发板,后续会用它来进行LiteX FPGA SoC的构建LED:本篇文章DDRSPI FlashSD CardEthernet以太网HDMI视频输入输出PCIeBoChenK7开发板的接口介绍如下图,还是比较丰富的后面基于这个板子的一些代码会上传到GitHub上,如有需要可以自行clone需要该板子的话可以查看开发板信息。
2024-08-17 21:23:58
1469
原创 【LiteX】【仿真】使用litex_sim在Python环境中实现FPGA SoC仿真测试
litex_sim在conda虚拟环境中安装LiteX环境时,会自动安litex_sim可执行程序它能够在PC上对LiteX构建的SoC进行仿真验证,使用的验证工具是verilatorlitex_sim的工作流程:仿真开始运行后,即可在Linux命令行中对BIOS的命令行进行操作litex_server、litex_cli、litescope_cli仿真调试 对于litex_sim的仿真,我们也可以使用litex_server工具进行远程连接,litex_server介绍:TODO:跳转lite
2024-08-17 19:32:41
1648
原创 【LiteX】使用Python实现FPGA SoC构建的开源工具
LiteX的主要应用是对FPGA SoC进行自动化构建,可以通过一条指令完成所有构建步骤
2024-08-17 16:19:51
1930
原创 【ISE】PlanAhead report_timing报VIOLATED问题
点击链接,进入Timing Constraints页面,可以看到Timing Score为0,表明没有时序问题(最差的一条slack为0.007ns)查了很多资料,最终发现在report_timing中的Timer Settings有问题,如下图:Interconnect的参数为:estimated。使用PlanAhead创建RTL工程,然后综合、实现(其实调用的还是ISE的综合、实现工具,只是操作方法跟Vivado类似)下图可以看到slack一样,也是0.007。下图可以看到,有非常大的slack。
2023-06-30 10:03:29
1147
原创 【XRT Vitis-Tutorials】视频处理加速(Kernel+VCU)
1 前言前面文章导航:ZCU106 XRT环境搭建ZCU106 XRT Vivado工程分析ZCU106 XRT PetaLinux工程分析【XRT Vitis-Tutorials】RTL Kernels测试【XRT Vitis-Tutorials】C++/RTL Kernel混合编程测试【XRT Vitis-Tutorials】图像并行计算【XRT Vitis-Tutorials...
2020-04-06 23:18:48
4375
5
原创 【XRT Vitis-Tutorials】cl调度优化
1 前言前面文章导航:ZCU106 XRT环境搭建ZCU106 XRT Vivado工程分析ZCU106 XRT PetaLinux工程分析【XRT Vitis-Tutorials】RTL Kernels测试【XRT Vitis-Tutorials】C++/RTL Kernel混合编程测试【XRT Vitis-Tutorials】图像并行计算官方文档:2019.2 Vitis™ ...
2020-04-05 17:30:16
1373
原创 【XRT Vitis-Tutorials】图像并行计算
1 前言前面文章导航:ZCU106 XRT环境搭建ZCU106 XRT Vivado工程分析ZCU106 XRT PetaLinux工程分析【XRT Vitis-Tutorials】RTL Kernels测试【XRT Vitis-Tutorials】C++/RTL Kernel混合编程测试官方文档:2019.2 Vitis™ Application Acceleration Dev...
2020-04-05 06:08:32
1519
原创 【XRT Vitis-Tutorials】C++/RTL Kernel混合编程测试
1 前言前面文章导航:ZCU106 XRT环境搭建ZCU106 XRT Vivado工程分析ZCU106 XRT PetaLinux工程分析【XRT Vitis-Tutorials】RTL Kernels测试官方文档:2019.2 Vitis™ Application Acceleration Development Flow TutorialsVitis Unified Soft...
2019-12-15 16:30:30
2586
2
原创 【XRT Vitis-Tutorials】RTL Kernels测试
1 前言在前面的文章中ZCU106 XRT环境搭建【Xilinx Vitis】,已经生成了用于在Vitis的相关环境。Xilinx在GitHub分享了一个Vitis的应用程序加速开发的教程:2019.2 Vitis™ Application Acceleration Development Flow Tutorials后面基于我会基于ZCU106 XRT环境以及这个教程做一些测试。Xili...
2019-12-15 01:16:46
3564
1
原创 ZCU106 XRT PetaLinux工程分析【Xilinx Vitis】
1 前言在ZCU106 XRT环境搭建【Xilinx Vitis】中针对我本地的环境,以及ZCU106的需求,生成了最终使用的PetaLinux工程。PetaLinux工程的创建、编译都是使用脚本peta_build.sh 来完成的。这篇文章分析一下我本地的不同于ZCU102、ZCU104的区别。2 工程配置在config.sh文件中可以针对不同硬件平台进行额外的配置。peta_build...
2019-12-14 21:19:46
2960
原创 ZCU106 XRT Vivado工程分析【Xilinx Vitis】
1 前言在上一篇ZCU106 XRT环境搭建【Xilinx Vitis】中,我参考了XRT中其它平台(ZCU102,ZCU104)的Vivado TCL脚本,同时参考了官方的VCU相关工程,编写了ZCU106 XRT的脚本:https://github.com/vacajk/XRT/blob/2019.2/src/platform/zcu106vcu_base/zcu106vcu_base_x...
2019-12-14 20:41:43
3725
1
原创 ZCU106 XRT环境搭建【Xilinx Vitis】
1 前言新工具Vitis最近在看Xilinx新出的工具Vitis,这个工具咋说呢,改了好多。。之前的SDSoC,SDAccel统一被Vitis来实现之前按的SDK直接被Vitis替代之前按的基于Eclipse IDE的工程结构,统一被新的叫做domain的东东给替代类似于SDx环境,Vivado被直接集成到Vitis中以上就是我的理解,总之就是Xilinx要搞:Vitis 统一软...
2019-12-07 15:34:50
10319
16
原创 字符串相关函数整理 [VCU.1]
阅读vcu_gst_app过程中,发现cfg配置文件内的字符串有些区分大小写,有些不区分大小写,整理一下相关的字符串处理函数。strstr函数定义char *strstr(const char *haystack, const char *needle)功能查找needle字符串是否出现在haystack中,并返回首地址;若没有查找到,则返回NULl。注意区分大小写strnca...
2019-11-09 16:57:32
322
2
原创 AD7760数据采集系统设计 [FPGA逻辑设计]
1 AD7760简介AD7760是一款高性能、24位Σ-Δ型模数转换器(ADC),融合了宽输入带宽、高速特性与Σ-Δ转换技术的优势,2.5 MSPS时信噪比可达100 dB,因此非常适合高速数据采集应用。宽动态范围以及显著降低的抗混叠要求,使设计过程得以简化。AD7760内置用来驱动基准电压的缓冲、用于信号缓冲和电平转换的差动放大器、超量程标志、内部增益与失调寄存器以及低通数字FIR滤波器,是一...
2019-10-25 00:19:51
3834
3
原创 Qt MinGW Opencv 3.4.5库
使用Qt5.9.3的MinGW-32bit编译了一个OpenCV 3.4.5的库,有兴趣的同学可以直接拿来使用包含了release和debug的版本(debug版本的库文件在zip压缩包中,需要自行解压)包含了opencv-contrib的相关库。参考编译方法:Qt之CMake和MinGW编译OpenCV下载链接OpenCV 3.4.5 | zip | tar.gzinclude ...
2019-02-10 13:14:04
583
原创 1. PYNQ在ZCU102上的移植【PYNQ】
在goggle上搜zcu102 pynq可以找到一些移植方法的信息1. 生成镜像git clone$ git clone https://github.com/Xilinx/PYNQ.git$ cd PYNQ$ git checkout v2.3$ git checkout -b vacajk_dev检查依赖环境,qemu,crosstool-ng$ cd sdbuild/scr...
2018-12-02 21:20:01
9338
14
原创 5. MIZ7035 PCIe测试 RIFFA【PCIE视频传输】
1.前言MIZ7035官方提供了两种pcie的demo,一个就是普通的PIO测试,一个是BMD测试。我只是试验了PIO功能,可以对板卡直接进行IO寄存器读写。而另外一个BMD功能使用了DMA来加速数据读写速度。 我也是第一次接触PCIe,BMD确实也可以完成应用的需求,搞起来应该没有问题。准备用这个开始做实验呢,问了一下学校之前的第二导师,他直接给我说了5个字母:R-I-F-F-A。说让我去
2018-01-16 11:49:47
14413
22
原创 4. MIZ7035 HDMI测试【PCIE视频传输】
1 MIZ7035的HDMI工程建立将上次用到的MIG_AXI工程拿来进行HDMI的工程建立。 不像ZCU102的开发板那样用GT收发器,MIZ7035的HDMI接口是靠PL的逻辑来实现输入输出的。所以要写RTL代码来做HDMI的编解码。测了几天MIZ7035的这个板子,遇到了个问题,总结一下。1 BUFx时钟问题写这个文档时候我已经测试了一天了,就先将一个比较重要的问题提前抛出
2018-01-12 15:46:03
6799
2
原创 3. ZCU102 HDMI Demo工程修改【PCIE视频传输】
为了更快速的开发我需要的带缓存的hdmi收发通路,将上一节的demo进行修改来实现。当然,可以从头开始自己进行配置,我就这么做了,但是因为fpga配置的不同,还要修改更多的驱动代码,相当麻烦,所以就直接拿demo的工程来用吧。(我一开始参考了TRD的工程代码,跟hdmi demo的配置还是有区别的,比如RX通道的参考时钟,TRD用了SI5324的晶体,而demo用的是fpga输出的时钟)。
2018-01-04 21:24:11
8051
20
原创 2. ZCU102 HDMI Demo【PCIE视频传输】
注意自动生成工程时,有可能将所有axi-lite连接到了zynq_us的m_axi_hpm0_lpd上,好像默认lpd不能用,需要开启时钟、电源?还是什么使能信号才可以用,所以会导致sdk中的例子不能直接访问pl上的外设,并导致cpu挂死。可以将lpd改为fpd,这样应该就没问题了。ZCU102 HDMI Demo测试zcu102的hdmi tx和rx都使用的是GTH来实现的,逻辑上比...
2018-01-04 14:25:09
11344
16
原创 1. 开发计划【PCIE视频传输】
计划使用PCIE实现视频数据的传输,暂时还没想好是用x1、x2还是x4,按理来说用x1来传一个1080p的视屏刚刚好,但是x2,x4的话可能更适合我之后的一个项目,因为有好几个视频通道。 以前没有搞过PCIE,所以头大。 现在有两个开发板,分别是zcu102和miz7035,就拿它们来试验了。 miz7035可以作为endpoint,zcu102作为root,将miz7035直接插到zcu1
2018-01-04 14:13:08
3726
2
原创 AXI接口的MIG测试【MIZ7035学习】
1.前言刚买了米联客的MIZ7035开发板,这几天休假也不出去,就在家拿回来测一些东西。 主要目的是学习:PL端的DDR3接口GTX用作PCIE接口SFP接口HDMI接口SD卡和eMMC共存情况下的PetaLinux主要就是这些了。过程主要是自己根据原理图、文档在Vivado上直接新建工程来进行测试,米联客的资料作为辅助,需要时进行查看。这次先来测试MIG做出的DDR3控制器,看看效果
2017-12-28 17:14:06
10161
1
原创 CentOS-7内的SDx、PetaLinux环境安装,2017.4
1.前言Xilinx的环境真是“日新月异”,3个月一升级的速度还真是让人有点受不住。一般情况下大家也不会在一个稳定版本使用后去更换新的版本,所以大家普遍用的Vivado环境都是2015.4,这个版本确实也是非常稳定的一个版本。但是最近出了最新的2017.4,好快啊,前面的版本都还没用熟呢。。2.版本编年史但是,我就是喜欢用新版本的!从2013年第一次开始用Xilinx的FPGA,跳...
2017-12-25 11:03:05
5257
原创 ZYNQ中的UIO驱动和中断程序学习【Xilinx-Petalinux学习】
在网上看到了何晔老师写的一篇文章: 当ZYNQ遇到Linux Userspace I/O(UIO)本人一直都在做硬件、FPGA对驱动来说只会裸奔。。在Linux底下的驱动基本上完全不会。看了这篇文章感觉不错,就照着他的流程跑了一遍,问题还是遇到了一些,在这里记录一下。
2017-08-23 14:54:40
23372
3
原创 本地sstate-cache配置【Xilinx-Petalinux学习】
工具:PetaLinux 2017.1*20170918:找到了缩短Checking sstate mirror时间的方法。 1.按照本篇内容配置本地的sstate-cache中的arm/sstate-cache和downloads 2.在petalinux-build之前,断开linux的网络连接。 这样Checking sstate mirror这个步骤可能仅仅需要不到十秒钟。*2017
2017-08-23 12:49:11
12913
3
原创 Xilinx reVISION开搞!【reVISION】
最近购置了一些东东,内心是开心的,身心上是疲惫的。不废话了,上图~ 不够直观?看看这个,我第一次也被吓到了。 接下来就是重要的了~ 插上摄像头,来个demo测试一下。 凑合看吧。。,程序是光流
2017-08-14 10:40:13
2057
6
原创 Xilinx HLx 2017.1 与VS 2017兼容问题解决
之前一直用SDx 2017.1,但是想用裸机测试一下程序,但SDx中的SDK功能不全,所以没办法还得重新装一下HLx 2017.1。电脑是Windows 10,之前安装了Visual Studio 2017,默认就安装了Redistributable 2017版本,但是Vivado 2017.1必须使用Redistributable 2015的版本。因为有2017所以2015无法安装成功。 导致
2017-07-28 11:32:24
14754
6
原创 -01-生成ORB离散查找表【特征点检测】
ORB算法计算描述子时需要使用到一个提前计算好的查找表,具体可以看OpenCV的orb.cpp文件中的数组: static int bit_pattern_31_[256*4]这个查找表对应的是0度,当特征点不是0度时,需要将查找表中的坐标进行旋转,这部分代码在OpenCV中有。再看论文中,作者将查找表以12°步进的方式生成了30个离散的查找表,这样计算时就能够快速选定坐标位置。作者选的30等分角
2017-05-18 18:50:33
1150
1
原创 -01-摄像头DVP输入IP核设计【OV5640】
在之前设计的OV5640输入接口逻辑上完善了一下代码,暂时出一版IP来用。DVP Timing首先看看OV5640的DVP信号时序: 先不考虑每个信号的具体时序,大致看一看他的波形,可以发现,这是一个很标准的时序。VSYNC是场同步信号,在图像数据发送之前会有一个高电平脉冲;HREF是数据有效信号,高电平时时代表D[9:0]的数据信号有效,可以理解为DE或者Data_valid;HSYNC是行同步
2017-04-29 12:26:40
16852
8
原创 -00-开始【OV5640】
最近做了一块转接板,把OV5640模块接入了FPGA开发板,昨天终于能够正常显示,没有问题了。 后面搞一板稳定的代码,然后把RGB565改成YUV试试显示效果有没有提升。
2017-04-21 10:28:24
5332
1
原创 -04-实时Prewitt边缘检测,第二步:Prewitt的NEON加速实现【ARM NEON加速】
下面进行Prewitt的NEON加速设计,将实现的具体思路描述一下。S0. Prewitt的C语言实现我把Prewitt算子的计算过程按下图重新进行表示: 可以看到该算法主要分为了三个步骤去实现:1. 像素灰度化,将源图像数像素点的彩色图像转换为灰度值,使用常用的公式:GRAY=(R*77+G*151+G*28)/2562. x、y方向一阶梯度计算3. 两个方向梯度均方根计算C代码:uns
2017-03-20 00:27:01
3430
3
原创 -03-实时Prewitt边缘检测,第一步:硬件平台搭建【ARM NEON加速】
在上面的一篇里文章”-02-实时Prewitt边缘检测,640×480 @60fps【ARM NEON加速】 “里,提到了实时Prewitt边缘检测的硬件平台,展示了处理效果,还分享了视频下面将详细介绍整个系统的实现过程。
2017-03-19 23:36:29
3028
原创 -10-GPIO驱动程序【Xilinx-Petalinux学习】
为了在Linux用户空间中对板上的硬件I/O进行控制,需要编写驱动程序。尝试了一些驱动程序的编写,发现Linux的Gpiolib方便一些,能够实现GPIO管脚的输出、输入、中断功能,相对于自己再去写设备驱动更方便一些。Gpiolib是基于SysFs接口实现的GPIO管脚的操作,用起来虽然方便,但是针对于按键、LED这些特定功能的I/O口,我们还可以使用Linux内核中的gpio-keys, leds-gpios驱动
2017-03-15 11:05:31
8801
4
原创 -09-EMIO Slice 自定义IP设计【Xilinx-Petalinux学习】
前一阵与一个朋友一起测试了petalinux中的GPIO驱动先关的代码。 一开始使用的AXI_GPIO这个IP核,输出的驱动还好,但是输入要加入中断等功能,就有点麻烦,而且配置来配置去的总是出问题,所以以后再来试这个吧。 因此决定以后再petalinux中使用GPIO功能时,都直接使用PS内的MIO和EMIO来实现。这样两者的驱动程序不仅相同,EMIO还能够自定义管脚位置,并且还不需要AXI_G
2017-03-14 18:37:21
3138
原创 -04-LVDS输入接口设计【Xilinx-LVDS读写功能实现】
包含OV7251摄像头输入接口的逻辑代码: https://coding.net/u/vacajk/p/ov7251_camera_zedboard/git/tree/master/Src
2017-03-13 10:25:28
5389
8
原创 -02-实时Prewitt边缘检测,640×480 @60fps【ARM NEON加速】
使用NEON加速处理,实现实时Prewitt边缘检测,640×480 @60fps硬件平台Zynq SoC,FPGA逻辑实现视频采集与视频输出,ARM SoC中使用NEON实现实时Prewitt边缘检测,整体实现640×480 @60fps 处理。图像输出使用了三重缓冲,有效避免了图像撕裂。接口:HDMI输入RGB彩色图像,VGA输出灰度图像。
2017-02-23 09:43:22
2562
原创 -01-RGB彩色图像转换为灰度图像【ARM NEON加速】
1. NEON简介NEON官方的简介网址:NEON NEON的主要特点就是single instruction, multiple data(SIMD),拥有专用的ALU和寄存器(d0-d32,q0-q16),基于这种结构很容易实现数据的并行计算,尤其是数学中的向量计算、音频中双声道数据处理、图像中RGB或RGBA彩色图像处理。 SIMD的运行方式如下图: 2. NEON加速实例,RGB2GR
2017-02-22 22:57:56
6470
zcu106_vitis_platform_v1.txt
2020-04-06
ZCU106基于XRT的图像处理
2020-04-05
zcu106_xrt_platform.txt
2019-12-07
ZCU102的完整PYNQ鏡像
2018-12-26
PYNQ移植到ZCU102中PS模块配置文件
2018-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人