首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» lab1——任意精度类型
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
lab1——任意精度类型
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2015-2-26 16:01
|
只看该作者
lab1——任意精度类型
double
,
寄存器
,
滤波器
,
成本
,
硬件
概述
C / C+ +提供的数据类型被固定为8位边界
•char(8-bit)
•short(16-bit)
•in(32-bit)
•longlong(64-bit)
•float(32-bit)
•double(64-bit)
•精确宽度的整数类型,如int16_t(16位)和int32_t(32位)
当创建硬件时,经常在一些例子中要求更高精度的位宽。例如,一个输入为12位的滤波器,累积的结果最大范围只要求27位,用标准C数据类型的硬件设计会导致不必要的硬件成本。比精确类型要求更多LUT和寄存器的操作延迟甚至超过时钟周期,因此需要更多的周期来计算结果
Vivado高层次综合(HLS)提供了许多位准确或任意精度的数据类型,可以让你模拟使用任何(任意)宽度的变量。
本教程由两个实验练习组成:
• Lab1 –综合使用浮点类型的设计和查看结果。本设计采用标准C+ +浮点类型。
• Lab2 –综合在lab1中使用同样的功能但使用任意精度合适类型,突出在精度和结果的优点。这次演习显示了同样的设计如何可以转换到VivadoHLSap_fixed类型,保留所要求的精度,但创造一个更优化的硬件实现。
教程设计描述
从xilinx网站下载教程设计文件,在教程设计中查看信息。教程所用的设计文件在教程目录vivado_HLS_Tutorial\Arbitary\Precision
任意精度:Lab1
任意精度Lab1:查看采用的标准C/C++类型设计
在这个lab中,您用标准的C类型综合设计,您用此设计作为一个参考,为lab2使用任意精度类型的设计的参考。
重要:在教程中的图片和命令假设教程数据路径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. 用命令提示符窗口,如92,改变lab1 C验证的路径
3. 执行TCL并建立vivado HLS Project,采用的是vivado_hls–f run_hls.tcl如图92所示
4. 当vivado HLS 完成,在用户界面里打开工程。用vivado_hls–p hamming_window_prj命令打开,如图93
步骤2:查看测试平台并运行C仿真
1. 在资源管理器中打开Source foleder,并双击window_fn_top.cpp打开代码如图94
、
2.按住ctrl键,并点击window_fn_top.h在45行,来打开头文件
3.向下滚动,展示类型定义如图95
这个设计采用标准的C/C++浮点类型对所有数据进行操作。Vivado高层次综合能综合浮点类型直接转化成硬件,提供的操作是标准的数学操作(+、-、*、%、etc).
当用从math.h或cmath.h中调用数学函数时,参考vivado HLS user guide(ug902)更多的细节关于数学函数在综合中被支持。
4. 在工具栏中点击run C Simulation按钮,打开C仿真对话框。
5. 接受默认的设置(没有选项被选择)并点击OK
控制台窗口出现了设计仿真希望的结果
步骤3:综合设计查看结果
1.在工具栏中点击Run C Synthesis按钮,为了把设计综合成RTL级
当综合完成,综合报告自动打开,图96出现了综合报告
实例中的顶层设计占用大多数资源。
2.把滚轮到报告的底部,展看实例,查看资源估计的细节部分如图97
细节展示了浮点乘法,(fmul),浮点操作花费了大量的资源和时钟。分析视图(图98)展示了这个操作还用了大部分的时钟周期,(8个状态中的5个需要来执行有循环winfn创建的逻辑)。
在本教程中,关于使用分析视图的更多细节可用。为了理解这种设计的目的,操作的两个状态,在第一个状态中,花费两个时钟从存储器中读操作,最后一个状态的操作是往存储器中写状态。
3.退出vivado HLS 用户界面,返回命令提示符
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议