
JokerのZYNQ7020
文章平均质量分 54
Joker_是小王。
快乐肥宅。
展开
-
【JokerのZYNQ7020】floating_point。
这篇主要介绍下利用fpga进行公式及浮点数计算。原创 2023-03-30 23:38:04 · 468 阅读 · 1 评论 -
【JokerのZYNQ7020】AXI_IIC。
axi_iic原创 2023-01-31 23:54:13 · 836 阅读 · 5 评论 -
【JokerのZYNQ7020】新年快乐。
平安喜乐,诸事顺遂。原创 2022-12-31 22:51:22 · 164 阅读 · 0 评论 -
【JokerのZYNQ7020】SG_DMA。
SG_DMA原创 2022-11-30 22:43:41 · 428 阅读 · 0 评论 -
【JokerのZYNQ7020】仲裁器设计。
FPGA仲裁器设计原创 2022-10-31 22:35:22 · 222 阅读 · 0 评论 -
【JokerのZYNQ7020】ubuntu启动后跳过验证登录&关闭自动休眠。
ubuntu启动后跳过登录验证与关闭自动休眠原创 2022-09-30 21:42:57 · 1175 阅读 · 0 评论 -
【JokerのZYNQ7020】dcp网表。
dcp网表封装方法原创 2022-08-31 22:52:49 · 1603 阅读 · 0 评论 -
【JokerのZYNQ7020】LINUX_BRAM。
zynq bram原创 2022-07-31 23:31:56 · 1328 阅读 · 0 评论 -
【JokerのZYNQ7020】AXI_EMC。
axi emc emif原创 2022-06-30 23:53:10 · 2727 阅读 · 8 评论 -
【JokerのZYNQ7020】DDS_Compiler。
软件环境:vivado 2019.1 硬件平台:XC7Z020对于自产生的正余弦数据源最常用的一般有两种办法,一种是通过matlab生成coe存到ram里,使用的时候播出来,另一种就是通过自带的DDS核来产生,今天就来说说DDS_Compiler这个IP核的用法和需要注意的事项,以下内容参考手册pg141,喜欢原汁原味儿的朋友可以下载查阅。核内部结构如下所示。接下来就对DDS参数配置相关含义进行说明。parameter selection中,共有两项可以选择, 分别为system p原创 2022-02-14 00:20:13 · 2094 阅读 · 0 评论 -
【JokerのZYNQ7020】ZED_AD9361。
软件环境:vivado 2019.1 硬件平台:XC7Z020作为AD/DA标杆,感觉只要参与过一些AD/DA项目,基本避不开用ADI的片子。ADI的手册和资料做的也是,那叫一地道。所以今天就来说一说,如何针对某一款ADI的片子,生成ADI的例子工程,在这里我以AD9361的demo工程为例。由于是在windows平台进行工程编译,而ADI在github上提供的demo需要使用make生成,所以就需要在windows平台下有类似于linux的环境工具,来对demo工程进行make,我使用的是cygw原创 2021-12-31 20:57:12 · 2270 阅读 · 25 评论 -
【JokerのZYNQ7020】FLASH_TEST。
软件环境:vivado 2017.4 硬件平台:XC7Z020在实际项目中,写好的ZYNQ工程在debug测试完毕之后,固化到FLASH往往是最后一步,然而,在固化的过程中,往往并不都是一次就能成功的,而固化不成功的原因也很多,最直接的排查手段就是可以先做一下FLASH的读写测试,看下FLASH的访问是否正常。这里以镁光N25Q128为例子,说下常规FLASH的操作和测试过程,工程这边没什么特别需要注意的,用的是之前测试uartlite的工程,接口是QSPI Flash的。首先打开fla原创 2021-11-30 21:59:14 · 1680 阅读 · 2 评论 -
【JokerのZYNQ7020】DNA_PORT。
软件环境:vivado 2017.4 硬件平台:XC7Z020说起FPGA端最常用、最直接的加密手段,大概就是利用每个芯片独有的ID号 + 加密算法了,所以今天这篇,就来简单提一下如何获取7系列的每个芯片的DNA号。至于为什么说是7系列,是为了与ultrascale的方法区别开,在ultrascale下,这个码是96 bit的,而在7系列及以前,是57 bit的。第一种方法是利用JTAG。点击左侧的PROGRAM AND DEBUG后,利用JTAG连接板卡,在识别出的PL芯片...原创 2021-10-24 10:57:51 · 3323 阅读 · 30 评论 -
【JokerのZYNQ7020】PS_LWIP_POLL。
软件环境:vivado 2017.4 硬件平台:XC7Z020说起zynq平台下PS端的lwip实现机制,有可能很多老哥跟我一样,具体并不十分清楚,我自己也是在很偶然的情况下看了一篇帖子才知道,居然利用的是PS端的dma收发中断。结果好嘛,一回头再想找之前看的帖子,就找不到了,只能回来自己一点一点扒来试。过程太繁琐了,就不表了,就说一点,是不是用的dma中断,打个断点不就晓得啦。不过今天,我还就偏要板一板,如果不用dma,仅使用poll轮询机制,能不能把lwip的收发实现了。先说下...原创 2021-09-21 21:49:36 · 1202 阅读 · 3 评论 -
【JokerのZYNQ7020】TCP_ECHO_LINUX。
软件环境:vivado 2017.4 硬件平台:XC7Z020老样子,工程与上一篇UDP的和Uartlite的工程还是同一个工程,上篇说了udp数据收发,这篇自然而然的继续说tcp数据收发,共分两个部分,分别是tcp_server和tcp_client。先来看tcp_server代码。#include <stdlib.h>#include <sys/types.h>#include <stdio.h>#include <sys...原创 2021-07-07 23:04:51 · 456 阅读 · 6 评论 -
【JokerのZYNQ7020】REAL_BLOCK_DESIGN。
软件环境:vivado 2017.4 硬件平台:XC7Z020这个月的标题为啥要这样子起呢,是因为公司新入职了个同事,交流了以后才发现,卧槽!!!跟人家结构化的工程比起来,人家那模块搭的才叫真正的block_design啊,我自己工程之前一向都是牵扯到zynq核的,建一个block_design,zynq核之外的逻辑部分,都还是用.v写,然后写top组合到一起,所以今天就把这种结构化思想写一写,抛砖引玉,送给跟我之前编程习惯一样的朋友。...原创 2021-04-30 23:35:07 · 1543 阅读 · 6 评论 -
【JokerのZYNQ7020】SDK无串口DEBUG。
着实太惭愧了,2020年的最后一天,刚打开电视才想起来,12月的坑还没补,岂止12月,居然连11月的坑都还在,惭愧惭愧。提前祝大家新年快乐,代码没BUG。原创 2020-12-31 21:11:11 · 1840 阅读 · 0 评论 -
【JokerのZYNQ7020】AXI_UARTLITE。
软件环境:vivado 2017.4 硬件平台:XC7Z020本月的这一篇呢,主要说的是axi_uartlite这个模块,利用这个模块,我们可以将pl部分的pin复用为uart的rx和tx,交给ps来操作,相当于无形之中给ps扩展了许多uart接口,所以特别适用于板子需要跟许多外部串口设备通讯,而ps只有两个uart能同时使用,无法满足需求的情况。这篇里会先说SDK裸机程序怎么跑,后面会说linux下怎么利用这个模块与外部串口设备通讯。...原创 2021-03-31 23:46:18 · 3041 阅读 · 0 评论 -
【JokerのZYNQ7020】LWIP_UDP。
软件环境:vivado 2019.1 硬件平台:XC7Z020赶紧赶在二月的最后一天发一个简单却很实用的程序来把二月的坑补了。相信大家在用SDK测网口的时候,用的最多的就是TCP_ECHO_SERVER的例程了,这个例程是板卡做SERVER,跑TCP时候的测试例程,既然是ECHO_SERVER,自然就离不开建立连接,然后收到什么发出去什么。但是有些时候ECHO_SERVER连接建立不起来,想要进一步排查究竟是PHY的问题,或者是接收、发送通道问题的时候,ECHO_SERVER就没法直接使用...原创 2021-02-28 23:21:24 · 2454 阅读 · 12 评论 -
【JokerのZYNQ7020】AMP。
就老样子,先来占个坑,例程已经测试完了,这两天会把内容补上来。原创 2020-10-30 23:31:56 · 715 阅读 · 4 评论 -
【JokerのZYNQ7020】SDK_DDR数据导出。
软件环境:vivado 2017.4 硬件平台:XC7Z020是这个样子的,在做上一个1080p_hdmi显示测试的时候,刚开始一直出不来图像,就想着看看数据有没有从SD卡导进DDR,或者进DDR以后,是不是格式或者哪里存的不对,但是从传统的右下角的memory窗口看内存数据,看是能看到,却很难有个直观的感觉,在与其他人一起调工程的时候,也会有类似这种的问题,你说你数据按要求导进DDR了,你怎么证明?所以就想到了看有没有办法把数据从DDR里导出来,保存到外部,做数据分析来有个直观的结果。...原创 2020-09-21 19:56:01 · 4895 阅读 · 7 评论 -
【JokerのZYNQ7020】BMP_SHOW_1080p。
软件环境:vivado 2017.4 硬件平台:XC7Z020太丢脸了,7月最后一天了,工程还没准备好,先占个坑,不然每月一更就破例了...原创 2020-08-31 19:52:13 · 826 阅读 · 5 评论 -
【JokerのZYNQ7020】SDK程序运行时间。
软件环境:vivado 2017.4 硬件平台:XC7Z020好久都没更了,这次居然更个简单的,有点太不好意思了。怎么讲呢,虽然简单,但是也很实用好吧。在linux下,如果想知道一段程序、一个算法、一次通讯的时间,可以用gettimeofday(),那么就自然而然想到,如果程序裸跑在SDK下,有没有类似的函数,可以知道程序运行时间呢,然后找了找资料,也实验了下,最后在这里总结如下,工程用最简的工程就行。主要还是在SDK这边,使用的函数是XTime_GetTime(),使用前需包含...原创 2020-07-27 23:41:20 · 2221 阅读 · 0 评论 -
【JokerのZYNQ7020】LINUX_AXI_LITE。
软件环境:vivado 2017.4 硬件平台:XC7Z020嗯,原计划这次写写verilog的串口收发,但是,前阵子跟看我博客的铁子们交流,有个朋友说想看linux下,怎样通过axi_lite与PL端交互,安排!只记得之前写了linux下通过axi_stream进行大批量数据交互,对于小批量数据(类似于控制指令、写寄存器)交互,确实是该写的忘了写了,今天补上。今天的测试呢,准备这样做,搭建系统如下所示,包含今天需要测试的自建模块axi_lite_gpio,他下面的那个是个button...原创 2020-06-04 23:36:24 · 1510 阅读 · 2 评论 -
【JokerのZYNQ7020】Microblaze_interrupt。
软件环境:vivado 2017.4 硬件平台:XC7Z020噹噹~又到了每月一更的时间,我真的是在是太懒了,最近小实验是做了不少,但是一打开优快云,懒劲儿就上来了,只是回回评论就关了,也太违背初衷了,最近争取好好更一更新。今天这篇主要说下怎样在zynq平台的microblaze上实现外部中断,之前大概搜了下相关的博客,在zynq上跑microblaze的资料并不多,大多还...原创 2020-03-30 23:11:59 · 2827 阅读 · 7 评论 -
【JokerのZYNQ7020】Vxworks 6.9。
软件环境:vivado 2017.4 硬件平台:XC7Z020基本全程参考的官方xapp1158-zynq-7000-vxworks-bsp.pdf,但我感觉主要难度不在移植上,因为pdf里面写的已经非常详细了,而在于你是否有license能装vxworks,除了xapp1158之外,xapp1258-vxworks-7-bsp.pdf,也是一个相关的将vxworks移植到zyn...原创 2020-02-10 19:17:11 · 5225 阅读 · 13 评论 -
【JokerのZYNQ7020】SDK程序从QSPI启动。
软件环境:vivado 2017.4 硬件平台:XC7Z020之前写的QSPI启动是对ZYNQ的PS装Linux系统的,如果不想搞那么麻烦或者功能要求单一,调试又想方便一些,直接写SDK应用,然后固化进QSPI,每次上电从QSPI搬到DDR运行,是再好不过的了,这次就说说怎么搞。只拿个简单工作做个示例。既然扯到QSPI,那QSPI肯定要配好,记得勾选feedback cl...原创 2019-12-29 15:58:08 · 1622 阅读 · 0 评论 -
【JokerのZYNQ7020】hw_vio。
软件环境:vivado 2017.4 硬件平台:XC7Z020这篇呢来说一个FPGA调试的小方法,也就是通过hw_vio来模拟系统的输入/输出,有什么好处呢?当然是方便许多啦,举个例子,如果想观察前一级模块输出(由hw_vio输入观察),或者如果系统某些事件处理,是通过高低电平或者特定数值触发不同状态机(由hw_vio输出观察),那可真是再方便不过了,再或者,布板时候没搞几个按钮...原创 2019-12-29 00:48:16 · 1424 阅读 · 0 评论 -
【JokerのZYNQ7020】UART不定长收发。
软件环境:vivado 2017.4 硬件平台:XC7Z020之前的【JokerのZYNQ7020】UART这篇文章,只是解决了zynq7020在sdk下串口的简单收发功能,当时就发现了一些问题,还专门用红字标出来了,只是当时写完这个以后,立马有别的事情要忙,所以到现在才回来填这个坑,如下图。对于zynq下,串口的收发方式和带来的问题再稍微描述一下,可用的串口收发主要有...原创 2019-11-24 20:14:08 · 3799 阅读 · 7 评论 -
【JokerのZYNQ7020】QSPI启动。
软件环境:vivado 2017.4 硬件平台:XC7Z020通常来说,系统做好以后是放SD卡里,上电以后,根据boot引脚的配置,从SD卡引导系统启动。如果你像我一样,板子上还带有QSPI+EMMC,当然也可以选择另外一种启动方式,从QSPI启动,文件系统从EMMC加载,摆脱SD卡束缚,如果工程上用的话,最好也使用这种引导方法,因为可以避免SD卡槽松动或者插拔次数过多引起的接触...原创 2019-11-03 23:07:03 · 3299 阅读 · 6 评论 -
【JokerのZYNQ7020】LINUX_MIO_BUTTON(偷鸡)。
软件环境:vivado 2017.4 硬件平台:XC7Z020这个...标题既然这样起,完全是因为经过前几篇的测试,产生了个突发奇想,如果把ps侧的mio管脚类似于pl侧的emio操作方式,添加进设备树,那么,能不能像操作emio一样,操作mio。由于不是像linux下传统方式,调用gpio_request()和request_irq()等来操作gpio,所以说是一个偷鸡的方法,...原创 2019-11-01 00:01:34 · 514 阅读 · 0 评论 -
【JokerのZYNQ7020】LINUX_EMIO_BUTTON。
软件环境:vivado 2017.4 硬件平台:XC7Z020这篇主要说下PL端由按钮产生的中断,在Linux系统下是怎样获取和处理的,工程依旧没变过还是那个工程。然后设备树这里,其实Xilinx提供了两个button的驱动是可以直接加载使用的,分别是gpio-keys和gpio-keys-polled,这两个驱动在kernel中的位置是/kernel/drivers/i...原创 2019-10-23 23:13:35 · 647 阅读 · 4 评论 -
【JokerのZYNQ7020】UART。
软件环境:vivado 2017.4 硬件平台:XC7Z020 内部结构大概如图所示,PL这边跟上节中断配置的基本一样,其实主要还是在SDK程序这边。 Vivado 2017.4 Create Block Design后,添加ZYNQ7 Processing system,然后自动连接就行,Generate the output products,Create a H...原创 2018-12-02 15:13:43 · 3666 阅读 · 9 评论 -
【JokerのZYNQ7020】AXI4_Lite_GPIO。
软件环境:vivado 2017.4 硬件平台:XC7Z020 今天主要是BB一下基于AXI4_Lite总线slave从端,增加自定义GPIO操作的方法。先新建个基于AXI4_Lite总线的自定义IP部分。Tools------------> Create and Package New IP。 然后选择Create a new AXI4 peripheral...原创 2018-12-09 19:49:06 · 1051 阅读 · 8 评论 -
【JokerのZYNQ7020】AXI_PWM。
软件环境:vivado 2017.4 硬件平台:XC7Z020今天主要是通过AXI_LITE总线,做个呼吸灯。老样子,先新建个IP核Tools------------> Create and Package New IP。然后选择Create a new AXI4 peripheral。主要注意名字和存放位置,名字为了后面加载用,切记名字取的不要跟你的...原创 2019-02-21 22:35:27 · 1175 阅读 · 0 评论 -
【JokerのZYNQ7020】TIMER。
软件环境:vivado 2017.4 硬件平台:XC7Z020 手册说的很清楚呀,ZYNQ的每个CPU都有自己的私有定时器,私有定时器工作频率是CPU工作频率的一半,即ARM工作频率是666MHz时候,私有定时器的工作频率是333MHz。其主要特性有以下四点:(1)32位计数器,过零时产生中断。 (2)8位预分频器,能够更好的控制中断周期。(3)可配置为...原创 2018-11-24 18:19:17 · 1666 阅读 · 4 评论 -
【JokerのZYNQ7020】INTERRUPT(PL产生,PS处理)。
软件环境:vivado 2017.4 硬件平台:XC7Z020 由图中可见,中断大体分为三类,包括SGI(软件中断)、PPI(私有中断)、SPI(共享中断)。每个CPU均有16个SGI(软件中断),如下图。 PPI(私有中断)中包含2个PL到CPU的快速中断,nFIQ,具体如下图。 最后,SPI(共享中断)配置如下图,红圈处就是这次实验用的可由PL触发,...原创 2018-11-21 00:33:09 · 1911 阅读 · 6 评论 -
【JokerのZYNQ7020】XADC。
软件环境:vivado 2017.4 硬件平台:XC7Z020 手册ug480_7Series_XADC,由上图可见,右边红框圈的,ZYNQ的XADC模块包括2个12bit 1MSPS的模数转换器;左边红框圈的,共十七组信号,都分P端N端,也就是差分信号的两端,单端当然也可接受;最上边红框,意味着XADC模块也可采集片上传感器测量到的片上包括芯片温度、供电电压等信息;最...原创 2018-11-15 00:48:28 · 4315 阅读 · 2 评论 -
【JokerのZYNQ7020】EMIO。
软件环境:vivado 2017.4 硬件平台:XC7Z020由下图可见,MIO在BANK0和BANK1直接跟PS部分相连,EMIO在BANK2和BANK3和PL部分相连,除了BANK1是22bit之外,其他BANK都是64bit。所以在EMIO部分,有64个引脚可以供我们使用,而使用EMIO的好处就是,当MIO不够用时候,PS可以通过EMIO控制PL部分的引脚。vi...原创 2018-11-12 00:10:31 · 1261 阅读 · 2 评论 -
【JokerのZYNQ7020】USER_IP。
软件环境:vivado 2017.4 硬件平台:XC7Z020 如题目,今天主要是记录下用户自定义IP核的使用方式,以自建IP核的方式,控制4个LED的闪烁。 vivado 2017.4 -------->Add design sources 代码如下。module USER_IP_TEST( input CLK_i,//100MHZ input...原创 2018-11-13 20:13:52 · 379 阅读 · 0 评论