首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏瓜大三哥

    HLS Lesson13-for循环优化:合并

    循环的合并可以降低latency,这是因为for循环会在设计中创建额外的状态机,这些状态机会占用额外的时钟周期和额外的资源,所以会导致整个的latency会非常大 例2: 两个循环变量不一样的情况下,以循环最大为

    1.4K100发布于 2018-02-26
  • 来自专栏瓜大三哥

    HLS Lesson9-cc++ testbench书写

    目的: l验证C函数的正确性 l提高效率 1.main()函数返回0则表明结果是正确的,如果是非0则表明结果是不正确的。 2.输入激励(stimulus) 输入数据或者外部源文件 3.参考模型(ref

    1.1K100发布于 2018-02-26
  • 来自专栏机器学习与统计学

    Python使用9行代码批量合并Excel文件

    批量合并相同格式的Excel文件,Python只需要9行代码,并且格式优美,请跟我来。 我们这样的四个Excel文件,是四家公司的股票数据:百度、京东、阿里巴巴、爱奇艺,文件列表截图如下: ? 怎样合并成一个大的结果文件呢?按下面的步骤进行: 1、在当前目录下用纯文本的方式创建文件merge.py 文件名是随意的,主要以.py结尾 ? 2、用文本编辑器打开这个merge.py,输入以下的9行Python代码 ? 3、打开系统的命令行进入当前目录,输入python merge.py执行文件 ? 4、执行完之后,当前目录下就看到了合并后的文件 ? 打开后符合预期,数据被合并了: ? 以上用到了两个知识点: 1、Python的os.listdir可以列出目录下的所有文件 2、Pandas的pd.concat方法可以批量合并excel对象

    1.8K20发布于 2019-12-04
  • 来自专栏PowerBI战友联盟

    Power Query 真经 - 第 9 章 - 批量合并文件

    假设已经创建了一个名为“FilesList”的特定查询来显示想合并的文件,以及一个包含合并文件的结果(将在本章后面讨论)“Master Query”,查询体系结构最终将看起来如图9-4所示。 图9-11 将“FilesList”查询作为“暂存”查询加载 9.5 步骤 2:合并文件 随着对文件列表的整理,现在是时候对文件进行合并了。 9.5.1 标准模式 该过程的步骤 2 包括以下操作。 单击“Content”列顶部的合并文件(双箭头)按钮。 图9-12合并一个 Excel 文件中的文件夹 单击【合并文件】按钮(上图中的 #1 ),会弹出一个预览窗口。 Power Query 会计算一小段时间,然后合并文件,结果将如图9-13所示。 图9-13 突然间,主查询中出现了四个新查询和五个新步骤 这里有很多需要注意的地方。 如图9-16所示的“North”分部,将发生步骤级错误。 图9-16 了解数据将有助于在合并文件时预测和避免问题 【注意】 在更改“转换示例文件”时要小心,特别是在文件之间列名可能不同的情况下。

    7.7K40编辑于 2022-07-07
  • 来自专栏不温卜火

    MapReduce快速入门系列(9) | Shuffle之Combiner合并

    博主上篇讲解了分区,这篇要讲的是合并操作。如何讲解这个章节呢?首先先对什么是合并进行解释,然后通过案例进行证明。 一. Combiner合并的简单介绍 ? 今天我们讲的是Shuffle中的第七步 每一个 map 都可能会产生大量的本地输出,Combiner 的作用就是对map 端的输出先做一次合并,以减少在 map 和 reduce 节点之间的数据传输量, 可以很明显的看出在combiner阶段,通过合并同一个区中相同key的value值,减小了后续的数据传输,从而提高了网络的io!   但在MapReduce中,combiner是默认不开启的。 是因为数据合并并不适用所有的业务需求,如果是计算个数,求和combiner还能发挥它的优势!但如果是求平均数,combiner必不可免的会影响到最终的结果,使结果变得不可靠!

    88730发布于 2020-10-28
  • 来自专栏Lauren的FPGA

    Vivado HLS和Vitis HLS什么区别?

    Vivado HLS 2020.1将是Vivado HLS的最后一个版本,取而代之的是VitisHLS。那么两者之间有什么区别呢? 例如,在Vivado HLS下,默认是不会对循环设置Pipeline的,但在Vitis HLS下,只要循环边界小于64,就会对循环设置Pipeline。 在Vivado HLS下,默认Clock Uncertainty是时钟周期的12.5%,但在Vitis HLS下更严格,达到了27%。 ? 对循环而言,在Vivado HLS下,II(Initial Interval)默认的约束值为1,但在Vitis HLS下,II默认值为auto,意味着工具会尽可能达到最好的II。 User Guide Vitis HLS examples: https://github.com/Xilinx/HLS-Tiny-Tutorials

    12.3K20发布于 2020-11-09
  • 来自专栏Lauren的FPGA

    9讲 Vivado HLS 下 CC++ 测试平台的基本架构

    C测试平台往往也是很多初学者容易忽略的,这里再次强调,完整的HLS设计流程需要C和RTL的协同仿真这一步,而这一步能完成的前提是需要C测试平台。

    98030发布于 2019-10-31
  • 来自专栏瓜大三哥

    HLS综合策略

    Loop:rolled00 Array: BRAM Struct:被分解为成员变量 操作符:硬件核 优化策略 The Initial Optimizations INTERFACE DATA_PACK LOOP_TRIPCOUNT对综合没有影响,只是在报告中看循环次数Config Interface去除与顶层设计无关的 Pipeline for Performance PIPELINE减少了II(启动时间)DATA_FLOW使任务级流水线,允许函数和 同时循环执行。用来减少间隔 Directives

    1.7K70发布于 2018-02-26
  • 来自专栏媒矿工厂

    低延迟HLS

    本文是来自WWDC(苹果全球开发者大会) 2019的演讲,演讲的作者Roger Pantos,HLS的技术主管,本次演讲主题是介绍低延迟HTTP实时流(Low-Latency HLS)的实现和效果以及如何使用低延迟 HLS进行开发。 介绍了低延迟HLS的设计目标是1-2秒,并且具有速率适配、加密、广告、元数据、向后兼容等功能。 然后Roger介绍了低延迟HLS如何实现上述的目标,与之前的HLS相比有5大变化:减少发布延时、优化段发现、消除段往返、减少播放列表传输开销、快速切换层。随后介绍了完成这5项变化的细节。 接着Roger展示了使用低延迟HLS视频通话的延迟,在AppleTV上美国用户与澳大利亚用户在视频通话时的延迟低于2秒。 最后Roger介绍了对于开发者来说,如何使用低延迟HLS进行项目开发。

    2.4K10发布于 2019-09-25
  • 来自专栏全栈程序员必看

    HLS协议详解

    HLS只请求基本的HTTP报文,与 实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的 防火墙或者 代理服务器。它也很容易使用 内容分发网络来传输媒体流。 另外HLS协议本身实现了码率自适应,不同带宽的设备可以自动切换到最适合自己码率的视频播放。其实HLS最大的优势就是他的亲爹是苹果。 苹果在自家的IOS设备上只提供对HLS的原生支持,并且放弃了flash。Android也迫于平果的“淫威”原生支持了HLS。 但HLS也有一些无法跨越的坑,比如采用HLS协议直播的视频延迟时间无法下到10秒以下,而RTMP协议的延迟最低可以到3、4秒左右。所以说对直播延迟比较敏感的服务请慎用HLS。 这个视频在server服务器上被转换成HLS格式的视频(既TS和m3u8文件)文件。

    4.5K10编辑于 2022-11-15
  • 来自专栏Lauren的FPGA

    HLS IP Library?

    Vivado HLS提供了IP Library,这个C Library使得HLS可以直接由相应的C代码推断出Xilinx的IP,从而保证了高质量的FPGA实现。 首先,在用户头文件中需要添加hls_fft.h,如下图所示。同时,根据设计需求设置相关参数,如输入数据位宽、输出数据位宽、配置位宽、FFT长度等,这些参数的具体含义可参考pg109。 struct config1中的变量都有默认值,如果没有声明,HLS会按默认值处理。 ? 再看函数定义部分,如下图所示。注意代码的第141行,完成了以C语言的方式对FFT IP的实例化。 HLS综合报告接口部分显示的是32位,高16位为实部,低16位为虚部,如下图所示。 ?

    1.8K10发布于 2020-03-26
  • 南京观海微电子---Vitis HLS的工作机制——Vitis HLS教程

    Vitis HLS(原VivadoHLS)是一个高级综合工具。用户可以通过该工具直接将C、 C++编写的函数翻译成HDL硬件描述语言,最终再映射成FPGA内部的LUT、DSP资源以及RAM资源等。用户通过Vitis HLS,使用C/C++代码来开发RTL IP核,可以缩短整个FPGA项目的开发和验证时间。

    27410编辑于 2025-12-09
  • 来自专栏OpenFPGA

    HLS 实现 UART

    HLS 实现 UART 介绍 UART 是一种旧的串行通信机制,但仍在很多平台中使用。它在 HDL 语言中的实现并不棘手,可以被视为本科生的作业。 在这里,我将通过这个例子来展示在 HLS 中实现它是多么容易和有趣。 因此,从概念上讲,这是一个微不足道的项目;然而,它对于对 HLS 感兴趣的人来说是有启发性的。 delay(long long int n) { static bool dummy = 0; for (long long int j = 0; j < n; j++) { #pragma HLS

    55920编辑于 2023-11-20
  • 来自专栏Gnep's_Technology_Blog

    HLS直播协议详解

    -hls_time 5: 设置HLS(HTTP Live Streaming)分段的时长为5秒。这将影响生成的.m3u8文件中每个.ts分段文件的时长。 一、HLS 协议简介 HLS 全称为 HTTP Live Streaming,是苹果公司提出的基于 HTTP 的流媒体网络传输协议。 四、HLS 主要的应用场景 跨平台:PC 主要的直播方案是 RTMP,也有一些库能播放 HLS,譬如 jwplayer,基于 osmf 的 hls 插件也一大堆。 简单:HLS 作为流媒体协议非常简单,apple 支持得也很完善。Android 对 HLS 的支持也 会越来越完善。 总之,SRS 支持 HLS 主要是作为输出的分发协议,直播以 RTMP+HLS 分发,满总各种应用场景。点播以 HLS 为主。

    3.1K10编辑于 2023-10-29
  • 来自专栏媒矿工厂

    如何实现 LL HLS

    Featured-Articles/How-to-Implement-Low-Latency-HLS-(LL-HLS)-151723.aspx 翻译整理:徐鋆 苹果公司的低延迟 HLS (LL HLS) 的承诺是比标准 HLS 更低的延迟,并向后兼容非 LL HLS 的播放器。 为 LL HLS 进行了优化的播放器,如 JW Player[3] 和 HLS.js[4],平均在 5 到 6 秒之间,如下图 9 所示。 图 9 左边的程序窗口中的视频,右边的播放器窗口中的视频,显示 HLS.js 播放器的延迟略低于 6 秒 有趣的是,HLS.js demo 网页提供了大量有用的信息,显示延迟为 3.634 秒,你可以在图 26 秒,这倾向于证明 LL HLS 在非 LL HLS 播放器上是向后兼容的,尽管延迟是正常 HLS 的量级。

    3.1K30编辑于 2022-04-11
  • 来自专栏FPGA开源工作室

    Vivado hls 入门二

    Vivado hls 入门二 作者:OpenS_Lee 1 概述 Vivado HLS 是 Xilinx 提供的一个工具,是 Vivado Design Suite 的一部分,能把基于 C 的设计 (C 1.1 vivado hls 的设计流程 ? 图1 vivado hls的工作流程 Vivado HLS 流程有三种不同的 RTL 格式可以提供。如下: 1. Run_hls.tcl脚本源码如下: ? Labs2工程目录如下图。包括fir.c、fir.h、fir_test.c、out.gold.dat以及run_hls.tcl等文件。 ? 第一步 打开 vivado hls command prompt 如下图 ? 第二步 cd 到labs2目录下图 ? 第三步 输入vivado_hls -f run_hls.tcl 回车 ? 推荐阅读 《Vivado hls入门一》

    2.2K10发布于 2019-10-29
  • 来自专栏媒矿工厂

    HLS 的新特性

    多 CDN 切换并不是 HLS 标准生态中原生的部分,有许多不同的实现方式,各有各的优缺点,以下是一些最常见的实现方式。 由于基于 HTTP 的流媒体的性质以及 HLS 中独立可解码切片的使用,用户可以从不同的 CDN 中独立获取每个切片。 HLS 内容转向规范 内容转向规范为客户端提供了一种可以频繁地从远程服务器获取和更新 CDN 选择的方法。 到目前为止,HLS 中的内容转向规范的最新版本号为 1.2b1,这是此规范的第三个版本,每一个版本都是向后兼容的。 _HLS_pathway: 当前使用的 pathway 的 ID _HLS_throughput: THROUGHPUT 是每秒的整数位数。

    1.5K20编辑于 2022-05-24
  • 来自专栏FPGA开源工作室

    Vivado hls入门一

    Vivado hls入门一 作者:OpenS_Lee 1 概述 在集成电路行业飞速发展的今天,缩短产品开发的周期而又不牺牲验证过程,这不可避免地成为了商业市场的一个关键因素。 Xilinx Vivado High Level Synthesis (即Vivado HLS,高层综合)。 const int SAMPLES=600; FILE *fp; data_t signal, output; coef_t taps[N] = {0,-10,-9,23,56,63,56,23 ,-9,-10,0,}; int i, ramp_up; signal = 0; ramp_up = 1; fp=fopen("out.dat","w"); for (i=0;i<= 第一步:创建工程 打开Vivado hls ? 点击创建新工程 ? 工程名字:fir_prj下一步 ? 点击浏览,添加fir.c文件下一步 ?

    1.8K20发布于 2019-10-29
  • 来自专栏OpenFPGA

    优化 FPGA HLS 设计

    优化 FPGA HLS 设计 用工具用 C 生成 RTL 的代码基本不可读。以下是如何在不更改任何 RTL 的情况下提高设计性能。 介绍 高级设计能够以简洁的方式捕获设计,从而减少错误并更容易调试。 在高度复杂的 FPGA 设计中实现高性能需要手动优化 RTL 代码,而这对于HLS开发环境生成的 RTL 代码来说是不可能的。 该参考设计针对具有 Dual ARM® Cortex®-A9 MPCore™ 的 FPGA。 我们使用 Xilinx HLS 工具来打开此设计。 它的时钟周期为 5.00 ns,即 200 MHz。 例如,如果使用2017.3 HLS,请使用2017.3 Vivado。 选择“热启动”。“热启动”是基于之前其他设计经验的推荐策略列表。 单击“Start Recipe”开始优化。

    70131编辑于 2023-10-31
  • 南京观海微电子---Vitis HLS设计流程介绍——Vitis HLS教程

    传统的FPGA RTL设计流程主要是采用VHDL、VerilogHDL或System Verilog进行工程的开发,同时也是通过硬件描述语言来编写测试案例(Test Bench)对开发的工程进行仿真验证。随后根据延时、时序以及资源使用等条件因素对设计进行收敛,对硬件描述语言编写的工程进行综合、布局布线。最后在系统级层面对整个工程进行测试和迭代。

    19410编辑于 2025-12-09
领券