Digital IC Design record
-
Upload
revanth-dondapati -
Category
Documents
-
view
239 -
download
0
Transcript of Digital IC Design record
-
7/27/2019 Digital IC Design record
1/28
DICD LAB
Sri Vidyaniketan Engineering College 301
Comparative Analysis of Low Power 4-bit Multipliers Using 120nm CMOS
Technology
Abstract:
Multiplication is one of the most commonly used arithmetic operations in various applications like, DSP
processor, math processor and in various scientific applications. Based on the simplifications of theaddition operations in a low power bypassing-based multiplier, a low cost, low power bypassing-based
multiplier is proposed. This paper shows the comparison between row bypassing multiplier, column
bypassing multiplier and 2-Dimensional bypassing-based multiplier.
Keywords: Multiplier, bypassing multiplier, 2- dimensional multiplier.
Braun Multiplier:
Circuit Diagram:
Code:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity bm is
Port ( x : in STD_LOGIC_vector(3 downto 0);
y : in STD_LOGIC_vector(3 downto 0);
p : out STD_LOGIC_vector(7 downto 0));
end bm;
architecture Behavioral of bm is
component and21 is
Port ( x1 : in STD_LOGIC;
y1 : in STD_LOGIC;
-
7/27/2019 Digital IC Design record
2/28
DICD LAB
Sri Vidyaniketan Engineering College 302
z1 : out STD_LOGIC);
end component;
component fa is
Port ( x1 : in STD_LOGIC;
y1 : in STD_LOGIC;
z1 : in STD_LOGIC;sum, carry : out STD_LOGIC);
end component;
signal q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,q11,q12,q13,q14,q15,c1,c2,c3,c4,
c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,s1,s2,s3,s4,s5,s6:std_logic;
begin
a1:and21 port map(x(0),y(0),p(0));
a2:and21 port map(x(1),y(0),q1);
a3:and21 port map(x(2),y(0),q2);
a4:and21 port map(x(3),y(0),q3);
a5:and21 port map(x(0),y(1),q4);a6:and21 port map(x(1),y(1),q5);
a7:and21 port map(x(2),y(1),q6);
a8:and21 port map(x(3),y(1),q7);
a9:and21 port map(x(0),y(2),q8);
a10:and21 port map(x(1),y(2),q9);
a11:and21 port map(x(2),y(2),q10);
a12:and21 port map(x(3),y(2),q11);
a13:and21 port map(x(0),y(3),q12);
a14:and21 port map(x(1),y(3),q13);
a15:and21 port map(x(2),y(3),q14);
a16:and21 port map(x(3),y(3),q15);b1:fa port map(q1,'0',q4,p(1),c4);
b2:fa port map(q5,'0',q2,s1,c5);
b3:fa port map(q6,'0',q3,s2,c6);
b4:fa port map(q8,c4,s1,p(2),c7);
b5:fa port map(q9,c5,s2,s3,c8);
b6:fa port map(q10,c6,q7,s4,c9);
b7:fa port map(q12,c7,s3,p(3),c10);
b8:fa port map(q13,c8,s4,s5,c12);
b9:fa port map(q14,c9,q11,s6,c14);
b10:fa port map(c10,'0',s5,p(4),c11);
b11:fa port map(c11,c12,s6,p(5),c13);b12:fa port map(c13,c14,q15,p(6),p(7));
end Behavioral;
---------------------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
-
7/27/2019 Digital IC Design record
3/28
DICD LAB
Sri Vidyaniketan Engineering College 303
entity fa is
Port ( x1 : in STD_LOGIC;
y1 : in STD_LOGIC;
z1 : in STD_LOGIC;
sum, carry : out STD_LOGIC);
end fa;architecture dataflow of fa is
begin
sum
-
7/27/2019 Digital IC Design record
4/28
DICD LAB
Sri Vidyaniketan Engineering College 304
# IBUF : 8
# OBUF : 8
=========================================================================
Timing report:
Clock Information:------------------
No clock signals found in this design
Asynchronous Control Signals Information:
----------------------------------------
No asynchronous control signals found in this design
Timing Summary:
---------------
Speed Grade: -5
Minimum period: No path found
Minimum input arrival time before clock: No path found
Maximum output required time after clock: No path found
Maximum combinational path delay: 10.574ns
Timing Detail:
All values displayed in nanoseconds (ns)
=========================================================================
Timing constraint: Default path analysis
Total number of paths / destination ports: 330 / 8
-------------------------------------------------------------------------
Delay: 10.574ns (Levels of Logic = 7)
Source: y (PAD)
Destination: p (PAD)
Data Path: y to p
Gate Net
Cell:in->out fanout Delay Delay Logical Name (Net Name)
---------------------------------------- ------------
IBUF:I->O 7 1.106 0.754 y_0_IBUF (y_0_IBUF)
LUT4:I0->O 2 0.612 0.532 b2/carry1 (c5)
LUT4:I0->O 2 0.612 0.532 b5/carry1 (c8)
LUT4:I0->O 2 0.612 0.532 b8/carry1 (c12)
LUT4:I0->O 2 0.612 0.532 b11/carry1 (c13)
LUT4:I0->O 1 0.612 0.357 b12/carry1 (p_7_OBUF)
OBUF:I->O 3.169 p_7_OBUF (p)
----------------------------------------
-
7/27/2019 Digital IC Design record
5/28
DICD LAB
Sri Vidyaniketan Engineering College 305
Total 10.574ns (7.335ns logic, 3.239ns route)
(69.4% logic, 30.6% route)
=========================================================================
Total REAL time to Xst completion: 10.00 secs
Total CPU time to Xst completion: 10.91 secs
Total memory usage is 142012 kilobytes
Number of errors : 0 ( 0 filtered)
Number of warnings : 3 ( 0 filtered)
Number of infos : 0 ( 0 filtered)
Rowbypassing Multiplier:
Circuit diagram:
Code:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity row is
Port ( a,b : in STD_LOGIC_VECTOR (03 downto 0);
p : out STD_LOGIC_VECTOR (07 downto 0));
-
7/27/2019 Digital IC Design record
6/28
DICD LAB
Sri Vidyaniketan Engineering College 306
end row;
architecture Behavioral of row is
component ac is
port(a,b,c,d,e:in std_logic;
s,ca:out std_logic);end component;
component fa is
Port ( x : in STD_LOGIC;
y : in STD_LOGIC;
z : in STD_LOGIC;
sum, carry : out STD_LOGIC);
end component;
component and21 is
Port ( x : in STD_LOGIC;y : in STD_LOGIC;
z : out STD_LOGIC);
end component;
signal s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15:std_logic;
signal c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,cc1,cc2,a1,a2,a3,a4,a5,a6,a7,a8:std_logic;
begin
an1:and21 port map(a(0),b(0),p(0));
an2:and21 port map(a(1),b(0),s1);an3:and21 port map(a(2),b(0),s2);
an4:and21 port map(a(3),b(0),s3);
an5:and21 port map(a(0),b(1),s4);
an6:and21 port map(a(1),b(1),s5);
an7:and21 port map(a(2),b(1),s6);
an8:and21 port map(a(3),b(1),s7);
an9:and21 port map(a(0),b(2),s8);
an10:and21 port map(a(1),b(2),s9);
an11:and21 port map(a(2),b(2),s10);
an12:and21 port map(a(3),b(2),s11);
an13:and21 port map(a(0),b(3),s12);an14:and21 port map(a(1),b(3),s13);
an15:and21 port map(a(2),b(3),s14);
an16:and21 port map(a(3),b(3),s15);
ac1:ac port map(s4,s1,'0',b(1),'0',p(1),c1);
ac2:ac port map(s5,s2,'0',b(1),'0',a1,c2);
ac3:ac port map(s6,s3,'0',b(1),'0',a2,c3);
ac4:ac port map(s8,a1,c1,b(2),c2,a3,c4);
-
7/27/2019 Digital IC Design record
7/28
DICD LAB
Sri Vidyaniketan Engineering College 307
ac5:ac port map(s9,a2,c2,b(2),c3,a4,c5);
ac6:ac port map(s10,s7,c3,b(2),'0',a5,c6);
ac7:ac port map(s12,a4,c4,b(3),c5,a6,c7);
ac8:ac port map(s13,a5,c5,b(3),c6,a7,c8);
ac9:ac port map(s14,s11,c6,b(3),'0',a8,c9);
an17:and21 port map(c1,not b(2),cc1);an18:and21 port map(c4,not b(3),cc2);
fa1:fa port map(a3,'0',cc1,p(2),c10);
fa2:fa port map(a6,cc2,c10,p(3),c11);
fa3:fa port map(a7,c7,c11,p(4),c12);
fa4:fa port map(a8,c8,c12,p(5),c13);
fa5:fa port map(s15,c9,c13,p(6),p(7));
end Behavioral;
----------------------------------------------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
entity ac isport(a,b,c,d,e:in std_logic;
s,ca:out std_logic);
end ac;
architecture arc of ac is
signal a1,b1,c1,s1,ca1:std_logic;
begin
a1
-
7/27/2019 Digital IC Design record
8/28
DICD LAB
Sri Vidyaniketan Engineering College 308
end dataflow;
------------------------------------------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity and21 isPort ( x : in STD_LOGIC;
y : in STD_LOGIC;
z : out STD_LOGIC);
end and21;
architecture dataflow of and21 is
begin
z
-
7/27/2019 Digital IC Design record
9/28
DICD LAB
Sri Vidyaniketan Engineering College 309
Timing report:
Clock Information:
------------------
No clock signals found in this design
Asynchronous Control Signals Information:----------------------------------------
No asynchronous control signals found in this design
Timing Summary:
---------------
Speed Grade: -5
Minimum period: No path found
Minimum input arrival time before clock: No path found
Maximum output required time after clock: No path found
Maximum combinational path delay: 14.273ns
Timing Detail:
--------------
All values displayed in nanoseconds (ns)
=========================================================================
Timing constraint: Default path analysis
Total number of paths / destination ports: 514 / 8
-------------------------------------------------------------------------
Delay: 14.273ns (Levels of Logic = 10)
Source: b (PAD)Destination: p (PAD)
Data Path: b to p
Gate Net
Cell:in->out fanout Delay Delay Logical Name (Net Name)
---------------------------------------- ------------
IBUF:I->O 29 1.106 1.224 b_1_IBUF (b_1_IBUF)
LUT3:I0->O 3 0.612 0.603 fa2/Mxor_sum_xo71 (N20)
LUT3:I0->O 1 0.612 0.509 fa2/carry167 (fa2/carry167)
LUT4:I0->O 1 0.612 0.509 fa2/carry170 (fa2/carry170)
LUT3:I0->O 1 0.612 0.509 fa2/carry198 (fa2/carry198)
LUT4:I0->O 2 0.612 0.532 fa2/carry211 (c11)
LUT3:I0->O 2 0.612 0.410 fa4/Mxor_sum_xo11 (N1)
LUT3:I2->O 2 0.612 0.449 fa4/carry1 (c13)
LUT4:I1->O 1 0.612 0.357 fa5/Mxor_sum_xo1 (p_6_OBUF)
OBUF:I->O 3.169 p_6_OBUF (p)
----------------------------------------
Total 14.273ns (9.171ns logic, 5.102ns route)
-
7/27/2019 Digital IC Design record
10/28
DICD LAB
Sri Vidyaniketan Engineering College 310
(64.3% logic, 35.7% route)
=========================================================================
Total REAL time to Xst completion: 12.00 secsTotal CPU time to Xst completion: 11.31 secs
Total memory usage is 143036 kilobytes
Number of errors : 0 ( 0 filtered)
Number of warnings : 4 ( 0 filtered)
Number of infos : 0 ( 0 filtered)
Column-bypassing Multiplier:
Circuit diagram:
Code:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity column isPort ( a,b : in STD_LOGIC_vector(3 downto 0);
p : out STD_LOGIC_vector(7 downto 0));
end column;
architecture Behavioral of column is
component and21 is
Port ( x1 : in STD_LOGIC;
-
7/27/2019 Digital IC Design record
11/28
DICD LAB
Sri Vidyaniketan Engineering College 311
y1 : in STD_LOGIC;
z1 : out STD_LOGIC);
end component;
component buffer21 is
port (x:in std_logic;c:in std_logic;
z:out std_logic);
end component;
component mux is
Port ( a,b : in STD_LOGIC;
c : in STD_LOGIC;
z : out STD_LOGIC);
end component;
component fa is
Port ( x : in STD_LOGIC;
y : in STD_LOGIC;z : in STD_LOGIC;
sum, carry : out STD_LOGIC);
end component;
signal
s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20,s21,s22,s23,s24,s25,s26,s27,s28,s29,s30,s31,s3
2,s33,s34,s35,s36,s37,s38,s39,s40,s41,s42,s43,s44,s45,q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,q11,q12,q13,q14,q15,q16,
q17,q18:std_logic;
begin
a1:and21 port map(a(0),b(0),p(0));
a2:and21 port map(a(1),b(0),s2);a3:and21 port map(a(2),b(0),s3);
a4:and21 port map(a(3),b(0),s4);
a5:and21 port map(a(0),b(1),s5);
a6:and21 port map(a(1),b(1),s6);
a7:and21 port map(a(2),b(1),s7);
a8:and21 port map(a(3),b(1),s8);
a9:and21 port map(a(0),b(2),s9);
a10:and21 port map(a(1),b(2),s10);
a11:and21 port map(a(2),b(2),s11);
a12:and21 port map(a(3),b(2),s12);
a13:and21 port map(a(0),b(3),s13);a14:and21 port map(a(1),b(3),s14);
a15:and21 port map(a(2),b(3),s15);
a16:and21 port map(a(3),b(3),s16);
a17:and21 port map(a(0),s31,s34);
a18:and21 port map(a(1),s32,s36);
a19:and21 port map(a(2),s33,s38);
a20:mux port map(s2,s45,a(0),p(1));
-
7/27/2019 Digital IC Design record
12/28
DICD LAB
Sri Vidyaniketan Engineering College 312
a21:mux port map(s3,s17,a(1),s39);
a22:mux port map(s4,s18,a(2),s40);
a23:mux port map(s39,s22,a(0),p(2));
a24:mux port map(s40,s23,a(1),s41);
a25:mux port map(s8,s24,a(2),s42);
a26:mux port map(s41,s28,a(0),p(3));a27:mux port map(s42,s29,a(1),s35);
a28:mux port map(s12,s30,a(2),s37);
a29:fa port map('0',q1,q2,s45,s19);
a30:fa port map('0',q3,q4,s17,s20);
a31:fa port map('0',q5,q6,s18,s21);
a32:fa port map(s19,q7,q8,s22,s25);
a33:fa port map(s20,q9,q10,s23,s26);
a34:fa port map(s21,q11,q12,s24,s27);
a35:fa port map(s25,q13,q14,s28,s31);
a36:fa port map(s26,q15,q16,s29,s32);
a37:fa port map(s27,q17,q18,s30,s33);a38:fa port map('0',s34,s35,p(4),s43);
a39:fa port map(s43,s37,s36,p(5),s44);
a40:fa port map(s44,s38,s16,p(6),p(7));
u1:buffer21 port map(s2,a(0),q1);
u2:buffer21 port map(s5,a(0),q2);
u3:buffer21 port map(s3,a(1),q3);
u4:buffer21 port map(s6,a(1),q4);
u5:buffer21 port map(s4,a(2),q5);
u6:buffer21 port map(s7,a(2),q6);
u7:buffer21 port map(s39,a(0),q7);
u8:buffer21 port map(s9,a(0),q8);u9:buffer21 port map(s40,a(1),q9);
u10:buffer21 port map(s10,a(1),q10);
u11:buffer21 port map(s8,a(2),q11);
u12:buffer21 port map(s11,a(2),q12);
u13:buffer21 port map(s41,a(0),q13);
u14:buffer21 port map(s13,a(0),q14);
u15:buffer21 port map(s42,a(1),q15);
u16:buffer21 port map(s14,a(1),q16);
u17:buffer21 port map(s12,a(2),q17);
u18:buffer21 port map(s15,a(2),q18);
end Behavioral;----------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity fa is
Port ( x : in STD_LOGIC;
-
7/27/2019 Digital IC Design record
13/28
DICD LAB
Sri Vidyaniketan Engineering College 313
y : in STD_LOGIC;
z : in STD_LOGIC;
sum, carry : out STD_LOGIC);
end fa;
architecture dataflow of fa is
begin
sum
-
7/27/2019 Digital IC Design record
14/28
DICD LAB
Sri Vidyaniketan Engineering College 314
end process;
end behv;
-----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity buffer21 is
port(x,c:in std_logic;
z:out std_logic);
end buffer21;
architecture structural of buffer21 is
begin
process(x,c)
beginif(c='1')then
z
-
7/27/2019 Digital IC Design record
15/28
DICD LAB
Sri Vidyaniketan Engineering College 315
# MUXF5 : 10
# MUXF6 : 3
# MUXF7 : 1
# IO Buffers : 16
# IBUF : 8
# OBUF : 8=========================================================================
Timing report:
Clock Information:
------------------
No clock signals found in this design
Asynchronous Control Signals Information:
----------------------------------------
No asynchronous control signals found in this design
Timing Summary:
---------------
Speed Grade: -5
Minimum period: No path found
Minimum input arrival time before clock: No path found
Maximum output required time after clock: No path found
Maximum combinational path delay: 13.239ns
Timing Detail:
--------------
All values displayed in nanoseconds (ns)
=========================================================================
Timing constraint: Default path analysis
Total number of paths / destination ports: 597 / 8
-------------------------------------------------------------------------
Delay: 13.239ns (Levels of Logic = 10)
Source: b (PAD)
Destination: p (PAD)
Data Path: b to p
Gate Net
Cell:in->out fanout Delay Delay Logical Name (Net Name)
---------------------------------------- ------------
IBUF:I->O 21 1.106 1.111 b_1_IBUF (b_1_IBUF)
LUT4:I0->O 1 0.612 0.387 a24/z_SW3 (N49)
LUT4:I2->O 2 0.612 0.383 a24/z (s41)
LUT4:I3->O 2 0.612 0.532 a17/z11 (s34)
-
7/27/2019 Digital IC Design record
16/28
DICD LAB
Sri Vidyaniketan Engineering College 316
LUT2:I0->O 3 0.612 0.603 a39/Mxor_sum_xo21 (N121)
LUT4:I0->O 3 0.612 0.603 a40/carry11 (N01)
LUT4:I0->O 1 0.612 0.000 a40/carry51_F (N56)
MUXF5:I0->O 1 0.278 0.426 a40/carry51 (a40/carry51)
LUT2:I1->O 1 0.612 0.357 a40/carry61 (a40/carry61)
OBUF:I->O 3.169 p_7_OBUF (p)----------------------------------------
Total 13.239ns (8.837ns logic, 4.402ns route)
(66.7% logic, 33.3% route)
=========================================================================
Total REAL time to Xst completion: 11.00 secs
Total CPU time to Xst completion: 10.42 secs
Total memory usage is 142012 kilobytes
Number of errors : 0 ( 0 filtered)
Number of warnings : 6 ( 0 filtered)
Number of infos : 0 ( 0 filtered)
Row-column bypassing multiplier:
Circuit diagram:
Code:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity mul_2d is
Port ( a,b : in STD_LOGIC_VECTOR (3 downto 0);
-
7/27/2019 Digital IC Design record
17/28
DICD LAB
Sri Vidyaniketan Engineering College 317
p : out STD_LOGIC_VECTOR (7 downto 0));
end mul_2d;
architecture Behavioral of mul_2d is
component and21 isport(a,b: in std_logic;
z:out std_logic);
end component;
component ac1 is
Port (a,b: in std_logic;
s,c:out std_logic);
end component;
component ac2 is
Port (a,b,c: in std_logic;s,ca:out std_logic);
end component;
component fa is
Port (a,b,c: in std_logic;
s,ca:out std_logic);
end component;
Signal s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15: std_logic;
signal c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,a1,a2,a3,a4,a5,a6: std_logic;
beginan1:and21 port map(a(0),b(0),p(0));
an2:and21 port map(a(1),b(0),s1);
an3:and21 port map(a(2),b(0),s2);
an4:and21 port map(a(3),b(0),s3);
an5:and21 port map(a(0),b(1),s4);
an6:and21 port map(a(1),b(1),s5);
an7:and21 port map(a(2),b(1),s6);
an8:and21 port map(a(3),b(1),s7);
an9:and21 port map(a(0),b(2),s8);
an10:and21 port map(a(1),b(2),s9);
an11:and21 port map(a(2),b(2),s10);an12:and21 port map(a(3),b(2),s11);
an13:and21 port map(a(0),b(3),s12);
an14:and21 port map(a(1),b(3),s13);
an15:and21 port map(a(2),b(3),s14);
an16:and21 port map(a(3),b(3),s15);
ca11:ac1 port map(s1,s4,p(1),c1);
c22:ac1 port map(s2,s5,a1,c2);
-
7/27/2019 Digital IC Design record
18/28
DICD LAB
Sri Vidyaniketan Engineering College 318
c33:ac1 port map(s3,s6,a2,c3);
c44:ac2 port map(a1,c1,s8,p(2),c4);
c55:ac2 port map(a2,c2,s9,a3,c5);
c66:ac2 port map(s7,c3,s10,a4,c6);
c77:ac2 port map(a3,c4,s12,p(3),c7);
c88:ac2 port map(a4,c5,s13,a5,c8);c99:ac2 port map(s11,c6,s14,a6,c9);
fa1:fa port map(a5,c7,'0',p(4),c10);
fa2:fa port map(a6,c8,c10,p(5),c11);
fa3:fa port map(s15,c9,c11,p(6),p(7));
end Behavioral;
----------------------------------------------------------------------------------------------------
Library ieee;
Use ieee.std_logic_1164.all;
Entity ac1 is
Port (a,b: in std_logic;
s,c:out std_logic);end ac1;
architecture arc of ac1 is
signal s1,c1:std_logic;
begin
c1
-
7/27/2019 Digital IC Design record
19/28
DICD LAB
Sri Vidyaniketan Engineering College 319
library ieee;
use ieee.std_logic_1164.all;
entity fa is
port(a,b,c: in std_logic;
s,ca: out std_logic);
end fa;architecture arc of fa is
begin
s
-
7/27/2019 Digital IC Design record
20/28
DICD LAB
Sri Vidyaniketan Engineering College 320
=========================================================================
Timing report:
Clock Information:
------------------No clock signals found in this design
Asynchronous Control Signals Information:
----------------------------------------
No asynchronous control signals found in this design
Timing Summary:
---------------
Speed Grade: -5
Minimum period: No path found
Minimum input arrival time before clock: No path found
Maximum output required time after clock: No path found
Maximum combinational path delay: 11.581ns
Timing Detail:
All values displayed in nanoseconds (ns)
=========================================================================
Timing constraint: Default path analysis
Total number of paths / destination ports: 347 / 8
-------------------------------------------------------------------------
Delay: 11.581ns (Levels of Logic = 8)
Source: b (PAD)
Destination: p (PAD)
Data Path: b to p
Gate Net
Cell:in->out fanout Delay Delay Logical Name (Net Name)
---------------------------------------- ------------
IBUF:I->O 9 1.106 0.766 b_1_IBUF (b_1_IBUF)
LUT4:I1->O 2 0.612 0.532 c33/s1 (a2)
LUT4:I0->O 2 0.612 0.383 c55/ca1 (c5)
LUT4:I3->O 2 0.612 0.532 c88/s1 (a5)
LUT4:I0->O 2 0.612 0.532 fa1/ca1 (c10)
LUT3:I0->O 2 0.612 0.532 fa2/ca1 (c11)
LUT4:I0->O 1 0.612 0.357 fa3/ca1 (p_7_OBUF)
OBUF:I->O 3.169 p_7_OBUF (p)
-
7/27/2019 Digital IC Design record
21/28
DICD LAB
Sri Vidyaniketan Engineering College 321
----------------------------------------
Total 11.581ns (7.947ns logic, 3.634ns route)
(68.6% logic, 31.4% route)
=========================================================================
Total REAL time to Xst completion: 11.00 secs
Total CPU time to Xst completion: 10.56 secs
-->
Total memory usage is 143036 kilobytes
Number of errors : 0 ( 0 filtered)
Number of warnings : 0 ( 0 filtered)
Number of infos : 0 ( 0 filtered)
2-Dimensional multiplier:
Circuit diagram:
Code:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity bypass_mul is
Port ( a,b : in STD_LOGIC_VECTOR (3 downto 0);
p : out STD_LOGIC_VECTOR (7 downto 0));
end bypass_mul;
-
7/27/2019 Digital IC Design record
22/28
DICD LAB
Sri Vidyaniketan Engineering College 322
architecture Behavioral of bypass_mul is
component ac is
port(a,b,c,d,e:in std_logic;
s,ca:out std_logic);
end component;
component fa is
Port ( x : in STD_LOGIC;
y : in STD_LOGIC;
z : in STD_LOGIC;
sum, carry : out STD_LOGIC);
end component;
component and21 is
Port ( x : in STD_LOGIC;
y : in STD_LOGIC;
z : out STD_LOGIC);end component;
signal s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15:std_logic;
signal c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,cc1,cc2,a1,a2,a3,a4,a5,a6,a7,a8:std_logic;
begin
an1:and21 port map(a(0),b(0),p(0));
an2:and21 port map(a(1),b(0),s1);
an3:and21 port map(a(2),b(0),s2);
an4:and21 port map(a(3),b(0),s3);
an5:and21 port map(a(0),b(1),s4);
an6:and21 port map(a(1),b(1),s5);an7:and21 port map(a(2),b(1),s6);
an8:and21 port map(a(3),b(1),s7);
an9:and21 port map(a(0),b(2),s8);
an10:and21 port map(a(1),b(2),s9);
an11:and21 port map(a(2),b(2),s10);
an12:and21 port map(a(3),b(2),s11);
an13:and21 port map(a(0),b(3),s12);
an14:and21 port map(a(1),b(3),s13);
an15:and21 port map(a(2),b(3),s14);
an16:and21 port map(a(3),b(3),s15);
ac1:ac port map(s4,s1,'0',b(1),'0',p(1),c1);ac2:ac port map(s5,s2,'0',b(1),'0',a1,c2);
ac3:ac port map(s6,s3,'0',b(1),'0',a2,c3);
ac4:ac port map(s8,a1,c1,b(2),c2,a3,c4);
ac5:ac port map(s9,a2,c2,b(2),c3,a4,c5);
ac6:ac port map(s10,s7,c3,b(2),'0',a5,c6);
ac7:ac port map(s12,a4,c4,b(3),c5,a6,c7);
ac8:ac port map(s13,a5,c5,b(3),c6,a7,c8);
-
7/27/2019 Digital IC Design record
23/28
DICD LAB
Sri Vidyaniketan Engineering College 323
ac9:ac port map(s14,s11,c6,b(3),'0',a8,c9);
an17:and21 port map(c1,not b(2),cc1);
an18:and21 port map(c4,not b(3),cc2);
fa1:fa port map(a3,'0',cc1,p(2),c10);
fa2:fa port map(a6,cc2,c10,p(3),c11);
fa3:fa port map(a7,c7,c11,p(4),c12);fa4:fa port map(a8,c8,c12,p(5),c13);
fa5:fa port map(s15,c9,c13,p(6),p(7));
end Behavioral;
----------------------------------------------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
entity ac is
port(a,b,c,d,e:in std_logic;
s,ca:out std_logic);
end ac;
architecture arc of ac issignal a1,b1,c1,s1,ca1:std_logic;
begin
a1
-
7/27/2019 Digital IC Design record
24/28
DICD LAB
Sri Vidyaniketan Engineering College 324
entity and21 is
Port ( x : in STD_LOGIC;
y : in STD_LOGIC;
z : out STD_LOGIC);
end and21;architecture dataflow of and21 is
begin
z
-
7/27/2019 Digital IC Design record
25/28
DICD LAB
Sri Vidyaniketan Engineering College 325
TIMING REPORT:
Clock Information:
------------------
No clock signals found in this design
Asynchronous Control Signals Information:
----------------------------------------
No asynchronous control signals found in this design
Timing Summary:
---------------
Speed Grade: -5
Minimum period: No path found
Minimum input arrival time before clock: No path found
Maximum output required time after clock: No path found
Maximum combinational path delay: 13.128ns
Timing Detail:
--------------
All values displayed in nanoseconds (ns)
=========================================================================
Timing constraint: Default path analysis
Total number of paths / destination ports: 553 / 8
-------------------------------------------------------------------------
Delay: 13.128ns (Levels of Logic = 9)
Source: a (PAD)
Destination: p (PAD)
Data Path: a to p
Gate Net
Cell:in->out fanout Delay Delay Logical Name (Net Name)
---------------------------------------- ------------
IBUF:I->O 10 1.106 0.902 a_1_IBUF (a_1_IBUF)
LUT4:I0->O 2 0.612 0.532 ac2/ca1 (c2)
-
7/27/2019 Digital IC Design record
26/28
DICD LAB
Sri Vidyaniketan Engineering College 326
LUT4:I0->O 4 0.612 0.651 ac4/ca (c4)
LUT4:I0->O 2 0.612 0.532 ac7/s1 (a6)
LUT4:I0->O 2 0.612 0.532 fa2/carry1 (c11)
LUT3:I0->O 2 0.612 0.532 fa3/carry1 (c12)
LUT3:I0->O 2 0.612 0.532 fa4/carry1 (c13)
LUT4:I0->O 1 0.612 0.357 fa5/carry1 (p_7_OBUF)
OBUF:I->O 3.169 p_7_OBUF (p)
----------------------------------------
Total 13.128ns (8.559ns logic, 4.569ns route)
(65.2% logic, 34.8% route)
=========================================================================
Total REAL time to Xst completion: 11.00 secs
Total CPU time to Xst completion: 11.11 secs
Total memory usage is 143036 kilobytes
Number of errors : 0 ( 0 filtered)
Number of warnings : 9 ( 0 filtered)
Number of infos : 0 ( 0 filtered)
-
7/27/2019 Digital IC Design record
27/28
DICD LAB
Sri Vidyaniketan Engineering College 327
Comparative analysis of 4-bit multipliers
Table 1
Dynamic
Multiplier name Power Delay Area
Consumption
BRAUN 0.43mw
10.574ns
14666
MULTIPLIER m
BRAUN
MULTIPLIER 0.82mw
14.273ns
24821
WITH ROW m BYPASSING
BRAUN
MULTIPLIER 0.40mw
13.239ns
15354
WITH COLUMN m BYPASSING
BRAUN 2-
DIMENSIONAL 0.31mw
11.581ns
13863
BYPASSINGm
2
MULTIPLIER
BRAUN
MULTIPLIER0.49mw 16895
WITH ROW AND 13.128ns m COLUMN
BYPASSING
Conclusion:
From the comparison table I, it is clear that Braun 2-dimensional bypassing multiplier has least power
consumption at 1GHz and also it is most effective in terms of area.
-
7/27/2019 Digital IC Design record
28/28
DICD LAB