FPGA基础知识29(lut as logic 资源优化)

2024-04-09 17:58

本文主要是介绍FPGA基础知识29(lut as logic 资源优化),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

来自:https://forums.xilinx.com/t5/7-Series-FPGA-%E5%85%B6%E4%BB%96-FPGA-%E5%99%A8%E4%BB%B6/zynq7000-020-synthesis-LUT-overflow/m-p/886425#M892

 

 

Hi,

     我在使用zynq7000 020时,使用ECC纠错算法逻辑,综合下来LUT资源所需为73580,而020中的LUT资源为53000,超出将近40%。使用Flow_AreaOptimized_high策略替换默认策略,效果甚微,请问还有没有什么别的办法?谢谢!

 

注册日期: ‎05-27-2018

回复: zynq7000 020 synthesis LUT overflow

 

 

Hi @andy_lvjing,

     你在implemention那一栏下面选择report utilization,看一下你设计的哪一个模块占用了大量的LUT资源,是LUT as logic还是LUT as memory占用的多,再考虑一下从哪方面优化自己的设计。

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

 

 

修改时间 ‎08-31-2018 05:14 PM

Hi,

   我们主要占用的是LUT Logic,因为ECC算法中用了大量的异或单元:

 

2.png

1.png

 

修改时间 ‎09-03-2018 06:06 PM

Hi @andy_lvjing,

    先参考一下这个链接, 你的设计里面资源利用不均,算法也需要优化。

 

 

 

来自:https://forums.xilinx.com/t5/7-Series-FPGAs/How-can-I-utilize-Memory-LUTs-as-a-Logic-LUT/m-p/639178/highlight/true#M12418

 

 

Hi,

 

I am using Kintex-7 XC7K160T-2FFG676C device with Vivado 2013.4. Since I'm not able to implement my design due over resource utilization, I have attached resourse utilization report generated after synthesis.

As per synthesis utilization report, I can see only 14% utilization of LUT as Memory and logic LUT utilization exceeds 100%. So is there a way that Memory LUTs can be utilized as logic LUTs?

 

Thanks,

Vijay

synth_utilization.PNG

 

 

 

o answer the original question...

 

All LUTs are able to be used as logic. Rougly 1/4 of them can also be used as memory. Looking at your numbers it says there are 101,400 slice LUTs in the FPGA. Of this, only 35,000 can be used as memory, but all can be used as logic. Your design is trying to use 107,195 as logic and 4,727 as memory - thus a total of 111,922 of the 101,400 are used.

 

This is WAY too much for the device. Vivado is much better than ISE at getting high LUT utilizations, but even at that you should not be targetting more than 85% utilization - you can get a bit more, but it starts getting very difficult to meet timing at higher utilizations.

 

You either have to choose a larger device of simplify your design so that it doesn't use as many LUTs. You may be able to do some recoding that will allow some LUT based logic to be moved to block RAMs (some state machines can) and/or DSP slices (although you are using a good number of DSPs already), but I doubt that this is going to be enough to get this to fit in your device.

这篇关于FPGA基础知识29(lut as logic 资源优化)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Java实现复杂查询优化的7个技巧小结

《Java实现复杂查询优化的7个技巧小结》在Java项目中,复杂查询是开发者面临的“硬骨头”,本文将通过7个实战技巧,结合代码示例和性能对比,手把手教你如何让复杂查询变得优雅,大家可以根据需求进行选择... 目录一、复杂查询的痛点:为何你的代码“又臭又长”1.1冗余变量与中间状态1.2重复查询与性能陷阱1.

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

MySQL中优化CPU使用的详细指南

《MySQL中优化CPU使用的详细指南》优化MySQL的CPU使用可以显著提高数据库的性能和响应时间,本文为大家整理了一些优化CPU使用的方法,大家可以根据需要进行选择... 目录一、优化查询和索引1.1 优化查询语句1.2 创建和优化索引1.3 避免全表扫描二、调整mysql配置参数2.1 调整线程数2.

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置

深入解析Java NIO在高并发场景下的性能优化实践指南

《深入解析JavaNIO在高并发场景下的性能优化实践指南》随着互联网业务不断演进,对高并发、低延时网络服务的需求日益增长,本文将深入解析JavaNIO在高并发场景下的性能优化方法,希望对大家有所帮助... 目录简介一、技术背景与应用场景二、核心原理深入分析2.1 Selector多路复用2.2 Buffer

SpringBoot利用树形结构优化查询速度

《SpringBoot利用树形结构优化查询速度》这篇文章主要为大家详细介绍了SpringBoot利用树形结构优化查询速度,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一个真实的性能灾难传统方案为什么这么慢N+1查询灾难性能测试数据对比核心解决方案:一次查询 + O(n)算法解决

Go语言使用sync.Mutex实现资源加锁

《Go语言使用sync.Mutex实现资源加锁》数据共享是一把双刃剑,Go语言为我们提供了sync.Mutex,一种最基础也是最常用的加锁方式,用于保证在任意时刻只有一个goroutine能访问共享... 目录一、什么是 Mutex二、为什么需要加锁三、实战案例:并发安全的计数器1. 未加锁示例(存在竞态)