Soc Soumik1
Soc Soumik1
(EE642)
Soumik Chakraborty
Reg. No.: 24-24-05
M.Tech VLSI and Embedded System
May 10, 2025
Submitted to:
Mr. Abhilash MT
Assistant Professor
Department of Electronics Engineering
1
1 Lab 1: 8-bit Binary Adder
1.1 VHDL Code
1 library IEEE ;
2 use IEEE . STD_LOGIC_1164 . ALL ;
3 use IEEE . NUMERIC_STD . ALL ;
4
5 entity adder8bit is
6 Port (
7 a : in std_logic_vector (7 downto 0) ;
8 b : in std_logic_vector (7 downto 0) ;
9 cin : in std_logic ;
10 sum : out std_logic_vector (7 downto 0) ;
11 cout : out std_logic
12 );
13 end adder8bit ;
14
1.2 Testbench
1 library IEEE ;
2 use IEEE . STD_LOGIC_1164 . ALL ;
3 use IEEE . NUMERIC_STD . ALL ;
4
5 entity tb_adder8bit is
6 end tb_adder8bit ;
7
2
14 sum : out std_logic_vector (7 downto 0) ;
15 cout : out std_logic
16 );
17 end component ;
18
22 begin
23 UUT : adder8bit port map (
24 a = > a , b = > b , cin = > cin , sum = > sum , cout = > cout
25 );
26
27 stimulus : process
28 begin
29 -- Test case 1: 15 + 1 + 0 = 16
30 a <= " 00001111 " ; -- 15
31 b <= " 00000001 " ; -- 1
32 cin <= ’0 ’;
33 wait for 10 ns ;
34 report " Test 1: 15 + 1 = " & integer ’ image ( to_integer (
unsigned ( sum ) ) ) & " , Carry : " & std_logic ’ image ( cout ) ;
35
50 wait ;
51 end process ;
52 end test ;
3
[Simulation waveform placeholder]
4
2 Lab 2: Integer Adder (Inputs 3, 4; Output 7)
2.1 VHDL Code
1 library IEEE ;
2 use IEEE . STD_LOGIC_1164 . ALL ;
3 use IEEE . NUMERIC_STD . ALL ;
4
5 entity int_add is
6 Port (
7 a : in integer ;
8 b : in integer ;
9 sum : out integer
10 );
11 end int_add ;
12
2.2 Testbench
1 library IEEE ;
2 use IEEE . STD_LOGIC_1164 . ALL ;
3 use IEEE . NUMERIC_STD . ALL ;
4
5 entity tb_int_add is
6 end tb_int_add ;
7
19 begin
20 UUT : int_add port map (
21 a = > a , b = > b , sum = > sum
22 );
23
5
24 stimulus : process
25 begin
26 -- Test case : 3 + 4 = 7
27 a <= 3;
28 b <= 4;
29 wait for 10 ns ;
30 report " Test : 3 + 4 = " & integer ’ image ( sum ) ;
31
32 wait ;
33 end process ;
34 end test ;
Test: 3 + 4 = 7