微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 如何在编写rtl代码前评估算法的逻辑复杂度

如何在编写rtl代码前评估算法的逻辑复杂度

时间:10-02 整理:3721RD 点击:
各位大侠,请问个问题:
如何在编写rtl代码前评估算法的逻辑复杂度(即需要多少逻辑门资源,或等效多少门)。
最近接了个任务,要求评估算法将来用 RTL 实现所需要的逻辑门资源,他不要求我具体实现这些算法,只要求提供评估报告。
假如提供一个用c语言编写的算法,里面有加法和乘法,还在相应的数据存贮,到底如何具体评估计算门资源呢。

www.迷你音响.中国

在评估的时候应该有了比较具体的实现方法,这样你就可以估计出需要多少乘加器,需要多少的Memory,多少时钟资源,至于LUT或者flip-flop的数目就的根据经验来估了.

先实现一个基本单元,来估计吧

不太清楚,同样的问题,期待高手的解决

一般靠经验,我也很想知道有没有其他好方法

没有系统的估算方法

memory big adder, subtractor可以很快地synthesize以下,估计估计
其他逻辑主要靠感觉。还有可以对比legacy design的大小进行估计

乘法器,大的memory, 大概估一下多少个flip-flop, 可以换算成多少gate, 还有就是大的mux,实在估不准的,就大概跑一遍DC, report一下什么都出来了。

先查一下文献看一下其它人做出来的大概有多大规模.
可以自己写一些基本的逻辑单元然后综合一下看门数,最后根据你使用的逻辑单元数来估计.
不过这样可能和不准的,一旦上了百万门数,你还去估?
而且RTL CODING STYLE的好坏以及综合工具的使用有时对综合后的门数影响很大的.

靠经验  没有什么好的方法

这哥们提的问题相当好,唯一的办法就是问你的老大,他们以前怎么做的,这个东西没有学术价值,却很实用,我顶

估计资源,这个主要还是依赖以前的设计经验,以前的设计的一些模块为基础来估计的

这个问题很复杂
我也很想知道

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top