ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-11-17 23:59:30  阅读:177  来源: 互联网

标签:count data SUM DC cell carry out data1 data2


统计结果

C = A + B

输入位宽1输入位宽2输出位宽逻辑深度cell count
1024102410243211440
512512512295444
256256256272591
128128128261217
64646421600
32323224265
1616161922
888109
444512

备注

4bit + 4bit的dc映射,cell cout = 12

/
// Created by: Synopsys DC Expert(TM) in wire load mode
// Version   : L-2016.03-SP1
// Date      : Wed Nov 17 10:39:36 2021
/


module test ( clk, rst_n, in_data1, in_data2, out_data );
  input [3:0] in_data1;
  input [3:0] in_data2;
  output [3:0] out_data;
  input clk, rst_n;
  wire   n1, n2, n3, n4, n5, n6, n9, n10;

  OAI2BB1X1 U13 ( .A0N(in_data1[1]), .A1N(in_data2[1]), .B0(n6), .Y(n3) );
  OAI211XL U14 ( .A0(in_data1[1]), .A1(in_data2[1]), .B0(in_data1[0]), .C0(
        in_data2[0]), .Y(n6) );
  XOR2X1 U15 ( .A(n9), .B(n10), .Y(out_data[1]) );
  NAND2X2 U16 ( .A(in_data1[0]), .B(in_data2[0]), .Y(n9) );
  XNOR2X1 U17 ( .A(in_data2[1]), .B(in_data1[1]), .Y(n10) );
  XOR2X1 U18 ( .A(in_data2[0]), .B(in_data1[0]), .Y(out_data[0]) );
  XOR2X1 U19 ( .A(n3), .B(n5), .Y(out_data[2]) );
  XOR2X1 U20 ( .A(in_data2[2]), .B(in_data1[2]), .Y(n5) );
  XOR2X1 U21 ( .A(n1), .B(n2), .Y(out_data[3]) );
  XOR2X1 U22 ( .A(in_data2[3]), .B(in_data1[3]), .Y(n2) );
  AOI2BB1X2 U23 ( .A0N(n3), .A1N(in_data1[2]), .B0(n4), .Y(n1) );
  AOI21X1 U24 ( .A0(in_data1[2]), .A1(n3), .B0(in_data2[2]), .Y(n4) );
endmodule

8bit + 8bit的dc映射,cell cout = 9:

module test_DW01_add_0 ( A, B, SUM );
  input [7:0] A;
  input [7:0] B;
  output [7:0] SUM;
  wire   n1;
  wire   [7:2] carry;

  XOR3XL U1_7 ( .A(A[7]), .B(B[7]), .C(carry[7]), .Y(SUM[7]) );
  ADDFX1 U1_6 ( .A(A[6]), .B(B[6]), .CI(carry[6]), .CO(carry[7]), .S(SUM[6])
         );
  ADDFX1 U1_5 ( .A(A[5]), .B(B[5]), .CI(carry[5]), .CO(carry[6]), .S(SUM[5])
         );
  ADDFX1 U1_4 ( .A(A[4]), .B(B[4]), .CI(carry[4]), .CO(carry[5]), .S(SUM[4])
         );
  ADDFX1 U1_3 ( .A(A[3]), .B(B[3]), .CI(carry[3]), .CO(carry[4]), .S(SUM[3])
         );
  ADDFX1 U1_2 ( .A(A[2]), .B(B[2]), .CI(carry[2]), .CO(carry[3]), .S(SUM[2])
         );
  ADDFX1 U1_1 ( .A(A[1]), .B(B[1]), .CI(n1), .CO(carry[2]), .S(SUM[1]) );
  AND2X2 U1 ( .A(B[0]), .B(A[0]), .Y(n1) );
  XOR2X1 U2 ( .A(B[0]), .B(A[0]), .Y(SUM[0]) );
endmodule


module test ( clk, rst_n, in_data1, in_data2, out_data );
  input [7:0] in_data1;
  input [7:0] in_data2;
  output [7:0] out_data;
  input clk, rst_n;


  test_DW01_add_0 add_13 ( .A(in_data1), .B(in_data2), .SUM(out_data) );
endmodule

标签:count,data,SUM,DC,cell,carry,out,data1,data2
来源: https://blog.csdn.net/moon9999/article/details/121390659

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有