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/] [tags/] [INITIAL/] [source/] [comparator_7bit.vhdl] - Blame information for rev 12

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

powered by: WebSVN 2.1.0

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