目录 2ledflash案例19 2。1HLS工程说明19 2。2编译与仿真20 2。3IP核测试23 3keyleddemo案例23 3。1HLS工程说明23 3。2编译与仿真25 3。3IP核测试27 前言 本文主要介绍HLS案例的使用说明,适用开发环境:Windows71064bit、XilinxVivado 2017。4、XilinxVivadoHLS2017。4、XilinxSDK2017。4。 2ledflash案例 案例功能:控制评估底板LED2每隔0。5s将状态翻转一次。 2。1HLS工程说明 (1)时钟 HLS工程配置的时钟为100MHz,案例将该时钟用于计算0。5s间隔时间进行LED2亮 灭状态控制,生成的IP核亦需接入该时钟。如需修改时钟频率,请打开HLS工程后点击 ,在弹出的界面中的Synthesis栏目进行修改。 图29 (2)顶层函数 案例顶层函数为ledflash。cpp中的ledflash()。 图30 点击 后,可在弹出的界面中的Synthesis栏目查看或设置顶层函数。 图31 该函数控制评估底板LED2每隔0。5s将状态翻转一次。工程设置的时钟为100MHz(周 期10ns),在for循环里计数值为100000000,用时为10nsx1000000001s。 2。2编译与仿真 请参考本文档 进行单步运行, HLS开发流程说明章节,进行编译。编译完成后,进入仿真界面点击 进入ledflash()函数。 图32 图33 继续点击 进入for循环,当i50000000时,ledo等于1(true)。 图34 点击 全速运行或修改i的值为50000000,当i50000000时,ledo等于0(false)。 图35 2。3IP核测试 请参考本文档HLS开发流程说明章节,完成IP核测试前的准备工作。 HLS工程生成的IP核为ledflash0。 图36 加载PL端。bit格式可执行文件,即可看到评估底板的LED2进行闪烁。 3keyleddemo案例 案例功能:通过按键KEY2控制评估底板的LED2状态。 3。1HLS工程说明 (1)时钟 HLS工程配置的时钟为100MHz。案例通过按键KEY2控制评估底板的LED2状态,实 际没有使用该时钟。如需修改时钟频率,请打开HLS工程后点击 ,在弹出的界面中的Synthesis栏目进行修改。 图37 (2)顶层函数 案例顶层函数为keyleddemo。cpp中的keyleddemo()。 图38 点击 后,可在弹出的界面中的Synthesis栏目查看或设置顶层函数。 图39 按键所对应的IO默认是上拉、高电平。按下按键时,keyi为0;松开按键时,keyi为1。 普通标量类型参数对应IP核的输入接口,如keyi作为输入。指针类型参数可作为输 入输出,如ledo作为输出。 图40 3。2编译与仿真 请参考本文档 进行单步运行, ledo的值为1。 HLS开发流程说明章节,进行编译。编译完成后,进入仿真界面点击可看到Console窗口打印ledo的值。由于keyi默认值为0,因此 图41 修改keyi的值为1,并继续点击 进行单步运行。 图42 此时可看到ledo的值为0。 图43 3。3IP核测试 请参考本文档HLS开发流程说明章节,完成IP核测试前的准备工作。 HLS工程生成的IP核为keyleddemo0。 图44 加载PL端。bit格式可执行文件,按下KEY2则LED2点亮,松开KEY2则LED2熄灭。