好文档 - 专业文书写作范文服务资料分享网站

(完整word版)学习VivadoHLS第4章例程中文版

天下 分享 时间: 加入收藏 我要投稿 点赞

学习Vivado第4章lab1——接口综合

概述

接口综合是将RTL接口添加到C设计的过程。另外还把物理接口添加到RTL设计中,接口综合包括了相关联的I/O协议,容许数据通过接口传输并自动与内部优化的逻辑同步。 本教程由4实验练习组成涵盖的主要功能和接口综合。 ?Lab1: 查看函数的返回和块级协议

?Lab2: 理解默认端口的I/O协议,并学会怎么选择I/O协议 ?Lab3: 查看一下数组端口实现,可以进行分区。 ?Lab4: 为设计创建一个优化的实现并添加AXI4接口

教程设计描述

从xilinx网站下载教程的设计文件,参考信息中获取教程设计。 本教程使用教程目录中的设计文件

Vivado_HLS_Tutorial\\ Interface_Synthesis。

关于实验

?使用前两个实验室在本教程中的示例的设计很简单,这有助于将焦点保持在接口。 ?最后两个实验练习使用多通道累加器。

?本教程介绍如何实现采用高层次综合实现I/O端口和协议。 ?在实验4中,创建一个在Lab3中使用最优实现的设计 接口综合 lab1:块级I/O协议

概述

这个实验解释了什么是块级I/O协议,并控制它们 重点:在本教程中的图片和命令假定了教程数据目录

Vivado_HLS_Tutorial被解压并放置在c:\\vivado_HLS_Tutorial

如果教程数据路径解压到不同的位置,或者在linux系统上,调整路径名称指向你选择放置Vivado_HLS_Tutorial目录位置。

步骤1:创建并打开工程

1.打开Vivado HLS 命令提示符

a.在windows系统中,采用Start>All Programs>Xilinx Design Tools>Vivado2014.2>Vivado HLS>Vivado HLS 2014.2 Command Prompt,如下图

b.在linux系统下,打开新的shell,

2. 用命令提示符窗口,如图55,把接口综合教程的路径变为lab1

3. 执行TCL并建立vivado HLS Project,采用的是vivado_hls–f run_hls.tcl如图55所示

4. 当vivado HLS 完成,在用户界面里打开工程。用vivado_hls–p vivado_hls–p adders_prj命令打开,如图56

步骤2:创建和查看默认的块级I/O协议

1. 在源文件夹中双击adders.c,打开源代码,并查看如图57

这个例子用了一个简单的设计,把焦点集中在I/O实现上(在设计中没有逻辑)这段代码的重要点如下: ?编译格式的指令被添加到源代码中,为了防止任何I/O协议被综合成为一些数据结构(inA,inB,和inC),I / O端口的协议将在接下来的实验练习中复习。

?这个函数返回一个值并且从这个函数中只有唯一的输出。正如在后面的练习,不是所有的函数都返回一个值。在本实验练习中讨论该函数返回创建的端口。

2. 用工具栏中的按钮执行Run C Synthesis命令,或Solution菜单 当综合完成,综合报告会自动打开

3. 查看RTL接口,滚动到综合报告摘要的结尾处。接口摘要和Outline选项卡如图58

有三种类型的端口可以查看

?设计完成花费超过一个时钟周期,因此时钟和复位已经添加到设计中:ap_clk和ap_rst.这两个信号都是一位输入。 ?块级I/O协议为了控制RTL设计已经添加端口:ap_start,ap_done,ap_idle和ap_ready。这些端口随后会被详细说明 ?设计还有4个数据端口

?输入端口In1,In2和In3,都是32位输入,和指定I/O协议的ap_done(如在图58中指定的指令) ?该设计还具有对函数返回一个32位的输出端口,ap_return。

块级I / O协议允许通过附加的端口、独立数据I / O端口对RTL设计进行控制。但此I / O协议是与函数本身相关联,不与任何数据端口相关联。默认的块级I/O协议被称为ap_ctrl_hs。图58显示了这个协议是与函数的返回值相关联(即 使函数中的代码没有指定返回值这也可以) 表1概括了用于块级I / O协议ap_ctrl_hs的信号的行为。

注:解释一下使用术语“交易”。在高层次综合的情况下,一个事务是相当于一个执行C函数(或在综合RTL设计中的等效操作)

应用 ap_start 描述 该信号控制模块执行,逻辑为1时设计开始运行。 它应保持逻辑1直到相应的输出握手ap_ready被置位。当ap_ready变高时,决定了是否继续保持ap_start置位并执行其他事物或设置ap_start为逻辑0,当前事务的结束时允许设计暂停,。 如果在ap_ready为逻辑1 之前ap_start被置为低,设计有可能没有把所有输入端口读完,并可能拖延下一个输入读取操作。 这个输出信号表明设计已经准备好接受新数据 当准备好接受新的输入时,ap_ready信号设置为逻辑1。表明所有为这次事物的输入读已经完成。 如果设计不是流水线操作,直到下一次事物才开始执行新的读。 这个信号是用来决定何时在端口上用新的值,决定是否用一个ap_start输ap_ready

(完整word版)学习VivadoHLS第4章例程中文版

学习Vivado第4章lab1——接口综合概述接口综合是将RTL接口添加到C设计的过程。另外还把物理接口添加到RTL设计中,接口综合包括了相关联的I/O协议,容许数据通过接口传输并自动与内部优化的逻辑同步。本教程由4实验练习组成涵盖的主要功能和接口综合。?Lab1:查看函数的返回和块级协议?Lab2:理解默认端口的I/O协议,并学会怎么
推荐度:
点击下载文档文档为doc格式
75rhd2xqwj03gjy5zd2f62h6002tw800lbg
领取福利

微信扫码领取福利

微信扫码分享