An Independent Analysis Altera’s FPGA Floating-point DSP Design Flow

2024-01-11 12:18

本文主要是介绍An Independent Analysis Altera’s FPGA Floating-point DSP Design Flow,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文链接:http://www.altera.com.cn/literature/wp/wp-01166-bdti-altera-floating-point-dsp.pdf

后续按照文章测试方法,做一个Xilinx DSP架构FPGA对比测试,就更有意义了。

不过记住:人脑是最好的优化器!


简介如下:

OVERVIEW
FPGAs are increasingly used as parallel processing engines for demanding digital 
signal processing applications. Benchmark results show that on highly parallelizable 
workloads, FPGAs can achieve higher performance and superior cost/performance 
compared to digital signal processors (DSPs) and general-purpose CPUs. However, to 
date, FPGAs have been used almost exclusively for fixed-point DSP designs.  FPGAs 
have not been viewed as an effective platform for applications requiring high-performance 
floating-point computations.  FPGA floating-point efficiency and performance has been 
limited due to long processing latencies and routing congestion. In addition, the traditional 
FPGA design flow, based on writing register-transfer-level hardware descriptions in 
Verilog or VHDL, is not well suited to implementing complex floating-point algorithms. 
Altera has developed a new floating-point design flow intended to streamline the 
process of implementing floating-point digital signal processing algorithms on Altera 
FPGAs, and to enable those designs to achieve higher performance and efficiency than 
previously possible. Rather than building a datapath consisting of elementary floatingpoint operators (for example, multiplication followed by addition followed by squaring), the 
floating-point compiler generates a fused datapath that combines elementary operators 
into a single function or datapath.  In doing so, it eliminates the redundancies present in 
traditional floating-point FPGA designs. In addition, the Altera design flow is a high-level 
model-based flow using Altera’s DSP Builder Advanced Blockset and the MathWorks’ 
MATLAB and Simulink tools.  Altera hopes that by working at a high level, FPGA 
designers will be able to implement and verify complex floating-point algorithms more 
quickly than would be possible with traditional HDL-based design. 
BDTI performed an independent analysis of Altera’s floating-point DSP design 
flow.  BDTI’s objective was to assess the performance that can be obtained on Altera 
FPGAs for demanding floating-point DSP applications, and to evaluate the ease-of-use of 
Altera’s floating-point DSP design flow. This paper presents BDTI’s findings, along with 
background and methodology details.

这篇关于An Independent Analysis Altera’s FPGA Floating-point DSP Design Flow的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/594335

相关文章

GNSS CTS GNSS Start and Location Flow of Android15

目录 1. 本文概述2.CTS 测试3.Gnss Flow3.1 Gnss Start Flow3.2 Gnss Location Output Flow 1. 本文概述 本来是为了做Android 14 Gnss CTS 的相关环境的搭建和测试,然后在测试中遇到了一些问题,去寻找CTS源码(/cts/tests/tests/location/src/android/locat

时间序列|change point detection

change point detection 被称为变点检测,其基本定义是在一个序列或过程中,当某个统计特性(分布类型、分布参数)在某时间点受系统性因素而非偶然因素影响发生变化,我们就称该时间点为变点。变点识别即利用统计量或统计方法或机器学习方法将该变点位置估计出来。 Change Point Detection的类型 online 指连续观察某一随机过程,监测到变点时停止检验,不运用到

FPGA编译与部署方法全方位介绍

FPGA编译与部署是FPGA开发中的核心环节,涉及从代码编写、调试到将设计部署到FPGA硬件的全过程。这个流程需要经过创建项目、编写FPGA VI、模拟调试、编译生成比特流文件,最后将设计部署到硬件上运行。编译的特点在于并行执行能力、定制化硬件实现以及复杂的时钟管理。通过LabVIEW的FPGA模块和NI硬件,可以快速完成开发和部署,尤其适用于复杂控制与高性能数据处理系统。 1. FPG

FPGA开发:条件语句 × 循环语句

条件语句 if_else语句 if_else语句,用来判断是否满足所给定的条件,根据判断的结果(真或假)决定执行给出的两种操作之一。 if(表达式)语句; 例如: if(a>b) out1=int1; if(表达式)         语句1; else         语句2; 例如: if(a>b)out1=int1;elseout1=int2; if(表达式1) 语句1; els

FPGA开发:模块 × 实例化

模块的结构 对于C语言,其基本单元为函数。与此类似,Verilog的基本设计单元称之为"模块"(block)。对于整个项目的设计思想就是模块套模块。 一个模块由两个部分组成:一部分描述接口,一部分描述逻辑功能。 每个Verilog模块包含4个部分:端口定义、IO说明、内部信号声明、功能定义。且位于module和endmodule之间,如下: module block(a,b,c);inpu

Axure元件库Ant Design中后台原型模板:提升设计与开发效率的利器

企业对于中后台产品的设计与开发需求日益增长。为了提升用户体验和开发效率,设计者和开发者们不断寻求更加高效、统一的解决方案。Ant Design,作为阿里巴巴开源的一套企业级UI设计语言和React组件库,凭借其丰富的组件和统一的设计风格,已成为众多项目的首选。而在Axure中使用Ant Design元件库,更是为中后台产品的原型设计带来了极大的便利。 Ant Design简介 Ant D

【UVA】11400-Lighting System Design(动态规划)

这道题感觉状态式不是很好推。。。 WA了好几次是因为排序的时候出问题了。 这道题出在线性结构里了,先说一下最长上升子序列吧。 dp[i]代表了以array[i]结尾的时候,最长子序列长度。 推导的时候,以起点递增的顺序进行推导。 #include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#i

Understanding the GitHub Flow

这里看下Github的入门介绍    --链接 GitHub Flow is a lightweight, branch-based workflow that supports teams and projects where deployments are made regularly. This guide explains how and why GitHub Flow works

LabVIEW环境中等待FPGA模块初始化完成

这个程序使用的是LabVIEW环境中的FPGA模块和I/O模块初始化功能,主要实现等待FAM(Field-Programmable Gate Array Module,FPGA模块)的初始化完成,并处理初始化过程中的错误。让我们逐步分析各部分的功能: 1. Wait for FAM Initialization框架 此程序框架用于等待I/O模块成功初始化。如果在5秒钟内模块没有完成配

FPGA随记——小说 可综合和不可综合

当然我在网络上找到了些可综合和不可综合的解释 感觉也很有参考价值: https://wenda.so.com/q/1378362174074040 综合就是把你写的rtl代码转换成对应的实际电路。 比如你写代码assign a=b&c; EDA综合工具就会去元件库里拿一个二输入与门出来,然后输入端分别接上b和c,输出端接上a 假如你写了很多这样的语句 assign a=b&c; assig