首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

学习Vivado第4章lab2——接口I/O协议

学习Vivado第4章lab2——接口I/O协议




概述
这个实验解释了怎么指定具体的端口I/O协议。
1. 在lab1中用Vivado HLS命令提示符,更改为lab2目录,如图64
2. 键入vivado_hls -f run_hls.tcl来创建新的Vivado HLS工程


Figure 64: Setup for Interface Synthesis Lab 2

3. 键入vivado_hls -p adders_io_prj 来打开vivado HLS 用户界面工程
4. 打开源代码如图65


Figure 65: C Code for Interface Synthesis Lab 2

本练习的源代码是与lab1类似。出于同样的原因使用简单的代码,它有助于聚焦在接口的行为,而不是核心逻辑。
这一次,代码没有一个函数的返回,取代函数输出的是通过指针参数* in_out1输出。这也提供了机会,探索双向(输入输出)端口的接口选项。
I / O协议的类型,你可以通过接口综合添加到C函数的参数取决于参数类型。这些选项在Vivado高层次综合用户指南(UG902)有完整描述。
在本实施例中的指针参数既是输入和输出的功能。在RTL设计中,该参数被实现为单独的输入和输出端口。
对于图65所示的代码,每个函数参数可能的选项在下表中被描述

函数参数

I/O协议选择

In1 和 In2
按值传递的参数都可以用下面的I / O协议来实现
• Ap_none:没有I/O协议,这个是默认的输入
• Ap_stable:无I/O协议
• Ap_ack:实现与相关的输出端口确认
• Ap_val:实现与相关的输入有效端口
• Ap_hs:实现了两个输入有效和输出端口确认。
In_out1
按引用传递的输出可以用下面的I/O协议实现
•Ap_none:没有I/O协议,这个是默认的输入
•Ap_stable:无I/O协议
•Ap_ack:实现与相关的输出端口确认
•Ap_val:实现与相关输出的有效端口,这个是默认的输出
•ap_ovld:实现与相关输出有效端口,(任何INOUT端口的输入部分没有有效的端口)
•ap_hs:实现所有输入有效端口和输出响应端口
•ap_fifo:FIFO接口与相关输出写入,输入FIFO满端口
•ap_bus:Vivado HLS总线接口协议


在实验1中应用的端口指令实际上不是必需的,因为AP_NONE是使用这些C参数的默认I/ O协议。在这个练习中给出了指令,以避免处理任何默认或不是默认的I / O端口协议的行为。
在本练习中,您将实现一系列的I / O协议。
步骤2:端口具体的I/O协议
1. 保证能在信息窗口中看见C源代码
2. 激活指令选项卡(Directives tab)并选择输入参数in1(input argument in1),如图66


Figure 66: Adding Port I/O Protocols

3. 右击并选择插入指令(Insert Directives)
4. 当指令编辑窗口打开,使指令下来框为INTERFACE
a. 保持目标是默认值,这次,指令被存储在directives.tcl文件中。
b. 从模式下来菜单选择ap_val
c. 点击OK
5. 选择参数 in2 ,添加一个接口指令指定I/O协议为ap_ack
6. 选择参数in_out1并添加一个接口指令I/0协议为ap_hs
7. 在资源管理器窗口中,扩展约束文件夹,并双击打开directives.tcl文件,如图67


Figure 67: Directives for Lab 2

8. 综合设计
9. 当文件打开时,查看接口概述,如图68


Figure 68: Interface summary for Lab 2

设计有时钟和复位默认块级协议信号是存在的端口in1被以数据端口而实现,并伴随输入有效信号数据在in1端口上,仅读。当端口in1_ap_vld为有效高端口in2被综合为数据端口,并与输出响应信号相关联当端口in2被读时,端口in2_ap_ack将被置高inout_i定义为inout1参数的输入部分,与输入有效端口inout1_i_ap_val相关联,并且输出响应端口inout1_i_ap_ackinout1参数输出部分定义为inout_o,与输出有效端口inout1_o_ap_val相关联,并输入响应端口inout1_o_ap_ack.10. 退出vivado HLS GUI 并且返回命令提示口
附件大小实验例子.rar19.66 KB


记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表