目 录

2 led_flash 案例 19

2.1 HLS 工程说明 19

2.2 编译与仿真 20

2.3 IP 核测试 23

3 key_led_demo 案例 23

3.1 HLS 工程说明 23

3.2 编译与仿真 25

3.3 IP 核测试 27

前 言

本文主要介绍 HLS 案例的使用说明,适用开发环境: Windows 7/10 64bit、Xilinx Vivado

2017.4 、Xilinx Vivado HLS 2017.4 、Xilinx SDK 2017.4。

测试板卡是基于创龙科技Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC工业级核心板。

2 led_flash 案例

案例功能:控制评估底板 LED2 每隔 0.5s 将状态翻转一次。

2.1 HLS 工程说明

(1) 时钟

HLS 工程配置的时钟为 100MHz ,案例将该时钟用于计算 0.5s 间隔时间进行 LED2 亮

灭状态控制,生成的 IP 核亦需接入该时钟。如需修改时钟频率, 请打开 HLS 工程后点击

,在弹出的界面中的 Synthesis 栏目进行修改。

图 29

(2) 顶层函数

案例顶层函数为 led_flash.cpp 中的 led_flash()。

图 30

点击

后,可在弹出的界面中的 Synthesis 栏目查看或设置顶层函数。

图 31

该函数控制评估底板 LED2 每隔 0.5s 将状态翻转一次。工程设置的时钟为 100MHz(周

期 10ns) ,在 for 循环里计数值为 100000000,用时为 10ns x 100000000 = 1s 。

2.2 编译与仿真

请参考本文档

进行单步运行,

HLS 开发流程说明章节,进行编译。编译完成后, 进入仿真界面点击

进入 led_flash()函数。

图 32

图 33

继续点击

进入 for 循环,当 i < 50000000 时, *led_o 等于 1(true)。

图 34

点击

全速运行或修改 i 的值为 50000000,当 i ≥ 50000000 时,*led_o 等于 0(false)。

图 35

2.3 IP 核测试

请参考本文档 HLS 开发流程说明章节,完成 IP 核测试前的准备工作。

HLS 工程生成的 IP 核为 led_flash_0。

图 36

加载 PL 端.bit 格式可执行文件,即可看到评估底板的 LED2 进行闪烁。

3 key_led_demo 案例

案例功能:通过按键 KEY2 控制评估底板的 LED2 状态。

3.1 HLS 工程说明

(1) 时钟

HLS 工程配置的时钟为 100MHz 。案例通过按键 KEY2 控制评估底板的 LED2 状态,实

际没有使用该时钟。 如需修改时钟频率, 请打开 HLS 工程后点击

,在弹出的界面中的 Synthesis 栏目进行修改。

图 37

(2) 顶层函数

案例顶层函数为 key_led_demo.cpp 中的 key_led_demo()。

图 38

点击

后,可在弹出的界面中的 Synthesis 栏目查看或设置顶层函数。

图 39

按键所对应的 IO 默认是上拉、高电平。按下按键时, key_i 为 0;松开按键时, key_i 为 1。

普通标量类型参数对应 IP 核的输入接口, 如 key_i 作为输入。指针类型参数可作为输

入输出, 如*led_o 作为输出。

图 40

3.2 编译与仿真

请参考本文档

进行单步运行,

led_o 的值为 1。

HLS 开发流程说明章节,进行编译。编译完成后, 进入仿真界面点击 可看到 Console 窗口打印 led_o 的值。由于 key_i 默认值为 0 ,因此

图 41

修改 key_i 的值为 1,并继续点击

进行单步运行。

图 42

此时可看到 led_o 的值为 0 。

图 43

3.3 IP 核测试

请参考本文档 HLS 开发流程说明章节,完成 IP 核测试前的准备工作。

HLS 工程生成的 IP 核为 key_led_demo_0。

图 44

加载 PL 端.bit 格式可执行文件,按下 KEY2 则 LED2 点亮,松开 KEY2 则 LED2 熄灭。

嵌入式HLS 案例开发手册——基于Zynq-7010/20工业开发板(2)的更多相关文章

  1. 学习参考《Flask Web开发:基于Python的Web应用开发实战(第2版)》中文PDF+源代码

    在学习python Web开发时,我们会选择使用Django.flask等框架. 在学习flask时,推荐学习看看<Flask Web开发:基于Python的Web应用开发实战(第2版)> ...

  2. 《阿里巴巴Java开发手册》更新为《Java开发手册》

    新版一览:华山版<Java开发手册> <阿里巴巴Java开发手册>始于阿里内部规约,在全球Java开发者共同努力下,已成为业界普遍遵循的开发规范,涵盖编程规约.异常日志.单元测 ...

  3. 【DSP开发】【Linux开发】基于ARM+DSP进行应用开发

    针对当前应用的复杂性,SOC芯片更好能能满足应用和媒体的需求,集成众多接口,用ARM做为应用处理器进行多样化的应用开发和用户界面和接口,利用DSP进行算法加速,特别是媒体的编解码算法加速,既能够保持算 ...

  4. FlaskWeb开发:基于Python的Web应用开发实战

    所属网站分类: 资源下载 > python电子书 作者:熊猫烧香 链接:http://www.pythonheidong.com/blog/article/63/ 来源:python黑洞网,专注 ...

  5. (转)微信公众平台开发之基于百度 BAE3.0 的开发环境搭建(采用 Baidu Eclipse)

    原文传送门(http://blog.csdn.net/bingtianxuelong/article/details/17843111) 版本说明:     V1:         2014-2-13 ...

  6. C#开发之基于NPOI的操作Excel开发体验

    最近遇到一个数据导入的需求,语言是.net framework 4.7的C#.但是,这次主要探讨NPOI的体验,原则就是向前兼容.所以采用.xls的支持.网上的资料,我稍微整合了一些. #1 单元格下 ...

  7. 微信公众平台开发之基于百度 BAE3.0 的开发环境搭建(MyEclipse + SVN)

    等待加载完成后,在"Personal Sites" 栏目中会显示你加载的SVN的相关内容,展开"SVN"分别选择"Core SVNKit Librar ...

  8. 微信公众平台开发之基于百度 BAE3.0 的开发环境搭建(采用 Baidu Eclipse)

    3.通过 SVN 检入工程     在 bae 上的应用添加部署成功后,如图 7     点击“点击查看”按钮,会打开一个新页面,页面上会打印 “hello world” ,这是因为我们的应用包含有示 ...

  9. Android 项目优化(七):阿里巴巴Android开发手册整理总结

    本来之前觉得Android项目优化系列的文章基本整理完毕了,但是近期看了一下<阿里Android开发手册>有了很多收获,想再整理一篇,下面就开始吧. 先在这里列一下之前整理的文章及链接: ...

  10. CH02基于ZYNQ的嵌入式LINUX移植

    CH02基于ZYNQ的嵌入式LINUX移植 1.1概述 实验环境: Windows 10 专业版 Vmware workstation 14.1.1 Ubuntu 16.04.3 Xilinx SDx ...

随机推荐

  1. 【简说Python WEB】用户身份验证--Werkzeug

    目录 [简说Python WEB]用户身份验证--Werkzeug Flask的security扩展 使用Werkzeug生成密码散列值 系统环境:Ubuntu 18.04.1 LTS Python使 ...

  2. vue3的reactive对象赋值后失去响应式的问题

    vue3种对象类型的响应式用reactive实现. 但是reactive对象在赋值后,因为变量代理函数变了,就失去了响应式功能了.示例如下: <template> <div> ...

  3. css样式相关的惊艳的属性

    CSS gap 简写属性用于设置行与列之间的间隙(网格间距). 规范的早期版本将该属性命名为 grid-gap,且为了保持与旧网站的兼容性,浏览器仍然会接受 grid-gap 作为 gap 的别名. ...

  4. Ajax 请求总共有八种 Callback

    1)onSuccess 2)onFailure 3)onUninitialized 4)onLoading 5)onLoaded 6)onInteractive 7)onComplete 8)onEx ...

  5. 【漏洞通报】WEB VIDEO PLATFORM疑似存在未授权访问漏洞

    漏洞描述 WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的开箱即用的网络视频平台,负责实现核心信令与设备管理后台部分,支持NAT穿透,支持海康.大华.宇视等品牌的IPC ...

  6. webapi中间件没有使用终结点中间件时的注意事项

    最小webapi 最小webapi默认的中间件配置是这样的 app.UseHttpsRedirection(); app.UseAuthorization(); app.MapControllers( ...

  7. Python提取文本文件(.txt)数据的方法

      本文介绍基于Python语言,遍历文件夹并从中找到文件名称符合我们需求的多个.txt格式文本文件,并从上述每一个文本文件中,找到我们需要的指定数据,最后得到所有文本文件中我们需要的数据的合集的方法 ...

  8. Vue 组件生命周期:探索钩子

    title: Vue 组件生命周期:探索钩子 date: 2024/5/27 18:42:38 updated: 2024/5/27 18:42:38 categories: 前端开发 tags: 生 ...

  9. swap文件修复

    修复swap文件 vim -r /aaaa.swap

  10. Mysql 5.7 及以上版本修改密码

    登录数据后.选择 mysql 数据库 use mysql; 修改密码 update user set authentication_string=PASSWORD("mynewpasswor ...