OpenCores
URL https://opencores.org/ocsvn/simple_fm_receiver/simple_fm_receiver/trunk

Subversion Repositories simple_fm_receiver

[/] [simple_fm_receiver/] [tags/] [VSFR_1/] [source/] [adder_09bit.vhdl] - Blame information for rev 32

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 arif_endro
-- $Id: adder_09bit.vhdl,v 1.1.1.1 2005-01-04 02:05:58 arif_endro Exp $
2
-------------------------------------------------------------------------------
3
-- Title       : Adder 09 bit
4
-- Project     : FM Receiver 
5
-------------------------------------------------------------------------------
6
-- File        : adder_09bit.vhdl
7
-- Author      : "Arif E. Nugroho" <arif_endro@yahoo.com>
8
-- Created     : 2004/12/23
9
-- Last update : 
10
-- Simulators  : Modelsim 6.0
11
-- Synthesizers: 
12
-- Target      : 
13
-------------------------------------------------------------------------------
14
-- Description : Ripple carry adder 09 bit with output 10 bit
15
-------------------------------------------------------------------------------
16
-- Copyright (c) 2004 Arif E. Nugroho
17
-- This VHDL design file is an open design; you can redistribute it and/or
18
-- modify it and/or implement it after contacting the author
19
-------------------------------------------------------------------------------
20
 
21
library IEEE;
22
use IEEE.STD_LOGIC_1164.ALL;
23
use IEEE.STD_LOGIC_arith.ALL;
24
 
25
entity adder_09bit is
26
   port (
27
      addend_09bit  : in  bit_vector (08 downto 0);
28
      augend_09bit  : in  bit_vector (08 downto 0);
29
      adder09_output: out bit_vector (09 downto 0)
30
      );
31
end adder_09bit;
32
 
33
architecture structural of adder_09bit is
34
 
35
   component fulladder
36
      port (
37
      addend        : in   bit;
38
      augend        : in   bit;
39
      carry_in      : in   bit;
40
      sum           : out  bit;
41
      carry         : out  bit
42
      );
43
   end component;
44
 
45
signal c00 : bit;
46
signal c01 : bit;
47
signal c02 : bit;
48
signal c03 : bit;
49
signal c04 : bit;
50
signal c05 : bit;
51
signal c06 : bit;
52
signal c07 : bit;
53
signal c08 : bit;
54
signal c09 : bit;
55
signal over09 : bit;
56
signal adder09_output_int : bit_vector (09 downto 0);
57
 
58
begin
59
 
60
c00                     <= '0';
61
over09                  <= (addend_09bit (08) xor augend_09bit (08));
62
adder09_output_int (09) <= ((adder09_output_int (08) and over09) or
63
                           (c09 and (not (over09))));
64
adder09_output          <= adder09_output_int;
65
 
66
fa08 : fulladder
67
   port map (
68
      addend     => addend_09bit(08),
69
      augend     => augend_09bit(08),
70
      carry_in   => c08,
71
      sum        => adder09_output_int(08),
72
      carry      => c09
73
      );
74
 
75
fa07 : fulladder
76
   port map (
77
      addend     => addend_09bit(07),
78
      augend     => augend_09bit(07),
79
      carry_in   => c07,
80
      sum        => adder09_output_int(07),
81
      carry      => c08
82
      );
83
 
84
fa06 : fulladder
85
   port map (
86
      addend     => addend_09bit(06),
87
      augend     => augend_09bit(06),
88
      carry_in   => c06,
89
      sum        => adder09_output_int(06),
90
      carry      => c07
91
      );
92
 
93
fa05 : fulladder
94
   port map (
95
      addend     => addend_09bit(05),
96
      augend     => augend_09bit(05),
97
      carry_in   => c05,
98
      sum        => adder09_output_int(05),
99
      carry      => c06
100
      );
101
 
102
fa04 : fulladder
103
   port map (
104
      addend     => addend_09bit(04),
105
      augend     => augend_09bit(04),
106
      carry_in   => c04,
107
      sum        => adder09_output_int(04),
108
      carry      => c05
109
      );
110
 
111
fa03 : fulladder
112
   port map (
113
      addend     => addend_09bit(03),
114
      augend     => augend_09bit(03),
115
      carry_in   => c03,
116
      sum        => adder09_output_int(03),
117
      carry      => c04
118
      );
119
 
120
fa02 : fulladder
121
   port map (
122
      addend     => addend_09bit(02),
123
      augend     => augend_09bit(02),
124
      carry_in   => c02,
125
      sum        => adder09_output_int(02),
126
      carry      => c03
127
      );
128
 
129
fa01 : fulladder
130
   port map (
131
      addend     => addend_09bit(01),
132
      augend     => augend_09bit(01),
133
      carry_in   => c01,
134
      sum        => adder09_output_int(01),
135
      carry      => c02
136
      );
137
 
138
fa00 : fulladder
139
   port map (
140
      addend     => addend_09bit(00),
141
      augend     => augend_09bit(00),
142
      carry_in   => c00,
143
      sum        => adder09_output_int(00),
144
      carry      => c01
145
      );
146
 
147
end structural;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.