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

Subversion Repositories ft816float

[/] [ft816float/] [trunk/] [rtl/] [verilog2/] [fp_defines.v] - Blame information for rev 75

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

Line No. Rev Author Line
1 29 robfinch
// ============================================================================
2
//        __
3
//   \\__/ o\    (C) 2006-2019  Robert Finch, Waterloo
4
//    \  __ /    All rights reserved.
5
//     \/_//     robfinch<remove>@finitron.ca
6
//       ||
7
//
8
// This source file is free software: you can redistribute it and/or modify 
9
// it under the terms of the GNU Lesser General Public License as published 
10
// by the Free Software Foundation, either version 3 of the License, or     
11
// (at your option) any later version.                                      
12
//                                                                          
13
// This source file is distributed in the hope that it will be useful,      
14
// but WITHOUT ANY WARRANTY; without even the implied warranty of           
15
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            
16
// GNU General Public License for more details.                             
17
//                                                                          
18
// You should have received a copy of the GNU General Public License        
19
// along with this program.  If not, see <http://www.gnu.org/licenses/>.    
20
//
21
//
22
//      fp_defines.v
23
// ============================================================================
24
//
25
 
26
`define QINFOS          23'h7FC000              // info
27
`define QSUBINF         4'd1
28
`define QINFDIV         4'd2
29
`define QZEROZERO       4'd3
30
`define QINFZERO        4'd4
31
`define QSQRTINF        4'd5
32
`define QSQRTNEG        4'd6
33
 
34
`define QSUBINFS        31'h7FC00001    // - infinity - infinity
35
`define QINFDIVS        31'h7FC00002    // - infinity / infinity
36
`define QZEROZEROS      31'h7FC00003    // - zero / zero
37
`define QINFZEROS       31'h7FC00004    // - infinity X zero
38
`define QSQRTINF        31'h7FC00005    // - square root of infinity
39
`define QSQRTNEG        31'h7FC00006    // - square root of negaitve number
40
 
41
`define QINFOD          52'hFF80000000000               // info
42
`define QSUBINFD        63'h7FF0000000000001    // - infinity - infinity
43
`define QINFDIVD        63'h7FF0000000000002    // - infinity / infinity
44
`define QZEROZEROD  63'h7FF0000000000003        // - zero / zero
45
`define QINFZEROD       63'h7FF0000000000004    // - infinity X zero
46
`define QSQRTINFD       63'h7FF0000000000005    // - square root of infinity
47
`define QSQRTNEGD       63'h7FF0000000000006    // - square root of negaitve number
48
 
49
`define QINFODX         64'hFF800000_00000000           // info
50
`define QSUBINFDX       79'h7FFF000000_0000000001       // - infinity - infinity
51
`define QINFDIVDX       79'h7FFF000000_0000000002       // - infinity / infinity
52
`define QZEROZERODX 79'h7FFF000000_0000000003   // - zero / zero
53
`define QINFZERODX      79'h7FFF000000_0000000004       // - infinity X zero
54
`define QSQRTINFDX      79'h7FFF000000_0000000005       // - square root of infinity
55
`define QSQRTNEGDX      79'h7FFF000000_0000000006       // - square root of negaitve number
56
 
57
`define QINFOQ          112'hFF800000_0000000000_0000000000             // info
58
`define QSUBINFQ        127'h7F_FF00000000_0000000000_0000000001        // - infinity - infinity
59
`define QINFDIVQ        127'h7F_FF00000000_0000000000_0000000002        // - infinity / infinity
60
`define QZEROZEROQ  127'h7F_FF00000000_0000000000_0000000003    // - zero / zero
61
`define QINFZEROQ       127'h7F_FF00000000_0000000000_0000000004        // - infinity X zero
62
`define QSQRTINFQ       127'h7F_FF00000000_0000000000_0000000005        // - square root of infinity
63
`define QSQRTNEGQ       127'h7F_FF00000000_0000000000_0000000006        // - square root of negaitve number
64
 
65
`define POINT5S         32'h3F000000
66
`define POINT5SX        40'h3F80000000
67
`define POINT5D         64'h3FE0000000000000
68
`define POINT5DX        80'h3FFE0000000000000000
69
`define ZEROS                   32'h00000000
70
`define ZEROSX          40'h0000000000
71
`define ZEROD                   64'h0000000000000000
72
`define ZERODX          80'h00000000000000000000
73
 
74
`define AIN                     3'd0
75
`define BIN                     3'd1
76
`define CIN                     3'd2
77
`define RES                     3'd3
78
`define POINT5  3'd4
79
`define ZERO            3'd5
80
 
81
 

powered by: WebSVN 2.1.0

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