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

Subversion Repositories dirac

[/] [dirac/] [trunk/] [src/] [common/] [Divider.vhd] - Rev 8

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

-- ***** BEGIN LICENSE BLOCK *****
-- 
-- 
--  Version: MPL 1.1/GPL 2.0/LGPL 2.1
-- 
--  The contents of this file are subject to the Mozilla Public License
--  Version 1.1 (the "License"); you may not use this file except in compliance
--  with the License. You may obtain a copy of the License at
--  http://www.mozilla.org/MPL/
-- 
--  Software distributed under the License is distributed on an "AS IS" basis,
--  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
--  the specific language governing rights and limitations under the License.
-- 
--  The Original Code is BBC Research and Development code.
-- 
--  The Initial Developer of the Original Code is the British Broadcasting
--  Corporation.
--  Portions created by the Initial Developer are Copyright (C) 2006.
--  All Rights Reserved.
-- 
--  Contributor(s): Peter Bleackley (Original author)
-- 
--  Alternatively, the contents of this file may be used under the terms of
--  the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser
--  Public License Version 2.1 (the "LGPL"), in which case the provisions of
--  the GPL or the LGPL are applicable instead of those above. If you wish to
--  allow use of your version of this file only under the terms of the either
--  the GPL or LGPL and not to allow others to use your version of this file
--  under the MPL, indicate your decision by deleting the provisions above
--  and replace them with the notice and other provisions required by the GPL
--  or LGPL. If you do not delete the provisions above, a recipient may use
--  your version of this file under the terms of any one of the MPL, the GPL
--  or the LGPL.
-- * ***** END LICENSE BLOCK ***** */
 
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
 
--  Uncomment the following lines to use the declarations that are
--  provided for instantiating Xilinx primitive components.
--library UNISIM;
--use UNISIM.VComponents.all;
 
entity Divider is
    Port ( NUMERATOR : in std_logic_vector(9 downto 0);
           DENOMINATOR : in std_logic_vector(9 downto 0);
			  RESET : in std_logic;
           CLOCK : in std_logic;
           QUOTIENT : out std_logic_vector(9 downto 0));
end Divider;
 
architecture RTL of Divider is
	signal NUMERATOR2 : std_logic_vector(9 downto 0);
	signal DENOMINATOR2 : std_logic_vector( 9 downto 0);
	signal RECIPROCAL : std_logic_vector(31 downto 0);
	signal PRODUCT1 : std_logic_vector(25 downto 0);
	signal PRODUCT2 : std_logic_vector(25 downto 0);
	signal TOTAL : std_logic_vector(41 downto 0);
	signal INDEX : std_logic_vector (9 downto 0);
	type ROM is array (1021 downto 0) of std_logic_vector(31 downto 0);
	constant LUT : ROM :=  ("00000000010000000001000000000100",
"00000000010000000010000000010000",
"00000000010000000011000000100100",
"00000000010000000100000001000000",
"00000000010000000101000001100100",
"00000000010000000110000010010000",
"00000000010000000111000011000101",
"00000000010000001000000100000010",
"00000000010000001001000101000110",
"00000000010000001010000110010011",
"00000000010000001011000111101001",
"00000000010000001100001001000110",
"00000000010000001101001010101100",
"00000000010000001110001100011010",
"00000000010000001111001110010001",
"00000000010000010000010000010000",
"00000000010000010001010010010111",
"00000000010000010010010100100111",
"00000000010000010011010110111111",
"00000000010000010100011001011111",
"00000000010000010101011100001000",
"00000000010000010110011110111010",
"00000000010000010111100001110100",
"00000000010000011000100100110111",
"00000000010000011001101000000010",
"00000000010000011010101011010110",
"00000000010000011011101110110010",
"00000000010000011100110010011000",
"00000000010000011101110110000110",
"00000000010000011110111001111100",
"00000000010000011111111101111100",
"00000000010000100001000010000100",
"00000000010000100010000110010101",
"00000000010000100011001010101110",
"00000000010000100100001111010001",
"00000000010000100101010011111100",
"00000000010000100110011000110001",
"00000000010000100111011101101110",
"00000000010000101000100010110100",
"00000000010000101001101000000100",
"00000000010000101010101101011100",
"00000000010000101011110010111101",
"00000000010000101100111000101000",
"00000000010000101101111110011011",
"00000000010000101111000100011000",
"00000000010000110000001010011110",
"00000000010000110001010000101101",
"00000000010000110010010111000101",
"00000000010000110011011101100110",
"00000000010000110100100100010001",
"00000000010000110101101011000101",
"00000000010000110110110010000010",
"00000000010000110111111001001001",
"00000000010000111001000000011001",
"00000000010000111010000111110010",
"00000000010000111011001111010101",
"00000000010000111100010111000010",
"00000000010000111101011110110111",
"00000000010000111110100110110111",
"00000000010000111111101111000000",
"00000000010001000000110111010010",
"00000000010001000001111111101110",
"00000000010001000011001000010100",
"00000000010001000100010001000100",
"00000000010001000101011001111101",
"00000000010001000110100011000000",
"00000000010001000111101100001101",
"00000000010001001000110101100011",
"00000000010001001001111111000011",
"00000000010001001011001000101110",
"00000000010001001100010010100010",
"00000000010001001101011100100000",
"00000000010001001110100110101000",
"00000000010001001111110000111010",
"00000000010001010000111011010110",
"00000000010001010010000101111100",
"00000000010001010011010000101100",
"00000000010001010100011011100110",
"00000000010001010101100110101010",
"00000000010001010110110001111001",
"00000000010001010111111101010010",
"00000000010001011001001000110101",
"00000000010001011010010100100010",
"00000000010001011011100000011010",
"00000000010001011100101100011100",
"00000000010001011101111000101000",
"00000000010001011111000100111111",
"00000000010001100000010001100000",
"00000000010001100001011110001011",
"00000000010001100010101011000010",
"00000000010001100011111000000010",
"00000000010001100101000101001110",
"00000000010001100110010010100011",
"00000000010001100111100000000100",
"00000000010001101000101101101111",
"00000000010001101001111011100101",
"00000000010001101011001001100110",
"00000000010001101100010111110001",
"00000000010001101101100110000111",
"00000000010001101110110100101001",
"00000000010001110000000011010101",
"00000000010001110001010010001011",
"00000000010001110010100001001101",
"00000000010001110011110000011010",
"00000000010001110100111111110010",
"00000000010001110110001111010101",
"00000000010001110111011111000011",
"00000000010001111000101110111100",
"00000000010001111001111111000001",
"00000000010001111011001111010000",
"00000000010001111100011111101011",
"00000000010001111101110000010001",
"00000000010001111111000001000011",
"00000000010010000000010010000000",
"00000000010010000001100011001000",
"00000000010010000010110100011100",
"00000000010010000100000101111011",
"00000000010010000101010111100110",
"00000000010010000110101001011100",
"00000000010010000111111011011110",
"00000000010010001001001101101011",
"00000000010010001010100000000100",
"00000000010010001011110010101001",
"00000000010010001101000101011001",
"00000000010010001110011000010110",
"00000000010010001111101011011110",
"00000000010010010000111110110010",
"00000000010010010010010010010010",
"00000000010010010011100101111110",
"00000000010010010100111001110101",
"00000000010010010110001101111001",
"00000000010010010111100010001001",
"00000000010010011000110110100101",
"00000000010010011010001011001101",
"00000000010010011011100000000010",
"00000000010010011100110101000010",
"00000000010010011110001010001111",
"00000000010010011111011111101000",
"00000000010010100000110101001110",
"00000000010010100010001011000000",
"00000000010010100011100000111110",
"00000000010010100100110111001001",
"00000000010010100110001101100000",
"00000000010010100111100100000100",
"00000000010010101000111010110101",
"00000000010010101010010001110010",
"00000000010010101011101000111100",
"00000000010010101101000000010010",
"00000000010010101110010111110110",
"00000000010010101111101111100110",
"00000000010010110001000111100011",
"00000000010010110010011111101101",
"00000000010010110011111000000100",
"00000000010010110101010000101000",
"00000000010010110110101001011000",
"00000000010010111000000010010111",
"00000000010010111001011011100010",
"00000000010010111010110100111010",
"00000000010010111100001110100000",
"00000000010010111101101000010010",
"00000000010010111111000010010011",
"00000000010011000000011100100000",
"00000000010011000001110110111011",
"00000000010011000011010001100100",
"00000000010011000100101100011001",
"00000000010011000110000111011101",
"00000000010011000111100010101110",
"00000000010011001000111110001101",
"00000000010011001010011001111001",
"00000000010011001011110101110011",
"00000000010011001101010001111011",
"00000000010011001110101110010001",
"00000000010011010000001010110101",
"00000000010011010001100111100110",
"00000000010011010011000100100110",
"00000000010011010100100001110011",
"00000000010011010101111111001111",
"00000000010011010111011100111001",
"00000000010011011000111010110001",
"00000000010011011010011000110111",
"00000000010011011011110111001100",
"00000000010011011101010101101111",
"00000000010011011110110100100000",
"00000000010011100000010011100000",
"00000000010011100001110010101110",
"00000000010011100011010010001011",
"00000000010011100100110001110110",
"00000000010011100110010001110000",
"00000000010011100111110001111001",
"00000000010011101001010010010000",
"00000000010011101010110010110111",
"00000000010011101100010011101100",
"00000000010011101101110100110000",
"00000000010011101111010110000011",
"00000000010011110000110111100101",
"00000000010011110010011001010110",
"00000000010011110011111011010110",
"00000000010011110101011101100110",
"00000000010011110111000000000100",
"00000000010011111000100010110010",
"00000000010011111010000101110000",
"00000000010011111011101000111101",
"00000000010011111101001100011001",
"00000000010011111110110000000100",
"00000000010100000000010100000000",
"00000000010100000001111000001011",
"00000000010100000011011100100101",
"00000000010100000101000001010000",
"00000000010100000110100110001010",
"00000000010100001000001011010100",
"00000000010100001001110000101110",
"00000000010100001011010110011000",
"00000000010100001100111100010010",
"00000000010100001110100010011100",
"00000000010100010000001000110111",
"00000000010100010001101111100001",
"00000000010100010011010110011100",
"00000000010100010100111101100111",
"00000000010100010110100101000011",
"00000000010100011000001100101111",
"00000000010100011001110100101011",
"00000000010100011011011100111000",
"00000000010100011101000101010110",
"00000000010100011110101110000101",
"00000000010100100000010111000100",
"00000000010100100010000000010100",
"00000000010100100011101001110101",
"00000000010100100101010011100111",
"00000000010100100110111101101010",
"00000000010100101000100111111110",
"00000000010100101010010010100011",
"00000000010100101011111101011010",
"00000000010100101101101000100010",
"00000000010100101111010011111011",
"00000000010100110000111111100110",
"00000000010100110010101011100010",
"00000000010100110100010111101111",
"00000000010100110110000100001110",
"00000000010100110111110000111111",
"00000000010100111001011110000010",
"00000000010100111011001011010111",
"00000000010100111100111000111101",
"00000000010100111110100110110101",
"00000000010101000000010101000000",
"00000000010101000010000011011100",
"00000000010101000011110010001011",
"00000000010101000101100001001100",
"00000000010101000111010000011111",
"00000000010101001001000000000101",
"00000000010101001010101111111101",
"00000000010101001100100000000111",
"00000000010101001110010000100101",
"00000000010101010000000001010101",
"00000000010101010001110010010111",
"00000000010101010011100011101101",
"00000000010101010101010101010101",
"00000000010101010111000111010000",
"00000000010101011000111001011110",
"00000000010101011010101100000000",
"00000000010101011100011110110100",
"00000000010101011110010001111100",
"00000000010101100000000101011000",
"00000000010101100001111001000110",
"00000000010101100011101101001000",
"00000000010101100101100001011110",
"00000000010101100111010110000111",
"00000000010101101001001011000100",
"00000000010101101011000000010101",
"00000000010101101100110101111010",
"00000000010101101110101011110011",
"00000000010101110000100001111111",
"00000000010101110010011000100000",
"00000000010101110100001111010101",
"00000000010101110110000110011111",
"00000000010101110111111101111100",
"00000000010101111001110101101110",
"00000000010101111011101101110101",
"00000000010101111101100110010000",
"00000000010101111111011111000000",
"00000000010110000001011000000101",
"00000000010110000011010001011111",
"00000000010110000101001011001101",
"00000000010110000111000101010001",
"00000000010110001000111111101001",
"00000000010110001010111010010111",
"00000000010110001100110101011010",
"00000000010110001110110000110011",
"00000000010110010000101100100001",
"00000000010110010010101000100100",
"00000000010110010100100100111110",
"00000000010110010110100001101100",
"00000000010110011000011110110001",
"00000000010110011010011100001100",
"00000000010110011100011001111100",
"00000000010110011110011000000011",
"00000000010110100000010110100000",
"00000000010110100010010101010011",
"00000000010110100100010100011100",
"00000000010110100110010011111100",
"00000000010110101000010011110011",
"00000000010110101010010100000000",
"00000000010110101100010100100100",
"00000000010110101110010101011110",
"00000000010110110000010110110000",
"00000000010110110010011000011000",
"00000000010110110100011010011000",
"00000000010110110110011100101111",
"00000000010110111000011111011101",
"00000000010110111010100010100011",
"00000000010110111100100110000000",
"00000000010110111110101001110101",
"00000000010111000000101110000001",
"00000000010111000010110010100101",
"00000000010111000100110111100001",
"00000000010111000110111100110101",
"00000000010111001001000010100001",
"00000000010111001011001000100110",
"00000000010111001101001111000011",
"00000000010111001111010101111000",
"00000000010111010001011101000101",
"00000000010111010011100100101100",
"00000000010111010101101100101011",
"00000000010111010111110101000010",
"00000000010111011001111101110011",
"00000000010111011100000110111101",
"00000000010111011110010000100000",
"00000000010111100000011010011100",
"00000000010111100010100100110010",
"00000000010111100100101111100001",
"00000000010111100110111010101001",
"00000000010111101001000110001100",
"00000000010111101011010010001000",
"00000000010111101101011110011110",
"00000000010111101111101011001110",
"00000000010111110001111000011000",
"00000000010111110100000101111101",
"00000000010111110110010011111011",
"00000000010111111000100010010101",
"00000000010111111010110001001001",
"00000000010111111101000000010111",
"00000000010111111111010000000001",
"00000000011000000001100000000110",
"00000000011000000011110000100101",
"00000000011000000110000001100000",
"00000000011000001000010010110110",
"00000000011000001010100100101000",
"00000000011000001100110110110101",
"00000000011000001111001001011101",
"00000000011000010001011100100010",
"00000000011000010011110000000011",
"00000000011000010110000011111111",
"00000000011000011000011000011000",
"00000000011000011010101101001101",
"00000000011000011101000010011110",
"00000000011000011111011000001101",
"00000000011000100001101110010111",
"00000000011000100100000100111111",
"00000000011000100110011100000011",
"00000000011000101000110011100101",
"00000000011000101011001011100100",
"00000000011000101101100100000000",
"00000000011000101111111100111010",
"00000000011000110010010110010001",
"00000000011000110100110000000110",
"00000000011000110111001010011001",
"00000000011000111001100101001001",
"00000000011000111100000000011000",
"00000000011000111110011100000110",
"00000000011001000000111000010001",
"00000000011001000011010100111100",
"00000000011001000101110010000101",
"00000000011001001000001111101101",
"00000000011001001010101101110100",
"00000000011001001101001100011001",
"00000000011001001111101011011111",
"00000000011001010010001011000011",
"00000000011001010100101011001000",
"00000000011001010111001011101100",
"00000000011001011001101100110000",
"00000000011001011100001110010011",
"00000000011001011110110000010111",
"00000000011001100001010010111100",
"00000000011001100011110110000000",
"00000000011001100110011001100110",
"00000000011001101000111101101100",
"00000000011001101011100010010011",
"00000000011001101110000111011011",
"00000000011001110000101101000101",
"00000000011001110011010011010000",
"00000000011001110101111001111100",
"00000000011001111000100001001010",
"00000000011001111011001000111010",
"00000000011001111101110001001100",
"00000000011010000000011010000000",
"00000000011010000011000011010110",
"00000000011010000101101101001111",
"00000000011010001000010111101011",
"00000000011010001011000010101010",
"00000000011010001101101110001011",
"00000000011010010000011010010000",
"00000000011010010011000110111000",
"00000000011010010101110100000100",
"00000000011010011000100001110011",
"00000000011010011011010000000110",
"00000000011010011101111110111101",
"00000000011010100000101110011001",
"00000000011010100011011110011001",
"00000000011010100110001110111101",
"00000000011010101001000000000110",
"00000000011010101011110001110100",
"00000000011010101110100100000111",
"00000000011010110001010111000000",
"00000000011010110100001010011110",
"00000000011010110110111110100001",
"00000000011010111001110011001011",
"00000000011010111100101000011010",
"00000000011010111111011110010000",
"00000000011011000010010100101100",
"00000000011011000101001011101111",
"00000000011011001000000011011001",
"00000000011011001010111011101001",
"00000000011011001101110100100001",
"00000000011011010000101110000000",
"00000000011011010011101000000110",
"00000000011011010110100010110101",
"00000000011011011001011110001011",
"00000000011011011100011010001010",
"00000000011011011111010110110000",
"00000000011011100010010100000000",
"00000000011011100101010001111000",
"00000000011011101000010000011001",
"00000000011011101011001111100100",
"00000000011011101110001111011000",
"00000000011011110001001111110101",
"00000000011011110100010000111100",
"00000000011011110111010010101110",
"00000000011011111010010101001001",
"00000000011011111101011000001111",
"00000000011100000000011100000000",
"00000000011100000011100000011100",
"00000000011100000110100101100010",
"00000000011100001001101011010100",
"00000000011100001100110001110010",
"00000000011100001111111000111100",
"00000000011100010011000000110001",
"00000000011100010110001001010011",
"00000000011100011001010010100001",
"00000000011100011100011100011100",
"00000000011100011111100111000100",
"00000000011100100010110010011001",
"00000000011100100101111110011011",
"00000000011100101001001011001100",
"00000000011100101100011000101010",
"00000000011100101111100110110110",
"00000000011100110010110101110000",
"00000000011100110110000101011010",
"00000000011100111001010101110010",
"00000000011100111100100110111001",
"00000000011100111111111000110000",
"00000000011101000011001011010110",
"00000000011101000110011110101100",
"00000000011101001001110010110010",
"00000000011101001101000111101001",
"00000000011101010000011101010000",
"00000000011101010011110011101000",
"00000000011101010111001010110010",
"00000000011101011010100010101100",
"00000000011101011101111011011001",
"00000000011101100001010100110111",
"00000000011101100100101111001000",
"00000000011101101000001010001011",
"00000000011101101011100110000001",
"00000000011101101111000010101010",
"00000000011101110010100000000111",
"00000000011101110101111110010111",
"00000000011101111001011101011011",
"00000000011101111100111101010011",
"00000000011110000000011110000000",
"00000000011110000011111111100001",
"00000000011110000111100001111000",
"00000000011110001011000101000100",
"00000000011110001110101001000101",
"00000000011110010010001101111101",
"00000000011110010101110011101011",
"00000000011110011001011010001111",
"00000000011110011101000001101010",
"00000000011110100000101001111100",
"00000000011110100100010011000110",
"00000000011110100111111101001000",
"00000000011110101011101000000001",
"00000000011110101111010011110011",
"00000000011110110011000000011110",
"00000000011110110110101110000010",
"00000000011110111010011100011111",
"00000000011110111110001011110110",
"00000000011111000001111100000111",
"00000000011111000101101101010011",
"00000000011111001001011111011001",
"00000000011111001101010010011010",
"00000000011111010001000110010110",
"00000000011111010100111011001110",
"00000000011111011000110001000010",
"00000000011111011100100111110011",
"00000000011111100000011111100000",
"00000000011111100100011000001010",
"00000000011111101000010001110010",
"00000000011111101100001100011000",
"00000000011111110000000111111100",
"00000000011111110100000100011110",
"00000000011111111000000001111111",
"00000000011111111100000000011111",
"00000000100000000000000000000000",
"00000000100000000100000000100000",
"00000000100000001000000010000000",
"00000000100000001100000100100001",
"00000000100000010000001000000100",
"00000000100000010100001100100111",
"00000000100000011000010010001101",
"00000000100000011100011000110101",
"00000000100000100000100000100000",
"00000000100000100100101001001110",
"00000000100000101000110010111111",
"00000000100000101100111101110101",
"00000000100000110001001001101110",
"00000000100000110101010110101100",
"00000000100000111001100100110000",
"00000000100000111101110011111001",
"00000000100001000010000100001000",
"00000000100001000110010101011101",
"00000000100001001010100111111001",
"00000000100001001110111011011101",
"00000000100001010011010000001000",
"00000000100001010111100101111011",
"00000000100001011011111100110111",
"00000000100001100000010100111100",
"00000000100001100100101110001010",
"00000000100001101001001000100010",
"00000000100001101101100100000101",
"00000000100001110010000000110010",
"00000000100001110110011110101011",
"00000000100001111010111101101111",
"00000000100001111111011110000000",
"00000000100010000011111111011101",
"00000000100010001000100010001000",
"00000000100010001101000110000000",
"00000000100010010001101011000111",
"00000000100010010110010001011100",
"00000000100010011010111001000000",
"00000000100010011111100001110100",
"00000000100010100100001011111000",
"00000000100010101000110111001101",
"00000000100010101101100011110010",
"00000000100010110010010001101010",
"00000000100010110111000000110100",
"00000000100010111011110001010000",
"00000000100011000000100011000000",
"00000000100011000101010110000100",
"00000000100011001010001010011100",
"00000000100011001111000000001000",
"00000000100011010011110111001011",
"00000000100011011000101111100011",
"00000000100011011101101001010010",
"00000000100011100010100100010111",
"00000000100011100111100000110101",
"00000000100011101100011110101011",
"00000000100011110001011101111001",
"00000000100011110110011110100001",
"00000000100011111011100000100011",
"00000000100100000000100100000000",
"00000000100100000101101000111000",
"00000000100100001010101111001100",
"00000000100100001111110110111100",
"00000000100100010101000000001001",
"00000000100100011010001010110011",
"00000000100100011111010110111100",
"00000000100100100100100100100100",
"00000000100100101001110011101011",
"00000000100100101111000100010011",
"00000000100100110100010110011011",
"00000000100100111001101010000101",
"00000000100100111110111111010001",
"00000000100101000100010110000000",
"00000000100101001001101110010010",
"00000000100101001111001000001001",
"00000000100101010100100011100100",
"00000000100101011010000000100101",
"00000000100101011111011111001100",
"00000000100101100100111111011010",
"00000000100101101010100001010000",
"00000000100101110000000100101110",
"00000000100101110101101001110101",
"00000000100101111011010000100101",
"00000000100110000000111001000001",
"00000000100110000110100011001000",
"00000000100110001100001110111010",
"00000000100110010001111100011010",
"00000000100110010111101011100111",
"00000000100110011101011100100010",
"00000000100110100011001111001101",
"00000000100110101001000011100111",
"00000000100110101110111001110010",
"00000000100110110100110001101111",
"00000000100110111010101011011110",
"00000000100111000000100111000000",
"00000000100111000110100100010110",
"00000000100111001100100011100001",
"00000000100111010010100100100001",
"00000000100111011000100111011000",
"00000000100111011110101100000110",
"00000000100111100100110010101101",
"00000000100111101010111011001100",
"00000000100111110001000101100101",
"00000000100111110111010001111010",
"00000000100111111101100000001001",
"00000000101000000011110000010110",
"00000000101000001010000010100000",
"00000000101000010000010110101001",
"00000000101000010110101100110001",
"00000000101000011101000100111001",
"00000000101000100011011111000011",
"00000000101000101001111011001111",
"00000000101000110000011001011110",
"00000000101000110110111001110001",
"00000000101000111101011100001010",
"00000000101001000100000000101001",
"00000000101001001010100111001111",
"00000000101001010001001111111101",
"00000000101001010111111010110101",
"00000000101001011110100111110110",
"00000000101001100101010111000100",
"00000000101001101100001000011101",
"00000000101001110010111100000101",
"00000000101001111001110001111011",
"00000000101010000000101010000000",
"00000000101010000111100100010111",
"00000000101010001110100000111111",
"00000000101010010101011111111010",
"00000000101010011100100001001010",
"00000000101010100011100100101111",
"00000000101010101010101010101010",
"00000000101010110001110010111101",
"00000000101010111000111101101001",
"00000000101011000000001010110000",
"00000000101011000111011010010001",
"00000000101011001110101100001111",
"00000000101011010110000000101011",
"00000000101011011101010111100110",
"00000000101011100100110001000001",
"00000000101011101100001100111110",
"00000000101011110011101011011101",
"00000000101011111011001100100001",
"00000000101100000010110000001011",
"00000000101100001010010110011011",
"00000000101100010001111111010011",
"00000000101100011001101010110101",
"00000000101100100001011001000010",
"00000000101100101001001001111100",
"00000000101100110000111101100011",
"00000000101100111000110011111001",
"00000000101101000000101101000000",
"00000000101101001000101000111001",
"00000000101101010000100111100110",
"00000000101101011000101001001000",
"00000000101101100000101101100000",
"00000000101101101000110100110001",
"00000000101101110000111110111011",
"00000000101101111001001100000000",
"00000000101110000001011100000010",
"00000000101110001001101111000011",
"00000000101110010010000101000011",
"00000000101110011010011110000110",
"00000000101110100010111010001011",
"00000000101110101011011001010110",
"00000000101110110011111011100111",
"00000000101110111100100001000000",
"00000000101111000101001001100100",
"00000000101111001101110101010011",
"00000000101111010110100100010000",
"00000000101111011111010110011100",
"00000000101111101000001011111010",
"00000000101111110001000100101010",
"00000000101111111010000000101111",
"00000000110000000011000000001100",
"00000000110000001100000011000000",
"00000000110000010101001001010000",
"00000000110000011110010010111011",
"00000000110000100111100000000110",
"00000000110000110000110000110000",
"00000000110000111010000100111101",
"00000000110001000011011100101111",
"00000000110001001100111000000111",
"00000000110001010110010111001000",
"00000000110001011111111001110100",
"00000000110001101001100000001100",
"00000000110001110011001010010011",
"00000000110001111100111000001100",
"00000000110010000110101001111000",
"00000000110010010000011111011010",
"00000000110010011010011000110011",
"00000000110010100100010110000111",
"00000000110010101110010111011000",
"00000000110010111000011100100111",
"00000000110011000010100101111000",
"00000000110011001100110011001100",
"00000000110011010111000100100111",
"00000000110011100001011010001010",
"00000000110011101011110011111000",
"00000000110011110110010001110100",
"00000000110100000000110100000000",
"00000000110100001011011010011111",
"00000000110100010110000101010100",
"00000000110100100000110100100000",
"00000000110100101011101000001000",
"00000000110100110110100000001101",
"00000000110101000001011100110010",
"00000000110101001100011101111011",
"00000000110101010111100011101001",
"00000000110101100010101110000000",
"00000000110101101101111101000011",
"00000000110101111001010000110101",
"00000000110110000100101001011001",
"00000000110110010000000110110010",
"00000000110110011011101001000010",
"00000000110110100111010000001101",
"00000000110110110010111100010111",
"00000000110110111110101101100001",
"00000000110111001010100011110001",
"00000000110111010110011111001000",
"00000000110111100010011111101011",
"00000000110111101110100101011100",
"00000000110111111010110000011111",
"00000000111000000111000000111000",
"00000000111000010011010110101001",
"00000000111000011111110001111000",
"00000000111000101100010010100110",
"00000000111000111000111000111000",
"00000000111001000101100100110010",
"00000000111001010010010110011000",
"00000000111001011111001101101100",
"00000000111001101100001010110100",
"00000000111001111001001101110010",
"00000000111010000110010110101100",
"00000000111010010011100101100101",
"00000000111010100000111010100000",
"00000000111010101110010101100100",
"00000000111010111011110110110010",
"00000000111011001001011110010001",
"00000000111011010111001100000011",
"00000000111011100101000000001110",
"00000000111011110010111010110111",
"00000000111100000000111100000000",
"00000000111100001111000011110000",
"00000000111100011101010010001011",
"00000000111100101011100111010110",
"00000000111100111010000011010101",
"00000000111101001000100110001101",
"00000000111101010111010000000011",
"00000000111101100110000000111101",
"00000000111101110100111000111111",
"00000000111110000011111000001111",
"00000000111110010010111110110010",
"00000000111110100010001100101100",
"00000000111110110001100010000101",
"00000000111111000000111111000000",
"00000000111111010000100011100101",
"00000000111111100000001111111000",
"00000000111111110000000011111111",
"00000001000000000000000000000000",
"00000001000000010000000100000001",
"00000001000000100000010000001000",
"00000001000000110000100100011011",
"00000001000001000001000001000001",
"00000001000001010001100101111111",
"00000001000001100010010011011101",
"00000001000001110011001001100000",
"00000001000010000100001000010000",
"00000001000010010101001111110011",
"00000001000010100110100000010000",
"00000001000010110111111001101110",
"00000001000011001001011100010100",
"00000001000011011011001000001010",
"00000001000011101100111101010110",
"00000001000011111110111100000001",
"00000001000100010001000100010001",
"00000001000100100011010110001110",
"00000001000100110101110010000001",
"00000001000101001000010111110000",
"00000001000101011011000111100101",
"00000001000101101110000001101000",
"00000001000110000001000110000001",
"00000001000110010100010100111000",
"00000001000110100111101110010110",
"00000001000110111011010010100100",
"00000001000111001111000001101010",
"00000001000111100010111011110011",
"00000001000111110111000001000111",
"00000001001000001011010001110000",
"00000001001000011111101101111000",
"00000001001000110100010101100111",
"00000001001001001001001001001001",
"00000001001001011110001000100111",
"00000001001001110011010100001011",
"00000001001010001000101100000001",
"00000001001010011110010000010010",
"00000001001010110100000001001010",
"00000001001011001001111110110100",
"00000001001011100000001001011100",
"00000001001011110110100001001011",
"00000001001100001101000110010000",
"00000001001100100011111000110100",
"00000001001100111010111001000101",
"00000001001101010010000111001111",
"00000001001101101001100011011111",
"00000001001110000001001110000001",
"00000001001110011001000111000010",
"00000001001110110001001110110001",
"00000001001111001001100101011010",
"00000001001111100010001011001011",
"00000001001111111011000000010011",
"00000001010000010100000101000001",
"00000001010000101101011001100010",
"00000001010001000110111110000110",
"00000001010001100000110010111100",
"00000001010001111010111000010100",
"00000001010010010101001110011110",
"00000001010010101111110101101010",
"00000001010011001010101110001000",
"00000001010011100101111000001010",
"00000001010100000001010100000001",
"00000001010100011101000001111110",
"00000001010100111001000010010100",
"00000001010101010101010101010101",
"00000001010101110001111011010011",
"00000001010110001110110100100011",
"00000001010110101100000001010110",
"00000001010111001001100010000010",
"00000001010111100111010110111011",
"00000001011000000101100000010110",
"00000001011000100011111110100111",
"00000001011001000010110010000101",
"00000001011001100001111011000110",
"00000001011010000001011010000001",
"00000001011010100001001111001101",
"00000001011011000001011011000001",
"00000001011011100001111101110110",
"00000001011100000010111000000101",
"00000001011100100100001010000111",
"00000001011101000101110100010111",
"00000001011101100111110111001110",
"00000001011110001010010011001000",
"00000001011110101101001000100000",
"00000001011111010000010111110100",
"00000001011111110100000001011111",
"00000001100000011000000110000001",
"00000001100000111100100101110111",
"00000001100001100001100001100001",
"00000001100010000110111001011111",
"00000001100010101100101110010000",
"00000001100011010011000000011000",
"00000001100011111001110000011000",
"00000001100100100000111110110100",
"00000001100101001000101100001111",
"00000001100101110000111001001111",
"00000001100110011001100110011001",
"00000001100111000010110100010100",
"00000001100111101100100011101001",
"00000001101000010110110100111111",
"00000001101001000001101001000001",
"00000001101001101101000000011010",
"00000001101010011000111011110110",
"00000001101011000101011100000001",
"00000001101011110010100001101011",
"00000001101100100000001101100100",
"00000001101101001110100000011011",
"00000001101101111101011011000011",
"00000001101110101100111110010001",
"00000001101111011101001010111000",
"00000001110000001110000001110000",
"00000001110000111111100011110000",
"00000001110001110001110001110001",
"00000001110010100100101100110000",
"00000001110011011000010101101000",
"00000001110100001100101101011000",
"00000001110101000001110101000001",
"00000001110101110111101101100101",
"00000001110110101110011000000111",
"00000001110111100101110101101110",
"00000001111000011110000111100001",
"00000001111001010111001110101100",
"00000001111010010001001100011010",
"00000001111011001100000001111011",
"00000001111100000111110000011111",
"00000001111101000100011001011001",
"00000001111110000001111110000001",
"00000001111111000000011111110000",
"00000010000000000000000000000000",
"00000010000001000000100000010000",
"00000010000010000010000010000010",
"00000010000011000100100110111010",
"00000010000100001000010000100001",
"00000010000101001101000000100001",
"00000010000110010010111000101001",
"00000010000111011001111010101101",
"00000010001000100010001000100010",
"00000010001001101011100100000010",
"00000010001010110110001111001011",
"00000010001100000010001100000010",
"00000010001101001111011100101100",
"00000010001110011110000011010101",
"00000010001111101110000010001111",
"00000010010000111111011011110000",
"00000010010010010010010010010010",
"00000010010011100110101000010111",
"00000010010100111100100000100101",
"00000010010110010011111101101001",
"00000010010111101101000010010111",
"00000010011001000111110001101001",
"00000010011010100100001110011111",
"00000010011100000010011100000010",
"00000010011101100010011101100010",
"00000010011111000100010110010111",
"00000010100000101000001010000010",
"00000010100010001101111100001100",
"00000010100011110101110000101000",
"00000010100101011111101011010100",
"00000010100111001011110000010100",
"00000010101000111010000011111101",
"00000010101010101010101010101010",
"00000010101100011101101001000110",
"00000010101110010011000100000101",
"00000010110000001011000000101100",
"00000010110010000101100100001011",
"00000010110100000010110100000010",
"00000010110110000010110110000010",
"00000010111000000101110000001011",
"00000010111010001011101000101110",
"00000010111100010100100110010000",
"00000010111110100000101111101000",
"00000011000000110000001100000011",
"00000011000011000011000011000011",
"00000011000101011001011100100001",
"00000011000111110011100000110001",
"00000011001010010001011000011111",
"00000011001100110011001100110011",
"00000011001111011001000111010010",
"00000011010010000011010010000011",
"00000011010100110001110111101100",
"00000011010111100101000011010111",
"00000011011010011101000000110110",
"00000011011101011001111100100010",
"00000011100000011100000011100000",
"00000011100011100011100011100011",
"00000011100110110000101011010001",
"00000011101010000011101010000011",
"00000011101101011100110000001110",
"00000011110000111100001111000011",
"00000011110100100010011000110101",
"00000011111000001111100000111110",
"00000011111100000011111100000011",
"00000100000000000000000000000000",
"00000100000100000100000100000100",
"00000100001000010000100001000010",
"00000100001100100101110001010011",
"00000100010001000100010001000100",
"00000100010101101100011110010111",
"00000100011010011110111001011000",
"00000100011111011100000100011111",
"00000100100100100100100100100100",
"00000100101001111001000001001010",
"00000100101111011010000100101111",
"00000100110101001000011100111110",
"00000100111011000100111011000100",
"00000101000001010000010100000101",
"00000101000111101011100001010001",
"00000101001110010111100000101001",
"00000101010101010101010101010101",
"00000101011100100110001000001010",
"00000101100100001011001000010110",
"00000101101100000101101100000101",
"00000101110100010111010001011101",
"00000101111101000001011111010000",
"00000110000110000110000110000110",
"00000110001111100111000001100011",
"00000110011001100110011001100110",
"00000110100100000110100100000110",
"00000110101111001010000110101111",
"00000110111010110011111001000101",
"00000111000111000111000111000111",
"00000111010100000111010100000111",
"00000111100001111000011110000111",
"00000111110000011111000001111100",
"00001000000000000000000000000000",
"00001000010000100001000010000100",
"00001000100010001000100010001000",
"00001000110100111101110010110000",
"00001001001001001001001001001001",
"00001001011110110100001001011110",
"00001001110110001001110110001001",
"00001010001111010111000010100011",
"00001010101010101010101010101010",
"00001011001000010110010000101100",
"00001011101000101110100010111010",
"00001100001100001100001100001100",
"00001100110011001100110011001100",
"00001101011110010100001101011110",
"00001110001110001110001110001110",
"00001111000011110000111100001111",
"00010000000000000000000000000000",
"00010001000100010001000100010001",
"00010010010010010010010010010010",
"00010011101100010011101100010011",
"00010101010101010101010101010101",
"00010111010001011101000101110100",
"00011001100110011001100110011001",
"00011100011100011100011100011100",
"00100000000000000000000000000000",
"00100100100100100100100100100100",
"00101010101010101010101010101010",
"00110011001100110011001100110011",
"01000000000000000000000000000000",
"01010101010101010101010101010101",
"10000000000000000000000000000000"
 );
begin
 
INIT : process(DENOMINATOR,RESET)
begin
	if RESET = '1' then
		DENOMINATOR2 <= "0000000010";
	else
		DENOMINATOR2 <= DENOMINATOR;
	end if;
end process INIT;
 
SETNUMERATOR : process (CLOCK)
begin
	if CLOCK'event and CLOCK = '1' then
		if RESET = '1' then
			NUMERATOR2 <= "0000000001";
		else
			NUMERATOR2 <= NUMERATOR;
		end if;
	end if;
end process SETNUMERATOR;
 
 
INDEX <= DENOMINATOR2 - "0000000010";
 
LOOKUP: process(CLOCK)
begin
	if CLOCK'event and CLOCK = '1' then
		 RECIPROCAL <= LUT(conv_integer(INDEX));
	end if;
end process LOOKUP;
 
DIVIDE1: process(CLOCK)
begin
	if CLOCK'event and CLOCK='1' then
		PRODUCT1<=NUMERATOR2*RECIPROCAL(31 downto 16);
	end if;
end process DIVIDE1;
 
DIVIDE2: process(CLOCK)
begin
	if CLOCK'event and CLOCK='1' then
		PRODUCT2<=NUMERATOR2*RECIPROCAL(15 downto 0);
	end if;
end process DIVIDE2;
 
TOTAL<=((PRODUCT1 & "0000000000000000") + ("0000000000000000" & PRODUCT2));
QUOTIENT <=	 TOTAL(31 downto 22);
 
 
end RTL;
 

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

powered by: WebSVN 2.1.0

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