技术

在xilinx SDK中查询API函数的方法

发表于:11/01/2018 , 关键词: API函数, Xilinx-SDK
当我们使用vivado搭建好硬件设计后就要在SDK下进行程序编写了,在SDK中我们可以建立C/C++工程,所以就有很多的库函数可以调用,那么问题来了,如何查询我想要的API函数呢?或者是该API函数如何使用? 下面我将以GPIO的IPCore为例介绍如何查询API函数。 1.将vivado设计好的硬件设计导入到SDK中,就可以把SDK代码编辑区的变迁也让切换到system.mss页面,... 阅读详情

Vivado平台IP核的封装方式

发表于:11/01/2018 , 关键词: IP核, Vivado
作者:浅搁 FPGA2嵌入式 1. 前言 IP核这个东西相信很多人都不陌生吧,不管是哪个FPGA厂家,都会有自己的一些现成IP核供用户使用,从而节省设计的开发时间。在一个设计中,个人觉得将模块变成一个个直观的图形界面更有助于理清思路,增强整个设计的逻辑性。以前用过Microsemi的开发平台,觉得挺人性化的,你写完代码后,直接把.v文件拉到画布中,文件便会以图形模块的形式显示出来,... 阅读详情

Vivado使用技巧(23)——综合运行与OOC

发表于:10/31/2018 , 关键词: OOC综合, Vivado
创建综合运行 一个“运行(run)”是指定义和配置设计在综合过程中的各方面,包括:使用 的Xilinx器件、应用的约束集、启动单个或多个综合的选项、控制综合引擎结果的选项。点击Flow菜单中的Create Funs,或在Design Runs窗口中: 点击工具栏中的+,即可打开新建运行窗口: 选择Synthesis,点击Next,打开配置综合运行的窗口:

Modelsim仿真基本命令介绍

发表于:10/30/2018 , 关键词: Modelsim
作者:高世皓

初识FPGA CLB之LUT实现逻辑函数

发表于:10/30/2018 , 关键词: 7系列FPGA, 查找表, 逻辑函数
一、概述 LUT中文名字叫查找表。以7系列的FPGA为例,每一个Slice里面有四个LUT。FPGA就是通过LUT实现大量的组合逻辑,以及SLICEM里面的LUT还可以构成RAM,Shift Register,以及Multiplexers。这篇文章我们一起来学习LUT如何构成组合逻辑。 二、LUT实现原理 LUT,中文名字叫做查找表,其原理其实也就是一个一个查找表,... 阅读详情

Vivado FIR滤波器设计与仿真(一)

发表于:10/30/2018 , 关键词: Vivado, 滤波器
最近在学习FPGA DSP相关设计,从滤波器开始学习,最开始先生成两个正弦信号,产生混频信号,通过modelsim仿真来验证设计。 本案例用Block Design方法进行设计(也可以选择编写.v文件的形式进行设计)。 信号源产生 本次案例用DDS IP核产生两个简单的正弦信号,为了方便后面观察,这里分别产生一个4M和一个5M的正弦信号。 双击打开DDS IP核进入设置,对相关参数进行设置... 阅读详情

利用ZYNQ SOC快速打开算法验证通路(6)——LWIP实现千兆TCP/IP网络传输

发表于:10/30/2018 , 关键词: Zynq
一、前言   之前ZYNQ与PC之间的网络连接依赖于外接硬件协议栈芯片,虽然C驱动非常简单,但网络带宽受限。现采用LWIP+PS端MAC控制器+PHY芯片的通用架构。关于LWIP库,已经有很多现成的资料和书籍。其有两套API,一个是SOCKET,另一个是本例中要用到的RAW。RAW API理解起来较为复杂,整个程序基于中断机制运行,通过函数指针完成多层回调函数的执行。SOCKET... 阅读详情

Zynq 轻量级以太网控制器LWIP传输速度优化

发表于:10/29/2018 , 关键词: Zynq
在sdk中选择lwip模板,编译调试可轻松连接成功并进行通信,模板中代码完成的任务是client给server发什么,server就会回复什么。 但是传输速度非常低下,只有50KB左右,所以需要改进速度,修改lwip BSP中的设置参数可明显改进传输速度,默认BSP参数是: 需要修改的参数如下:

Zynq UltraScale+系列之“电源”

发表于:10/29/2018 , 关键词: 电源, Zynq-UltraScale
最近一个项目开始使用Xilinx的ZU+系列MPSoC,于是对其官网上的相关文档进行了学习梳理,包括电源、时钟、复位、配置和外围接口等。 本篇就电源部分进行梳理,其他部分会在后续的文章进行梳理,如有不妥之处,敬请留言指正为谢! 1、电源概述 引用UG1085中的一张图可以看出ZU+的电源还是相当复杂的,不过细细琢磨也就分为两部分:PL和PS,PL部分再细分为logic部分和GTx部分;... 阅读详情

Python语言特性

发表于:10/26/2018 , 关键词: python
作者:huyr830 下是看书归纳所写。 Python语言介绍: 1. Python是一门跨平台、开源、免费的解释型高级动态编程语言。 2. Python支持命令式编程(How to do)、函数式编程(What to do),完全支持面向对象程序设计,拥有大量扩展库。 3. Python也被誉为胶水语言。 胶水语言:可以把多种不同语言编写的程序融合到一起实现无缝拼接,... 阅读详情

Zynq-7000 人体肤色识别

发表于:10/26/2018 , 关键词: Zynq-7000, 人体肤色识别
作者:OpenSLee,来源:FPGA开源工作室 1 背景知识 在肤色识别算法中,常用的颜色空间为Ycbcr,Y代表亮度,cb代表蓝色分量,cr代表红色分量。 由于肤色在YCbCr 空间受亮度信息的影响较小,本算法直接考虑 YCbCr 空间的 CbCr分量,映射为两维独立分布的 CbCr空间。在 CbCr空间下,肤色类聚性好,利用人工阈值法将肤色与非肤色区域分开,形成二值图像。 RGB 转... 阅读详情

FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片

发表于:10/26/2018 , 关键词: FPGA设计, 千兆以太网MAC
作者:没落骑士 一、前言     本文设计思想采用明德扬至简设计法。以太网这一高效实用的数据传输方式应用于各个领域,如网络交换设备,高速网络相机等。虽然各FPGA厂商都提供MAC IP核,但大多收费,有时无法破解。不同厂家之间无法移植,而且为了通用性考虑牺牲了效率,因此自己动手写一个以太网MAC是个不错的选择。   本博文讨论通过MDIO接口管理PHY芯片来验证其正确工作,... 阅读详情

ZYNQ跑系统 系列(四) AXI-DMA的linux下运行

发表于:10/25/2018 , 关键词: AXI-DMA, LINUX, Zynq
AXI-DMA的linux驱动 一、搭建硬件环境 vivado版本2017.4,芯片为7010,不过不管什么版本和芯片大致步骤是一样的 本文工程文件:https://gitee.com/long_fly/AXIDMA_linux 硬件平台PL的搭建同ZYNQ基础系列(六) DMA基本用法,在这个工程的基础上添加SD卡(根据自己的开发板硬件选择相应的引脚) 然后直接生成bit文件,... 阅读详情

初识FPGA CLB之总览

发表于:10/25/2018 , 关键词: 7系列FPGA
一. 概述 这里以7系列的FPGA为例,先从整体上去了解一下FPGA内部可编程逻辑资源的结构。了解FPGA器件的内部资源与结构有利于我们优化设计与评估设计资源。 现在的FPGA里面有很多存储资源,DSP(数字信号处理)资源,布线通道,I/O资源,当然最根本的还是CLB(Configurable Logic Block)。Xilinx的资源分布采用ASMBL架构。... 阅读详情

SPI接口简介

发表于:10/24/2018 , 关键词: SPI接口, 串行外设接口
串行外设接口(SPI)是微控制器和外围IC(如传感器、ADC、DAC、移位寄存器、SRAM等)之间使用最广泛的接口之一。本文先简要说明SPI接口,然后介绍ADI公司支持SPI的模拟开关与多路转换器,以及它们如何帮助减少系统电路板设计中的数字GPIO数量。 SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在时钟上升沿或下降沿同步。主机和从机可以同时传输数据。SPI接口可以是3线式或4线式... 阅读详情