From 5a2605e685915e111f3fbfb7acfd369ef0a3cf6b Mon Sep 17 00:00:00 2001 From: Luca Cuzzocrea Date: Sun, 8 Sep 2019 15:20:19 +0200 Subject: [PATCH] Aggiunti ShiftLeft e ZeroCounter --- IEEE754Adder.xise | 32 +++++++++++--- ShiftLeft.vhd | 80 +++++++++++++++++++++++++++++++++++ ShiftRight.vhd | 4 +- UTILS.vhd | 63 +++++++++++++++++++++++++++ ZeroCounter.vhd | 60 ++++++++++++++++++++++++++ ZeroCounterTest.vhd | 79 ++++++++++++++++++++++++++++++++++ ZeroCounterTest_isim_beh.exe | Bin 0 -> 21792 bytes ZeroCounterTest_isim_beh.wdb | Bin 0 -> 10503 bytes fuse.log | 30 +++++++++---- fuse.xmsgs | 6 --- fuseRelaunch.cmd | 2 +- 11 files changed, 331 insertions(+), 25 deletions(-) create mode 100644 ShiftLeft.vhd create mode 100644 UTILS.vhd create mode 100644 ZeroCounter.vhd create mode 100644 ZeroCounterTest.vhd create mode 100755 ZeroCounterTest_isim_beh.exe create mode 100644 ZeroCounterTest_isim_beh.wdb diff --git a/IEEE754Adder.xise b/IEEE754Adder.xise index 9490c6c..bd33367 100644 --- a/IEEE754Adder.xise +++ b/IEEE754Adder.xise @@ -98,11 +98,11 @@ - + - + @@ -110,7 +110,7 @@ - + @@ -139,6 +139,24 @@ + + + + + + + + + + + + + + + + + + @@ -397,8 +415,8 @@ - - + + @@ -417,7 +435,7 @@ - + @@ -473,7 +491,7 @@ - + diff --git a/ShiftLeft.vhd b/ShiftLeft.vhd new file mode 100644 index 0000000..11c3b78 --- /dev/null +++ b/ShiftLeft.vhd @@ -0,0 +1,80 @@ +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; +use work.UTILS.ALL; + + +entity ShiftLeft48 is + + port( + N : in std_logic_vector(47 downto 0); + PLACES : in std_logic_vector(8 downto 0); + RESULT : out std_logic_vector(47 downto 0) + ); + +end ShiftLeft48; + +architecture ShiftLeftArch of ShiftLeft48 is + +begin + + shift_process: process (N, PLACES) + variable POSSIBLE_SHIFTS : ARRAY_OF_STD_LOGIC48; + begin + + case PLACES is + when "000000000" => RESULT <= N( 47 downto 0 ); + when "000000001" => RESULT <= N( 46 downto 0 ) & "0"; + when "000000010" => RESULT <= N( 45 downto 0 ) & "00"; + when "000000011" => RESULT <= N( 44 downto 0 ) & "000"; + when "000000100" => RESULT <= N( 43 downto 0 ) & "0000"; + when "000000101" => RESULT <= N( 42 downto 0 ) & "00000"; + when "000000110" => RESULT <= N( 41 downto 0 ) & "000000"; + when "000000111" => RESULT <= N( 40 downto 0 ) & "0000000"; + when "000001000" => RESULT <= N( 39 downto 0 ) & "00000000"; + when "000001001" => RESULT <= N( 38 downto 0 ) & "000000000"; + when "000001010" => RESULT <= N( 37 downto 0 ) & "0000000000"; + when "000001011" => RESULT <= N( 36 downto 0 ) & "00000000000"; + when "000001100" => RESULT <= N( 35 downto 0 ) & "000000000000"; + when "000001101" => RESULT <= N( 34 downto 0 ) & "0000000000000"; + when "000001110" => RESULT <= N( 33 downto 0 ) & "00000000000000"; + when "000001111" => RESULT <= N( 32 downto 0 ) & "000000000000000"; + when "000010000" => RESULT <= N( 31 downto 0 ) & "0000000000000000"; + when "000010001" => RESULT <= N( 30 downto 0 ) & "00000000000000000"; + when "000010010" => RESULT <= N( 29 downto 0 ) & "000000000000000000"; + when "000010011" => RESULT <= N( 28 downto 0 ) & "0000000000000000000"; + when "000010100" => RESULT <= N( 27 downto 0 ) & "00000000000000000000"; + when "000010101" => RESULT <= N( 26 downto 0 ) & "000000000000000000000"; + when "000010110" => RESULT <= N( 25 downto 0 ) & "0000000000000000000000"; + when "000010111" => RESULT <= N( 24 downto 0 ) & "00000000000000000000000"; + when "000011000" => RESULT <= N( 23 downto 0 ) & "000000000000000000000000"; + when "000011001" => RESULT <= N( 22 downto 0 ) & "0000000000000000000000000"; + when "000011010" => RESULT <= N( 21 downto 0 ) & "00000000000000000000000000"; + when "000011011" => RESULT <= N( 20 downto 0 ) & "000000000000000000000000000"; + when "000011100" => RESULT <= N( 19 downto 0 ) & "0000000000000000000000000000"; + when "000011101" => RESULT <= N( 18 downto 0 ) & "00000000000000000000000000000"; + when "000011110" => RESULT <= N( 17 downto 0 ) & "000000000000000000000000000000"; + when "000011111" => RESULT <= N( 16 downto 0 ) & "0000000000000000000000000000000"; + when "000100000" => RESULT <= N( 15 downto 0 ) & "00000000000000000000000000000000"; + when "000100001" => RESULT <= N( 14 downto 0 ) & "000000000000000000000000000000000"; + when "000100010" => RESULT <= N( 13 downto 0 ) & "0000000000000000000000000000000000"; + when "000100011" => RESULT <= N( 12 downto 0 ) & "00000000000000000000000000000000000"; + when "000100100" => RESULT <= N( 11 downto 0 ) & "000000000000000000000000000000000000"; + when "000100101" => RESULT <= N( 10 downto 0 ) & "0000000000000000000000000000000000000"; + when "000100110" => RESULT <= N( 9 downto 0 ) & "00000000000000000000000000000000000000"; + when "000100111" => RESULT <= N( 8 downto 0 ) & "000000000000000000000000000000000000000"; + when "000101000" => RESULT <= N( 7 downto 0 ) & "0000000000000000000000000000000000000000"; + when "000101001" => RESULT <= N( 6 downto 0 ) & "00000000000000000000000000000000000000000"; + when "000101010" => RESULT <= N( 5 downto 0 ) & "000000000000000000000000000000000000000000"; + when "000101011" => RESULT <= N( 4 downto 0 ) & "0000000000000000000000000000000000000000000"; + when "000101100" => RESULT <= N( 3 downto 0 ) & "00000000000000000000000000000000000000000000"; + when "000101101" => RESULT <= N( 2 downto 0 ) & "000000000000000000000000000000000000000000000"; + when "000101110" => RESULT <= N( 1 downto 0 ) & "0000000000000000000000000000000000000000000000"; + when "000101111" => RESULT <= N( 0 ) & "00000000000000000000000000000000000000000000000"; + when others => RESULT <= "000000000000000000000000000000000000000000000000"; + end case; + + end process; + +end ShiftLeftArch; + diff --git a/ShiftRight.vhd b/ShiftRight.vhd index 450e46d..778145d 100644 --- a/ShiftRight.vhd +++ b/ShiftRight.vhd @@ -21,7 +21,7 @@ begin begin case PLACES is - when "000000000" => RESULT <= N( 47 downto 0 ); + when "000000000" => RESULT <= N( 47 downto 0 ); when "000000001" => RESULT <= "0" & N( 47 downto 1 ); when "000000010" => RESULT <= "00" & N( 47 downto 2 ); when "000000011" => RESULT <= "000" & N( 47 downto 3 ); @@ -69,7 +69,7 @@ begin when "000101101" => RESULT <= "000000000000000000000000000000000000000000000" & N( 47 downto 45 ); when "000101110" => RESULT <= "0000000000000000000000000000000000000000000000" & N( 47 downto 46 ); when "000101111" => RESULT <= "00000000000000000000000000000000000000000000000" & N( 47 ); - when others => RESULT <= "000000000000000000000000000000000000000000000000"; + when others => RESULT <= "000000000000000000000000000000000000000000000000"; end case; end process; diff --git a/UTILS.vhd b/UTILS.vhd new file mode 100644 index 0000000..bb8be27 --- /dev/null +++ b/UTILS.vhd @@ -0,0 +1,63 @@ +-- +-- Package File Template +-- +-- Purpose: This package defines supplemental types, subtypes, +-- constants, and functions +-- +-- To use any of the example code shown below, uncomment the lines and modify as necessary +-- + +library IEEE; +use IEEE.STD_LOGIC_1164.all; + +package UTILS is + +-- type is +-- record +-- : std_logic_vector( 7 downto 0); +-- : std_logic; +-- end record; +-- +-- Declare constants +-- +-- constant : time := ns; +-- constant : integer := (signal : in ) return ; +-- procedure ( : in ); +-- +type ARRAY_OF_STD_LOGIC48 is array (0 to 512) of std_logic_vector(47 downto 0); + +end UTILS; + +package body UTILS is + +---- Example 1 +-- function (signal : in ) return is +-- variable : ; +-- begin +-- := xor ; +-- return ; +-- end ; + +---- Example 2 +-- function (signal : in ; +-- signal : in ) return is +-- begin +-- if ( = '1') then +-- return ; +-- else +-- return 'Z'; +-- end if; +-- end ; + +---- Procedure Example +-- procedure ( : in ) is +-- +-- begin +-- +-- end ; + +end UTILS; diff --git a/ZeroCounter.vhd b/ZeroCounter.vhd new file mode 100644 index 0000000..551f62f --- /dev/null +++ b/ZeroCounter.vhd @@ -0,0 +1,60 @@ +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +entity ZeroCounter is + generic( + BITCOUNT : integer := 8; + RES_BITCOUNT : integer := 3 -- MUST BE >= CEIL( LOG2( BITCOUNT ) ) + ); + port( + X : in std_logic_vector( (BITCOUNT-1) downto 0 ); + Z_COUNT : out std_logic_vector( (RES_BITCOUNT-1) downto 0 ); + ALL_ZEROS : out std_logic + ); +end ZeroCounter; + +architecture ZeroCounterArch of ZeroCounter is +begin + + ZEROCOUNT_PROCESS: process (X) + variable ZC: std_logic_vector((RES_BITCOUNT-1) downto 0); + variable BIN_N: std_logic_vector((RES_BITCOUNT-1) downto 0); + variable PART_ZC: std_logic_vector((BITCOUNT-1) downto 0); + begin + ZC := ((RES_BITCOUNT-1) downto 0 => '0'); + PART_ZC := ((BITCOUNT-1) downto 0 => '1'); + + for N in 1 to (BITCOUNT-1) loop + -- compute partial logic to add to result's '1' bits + for p_i in (BITCOUNT-1) downto (BITCOUNT-N) loop + PART_ZC(N) := PART_ZC(N) and (not X(p_i)); + end loop; + PART_ZC(N) := PART_ZC(N) and X(BITCOUNT-1-N); + + -- add partial logic to result + BIN_N := std_logic_vector(to_unsigned(N, BIN_N'length)); + for res_i in (RES_BITCOUNT-1) downto 0 loop + if ( BIN_N(res_i) = '1' ) then + ZC(res_i) := ZC(res_i) or PART_ZC(N); + end if; + end loop; + end loop; + + Z_COUNT <= ZC; + + end process; + + + ALLZERO_PROCESS: process (X) + variable AZ : std_logic; + begin + AZ := '1'; + for i in X'range loop + AZ := AZ and (not X(i)); + end loop; + ALL_ZEROS <= AZ; + end process; + +end ZeroCounterArch; + diff --git a/ZeroCounterTest.vhd b/ZeroCounterTest.vhd new file mode 100644 index 0000000..416b89a --- /dev/null +++ b/ZeroCounterTest.vhd @@ -0,0 +1,79 @@ +LIBRARY ieee; +USE ieee.std_logic_1164.ALL; + +ENTITY ZeroCounterTest IS +END ZeroCounterTest; + +ARCHITECTURE behavior OF ZeroCounterTest IS + + COMPONENT ZeroCounter + PORT( + X : IN std_logic_vector(7 downto 0); + Z_COUNT : OUT std_logic_vector(2 downto 0); + ALL_ZEROS : OUT std_logic + ); + END COMPONENT; + + + --Inputs + signal X : std_logic_vector(7 downto 0) := (others => '0'); + + --Outputs + signal Z_COUNT : std_logic_vector(2 downto 0); + signal ALL_ZEROS : std_logic; + + constant clock_period : time := 10 ns; + signal clock: std_logic; + +BEGIN + + -- Instantiate the Unit Under Test (UUT) + uut: ZeroCounter PORT MAP ( + X => X, + Z_COUNT => Z_COUNT, + ALL_ZEROS => ALL_ZEROS + ); + + -- Clock process definitions + clock_process :process + begin + clock <= '0'; + wait for clock_period/2; + clock <= '1'; + wait for clock_period/2; + end process; + + + stim_proc: process + begin + X <= "00000000"; + wait for clock_period; + X <= "00000001"; + wait for clock_period; + X <= "00000010"; + wait for clock_period; + X <= "00000100"; + wait for clock_period; + X <= "00001000"; + wait for clock_period; + X <= "00010000"; + wait for clock_period; + X <= "00100000"; + wait for clock_period; + X <= "01000000"; + wait for clock_period; + X <= "10000000"; + wait for clock_period; + X <= "00100110"; + wait for clock_period; + X <= "11111111"; + wait for clock_period; + X <= "01111111"; + wait for clock_period; + X <= "00111111"; + wait for clock_period; + X <= "00101111"; + wait for clock_period; + end process; + +END; diff --git a/ZeroCounterTest_isim_beh.exe b/ZeroCounterTest_isim_beh.exe new file mode 100755 index 0000000000000000000000000000000000000000..3209988d8d84424c4d5c423f8f5aaa98e3cf50c8 GIT binary patch literal 21792 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 literal 0 HcmV?d00001 diff --git a/fuse.log b/fuse.log index 7286430..df18e94 100644 --- a/fuse.log +++ b/fuse.log @@ -1,11 +1,23 @@ -Running: /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/unwrapped/fuse -intstyle ise -incremental -lib secureip -o /home/ise/gianni/IEEE754Adder/SumDataAdapterTest_isim_beh.exe -prj /home/ise/gianni/IEEE754Adder/SumDataAdapterTest_beh.prj work.SumDataAdapterTest -ISim P.20160913 (signature 0xfbc00daa) -Number of CPUs detected in this system: 1 -Turning on mult-threading, number of parallel sub-compilation jobs: 0 +Running: /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/unwrapped/fuse -intstyle ise -incremental -lib secureip -o /home/Luca/ISE/IEEE754Adder/ZeroCounterTest_isim_beh.exe -prj /home/Luca/ISE/IEEE754Adder/ZeroCounterTest_beh.prj work.ZeroCounterTest +ISim P.20131013 (signature 0xfbc00daa) +Number of CPUs detected in this system: 4 +Turning on mult-threading, number of parallel sub-compilation jobs: 8 Determining compilation order of HDL files -Parsing VHDL file "/home/ise/gianni/IEEE754Adder/ShiftRight.vhd" into library work -Parsing VHDL file "/home/ise/gianni/IEEE754Adder/SumDataAdapter.vhd" into library work -Parsing VHDL file "/home/ise/gianni/IEEE754Adder/SumDataAdapterTest.vhd" into library work +Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/ZeroCounter.vhd" into library work +Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/ZeroCounterTest.vhd" into library work Starting static elaboration -ERROR:HDLCompiler:410 - "/home/ise/gianni/IEEE754Adder/SumDataAdapterTest.vhd" Line 74: Expression has 30 elements ; expected 31 -ERROR:Simulator:777 - Static elaboration of top level VHDL design unit sumdataadaptertest in library work failed +Completed static elaboration +Fuse Memory Usage: 95772 KB +Fuse CPU Usage: 1030 ms +Compiling package standard +Compiling package std_logic_1164 +Compiling package numeric_std +Compiling architecture zerocounterarch of entity ZeroCounter [\ZeroCounter(8,3)\] +Compiling architecture behavior of entity zerocountertest +Time Resolution for simulation is 1ps. +Waiting for 1 sub-compilation(s) to finish... +Compiled 6 VHDL Units +Built simulation executable /home/Luca/ISE/IEEE754Adder/ZeroCounterTest_isim_beh.exe +Fuse Memory Usage: 665500 KB +Fuse CPU Usage: 1100 ms +GCC CPU Usage: 170 ms diff --git a/fuse.xmsgs b/fuse.xmsgs index ed9858d..f84336a 100644 --- a/fuse.xmsgs +++ b/fuse.xmsgs @@ -5,11 +5,5 @@ behavior or data corruption. It is strongly advised that users do not edit the contents of this file. --> -"/home/ise/gianni/IEEE754Adder/SumDataAdapterTest.vhd" Line 74: Expression has 30 elements ; expected 31 - - -Static elaboration of top level VHDL design unit sumdataadaptertest in library work failed - - diff --git a/fuseRelaunch.cmd b/fuseRelaunch.cmd index 609200b..ec10f88 100644 --- a/fuseRelaunch.cmd +++ b/fuseRelaunch.cmd @@ -1 +1 @@ --intstyle "ise" -incremental -lib "secureip" -o "/home/ise/gianni/IEEE754Adder/SumDataAdapterTest_isim_beh.exe" -prj "/home/ise/gianni/IEEE754Adder/SumDataAdapterTest_beh.prj" "work.SumDataAdapterTest" +-intstyle "ise" -incremental -lib "secureip" -o "/home/Luca/ISE/IEEE754Adder/ZeroCounterTest_isim_beh.exe" -prj "/home/Luca/ISE/IEEE754Adder/ZeroCounterTest_beh.prj" "work.ZeroCounterTest"