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

Subversion Repositories fpuvhdl

[/] [fpuvhdl/] [trunk/] [fpuvhdl/] [adder/] [fplzc_fplzc.vhd] - Rev 5

Compare with Previous | Blame | View Log

--
-- VHDL Architecture HAVOC.FPlzc.FPlzc
--
-- Created:
--          by - Guillermo
--          at - ITESM, 08:25:27 07/20/03
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2002.1b (Build 7)
--
-- hds interface_start
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
 
 
ENTITY FPlzc IS
   PORT( 
      word  : IN     std_logic_vector (26 DOWNTO 0);
      zero  : OUT    std_logic;
      count : OUT    std_logic_vector (4 DOWNTO 0)
   );
 
-- Declarations
 
END FPlzc ;
 
 
-- hds interface_end
ARCHITECTURE FPlzc OF FPlzc IS
BEGIN
 
PROCESS(word)
BEGIN
	zero <= '0';
--	IF (word="0000000000000000000000000000") THEN 
--		count <= "11100";
	IF (word(26 DOWNTO 0)="000000000000000000000000000") THEN 
	   count <= "11011";
		zero <= '1';
	ELSIF (word(26 DOWNTO 1)="00000000000000000000000000") THEN count <= "11010";
	ELSIF (word(26 DOWNTO 2)="0000000000000000000000000") THEN count <= "11001";
	ELSIF (word(26 DOWNTO 3)="000000000000000000000000") THEN count <= "11000";
	ELSIF (word(26 DOWNTO 4)="00000000000000000000000") THEN count <= "10111";
	ELSIF (word(26 DOWNTO 5)="0000000000000000000000") THEN count <= "10110";
	ELSIF (word(26 DOWNTO 6)="000000000000000000000") THEN count <= "10101";
	ELSIF (word(26 DOWNTO 7)="00000000000000000000") THEN count <= "10100";
	ELSIF (word(26 DOWNTO 8)="0000000000000000000") THEN count <= "10011";
	ELSIF (word(26 DOWNTO 9)="000000000000000000") THEN count <= "10010";
	ELSIF (word(26 DOWNTO 10)="00000000000000000") THEN count <= "10001";
	ELSIF (word(26 DOWNTO 11)="0000000000000000") THEN count <= "10000";
	ELSIF (word(26 DOWNTO 12)="000000000000000") THEN count <= "01111";
	ELSIF (word(26 DOWNTO 13)="00000000000000") THEN count <= "01110";
	ELSIF (word(26 DOWNTO 14)="0000000000000") THEN count <= "01101";
	ELSIF (word(26 DOWNTO 15)="000000000000") THEN count <= "01100";
	ELSIF (word(26 DOWNTO 16)="00000000000") THEN count <= "01011";
	ELSIF (word(26 DOWNTO 17)="0000000000") THEN count <= "01010";
	ELSIF (word(26 DOWNTO 18)="000000000") THEN count <= "01001";
	ELSIF (word(26 DOWNTO 19)="00000000") THEN count <= "01000";
	ELSIF (word(26 DOWNTO 20)="0000000") THEN count <= "00111";
	ELSIF (word(26 DOWNTO 21)="000000") THEN count <= "00110";
	ELSIF (word(26 DOWNTO 22)="00000") THEN count <= "00101";
	ELSIF (word(26 DOWNTO 23)="0000") THEN count <= "00100";
	ELSIF (word(26 DOWNTO 24)="000") THEN count <= "00011";
	ELSIF (word(26 DOWNTO 25)="00") THEN count <= "00010";
	ELSIF (word(26)='0') THEN count <= "00001";
	ELSE
		count <= "00000";
	END IF;
END PROCESS;
 
END FPlzc;
 
 

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.