技术
<font color="#FF8000">作者:Steve Leibson</font>
很多嵌入式设计使用基于微处理器和微控制器的单板计算机 (SBC) 和系统级模块 (SoM)(例如,请参阅“使用 Raspberry Pi 3 构建低成本工业控制器”)。但是,更多嵌入式应用无法忍受与软件相关的响应时间所带来的延迟。
这些应用需要只有定制硬件方可实现的额外性能,而开发定制硬件的最快捷方法就是使用 FPGA。
本文将讨论使用 SoM 来开发嵌入式系统的优势,这些系统需要借由 FPGA 提供更高的处理能力。本文还将介绍各种不同的 FPGA SoM,并讨论它们在嵌入式设计开发中的使用。
vivado:
1,打开vivado,选择菜单栏里的Tools->options
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/blog/201808/13334-39109-…; alt="" width="670"></center>
<strong>简介</strong>
经过一段时间的学习,这里将PCIe DMA模式的学习结果做一个总结,由于手里没有包含PCIe的板子,因此和学习PIO一样对DMA模式中的关键模块的代码进行逐条分析,希望对和我一样的初学者有所帮助。
软件:VIVADO2017.4。
1.加号
第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此直接用“+”来连接两个字符串;
print 'Python' + 'Tab'
结果:
PythonTab
2.逗号
第二种比较特殊,使用逗号连接两个字符串,如果两个字符串用“逗号”隔开,那么这两个字符串将被连接,但是,字符串之间会多出一个空格;
print 'Python','Tab'
结果:
Python Tab
本系列第13篇简单介绍了使用RTL工程IO布局工程两种方法定义IO Ports。在I/O Planning View Layout中(IO布局工程中是Default Layout),显示了FPGA器件资源、封装管脚、I/O Ports等详细信息。设计者借助这些信息来完成I/O规划。
<strong>简介</strong>
学习PCIe有一段时间了,这里将这段时间的学习做一个总结。由于手里没有包含PCIe的板子,因此所做的也就是尽力将XILINX提供的实例工程中的关键模块进行分析,包括 PIO_RX_ENGINE.v,PIO_TX_ENGINE.v,PIO_EP_MEM_ACCESS.v ,希望对和我一样的初学者有所帮助。
软件:VIVADO2017.4
<strong>第一步:PCIe基础知识 </strong>
PCIe协议比较复杂,XILINX官方提供了相关文档(pg054),此外也有不少好的中文学习资料(PCIe入门,PCIe体系结构导读)。文章结尾会上传部分学习资料,有需要的同学可以下载。
本文主要介绍如何使用 HSI 工具来创建一个定制驱动程序,使 xparameters.h 文件驻留在 SDK 中。
<strong>第 1 步:在 IP 打包器中创建 IP</strong>
本文是该系列的第13篇。Vivado HLS是Xilinx FPGA开发套件中的一款软件,可以使用C/C++语言进行设计,并转换为RTL级模型。System Generator中的Vivado HLS block可以将HLS开发软件设计的C/C++代码整合到Simulink环境中,利用Simulink强大的仿真特性对设计进行仿真测试。
ug948中提供的官方例程为图像的中值滤波,该设计将一副256*256大小的RGB图像,添加噪声后提取出其中的Y通道,使用C++语言完成中值滤波。该设计将在Simulink环境下进行仿真。本文将完成改该设计,借此介绍上述功能。
<font color="#FF8000">作者:作者:德州仪器 Chris Glaser</font>
随着电子设备的尺寸越来越小,电源设计人员在设计电源时必须考虑热限值的问题。如果一个较小的电源无法在特定的应用环境(包括环境温度)下以高负载运行,那么它就等同于没有用处。
<font color="#FF8000">作者:卢佳柔,新通讯 2018 年 9 月号 211 期《 行家出手 》</font>
自驾车商机诱人,驱动传统车厂与物联网厂商跨界抢进,更加速人工智能(AI)、先进驾驶辅助系统(ADAS)发展愈趋白热化。而嵌入式视觉也搭上AI与ADAS发展的顺风车,成为实现自驾车发展不可或缺的关键技术,为了要满足嵌入式视觉技术的灵活度,低延迟、低功耗与低成本的要素缺一不可。
阻塞与非阻塞赋值的语言结构是Verilog语言中最难理解的概念之一。
有这样的两个要点:
(1)在描述组合逻辑的always块中用阻塞赋值,则综合成组合逻辑的电路结构;
**(2)在描述时序逻辑的always块中用非阻塞赋值,则综合成时序逻辑的电路结构。
这样做的原因是:**
这是因为要使综合前仿真和综合后仿真一致的缘故。
为了更好地理解上述要点,我们需要对Verilog语言中的阻塞赋值和非阻塞赋值的功能和执行时间上的差别有深入的理解。我们定义下面的两个关键字:
RHS——方程式右手方向的表达式或变量可分别缩写成 RHS表达式或RHS变量;
LHS ——方程式左手方向的表达式或变量可分别缩写成LHS 表达式或LHS变量。
本文是该系列的第12篇,上一篇介绍了在System Generator设计中使用Black Box调用HDL代码的方法,并使用Simulink+Vivado Simulator进行了协同仿真。本文将对该block及其中涉及到的MATLAB配置文件作详细介绍。
<font color="#FF8000">作者:OpenSLee</font>
<strong>1. 背景知识</strong>
Helloworld 实验总是各种编程语言的开始第一课,这里我们将使用xilinx zynq-7000芯片ARM端完成串口打印”Helloworld”实验,旨在体验一下zynq-7000 的开发流程,为以后的zynq-7000的开发打下基础。
<strong>2. Zynq-7000 HelloWord</strong>
本人使用的zynq-7000芯片为xc7z010clg400。
Vivado的工程创建我们在这里就不在详述。
<strong>定义I/O Ports信息</strong>
每个完整的FPGA设计必然包含I/O Ports定义与配置环节。I/O Ports包含了FPGA内部信号、管脚、PCB之间的连接关系。常用的设计方法有两种:
1. RTL工程:完成了RTL设计后,打开一个设计(如综合后设计)并换到I/O Planning View Layout,Vivado会自动从设计中读取I/O端口导入到I/O Ports窗口中,进行后续设置。
2. I/O Planning工程:可以在设计之前预先创建此工程,只定义I/O端口。此工程还可以读取包含I/O定义的CSV或XDC文件,将I/O信息导入到I/O Ports窗口。此类工程的意义是在设计前就确定好管脚约束信息,保证硬件设计与RTL设计工作同步展开。
<font color="#FF8000">作者:圆宵,来源:FPGA那点事儿</font>
串口是很常用的通信端口,其速率比较慢,控制也比较简单,一般来说,使用时不会出现太大的问题。但笔者前一阵调试一块zynq的板子,用CPU通过串口和板卡上的一款芯片进行通信时,却也碰到了不大不小的麻烦。现在把解决问题的过程分享出来,虽然犯的都是很low的错误,但是也希望能对读者有一些借鉴。