【芯片前端】基于DC综合的逻辑深度与cell count汇总:乘法器

简介: 【芯片前端】基于DC综合的逻辑深度与cell count汇总:乘法器

前言

在刚开始接触进行前端RTL代码设计的时候我遇到一个问题,我不是很清楚我写下的每一句代码对应的逻辑深度与cell count值,这令我很难精准的在设计初期进行逻辑规划和方案优化。


所以呢在我初步具备单独综合的能力之后,就像为之前的自己汇总一下各种操作的逻辑深度和cell count,先从乘法器开始。


过程

简单说就是综合这样一段代码,提取timing和cell数,然后反复修改参数~

module test #(
    parameter WIDTH  = 32
)(
    input clk,
    input rst_n,
    input [WIDTH -1:0] in_data1,
    input [WIDTH -1:0] in_data2,
    output [WIDTH -1:0] out_data
);
assign out_data = in_data1 * in_data2;
endmodule


timing我并不分关心时序因为这个跟库、约束、工艺等方方面面关联太多了,我需要的是逻辑深度如下面这就是40级逻辑深度:



同样看area也没有意义,只需要统计cell cout就是下面这个值:



统计结果

C = A * B

输入位宽1

输入位宽2

输出位宽

逻辑深度

cell count

32

32

64

56

3056

32

32

32

38

1533

16

16

32

31

758

16

16

16

20

362

8

8

16

22

231

8

8

8

16

107

4

4

8

13

59

4

4

4

5

26


相关文章
|
7月前
|
前端开发 芯片
【芯片前端】保持代码手感——握手协议ready打拍时序优化
【芯片前端】保持代码手感——握手协议ready打拍时序优化
|
7月前
|
前端开发 芯片
【芯片前端】保持代码手感——编写常值乘法器和一些拓展
【芯片前端】保持代码手感——编写常值乘法器和一些拓展
|
7月前
|
前端开发 芯片
【芯片前端】保持代码手感——交通灯
【芯片前端】保持代码手感——交通灯
|
7月前
|
前端开发 Shell 芯片
【芯片前端】保持代码手感——跨异步DMUX
【芯片前端】保持代码手感——跨异步DMUX
|
7月前
|
前端开发 芯片
【芯片前端】同步FIFO的一个小的延伸——一会加一会减得计数器怎么写
【芯片前端】同步FIFO的一个小的延伸——一会加一会减得计数器怎么写
|
7月前
|
前端开发 芯片
【芯片前端】关于门控电路和逻辑做在D端还是EN端的思考
【芯片前端】关于门控电路和逻辑做在D端还是EN端的思考
|
7月前
|
前端开发 芯片
【芯片前端】延迟一拍出数的握手型ram结构的一次探索
【芯片前端】延迟一拍出数的握手型ram结构的一次探索
|
7月前
|
前端开发 芯片
【芯片前端】保持代码手感——一对多的握手拆分模块
【芯片前端】保持代码手感——一对多的握手拆分模块
|
7月前
|
前端开发 调度 芯片
【芯片前端】根据数据有效选择输出的握手型FIFO结构探究
【芯片前端】根据数据有效选择输出的握手型FIFO结构探究
|
7月前
|
前端开发 芯片
【芯片前端】关于set_input_delay/set_output_delay慢信号约束到快时钟的思考
【芯片前端】关于set_input_delay/set_output_delay慢信号约束到快时钟的思考