嵌入式开发

介绍与赛灵思FPGA开发有关的嵌入式实时软件、操作系统、中间件、开发平台、工具以及开源资料等。

作者: Sleibso,编译:蒙面侠客

背景:
在数据获取,机器视觉,数字信号交互,软件定义无线电,视频输出,多通道I/O,传感器和机器人等的应用场景中难免少不了信号的采集和传输,然而面对不同类型的端口协议需要单独去做相应的接口连接板?答案是否定的,今天小编就带领各位看一个能够支持SYZYGY标准的多功能板—Brain-1。

Opal Kelly新发布的SYZYGY Brain-1,如图.1所示,是基于Xilinx Zynq Z-7012 SoC的一款产品,板卡包括:
1. 1Gbyte 的DDR3 SDRAM;
2. 三个SYZYGY的标准接口;
3. 一个SYZYGY的收发器接口;
4. 一个USB Type-C OTG接口;
5. 一个吉比特以太网接口;
6. 一个SD卡插槽;
7. 支持JTAG接口调试。

一个标准的SYZYGY连接器提供8个差分对信号(或者16个单端信号),加上另外的12个单端阻抗控制信号。收发器SYZYGY连接器支持四组吉兆级别的收发器连接,还能附加18个的单端信号。SYZYGY的设计规格和Brain-1板卡很显然是依靠了Zynq Z-7012 SoC的优异的可编程的联通性和高速度的SerDes端口。

Vivado HLS嵌入式实时图像处理系统的构建与实现

作者:张艳辉,郭洺宇,何 宾

摘 要: 传统的基于CPU、GPU和DSP的处理平台难以满足图像实时处理的要求,而FPGA在并行图像处理上有着独一无二的优势,在性能和成本之间提供更加灵活的选择。通过Xilinx最新的Vivado HLS工具,设计实现了可变参数的拉普拉斯算子图像滤波算法,并且在ZYNQ-7000 SoC上构建了可视化的实时嵌入式图像处理系统。实验结果表明,系统可以实现不同的图像处理算法,很好地满足了图像处理的实时性、高性能、低成本要求,对未来高性能图像处理系统的设计和实现提供了很好的借鉴。

0 引言

作者:Sleibso,编译:Stark ‎

软件定义无线电(Software Defined Radio, SDR)是一种现代无线电广播通信技术,它采用软件定义的无线通信协议而非“纯硬件电路”实现各种通信和信号采集功能,这种方式打破了有史以来设备的通信功能的实现只能依赖于硬件发展的格局。与模拟电路相比数字电路具有更多的优势,能够提供更好的性能比如灵敏度、动态范围、处理速度和精确度等,现在半导体的发展已经突破了摩尔定律,更多性能强大的半导体器件涌现,我们只需要相对较少的操作就可以实现非常精确的数字信号采集和处理。

Panoradio是一款基于Zedboard和AD9467 ADC器件的SDR设备,具有最大250MHz的采样带宽,0—100MHZ还支持信号直接采样接收,该设备移植了Linux嵌入式操作系统,提供了全面的解调软件事例。此外Panoradio是一项开源工程,相关设计资料提供下载(下载地址)。

安富利赛灵思FPGA参考设计指南

安富利致力于嵌入式设计创新,推出多款基于赛灵思FPGA的参考设计。

Python Web 开发框架 Django 2.0 发布

流行 Python Web 开发框架 Django 释出了 2.0 版本。主要变化包括:停止支持 Python 2 系列,Django 1.11.x 是支持 Python 2.7 的最后版本,Django 2.0 支持 Python 3.4、3.5 和 3.6,其中 Python 3.4 将于 2019 年 3 月结束支持,因此 Django 2.0 也将是最后一个支持 Python 3.4 的版本。

开发者还建议第三方库开发者停止支持 1.11 之前的版本。Django 2.0 的主要新特性包括:简化 URL 路由语法,移动友好的 contrib.admin,等等。

文章来源:solidot

FPGA存储器推荐(使用 Vivado Design Suite)

合理利用这些列表需要了解如下内容:
1. Slice/LUT 的利用率直接影响对存储器的要求。以下数字代表 75% LUT 利用率的器件。
2. 时序约束的数量和复杂度直接影响对存储器的要求。
3. 以下存储使用数量基于命令行完全编译(综合和实现)。

Kintex UltraScale+ 存储器推荐(单位:GB 面向 Vivado)

  Windows / Linux (64 位)
器件 典型值 峰值
XCKU3P 7

Vivado中各个目标(object)的含义与区别

在Vivado中进行约束时,时常需要对目标进行定位,我们知道Vivado中目标有ports、pins、cells的区别。但是之前都不清楚其区别,在一个Tcl基础应用中看到了一个图,很清晰的展示了他们的区别。

如上图所示,设计顶层的I/O称作ports,其余底层模块或是门级网表上的元件端口都称作pins。而包括顶层在内的各级模块,blackbox以及门级元件,都称作cells。连线称作nets,加上XDC中定义的clocks,在Vivado中一共将网表文件中的目标定义为五类。

文章转载自:hu_li的博客

基于ZYNQ的SOC——Hellow_World实验

ZYNQ是一款SOC芯片,之前使用VGA做过的实验只是PL(Programmable Logic)部分,而ZYNQ最突出的功能,就是内部的双核Cortex-A9,所以从现在开始我将学习ZYNQ的SOC学习(PS部分)。

  本实验的目的是熟悉ZYNQ的PS(Processor Subsystem)部分使用方法,了解开发板资源,做一个最小系统Hellow world,使用资源有ARM Cortex-A9、DDR3内存、一个UART串口。实验内容是,将写好的程序加载到DDR内存中,然后CPU一条一条执行,那么执行的情况可以通过串口打印观察。

本次实验需要用到的资源,CPU XC7Z010(XC7Z010-1CLG400C)、两片 MT41J128M16JT-125 or MT41K128M16JT-125 512MB DDR3、经过实验确定我这块板子上是两片MT41K128M16JT-125 512MB DDR3。

一、硬件部分

在开发板上选择QSPI Flash跳线帽

视频:在 Vivado 中使用 Cadence IES 运行仿真

了解如何在 Vivado 中使用 Cadence Incisive Enterprise (IES) simulator 运行仿真。我们将演示如何编译仿真库、为 IP 或整个项目生成仿真脚本,然后运行仿真。

Zynq-7000学习笔记(五)——制作BOOT.bin文件

PC平台:WINDOWS 10 64位

Xilinx设计开发套件:Xilinx_vivado_sdk_2014.2

参考文档:Linux with HDMI video output on the ZED, ZC702 and ZC706 boards

一、打开SDK,新建一个FSBL项目,按照笔记(四)定义一个新的hardware platform


在explorer可以看到新创建的项目

同步内容