目 录

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. 九、DataArts Studio

    功能总览: 基本概念: 主题设计:通过分层架构表达对数据的分类和定义,帮助理清数据资产,明确业务领域和业务对象的关联关系. 主题域分组:基于业务场景对主题域分组. 主题域:互不重叠数据的高层面的数据分 ...

  2. .Net 线程与锁

    一台服务器能运行多少个线程,大致取决于CPU的管理能力.CPU负责线程的创建.协调.切换.销毁.暂停.唤醒.运行等.一个应用程序中,必须有一个进程维持应用程序的运行环境,一个进程可同时有多个线程协作处 ...

  3. Golang从入门到微服务

    学习视频: https://www.bilibili.com/video/BV1Sg411T7TV?p=69 学习资料下载: 链接: https://pan.baidu.com/s/1Yk4GemFR ...

  4. 记录——Qt Qcreator 顶部菜单栏的隐藏与恢复

    问题 我有一个朋友(嗯~无中生友),手残点击了 QCreator 中视图下的这个玩意儿: 当人的眼神不好时,可能不会看到这些快捷键以及无视这些弹窗. 解决方案 快捷键 ctrl + alt + M 可 ...

  5. DNS(1) -- DNS服务及dns资源类型

    目录 1.1 DNS服务概述 1.2 DNS域名结构 1.3 DNS解析原理 1.3.1 DNS查询类型 1.3.2 解析答案 1.4 DNS资源记录类型 1.1 DNS服务概述 DNS(Domain ...

  6. ubuntu16下升级python3的版本--升级到3.8

    ubuntu16下升级python3的版本,这里是升级到3.8. 1.首先添加安装源,在命令行输入如下命令: $ sudo add-apt-repository ppa:jonathonf/pytho ...

  7. 十三、.net core(.NET 6)搭建ElasticSearch(ES)系列之dotnet操作ElasticSearch进行存取的方法

    .net core操作ES进行读写数据操作 在Package包项目下,新增NEST包.注意,包版本需要和使用的ES的版本保持一致,可以避免因为不兼容所导致的一些问题.例如我本机使用的ES版本是7.13 ...

  8. 回顾复习x学习笔记

    从头回顾(截至搜索) #define fo(x,y,z) for(int (x)=(y);(x)<=(z);(x)++) #define foo(x,y,z) for(int (x)=(y);( ...

  9. Splashtop 免费60天 大赠送

    这两天又是双11,又是 EDG 夺冠,可谓喜事连连.热闹不断.我们也给大家准备了一份长达两个月的免费福利,快乐加倍嗷. 福利详情: 1.分享这篇文章(不要设置分组可见). 2.发送您的 Splasht ...

  10. C 语言编程 — 代码规范

    目录 文章目录 目录 前文列表 空行 空格 缩进 对齐 代码行 注释 示例 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> <C 语言编程 ...