技术
电路的核心逻辑是组合电路,比如异步的FIFO/RAM读写信号、地址译码信号等电路;电路的输出不依赖于某一个时钟,也就说不是由时钟信号驱动触发器产生的;异步电路非常容易产生毛刺,且易受环境的影响,不利于器件的移植;
在Ubuntu 16.04下,安装petalinux需要的软件包遇到错误,“requested an impossible situation”。安装Ubuntu 16.04时,选择的地区是上海。据说选择香港不会有这个问题。
连载[第三篇]讲过,要设计一块接口板和Xilinx官方开发板ZCU104对接来做验证。接口板有两块,分别是相机板和扩展板,相机板搭载Sony IMX172/117传感器;接口板包括FMC插座、万兆以太网SFP+接口、千兆以太网PHY接口和若干引出的IO(可用作MIPI DSI、LVDS显示屏)等
在Vivado Design Suite中,Vivado综合能够合成多种类型的属性。在大多数情况下,这些属性具有相同的语法和相同的行为。
•如果Vivado综合支持该属性,它将使用该属性,并创建反映已使用属性的逻辑。
•如果工具无法识别指定的属性,则Vivado综合会将属性及其值传递给生成的网表。
我们处在一个由数字计算机控制的模拟世界里。因此,物联网 (IoT) 设备的设计人员需要将模拟值高效地转换为采样数字表示。答案看似简单,使用一个前置的模数转换器 (ADC) 便能解决问题,然后 ADC 并非千篇一律。因此,设计人员需要了解各种拓扑,以及它们与应用的对应关系。
首先对于纯组合逻辑电路来说,其逻辑功能块的输出仅仅与当前的输入值有关系,其电路延时分析也非常的简单,只考虑输入到输出的信号延时Tdelay,但是影响Tdelay时间的因素比较多,比如不同的器件输入到输出的延时时间不同,不同的工艺条件以及在不同的环境下,Tdelay的时间也不同
VHDL 的一个强大功能是用库来组织 RTL 的不同部分。 通过使用库,不同的设计人员可以做这个工程中自己负责的那部分工作,而不必担心会在命名方面与其他设计师发生冲突。在例化期间,这可以通过手动指定要使用的库或者通过配置语句来完成。
微处理器、FPGA、DSP、模数转换器 (ADC) 和片上系统 (SoC) 器件一般需要多个电压轨才能运行。为防止出现锁定、总线争用问题和高涌流,设计人员需要按特定顺序启动和关断这些电源轨。此过程称为电源时序控制或电源定序,目前有许多解决方案可以有效实现定序
做事情讲究个“谋定而后动”,做研发尤其如此,准备工作一定要做得充分了,需求一定要理解明确了,方可开始吭哧吭哧继续往下干。楼主先准备以ZCU104为平台,实现一个视频处理和传输系统,算是熟悉ZYNQ UltraScale+ MPSoC器件。
修改Xilinx的定时器裸核应用程序(baremetal, standalone)例子xttcps_intr_example.c,可以测量中断响应延迟。然后在单板上运行,以及在XEN的虚拟机上运行,可以分别测量这两种情况下的中断响应延迟。
设备配置包含用于初始化和配置ps和pl的所有方法及过程。在软件控制下,ps内的DevC提供用于初始化和配置ps和pl的手段和方法,在zynq中提供两个模块用于控制配置过程:
1. BootROM,一个静态存储块器块,当上电复位和暖复位后,有Cortex-A9的CPU执行这个内置程序;
随着AI的广泛应用,深度学习已成为当前AI研究和运用的主流方式。面对海量数据的并行运算,AI对于算力的要求不断提升,对硬件的运算速度及功耗提出了更高的要求。目前,除通用CPU外,作为硬件加速的GPU、NPU、FPGA等一些芯片处理器在深度学习的不同应用中发挥着各自的优势,但孰优孰劣?
SDK里带有xttcps_intr_example.c,可以产生时钟中断和PWM方波。MPSoC有四个TTC,总共12个timer。xttcps_intr_example.c缺省使用 12个中的第0个和第1个,TTC0和TTC1。如果修改为其它TTC timer, xttcps_intr_example.c运行出现异常
Xen Dom 0的Linux kernel和文件系统,功能应该越少越好,文件应该越小越好。文件太大,可能引起启动失败。只含有PS的HDF文件,编译出来的rootfs.cpio.gz.u-boot有49MB。经过分析,target文件系统中,/usr/bin占用93MB,其中QEMU的文件占用了92MB.
<font color="#FF8000">作者:hankf,Xilinx Employee</font>
ZDMA应用例子xzdma_simple_example.c 缺省只运行一次。
在XZDma_SimpleExample()里的XZDma_SelfTest( )之后,把运行部分放进一个循环体,可以多次运行。测试工具是Xilinx SDK 2018.2.
但它没有清除 Total byte count寄存器,多次运行后,会溢出, 出现错误"ErrorStatus: 0x8",打印“ZDMA Simple Example Failed”。