博客

2019 年 Python 开发者调查报告

最近知名 IDE 厂商 JetBrains 发布了 2019 年开发者调查报告。本文汇总和 Python 相关的调查数据和结果

Zynq中断:共享外设中断之AXI GPIO 中断

本能篇主要讲一下AXI GPIO 中断,AXI GPIO 中断也是共享外设中断的一种。本讲和上一讲说的中断很像,区别就是AXI GPIO 中断需要AXI GPIO核。

【 Vivado 】理解工程模式和非工程模式

Vivado设计套件有两个主要使用模型:项目模式和非项目模式。 可以通过Vivado IDE或通过Tcl命令和批处理脚本开发和使用项目模式和非项目模式。 但是,Vivado IDE为项目模式提供了许多好处,例如Flow Navigator图形工作流程界面。 Tcl命令是运行非项目模式的最简单方法

FPGA与ADC的SPI配置实战篇(2)——AD9639三线SPI配置

本篇咱们继续以ADI公司的多通道高速ADC—AD9639为实例,向大家演示FPGA是如何通过SPI协议向该ADC读写寄存器配置数据的。如下图所示为AD9639的功能框图,不难发现其SPI接口既可以实现三线模式也可以实现四线模式,本篇将以上篇的4线模式为背景,演示3线模式

学会Zynq(15)UDP sendto函数的使用

上文从“UDP发送Hello World”的实例体会了lwIP的使用。在user_udp_init函数中我们按照“创建UDP PCB->绑定本地端口->连接远程主机”的顺序完成初始化,发送时使用send函数将数据发送至连接的主机

Xilinx AC701评估板——PLL配置实例

本实例内容为PLL的配置和例化,通过PLL产生4个不同频率的时钟,分别驱动 4 个 LED 指示灯闪烁一样的频率。通过观察这 4 个 LED 指示灯的闪烁同步与否,可以确认 PLL 产生的这 4 个时钟的频率关系。

FPGA与ADC的SPI配置实战篇(1)——AD9639四线SPI配置

本篇以ADI公司的多通道高速ADC—AD9639为实例,向大家演示FPGA是如何通过SPI协议向该ADC读写寄存器配置数据的。如下图所示为AD9639的功能框图,不难发现其SPI接口既可以实现三线模式也可以实现四线模式,本篇将演示4线模式

学会Zynq(14)UDP发送Hello World

本系列前面几篇介绍了lwIP的相关知识和官方给出的应用实例。从本文开始将进入“实操”阶段,详细介绍Zynq如何使用UDP和TCP两种协议进行通信。建议阅读本文前先了解lwIP相关知识,重复的内容在本文只会简单讲述。

Xilinx 7系列FPGA之MGT简介

本篇作为xilinx 7系列FPGA简介篇的最后一篇,咱们来介绍MGT(Multi-gigabittransceiver)

Xilinx的COE文件格式有区别

Xilinx的FIR的COE文件应该是这样的:

fileID = fopen('fir_h.coe','w');
fprintf(fileID,'%s\n%s\n','radix=10;','coefdata=');
fprintf(fileID,'%.0f,\n',h);
fclose(fileID);

学会Zynq(13)lwIP官方应用程序示例

XAPP1026中记录一些lwIP的应用程序示例和性能测试情况,不过提供的示例工程都是在几个Xilinx的官方板子中跑的。可能很多学生没有机会碰到这些板子。。。另外这份应用笔记使用的SDK 2014.3版本也比较老,那个版本lwip还没有直接集成到SDK中。本文将这份笔记其中比较有用的代码编写思路和性能测试结果部分摘取出来

Xilinx 7系列FPGA之电源简介

前几篇咱们说了FPGA内部逻辑,本篇咱们再聊一聊7系列FPGA的供电部分

学会Zynq(12)lwIP 1.4.1库的配置与使用

lwIP是一个用于嵌入式系统的开源TCP/IP协议集,是一套可以独立运行的栈,无需依赖操作系统,但也可以与操作系统同时使用。lwIP提供了两套API(术语为A05PI),供用户选择:
RAW API:直接访问核心的lwIP栈;
Socket API:通过BSD socket风格的接口访问lwIP栈。

2019年工业物联网的8个趋势

在2019年,企业将利用工业制造领域的进步技术,并采取更大胆的措施来提高增长和运营效率。以下是2019年工业物联网的主要趋势和预测。

Xilinx 7系列FPGA之IO——FIFO篇简介

前3篇咱们介绍了 SelectIO 逻辑资源,本篇咱们就聊一聊与SelectIO 逻辑资源水乳交融、相得益彰的另一个概念——IO_FIFO。1个IO_FIFO包括1个IN_FIFO 和1个OUT_FIFO,它是7系列FPGA新设计的IO专用FIFO,主要用于IOLOGIC(例如ISERDES、IDDR、OSERDES或ODDR)逻辑功能的扩展。

学会Zynq(11)RAW API的TCP和UDP编程

RAW API(有时称作native API)是一种事件驱动型的API,在没有操作系统的情况下使用。核心栈通过这个API完成不同协议间的交互。RAW API支持多种协议,下面介绍如何对TCP和UDP进行编程。在Xilinx平台中使用lwIP的RAW API,部分细节会有所不同,但大部分函数用法都一样。

Xilinx 7系列FPGA之SelectIO(3)——高级IO逻辑资源简介

本篇咱们来聊一聊高级的IO逻辑资源。所谓ISERDESE2模块,即Input serial-to-parallel converters。该模块的作用就是实现高速源同步输入数据的串并转换。所谓OSERDESE2模块,即output parallel-to-serial converters。该模块的作用就是实现高速源同步输出数据的并串转换。

为什么FPGA调试中双口RAM的读写冲突总是隐藏的很深很深?

双口RAM的读写冲突问题在FPGA调试中经常遇到......在初学FPGA调试中,常常为了所谓的省事,在写代码设计仿真阶段就忽略了双口RAM的读写冲突问题,导致在FPGA上板调试中浪费大量的时间。本文就针对以往出现的双口RAM读写冲突问题展开讨论,希望能够给大家提个醒。

学会Zynq(10)lwIP简介

从本篇开始,将花大量篇幅介绍Zynq在裸机环境下以太网的使用。裸机时最方便的就是使用SDK已经集成了的lwIP 1.4.1库,我们将先了解lwIP的相关知识,然后再以实例的方式学习TCP、UDP的程序设计方法。

Vivado设计锁定与增量编译(附工程)

为了某些端口信号的时序约束,可以采用Quartus工具把接口模块锁定在FPGA上的分配管脚的相应位置,这样在此基础上可以增加其它模块代码重新综合后,被锁定的接口模块是不会被改变的。这种方式在Vivado中也有,本文针对Vivado中实现的逻辑锁定和增量编译进行的工程实例介绍,文中有对应工程的下载地址。