跳转到主要内容

技术

Vivado HLS 开发步骤(高级综合)

对于Vivado Hls来说,输入包括Tesbench,C/C++源代码和Directives,相应的输出为IP Catalog,DSP和SysGen,特别的,一个工程只能有一个顶层函数用于综和,这个顶层函数下面的子函数也是可以被综合的,会生成相应的VHDL和Verilog代码,所以,C综合后的RTL代码结构通常是跟原始C描述的结构是一致的,除非是子函数功能很简单,所需要的逻辑量很小。 通常在main函数以下的函数都可以被综合,也就是说,并不是所有的C/C++都可以被综合,动态内存分配和涉及到操作系统层面的操作不可以被综合。

Zynq中纯PL编程

没接触zynq之前,只用过FPGA,在FPGA中用verilog编程简单明了,后来稍微学习过一点nios ii,就在FPGA中也用过一点点nios ii。所以在刚接触zynq的时候,我就感觉zynq跟altera的FPGA和nios ii的编程肯定会有一些相似的地方。学习zynq的时候,一开始我就想弄清楚三个问题,第一zynq中怎么使用纯PL(programmable logic)部分?(就是把zynq当做普通FPGA用)第二zynq中怎么使用纯PS(process system)部分?(就是把zynq当做一个纯arm使用)第三自然而然就是zynq的PS和PL部分怎么协调工作,谁是主谁是从?

刚接触的时候好多教程都是教你怎么用PS部分,我捉摸了一段时间弄清楚了怎么使用纯PL部分了。希望大家在初学的时候能把PS和PL部分的关系弄清楚,对学习也会更有帮助的~

ZYNQ-双核通信

今天,我们聊聊双核通信。双核通信的基础是已经建立好了双核工程,且配置完成。两个CPU之间传递数据,采用了共享内存,共享内存设置在OCM(On Chip Memory)内。

【vivado学习五】时序分析

典型的时序模型由发起寄存器、组合逻辑和捕获寄存器3部分组成,如图1所示形成了三条时钟路径:原时钟路径(Source Clock path)、数据时钟路径(Data path)、目的时钟路径(Destination Clock path)。

Xilinx MIG IP核配置及仿真

DDR对于做项目来说,是必不可少的。一般用于数据缓存和平滑带宽。今天介绍下Xilinx DDR控制器MIG IP核的例化及仿真。

zynq裸核FSBL

话不多说,进入今天的主题:生成zynq裸核启动文件。1、首先在vivado SDK中分别建立两个工程;2、配置Core1即从核中的BSP文件;3.配置Core0和Core1的DDR空间分配;4.建立FSBL文件,并配置main()文件;5.生成mcs文件和烧写mcs文件到QSPI Flash;6.完成操作将.MCS文件烧写进板子里

Python 内存分配时的小秘密

Python 中的sys模块极为基础而重要,它主要提供了一些给解释器使用(或由它维护)的变量,以及一些与解释器强交互的函数。本文将会频繁地使用该模块的getsizeof()方法。

利用 UltraScale+ 器件中的 PCI Express Gen3 集成块内置解扰器模块解开 PIPE 接口包的神秘面纱

PIPE 接口上的数据在 Gen3 的速度下被加密。当调试 PCIe 问题时,能在 PCIe 链接上查看各个包会很有帮助。若要实现此目的,用户需拥有协议链接分析器。由于其成本较高,能接触到此等设备的用户不多。随协议链接分析器提供的包分析工具很广泛,可对链接流量进行深入分析。

如何利用 Xilinx FPGA 给广告推荐算法做硬件加速?

在这篇文章里你可以了解到广告推荐算法Wide and deep模型的相关知识和搭建方法,还能了解到模型优化和评估的方式。我还为你准备了将模型部署到赛灵思 FPGA上做硬件加速的方法,希望对你有帮助。阅读这篇文章你可能需要20分钟的时间。

ZYNQ中断体系

异常中断发生时,程序计数器PC所指的位置不同,异常中断就不同。中断结束后,中断不同,返回地址也不同。但是,对于系统复位中断,不需要返回,因为整个应用系统就是从复位中断中开始的。

【vivado约束学习四】跨时钟域路径分析

若要查看跨时钟域路径分析报告,可选择以下内容之一来查看:A, Reports > Timing > Report Clock Interaction;B, Flow Navigator > Synthesis > Report Clock Interaction......

龙芯杯CPU设计竞赛与ZYNQ设计流程介绍

随着开源的MCU源代码越来越多,也逐渐的影响着嵌入式系统开发的思路,出现了两种以前不常见的设计思路。第一,原本需要购买一颗MCU芯片的设计,现在直接考虑购买一颗带有MCU硬核的FPGA(如ZYNQ系列FPGA)替代,既有MCU的功能,又有接口可编程的能力,更加的灵活......

ZYNQ常用外设设计 (下)

ZYNQ有专用的DDR Controller接口,如果外部硬件连接了DDR器件,于是在ZYNQ Processing System中正确配置了相应的信号和参数后,DDR就可以成为ZYNQ的内存,在SDK中可以直接使用memcpy、memset以及类似的函数对于Memory空间进行操作。

硬件接口协议之“JTAG”

本文主要介绍JTAG总线的引脚定义、接口标准、边界扫描和TAP控制器。JTAG(Joint Test Action Group;联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。

ZYNQ常用外设设计 (上)

ZYNQ学习过程中一个重要环节是进行调试,当然在SDK中进行调试时,设置断点进行单步调试非常高效。但是ZYNQ中毕竟涉及到FPGA的硬件部分,于是如果可以通过UART与ZYNQ器件进行双向的通信会使得调试非常方便。

基于FPGA蓝牙通信技术的智能电子锁系统

随着人们安防意识的不断增强和智能技术的持续发展,针对用户对安全系数高的智能电子锁的需求,使用FPGA蓝牙通信技术设计了基于FPGA蓝牙通信技术的智能电子锁系统。通过手机APP直接控制电子锁,对电子锁进行双重加密处理,具有开锁、修改密码,管理员控制用户开锁信息表,增添和删除能开锁的用户信息等功能。经测试,系统使用方便,动态灵活,安全可靠

硬件接口协议之“I2C操作流程”

本文主要介绍I2C总线的读写操作流程。I2C总线的操作包括读和写,具体的操作流程如下:

【Vivado约束学习】 时钟网络分析

时钟网络反映了时钟从时钟引脚进入FPGA后在FPGA内部的传播路径。报告时钟网络命令可以从以下位置运行:

Xilinx APU ,RPU特点及通信

Zynq UltraScale+ MPSoC的PS有以下主要特点:一个四核64位ARM Cortex-A53处理器,带L1和L2级缓存和ECC功能,可单独上电和关电;Cache一致性互联单元为PS和PL提供双向Cache一致性保证;SMMU(系统内存管理)单元用于PS和PL虚拟内存管理;双核ARM Cortex-R5F处理器(带浮点扩展),可运行在锁步模式或独立工作模式

一张图理解区分各种傅利叶

本文只涉及各种傅利叶之间的概念关系,不考虑数学严谨性。