
Xilinx FPGA
文章平均质量分 95
vacajk
这个作者很懒,什么都没留下…
展开
-
【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 阅读 · 0 评论 -
【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 · 1317 阅读 · 1 评论 -
【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 阅读 · 0 评论 -
【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 阅读 · 0 评论 -
【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 · 1654 阅读 · 0 评论 -
【LiteX】使用Python实现FPGA SoC构建的开源工具
LiteX的主要应用是对FPGA SoC进行自动化构建,可以通过一条指令完成所有构建步骤原创 2024-08-17 16:19:51 · 1935 阅读 · 0 评论 -
AD7760数据采集系统设计 [FPGA逻辑设计]
1 AD7760简介AD7760是一款高性能、24位Σ-Δ型模数转换器(ADC),融合了宽输入带宽、高速特性与Σ-Δ转换技术的优势,2.5 MSPS时信噪比可达100 dB,因此非常适合高速数据采集应用。宽动态范围以及显著降低的抗混叠要求,使设计过程得以简化。AD7760内置用来驱动基准电压的缓冲、用于信号缓冲和电平转换的差动放大器、超量程标志、内部增益与失调寄存器以及低通数字FIR滤波器,是一...原创 2019-10-25 00:19:51 · 3835 阅读 · 2 评论 -
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 · 6804 阅读 · 2 评论 -
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 · 10166 阅读 · 4 评论 -
3. ZCU102 HDMI Demo工程修改【PCIE视频传输】
为了更快速的开发我需要的带缓存的hdmi收发通路,将上一节的demo进行修改来实现。当然,可以从头开始自己进行配置,我就这么做了,但是因为fpga配置的不同,还要修改更多的驱动代码,相当麻烦,所以就直接拿demo的工程来用吧。(我一开始参考了TRD的工程代码,跟hdmi demo的配置还是有区别的,比如RX通道的参考时钟,TRD用了SI5324的晶体,而demo用的是fpga输出的时钟)。原创 2018-01-04 21:24:11 · 8053 阅读 · 20 评论 -
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 · 14415 阅读 · 22 评论 -
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 · 11345 阅读 · 16 评论 -
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 阅读 · 3 评论 -
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 · 9341 阅读 · 14 评论 -
Xilinx reVISION开搞!【reVISION】
最近购置了一些东东,内心是开心的,身心上是疲惫的。不废话了,上图~ 不够直观?看看这个,我第一次也被吓到了。 接下来就是重要的了~ 插上摄像头,来个demo测试一下。 凑合看吧。。,程序是光流原创 2017-08-14 10:40:13 · 2058 阅读 · 11 评论 -
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 · 14763 阅读 · 6 评论 -
-00-开始【Xilinx-LVDS读写功能实现】
最近用到了一款LVDS接口的摄像头,640*480灰度图像,数据速率为600Mbps,位宽10bit,DDR双边沿采样。实现数据的采集需要用到FPGA内的SERDES模块,现在已经仿真通过了,等到上板调试成功后写一下具体的实现思路,与逻辑结构。主要包括的功能,ISERDES的双边沿采样实现,ISERDES的位同步BITSLIP实现,图像帧的同步实现,图像数据帧到AXI4-Stream总线的原创 2016-12-28 15:02:05 · 2800 阅读 · 2 评论 -
-00-开始【Xilinx-ZYNQ ucos-iii的移植与开发】
前一段时间,调试了一块ZYNQ的板子,上面用到了ucos-iii操作系统,最终在该板子上实现了操作系统的运行,并实现了一些外设模块的功能,主要包括PWM,I2C,GPIO,两级中断。等有空了总结一下。包括操作系统的移植(不算是移植,因为官方已经做好了-_-,就介绍一下怎么安装到Xilinx SDK当中去,和一些必要的参数配置),基于ZYNQ ucos-iii的平台编写了一些AXI4外设原创 2016-12-28 15:02:07 · 2099 阅读 · 1 评论 -
-01- VDMA IP的GUI配置介绍【Xilinx-VDMA模块学习】
使用的是Vivado 2015.4,XC7Z020, AXI Video Direct Memory Acess(6.2)。 在我的系统中,GUI配置图片如下:(其实和默认配置没有太大区别) 下面介绍VDMA IP内各个参数的配置说明。1.Basic标签页Address Width:数据线位宽除非内存地址空间大约32位,一般就配置成32位了,因为所做的板子DDR原创 2016-12-28 15:02:13 · 4954 阅读 · 3 评论 -
-01-OV7251摄像头与设计规划【Xilinx-LVDS读写功能实现】
准备使用OmniVision的OV7251 Global Shutter黑白摄像头在FPGA中设计LVDS摄像头数据捕获接口逻辑原创 2017-01-13 15:02:04 · 11836 阅读 · 1 评论 -
-02-Xilinx的SerDes接口介绍【Xilinx-LVDS读写功能实现】
因为摄像头输出的LVDS信号速率会达到600Mbps,我们将不能够通过FPGA的I/O接口直接去读取这么高速率的信号。因此,需要使用Xilinx FPGA内的SerDes去实现高速数据的串并转换。原创 2017-01-13 18:28:41 · 32875 阅读 · 1 评论 -
-03-LVDS输出接口设计【Xilinx-LVDS读写功能实现】
在-01-OV7251摄像头与设计规划【Xilinx-LVDS读写功能实现】中将设计分为了几个步骤,下面将介绍OV7251 LVDS信号模拟输出功能的逻辑设计 。模拟摄像头的输出信号主要是为了方便前期测试和验证,而且本身SerDes的输出信号设计相对输入来说,复杂度要低很多。原创 2017-01-22 14:35:58 · 10083 阅读 · 1 评论 -
-03-实时Prewitt边缘检测,第一步:硬件平台搭建【ARM NEON加速】
在上面的一篇里文章”-02-实时Prewitt边缘检测,640×480 @60fps【ARM NEON加速】 “里,提到了实时Prewitt边缘检测的硬件平台,展示了处理效果,还分享了视频下面将详细介绍整个系统的实现过程。原创 2017-03-19 23:36:29 · 3028 阅读 · 0 评论 -
-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 阅读 · 10 评论 -
-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 · 6471 阅读 · 3 评论 -
-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 阅读 · 7 评论 -
-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 · 3139 阅读 · 0 评论 -
-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 · 8804 阅读 · 5 评论 -
-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 · 16863 阅读 · 8 评论 -
-00-开始【Xilinx-VDMA模块学习】
最近在做XILINX图像相关的逻辑,需要用到VDMA模块,最后算是把这个模块摸得比较透了。先在这里记一下,之后有空了总结一下。包括VDMA在Vivado中的GUI配置和软件驱动的详细理解。原创 2016-12-28 15:02:02 · 1400 阅读 · 0 评论