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

Subversion Repositories product_code_iterative_decoder

[/] [product_code_iterative_decoder/] [trunk/] [source/] [comparator_7bit.vhdl] - Blame information for rev 14

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 arif_endro
-- $Id: comparator_7bit.vhdl,v 1.1.1.1 2005-11-15 01:52:30 arif_endro Exp $
2
-------------------------------------------------------------------------------
3
-- Title       : 7 bit comparator
4
-- Project     : 
5
-------------------------------------------------------------------------------
6
-- File        : comparator_7bit.vhdl
7
-- Author      : "Arif E. Nugroho" <arif_endro@yahoo.com>
8
-- Created     : 2005/11/01
9
-- Last update : 
10
-- Simulators  :
11
-- Synthesizers: 
12
-- Target      : 
13
-------------------------------------------------------------------------------
14
-- Description : Compare two input ( 7 bit signal )
15
-------------------------------------------------------------------------------
16 14 arif_endro
-- Copyright (C) 2005 Arif Endro Nugroho
17 2 arif_endro
-------------------------------------------------------------------------------
18
-- 
19
--      THIS SOURCE FILE MAY BE USED AND DISTRIBUTED WITHOUT RESTRICTION
20
-- PROVIDED THAT THIS COPYRIGHT STATEMENT IS NOT REMOVED FROM THE FILE AND THAT
21
-- ANY DERIVATIVE WORK CONTAINS THE ORIGINAL COPYRIGHT NOTICE AND THE
22
-- ASSOCIATED DISCLAIMER.
23
-- 
24
-------------------------------------------------------------------------------
25
-- 
26
--      THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
27
-- IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
28
-- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
29
-- EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30
-- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31
-- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
32
-- OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
33
-- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
34
-- OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
35
-- ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
-- 
37
-------------------------------------------------------------------------------
38
 
39
library IEEE;
40
use IEEE.std_logic_1164.all;
41
 
42
entity comparator_7bit is
43
   port (
44
   a_7bit_i   : in  bit_vector (06 downto 00);
45
   b_7bit_i   : in  bit_vector (06 downto 00);
46
   a_eq_b     : out bit;
47
   a_gt_b     : out bit;
48
   a_lt_b     : out bit
49
   );
50
end comparator_7bit;
51
 
52
architecture structural of comparator_7bit is
53
 
54
   component bit_comparator
55
       port (
56
          a_i   : in  bit;
57
          b_i   : in  bit;
58
          eq_i  : in  bit;
59
          gt_i  : in  bit;
60
          lt_i  : in  bit;
61
          eq_o  : out bit;
62
          gt_o  : out bit;
63
          lt_o  : out bit
64
          );
65
   end component;
66
 
67
signal eq_i_0 : bit;
68
signal gt_i_0 : bit;
69
signal lt_i_0 : bit;
70
 
71
signal eq_o_0 : bit;
72
signal gt_o_0 : bit;
73
signal lt_o_0 : bit;
74
 
75
signal eq_o_1 : bit;
76
signal gt_o_1 : bit;
77
signal lt_o_1 : bit;
78
 
79
signal eq_o_2 : bit;
80
signal gt_o_2 : bit;
81
signal lt_o_2 : bit;
82
 
83
signal eq_o_3 : bit;
84
signal gt_o_3 : bit;
85
signal lt_o_3 : bit;
86
 
87
signal eq_o_4 : bit;
88
signal gt_o_4 : bit;
89
signal lt_o_4 : bit;
90
 
91
signal eq_o_5 : bit;
92
signal gt_o_5 : bit;
93
signal lt_o_5 : bit;
94
 
95
signal eq_o_6 : bit;
96
signal gt_o_6 : bit;
97
signal lt_o_6 : bit;
98
 
99
 
100
begin
101
 
102
eq_i_0 <= '1'; -- 20051015 Fixed
103
gt_i_0 <= '0';
104
lt_i_0 <= '0';
105
 
106
a_eq_b <= eq_o_6;
107
a_gt_b <= gt_o_6;
108
a_lt_b <= lt_o_6;
109
 
110
cmp6 : bit_comparator
111
   port map (
112
     a_i   =>  a_7bit_i (06),
113
     b_i   =>  b_7bit_i (06),
114
     eq_i  =>  eq_o_5,
115
     gt_i  =>  gt_o_5,
116
     lt_i  =>  lt_o_5,
117
     eq_o  =>  eq_o_6,
118
     gt_o  =>  gt_o_6,
119
     lt_o  =>  lt_o_6
120
     );
121
 
122
cmp5 : bit_comparator
123
   port map (
124
     a_i   =>  a_7bit_i (05),
125
     b_i   =>  b_7bit_i (05),
126
     eq_i  =>  eq_o_4,
127
     gt_i  =>  gt_o_4,
128
     lt_i  =>  lt_o_4,
129
     eq_o  =>  eq_o_5,
130
     gt_o  =>  gt_o_5,
131
     lt_o  =>  lt_o_5
132
     );
133
 
134
cmp4 : bit_comparator
135
   port map (
136
     a_i   =>  a_7bit_i (04),
137
     b_i   =>  b_7bit_i (04),
138
     eq_i  =>  eq_o_3,
139
     gt_i  =>  gt_o_3,
140
     lt_i  =>  lt_o_3,
141
     eq_o  =>  eq_o_4,
142
     gt_o  =>  gt_o_4,
143
     lt_o  =>  lt_o_4
144
     );
145
 
146
cmp3 : bit_comparator
147
   port map (
148
     a_i   =>  a_7bit_i (03),
149
     b_i   =>  b_7bit_i (03),
150
     eq_i  =>  eq_o_2,
151
     gt_i  =>  gt_o_2,
152
     lt_i  =>  lt_o_2,
153
     eq_o  =>  eq_o_3,
154
     gt_o  =>  gt_o_3,
155
     lt_o  =>  lt_o_3
156
     );
157
 
158
cmp2 : bit_comparator
159
   port map (
160
     a_i   =>  a_7bit_i (02),
161
     b_i   =>  b_7bit_i (02),
162
     eq_i  =>  eq_o_1,
163
     gt_i  =>  gt_o_1,
164
     lt_i  =>  lt_o_1,
165
     eq_o  =>  eq_o_2,
166
     gt_o  =>  gt_o_2,
167
     lt_o  =>  lt_o_2
168
     );
169
 
170
cmp1 : bit_comparator
171
   port map (
172
     a_i   =>  a_7bit_i (01),
173
     b_i   =>  b_7bit_i (01),
174
     eq_i  =>  eq_o_0,
175
     gt_i  =>  gt_o_0,
176
     lt_i  =>  lt_o_0,
177
     eq_o  =>  eq_o_1,
178
     gt_o  =>  gt_o_1,
179
     lt_o  =>  lt_o_1
180
     );
181
 
182
cmp0 : bit_comparator
183
   port map (
184
     a_i   =>  a_7bit_i (00),
185
     b_i   =>  b_7bit_i (00),
186
     eq_i  =>  eq_i_0,
187
     gt_i  =>  gt_i_0,
188
     lt_i  =>  lt_i_0,
189
     eq_o  =>  eq_o_0,
190
     gt_o  =>  gt_o_0,
191
     lt_o  =>  lt_o_0
192
     );
193
 
194
end structural;

powered by: WebSVN 2.1.0

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