source: XOpenSparcT1/trunk/T1-FPU/fpu_cnt_lead0_lvl2.v @ 6

Revision 6, 2.1 KB checked in by pntsvt00, 13 years ago (diff)

versione iniziale opensparc

Line 
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T1 Processor File: fpu_cnt_lead0_lvl2.v
4// Copyright (c) 2006 Sun Microsystems, Inc.  All Rights Reserved.
5// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
6//
7// The above named program is free software; you can redistribute it and/or
8// modify it under the terms of the GNU General Public
9// License version 2 as published by the Free Software Foundation.
10//
11// The above named program is distributed in the hope that it will be
12// useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14// General Public License for more details.
15//
16// You should have received a copy of the GNU General Public
17// License along with this work; if not, write to the Free Software
18// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
19//
20// ========== Copyright Header End ============================================
21///////////////////////////////////////////////////////////////////////////////
22//
23//      2nd level of lead 0 counters.  Lead 0 count for 8 bits.
24//
25///////////////////////////////////////////////////////////////////////////////
26
27module fpu_cnt_lead0_lvl2 (
28        din_7_4_eq_0,
29        din_7_6_eq_0,
30        lead0_4b_0_hi,
31        din_3_0_eq_0,
32        din_3_2_eq_0,
33        lead0_4b_0_lo,
34
35        din_7_0_eq_0,
36        lead0_8b_1,
37        lead0_8b_0
38);
39
40
41input           din_7_4_eq_0;           // data in[7:4] is zero
42input           din_7_6_eq_0;           // data in[7:6] is zero
43input           lead0_4b_0_hi;          // bit[0] of lead 0 count- data in[7:4]
44input           din_3_0_eq_0;           // data in[3:0] is zero
45input           din_3_2_eq_0;           // data in[3:2] is zero
46input           lead0_4b_0_lo;          // bit[0] of lead 0 count- data in[3:0]
47
48output          din_7_0_eq_0;           // data in[7:0] is zero
49output          lead0_8b_1;             // bit[1] of lead 0 count
50output          lead0_8b_0;             // bit[0] of lead 0 count
51
52wire            din_7_0_eq_0;
53wire            lead0_8b_1;
54wire            lead0_8b_0;
55
56
57assign din_7_0_eq_0= din_3_0_eq_0 && din_7_4_eq_0;
58
59assign lead0_8b_1= ((!din_7_4_eq_0) && din_7_6_eq_0)
60                || (din_7_4_eq_0 && din_3_2_eq_0);
61
62assign lead0_8b_0= ((!din_7_4_eq_0) && lead0_4b_0_hi)
63                || (din_7_4_eq_0 && lead0_4b_0_lo);
64
65
66endmodule
67
68
Note: See TracBrowser for help on using the repository browser.