
hls
馍加馒头
这个作者很懒,什么都没留下…
展开
-
HLS 1.如何在HLS上 使用xfopencv
准备vivado hls,xfopencv库xfopencv是xilinx最新的图像处理库,解压出来内容如下,include里是底层文件,前面三个文件夹是使用的例程。接下来要使用HLS_Use_Model下的例程文件,HLS_UseModel_Usage_Doc.pdf可详细参考。实验1.打开vivado hls2017.4,新建一个工程2.在Sourc...原创 2019-03-29 00:54:26 · 5884 阅读 · 14 评论 -
HLS 2.HLS接口
块级接口协议(Block-Level Interface Protocols)ap_ctrl_hs:默认模式,模块生成ap_ctrl协议接口(ap_start,ap_idle,ap_ready,ap_done)ap_ctrl_chain:比ap_ctrl_hs多个ap_continue接口(输入),由使用数据的后级模块反馈控制,0则模块停止操作,下一级不会运行ap_ctrl_none:...原创 2019-04-08 16:48:53 · 1326 阅读 · 0 评论 -
HLS 3.接口综合与结构体
结构体接口默认是拆分成它的成员,每个成员有单独的接口。DATA_PACK优化约束用来把结构体成员打包成一个宽的向量,所有成员能被同时读写,提高了吞吐量。成员按照c代码中的顺序,第一个成员对齐低位,最后一个成员对齐高位。DATA_PACK不支持队成员是结构体的结构体打包。DATA_PACK约束创建的唯一宽向量能够在一个时钟周期被存取。有种情况,结构体含有数组,有循环要使用这些数据并且数据能在...原创 2019-04-08 16:49:58 · 1478 阅读 · 0 评论 -
HLS 4.子函数编写及调用
一.单个信号输入输出子函数接口参数需要定义成指针,输入的实际变量不要定义成指针。示例:将float去整并输出后几位。void float2uint16(float *a,uint16 *b){ int c=(int)(*a); *b=((c%10000)/1000)*4096+((c%1000)/100)*256+((c%100)/10)*16+c%10;}调用:取实际变...原创 2019-07-30 16:32:13 · 1381 阅读 · 0 评论