技术

作者:侯凯强,施君南,许彦章,邱晓燕;来源:电子技术应用ChinaAET 针对高速运动平台弹速补偿的实时性要求,在基于距离徙动校正(Range Cell Migration Compensation,RCMC) 的思想上提出了一种弹速补偿的FPGA实现方法。将距离徙动校正的思想用于弹速补偿,提高了相参积累后的信噪比,并在FPGA中完成硬件实现,...
一、P4与SDN的关系 SDN是网络的未来,P4是SDN的未来,基于openflow的传统SDN专注于可编程的控制平面,数据平面仍然是由固定功能的ASIC组成,也就是说openflow的实现仍然需要配套的芯片支持,openflow是与目标硬件相关的。而P4专注于可编程的数据平面,可以自定义芯片对于数据包的处理方式,添加自己的新功能,新协议,或者对原有协议栈进行优化,更合理的分配片上资源。...
编译PetaLinux时,使能GDB。单板上就会有GDB。zcu106的VCU TRD 2018.2 已经包含GDB. 带调试信息编译软件,比如添加-g, 或者-g3开关。对于zcu106的ctrl-sw,在encoder_defs.mk里修改CFLAGS, 添加-g3,得到 CFLAGS+=-Wall -Wextra -g3 编译PetaLinux时,上板运行。...
作者:Chatithanya Dudha 重定时(Retiming)介绍 重定时(Retiming)是一种时序优化技术,用在不影响电路输入/输出行为的情况下跨组合逻辑寄存器从而提高设计性能。图1所示的电路是六输入加法器,其中有一条关键路径,红色推出显示的路径是限制整个电路性能的关键路径。 图1:六输入加法器寄存器到寄存器之间的信号路径示例...
云服务和5G的推出推动了数据流量的大幅增长,这为满足网络日益增长的带宽要求带来了挑战,路由器和交换机接线端口密度、光学标准的扩展以及光纤网络带宽的更新是成本能够满足带宽需求的主要制约因素,转换为58G收发器是非常重要的一步,在相同的条件下它能够实现400G以上的数据传输速率。 PAM4技术的发展 图1:每年FPGA收发器的速率变化 NRZ(non-return-to-...
作者:OpenSLee;来源:FPGA开源工作室 本实验基于ECE-CV K7-75T FPGA开发板实现。 软件使用Vivado 2018.1。 基于HDMI的视频流输入输出实验 1 HDMI概述 HDMI高清多媒体界面(英语:High Definition Multimedia Interface)是一种全数字化视频和声音发送接口,...
作者:OpenSLee,来源:FPGA开源工作室 1 概述 I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的数据传输,广泛应用于各种多媒体系统。I2S采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,...
其实生成.mcs文件非常简单,但是只是对有经验的设计者而言。对于新手,生成一个.MCS文件可能就会遇到各种各样的问题。下面就简单的介绍一下如何生成.MCS文件。 这里介绍两种种方法。第一种是使用GUI,也就是用鼠标点来点去就可以。另外一种就是用tcl命令。 第一种: 第一步:首先生成比特流文件。假设生成的比特文件名字是 led.bit。 第二步:选择工具栏的“Tools...
源 / 外刊IT评论 下面我挑选出的这几个技巧常常会被人们忽略,但它们在日常编程中能真正的给我们带来不少帮助。 1. 字典推导(Dictionary comprehensions)和集合推导(Set comprehensions) 大多数的Python程序员都知道且使用过列表推导(list comprehensions)。如果你对list...
本文介绍Xilinx GT的一些概念,对GT没有概念但是有时间的童鞋推荐先看一下此文(Xilinx 7系列FPGA 高速收发器GTX/GTH的一些基本概念),补充一些基础概念。 随着高速数据传输的普及,Serdes已经成为FPGA上重要的I/O接口。而线速率也不断的提高。更高的线速率也就带来了更大的通道衰减影响。通常,Serdes接收端需要打开内部的均衡来对高速串行信号进行处理,...
本文介绍Xilinx GT的一些概念,对GT没有概念但是有时间的童鞋推荐先看看此文(Xilinx 7系列FPGA 高速收发器GTX/GTH的一些基本概念),补充一些基础概念。 随着需求的多样化,FPGA的功能也进一步的增强。其中,高速收发器从本来是只有高端FPGA才有的模块,已经变为相对普及的甚至必备的功能模块。而10G的线速率也从多年前的少数FPGA支持,变为目前的主流线速率。...
作者:OpenSLee,来源:FPGA开源工作室 FPGA开源工作室将通过五篇文章来给大家讲解xilinx FPGA 使用mig IP对DDR3的读写控制,旨在让大家更快的学习和应用DDR3。 本实验和工程基于Digilent的Arty Artix-35T FPGA开发板完成。 软件使用Vivado 2018.1。 参考工程:ddr3_test。 第五篇:...
作者:OpenSLee,来源:FPGA开源工作室 FPGA开源工作室将通过五篇文章来给大家讲解xilinx FPGA 使用mig IP对DDR3的读写控制,旨在让大家更快的学习和应用DDR3。 本实验和工程基于Digilent的Arty Artix-35T FPGA开发板完成。 软件使用Vivado 2018.1。 参考工程:ddr3_sim。 第四篇:mig...
本来写了一篇关于高速收发器的初步调试方案的介绍,给出一些遇到问题时初步的调试建议。但是发现其中涉及到很多概念。逐一解释会导致文章过于冗长。所以单独写一篇基本概念的介绍,基于Xilinx 7系列的GTX。 需要说明,文本只是初步介绍基本概念,会尽量使用通俗浅显的描述而避免使用专业词汇,也只会描述一些基本的、常用的内容,不能保证全面型。所以从专业角度看,可能部分用词和原厂文档有出入,...
作者:OpenSLee,来源:FPGA开源工作室 FPGA开源工作室将通过五篇文章来给大家讲解xilinx FPGA 使用mig IP对DDR3的读写控制,旨在让大家更快的学习和应用DDR3。 本实验和工程基于Digilent的Arty Artix-35T FPGA开发板完成。 软件使用Vivado2018.1 第三篇:mig IP用户读写时序 1...
随着FPGA在数据中心加速和Smart NIC在SDN和NFV领域的广泛应用,基于以太网接口的FPGA开发板越来越受到关注。而更高速率的以太网接口技术则是应用的关键,本文将详细介绍基于FPGA的10G以太网接口的原理及调试技术。 10G以太网接口简介 1、10G以太网结构 10G以太网接口分为10G PHY和10G MAC两部分。如下图所示。...
作者: OpenSLee,FPGA开源工作室 FPGA开源工作室将通过五篇文章来给大家讲解xilinx FPGA 使用mig IP对DDR3的读写控制,旨在让大家更快的学习和应用DDR3。 本实验和工程基于Digilent的Arty Artix-35T FPGA开发板完成。 软件使用Vivado 2018.1 第二篇:mig IP的创建 1 DDR3...
本文旨在让无线电工程师熟悉一种现成的多用途软件无线电(COTS SDR)平台,该平台可以缩短5G的开发时间。 COTS SDR传统上一直用于军用雷达和通信应用中,以获得高性能和设计灵活性。最新的COTS SDR产品提供了含有集成化I/O、ARM处理器和大型FPGA的解决方案,还含有用于访问、路由和处理数字数据的知识产权(IP)。这些特性,与优越的信号完整性、相位相干采样和多信道收发机相结合...
作者:OpenSLee,来源:FPGA开源工作室 FPGA开源工作室将通过五篇文章来给大家讲解xilinx FPGA 使用mig IP对DDR3的读写控制,旨在让大家更快的学习和应用DDR3。 本实验和工程基于Digilent的Arty Artix-35T FPGA开发板完成。 软件使用Vivado 2018.1。 第一篇:DDR3和mig的介绍 1 DDR3介绍...
Xilinx 7系列FPGA全系内置了一个ADC,称呼为XADC。 这个XADC,内部是两个1mbps的ADC,可以采集模拟信号转为数字信号送给FPGA内部使用。 XADC内部可以直接获取芯片结温和FPGA的若干供电电压(7系列不包括VCCO),用于监控FPGA内部状况。同时提供了17对差分管脚,其中一对专用的模拟差分输入,16对复用的模拟差分输入,不使用的时候可以作为普通的User...
作者:Cliff Zitlaw,赛普拉斯 NOR闪存已作为FPGA(现场可编程门列阵)的配置器件被广泛部署。其为FPGA带来的低延迟和高数据吞吐量特性使得FPGA在工业、通信和汽车ADAS(高级驾驶辅助系统)等应用中得到广泛采用。汽车场景中摄像头系统的快速启动时间要求就是很好的一个例子——车辆启动后后视图像在仪表板显示屏上的显示速度是最为突出的设计挑战。 上电后,...
在远程更新的时候,有时候需要双镜像来保护设计的稳定性。在进行更新设计的时候,只更新一个镜像,另一个镜像在部署之前就测试过没问题并不再更新。当更新出错时,通过不被更新的镜像进行一些操作,可以将更新失败的数据重新写入Flash。这样即使更新出错,也能保证设计至少可以被远程恢复。 Xilinx的双镜像方案成为Multiboot。本文对Xilinx 7系列的Multiboot做一些简单介绍...
初识Python语言,觉得python满足了我上学时候对编程语言的所有要求。python语言的高效编程技巧让我们这些大学曾经苦逼学了四年c或者c++的人,兴奋的不行不行的,终于解脱了。高级语言,如果做不到这样,还扯啥高级呢? 01 交换变量 >>>a=3 >>>b=6 这个情况如果要交换变量在c++中,肯定需要一个空变量。但是python不需要,只需一行,大家看清楚了...
本文总结了深度学习中常用的八大类型的卷积,以非常形象的方式帮助你建立直觉理解,为你的深度学习提供有益的参考。 分别是单通道卷积、多通道卷积、3D卷积、1 x 1卷积、转置卷积、扩张卷积、可分离卷积、分组卷积。 单通道卷积 单通道卷积 在深度学习中,卷积是元素先乘法后加法。对于具有1个通道的图像,卷积如下图所示。这里的滤波器是一个3 x 3矩阵,元素为[[0,1,2...
作者:Hello,Panda Zynq UltraScale+MPSoC是Xilinx推出的第二代多处理SoC系统,在第一代Zynq-7000的基础上做了全面升级。 一、概述 Zynq UltraScale+MPSoC系列器件共有四个大的系列,分别是CG系列、EG系列和EV系列,其中EG系列和EV系列提供汽车级和军品级器件。 相较与上一代ZYNQ-7000产品,...
作者: Hello,Panda 一、写在前面 FPGA 是可编程芯片,因此FPGA 的设计方法包括硬件设计和软件设计两部分。硬件包括 FPGA 芯片电路、存储器、输入输出接口电路以及其他设备;软件即是相应的 HDL 程序以及最新非常流行的基于高层次综合的程序方法,如Xilinx的一系列工具HLS、SDSoC和Altera的SoC EDS等。 (1)选择FPGA(SoC)...
tcl语法 (1)if 判断,{}中的语句需要用[]括起来 if {} { 必须留在这一行 } elseif而不是else if (2)注释单起一行,不要在命令末尾 (3)procedure的参数用空格隔开 (4)file exists判断文件是否存在 XSCT 打开xsct, zc@ubuntu:~/xilinx/fsbl$ $PETALINUX/...
当Zynq外挂NAND Flash的时候,如何对MTD进行管理,尤其是坏块管理就变得很重要,最常用的当然是应用于Flash的日志型管理系统:传统的JFFS2及其升级版:UBIFS 。 其中NAND的UBIFS已经在Petalinux 17.3及之后版本中升级。详情可在Xilinx Wiki ( http://wiki.xilinx.com )中搜索UBIFS....
作者:常凝,闫瑞军等; 来源:电子技术应用ChinaAET 摘要:本文提出了一种基于CAZAC序列的OFDM时频同步方案,给出了方案各部分的FPGA实现框图和硬件电路实测效果。首先利用时域同步参考符号进行分段相关得出定时估计,然后结合最大似然法进行粗小偏估计,再将同步参考符号和FFT解调变换至频域,利用两个符号中所填充的CAZAC序列的差异性完成整偏估计,...
本篇主要介绍物理层WG中的C-PHY。C-PHY基于3-Phase symbol编码技术,通过three-wire trios传输2.28 bits/symbol,其目标速率是2.5Gsymbols/s。C-PHY与D-PHY有许多共同点,C-PHY的绝大部分特性都是从D-PHY改编而来的。C-PHY被设计成能够与D-PHY在同一个IC管脚上共存,从而可以开发出既支持C-PHY又支持D-...
作者:Robert Sgandurra,Pnetek公司产品总监 当面对一个项目计划时,你最后一次听到“需要多长时间就花多长时间”或者“如果第一次不成功,不要担心,你总能搞定的”这些话大概是什么时候的事?很可能从来就没有过。随着FPGA变得越来越强大,处理的任务范围也越来越广,缩短设计周期并且最小化风险变得前所未有的重要。 Pentek公司作为一家商用现货(COTS)...
作者:Sanjay Churiwala,赛灵思公司工具与方法学应用专家 如果你已经有了一个设计并且想将这个设计移植到另一款目标器件上,这篇文章将帮助你确定这种转换所应遵循的步骤。 这篇文章不会涉及与原设计完全不同的转换方式,从底层组件来看并非完全不同的。 对于这种转换你应该遵循特定的转换指南,比如UltraScale系列转换为Versal系列器件,...
本篇主要介绍MIPI物理层规范中的D-PHY,主要包括D-PHY的架构、操作模式、电气特性等。 MIPI D-PHY将百万像素摄像头和高分辨率显示器连接到应用处理器。它是一个时钟驱动的同步链路,可提供高噪声容限和高抖动容限。MIPI D-PHY还提供高速和低功耗模式之间的低延迟转换。 由于其灵活,高速,低功耗和低成本的特性,MIPI D-PHY是智能手机中用于相机和显示器的主流PHY...
描述 在读取 IBERT 的自适应环路代码时,出现了与 DMONITOROUT 的期望值不同的值。 解决方案 对于 UltraScale+ GTY 收发器而言,签名了一些 RX 均衡自适应环路。 用户指南的数字监控器 (DMON) 部分向用户展示了如何读取自适应环路的当前状态。 对于无签名自适应环路,从 DMONITOROUT 端口读取的值是量级值。...
作者:lee神, FPGA开源工作室 1. XILINX ISE传统FPGA设计流程 利用XilinxISE软件开发FPGA的基本流程包括代码输入、功能仿真、综合、综合后仿真、实现、布线后仿真与验证和下班调试等步骤。如下图所示。 1)电路设计或代码输入 FPGA的设计可以直接画原理图,但是这种方法在比较复杂的系统的情况下,原理图相当复杂,所以慢慢被淘汰,ISE保留这一功能...
作者:肉娃娃 一开始接触到FPGA,肯定都知道”复位“,即简单又复杂。简单是因为初学时,只需要按照固定的套路——按键开关复位,见寄存器就先低电平复位一次,这样一般情况可以解决99%的问题,甚至简单的设计,就不可能有问题。复杂是因为复位本身是对大规模的硬件单元进行一种操作,必须要结核底层的设计来考虑问题。 1. 常见问题 自己在学习实践过程中,以及看到网友询问的,...
1. Python 的特点和优点是什么? 答案:略。 2. 什么是lambda函数?它有什么好处? lambda 函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的函数。 lambda 函数不能包含命令,它们所包含的表达式不能超过一个。不要试图向lambda函数中塞入太多的东西;如果你需要更复杂的东西,应该定义一个普通函数,然后想让它多长就多长。...
本篇主要介绍MIPI物理层规范中的M-PHY,主要包括M-TX和M-RX状态机、M-PHY的配置流程、M-PHY的电气特性等。 MIPI M-PHY专为需要快速通信通道以实现高分辨率图像,高视频帧速率和大型显示器或存储器的数据密集型应用而设计。它是一种多功能PHY,为工程师提供配置选择和跨行业平台开发的能力,以有效地解决多个市场。它可以互连智能手机,可穿戴设备,个人电脑甚至大型系统(如汽车...
本文列出了能够与 Vivado 设计套件联用的支持性第三方仿真器。 这些也在随该软件一起发布的“Vivado 设计套件用户指南:版本说明、安装与许可”(UG973) 中列出。 请参阅“架构支持与需求”>“兼容的第三方工具”部分。 这些兼容版本向后兼容。Xilinx 建议用户运行最新版本的仿真器。 解决方案 Vivado Design Suite 2018.3...
本文主要介绍以太网Drive Side接口(MAC和PHY之间的接口),也被称为MII(Media Independent Interface),支持从10M到100G的不同应用场合,主要包括MII、RMII、SMII(Cisco Systems Specification)、SSMII、S3MII、GMII、RGMII、SGMII、QSGMII(Cisco Systems...
作者:Thet Wa. Hlaing ,Wai Hlaing Thet;ST Kinetics 现今,使用FPGA技术进行射频数据信号处理已经非常普遍,因为该技术可实现高速计算能力。通常情况下,处理大量RF数据需要部署的FGPA资源越来越多。因此,FPGA模块会跨多个处理子系统进行部署。借助FlexRIO FPGA模块和LVDS数字接口模块,ST...
ODDR is Xilinx HDL Language Template。 ODDR:Output Double Data Rate(DDR) 。 在介绍ODDR之前,我们先简单了解一下OLOGIC。 OLOGIC块在FPGA内的位置紧挨着IOB,其作用是FPGA通过IOB发送数据到器件外部的专用同步块。OLOGIC 资源的类型有OLOGIC2(位于HP I/O banks)...
本文主要介绍以太网Line Side对外接口,也被称为MDI(Media Dependent Interface),包括电口和光口。其中光模块主要针对10G以下的,10G以上的本文就不做介绍了。 1、电口 1.1、RJ45接口 RJ45(Registered Jack的缩写,意思是“注册的插座”)水晶头由金属片和塑料构成,制作网线所需要的RJ45水晶接头前端有8个凹槽,简称“...
本文主要介绍Xilinx FPGA的配置模式,主要包括Master/Slave模式,Serial/SelectMAP模式,JTAG模式等。其中7系列只有Logic部分,其配置相关功能引脚全部连接到FPGA端的特定bank上;Zynq 7000系列既有PL部分,也有PS部分,其JTAG从PL侧引出,其余配置相关引脚全部从PS侧引出;Zynq UltraScale+系列也有PL部分和PS部分,...
Python 是一门用途广泛、易读、而且容易入门的编程语言。但同时 python 语法也允许我们做一些很奇怪的事情。 1、使用 lambda 表达式重写多行函数 众所周知 python 的 lambda 表达式不支持多行代码。但是可以模拟出多行代码的效果。 def f(): x = 'string' if x.endswith('g...
神经网络(NN)几乎可以在每个领域帮助我们用创造性的方式解决问题。本文将介绍神经网络的相关知识。读后你将对神经网络有个大概了解,它是如何工作的?如何创建神经网络? 本文涉及以下内容: 神经网络的发展历史 什么是真正的神经网络? 单元/神经元 权重/参数/连接 偏置项 超参数 激活函数 层 神经网络学习时发生了什么? 实现细节(...
本篇主要介绍Xilinx FPGA的电源设计,主要包括电源种类、电压要求、功耗需求,上下电时序要求,常见的电源实现方案等。 1、电压种类及要求 随着FPGA的发展,其电压类型越来越丰富,主要包括以下几种类型: Processor System电压,主要给Zynq系列SoC中的ARM供电,包括VCC_PSINTFP、VCC_PSINTLP、VCC_PSAUX、...
Python是一门简单易学的编程语言,语法简洁而清晰,并且拥有丰富和强大的类库。与其它大多数程序设计语言使用大括号不一样 ,它使用缩进来定义语句块。 在平时的工作中,Python开发者很容易犯一些小错误,这些错误都很容易避免,本文总结了Python开发者最容易犯的10个错误,一起来看下,不知你中枪了没有。 1.滥用表达式作为函数参数默认值...
作者:Taylor Roorda 与典型的微控制器相比,现场可编程门阵列FPGA是一种能够提供更强性能和灵活性的器件,本文通过解答几个有关FPGA的常见问题——什么是FPGA、为什么我会需要FPGA、如何为FPGA编程——为开发者提供FPGA入门所需的基本概念和知识。 如果您是二元思维的人,那么不要错过第1到4部分内容。在这篇博客中,我将简单介绍我最感兴趣的电子器件:...