From 6a3c59344444c5b545041e088ef65305d13d02d7 Mon Sep 17 00:00:00 2001 From: kutningjo Date: Tue, 5 Nov 2024 23:57:43 +0100 Subject: [PATCH] Adds U4 FSM --- U4_FSM/Makefile | 9 +- U4_FSM/Zustandsmaschine.pdf | Bin 0 -> 134930 bytes U4_FSM/fft_magnitude_calc.vhd | 153 ++++++++++++++++++++++++++++++++++ U4_FSM/squareRoot_pipe.vhd | 119 ++++++++++++++++++++++++++ U4_FSM/test_fsm.vhd | 89 ++++++++++++++++++++ U4_FSM/vsim.wave | 3 + 6 files changed, 369 insertions(+), 4 deletions(-) create mode 100644 U4_FSM/Zustandsmaschine.pdf create mode 100644 U4_FSM/fft_magnitude_calc.vhd create mode 100644 U4_FSM/squareRoot_pipe.vhd create mode 100644 U4_FSM/test_fsm.vhd create mode 100644 U4_FSM/vsim.wave diff --git a/U4_FSM/Makefile b/U4_FSM/Makefile index 1d8289a..5b7add9 100644 --- a/U4_FSM/Makefile +++ b/U4_FSM/Makefile @@ -1,9 +1,10 @@ -vhdl_srcs = down_counter_int.vhd \ - top_entity.vhd \ - test_top_entity.vhd \ +vhdl_srcs = ../scripts/test_utility.vhd \ + squareRoot_pipe.vhd \ + fft_magnitude_calc.vhd \ + test_fsm.vhd \ -main = test_top_entity +main = tb_fft_magnitude_calc CHECK_RESULTS = true diff --git a/U4_FSM/Zustandsmaschine.pdf b/U4_FSM/Zustandsmaschine.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c23045e983e102def22cd6ce7fcd569e8fcdeef6 GIT binary patch literal 134930 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 CALC_MULTIPLY wenn input_valid = 1 + -- CALC_MULTIPLY -> CALC_ADD + -- CALC_ADD -> CALC_SQRT + -- CALC_SQRT -> CALC_STORE_RESULT wenn sqrt_out_valid_flag = 1 + -- CALC_STORE_RESULT -> CALC_IDLE + calc_state_transitions : process ( all ) is + begin + + end process calc_state_transitions; + + -- Zustandsspeicher und Ausgangsschaltnetz zu der Steuerung der Berechnung (Strukturvariante 2 Process Zustandsmaschine) + sync : process ( clk, reset ) is + begin + -- Der Prozess steuert folgende Signale setzen Sie fuer alle passende Resetwerte + -- current_calc_state + -- re_multiply_re + -- im_multiply_im + -- re2_add_im2 + -- input_sqrt + -- start_sqrt_calc + -- output_valid + -- output_magnitude + if ( reset = '1' ) then + + elsif ( rising_edge( clk ) ) then + + -- Machen Sie Anweisungen um start_sqrt_calc und output_valid auf 0 zu setzen + + -- Realisieren Sie den Zustandsspeicher current_calc_state + + -- Vervollstaendigen Sie das Ausgangsschaltnetz + case next_calc_state is + when CALC_IDLE=> null; + + -- calculation of real_part² and im_part² + -- Anweisung fuer die Berechnung von re_multiply_re = input_re² (Datentypen beachten) + -- Anweisung fuer die Berechnung von im_multiply_im = input_im² (Datentypen beachten) + when CALC_MULTIPLY => + + -- calculation of real_part²*+im_part² + -- Anweisung fuer die Berechnung von re2_add_im2 = re_multiply_re + im_multiply_im + when CALC_ADD => + + -- calculation of sqrt(real_part²+im_part²) + -- Anweisung um input_sqrt mit den obersten 32-Bit von re2_add_im2 zu belegen (Datentypen beachten) + -- Anweisung um start_sqrt_calc mit 1 zu setzen + when CALC_SQRT => + + -- Setzen der Entity-Ausgaenge + -- Anweisung um die obersten 16 bit von output_magnitude mit output_sqrt zu setzen und die untern 16 Bit mit 0 + -- Anweisung um output_valid mit 1 zu setzen + when CALC_STORE_RESULT => + + when others => NUll; + end case; + end if; + end process sync; + + + -- Instanziierung des SQRT Moduls fuer die Berechnung der Quardratwurzel + -- Weisen Sie die Signale output_sqrt, reset, input_sqrt und clk richtig zu + sqrt_module : entity work.squareRoot_pipe + generic map ( + G_DATA_W => 32 + ) + port map ( + clk => , + rst => , + iv_data => , + ov_res => + ); + + -- Dieser Prozess sorgt dafuer, dass 16 Takte nachdem start_sqrt_calc 1 geworden ist sqrt_out_valid_flag zu 1 wird + -- Wird benoetigt um die Berechnungsdauer des sqrt_module anzueigen + -- Hier muss nichts veraendert werden + p_sqrt_out_valid_flag: process ( clk, reset ) is + variable delay_sqrt_out_valid_flag : std_logic_vector(14 downto 0); + begin + if ( reset = '1' ) then + sqrt_out_valid_flag <= '0'; + delay_sqrt_out_valid_flag := (others => '0'); + elsif ( rising_edge( clk ) ) then + sqrt_out_valid_flag <= delay_sqrt_out_valid_flag(14); + delay_sqrt_out_valid_flag := delay_sqrt_out_valid_flag(13 downto 0) & start_sqrt_calc; + if sqrt_out_valid_flag = '1' then + delay_sqrt_out_valid_flag := (others => '0'); + end if; + end if; + end process p_sqrt_out_valid_flag; + + +end architecture rtl; + diff --git a/U4_FSM/squareRoot_pipe.vhd b/U4_FSM/squareRoot_pipe.vhd new file mode 100644 index 0000000..2562e0f --- /dev/null +++ b/U4_FSM/squareRoot_pipe.vhd @@ -0,0 +1,119 @@ +---------------------------------------------------------------------------------------------------- +-- Component : squareRoot_pipe +-- Author : pwkolas +---------------------------------------------------------------------------------------------------- +-- File : squareRoot_pipe.vhd +-- Mod. Date : XX.XX.XXXX +-- Version : 1.00 +---------------------------------------------------------------------------------------------------- +-- Description : Square root calculator. +-- Based on +-- "A New Non-Restoring Square Root Algorithm and Its VLSI Implementations" +-- +---------------------------------------------------------------------------------------------------- +-- Modification History : +-- +---------------------------------------------------------------------------------------------------- +-- Comments : +-- +---------------------------------------------------------------------------------------------------- + +library ieee; + +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +entity squareRoot_pipe is + generic ( + G_DATA_W : integer := 32 + ); + port ( + clk : in std_logic; + rst : in std_logic; + iv_data : in std_logic_vector(G_DATA_W-1 downto 0); + ov_res : out std_logic_vector((G_DATA_W/2)-1 downto 0) + ); +end entity squareRoot_pipe; + +architecture squareRoot_pipe_rtl of squareRoot_pipe is + + constant C_ALU_W : integer := ((G_DATA_W/2) + 2); + constant C_PIPE_L : integer := G_DATA_W/2; + constant C_OFFSET : integer := 3; -- width of start vectors going to ALU + + type t_arr_pipe_x_data is array (C_PIPE_L-1 downto 0) of unsigned(G_DATA_W-1 downto 0); + signal a_data : t_arr_pipe_x_data; -- (D) + signal a_R : t_arr_pipe_x_data; -- (R) + + type t_arr_pipe_x_alu is array (C_PIPE_L-1 downto 0) of unsigned(C_ALU_W-1 downto 0); + + type t_arr_pipe_x_res is array (C_PIPE_L-1 downto 0) of unsigned(G_DATA_W/2-1 downto 0); + signal a_Q : t_arr_pipe_x_res; -- (ALU Q out) + + signal nextOp : std_logic_vector(C_PIPE_L-1 downto 0); + +begin + sqrt_p : process (clk, rst) + variable va_AluInR : t_arr_pipe_x_alu; -- (ALU R in) + variable va_AluInQ : t_arr_pipe_x_alu; -- (ALU Q in) + variable va_AluOut : t_arr_pipe_x_alu; -- (ALU Q out) + begin + if (rst = '1') then + a_data <= (others => (others => '0')); + a_R <= (others => (others => '0')); + a_Q <= (others => (others => '0')); + va_AluInR := (others => (others => '0')); + va_AluInQ := (others => (others => '0')); + va_AluOut := (others => (others => '0')); + nextOp <= (others => '0'); + elsif rising_edge(clk) then + -- stage 0 start conditions, ALU inputs + va_AluInR(0) := (others => '0'); + va_AluInR(0)(1 downto 0) := unsigned(iv_data(G_DATA_W-1 downto G_DATA_W-1-1)); + va_AluInQ(0) := (others => '0'); + va_AluInQ(0)(0) := '1'; + + -- stage 0 calculations + va_AluOut(0) := va_AluInR(0) - va_AluInQ(0); + + -- stage 0 result registers, ALU output + a_data(0) <= shift_left(unsigned(iv_data), 2); + a_R(0) <= (others => '0'); + a_R(0)(G_DATA_W-1 downto G_DATA_W-1-1) <= va_AluOut(0)(1 downto 0); + a_Q(0) <= (others => '0'); + a_Q(0)(0) <= not va_AluOut(0)(2); + nextOp(0) <= not va_AluOut(0)(2); + + -- next stages + for i in 1 to C_PIPE_L-1 loop + -- prepare inputs for next stage + va_AluInR(i) := (others => '0'); + va_AluInR(i)(C_OFFSET+i-1 downto 2) := a_R(i-1)(G_DATA_W-(i-1)-1 downto G_DATA_W-(2*i)); + va_AluInR(i)(2-1 downto 0) := a_data(i-1)(G_DATA_W-1 downto G_DATA_W-1-1); + va_AluInQ(i) := (others => '0'); + va_AluInQ(i)(C_OFFSET+(i-1)-1 downto 2) := a_Q(i-1)(i-1 downto 0); + va_AluInQ(i)(1) := not a_Q(i-1)(0); + va_AluInQ(i)(0) := '1'; + + -- ALU ADD/SUB + if (nextOp(i-1) = '1') then + va_AluOut(i) := va_AluInR(i) - va_AluInQ(i); + else + va_AluOut(i) := va_AluInR(i) + va_AluInQ(i); + end if; + + -- result registers + a_data(i) <= shift_left(unsigned(a_data(i-1)), 2); + a_R(i) <= (others => '0'); + a_R(i)(G_DATA_W-i-1 downto G_DATA_W-2*(i+1)) <= va_AluOut(i)(i+1 downto 0); + a_Q(i) <= shift_left(unsigned(a_Q(i-1)), 1); + a_Q(i)(0) <= not va_AluOut(i)(i+2); + nextOp(i) <= not va_AluOut(i)(i+2); + + end loop; + end if; + end process; + + ov_res <= std_logic_vector(a_Q(C_PIPE_L-1)); + +end architecture squareRoot_pipe_rtl; diff --git a/U4_FSM/test_fsm.vhd b/U4_FSM/test_fsm.vhd new file mode 100644 index 0000000..998225f --- /dev/null +++ b/U4_FSM/test_fsm.vhd @@ -0,0 +1,89 @@ +------------------------------------------------------------------------ +-- fft_magnitude_calc +-- +-- calculation of FFT magnitude sqrt(real_part²+im_part²) +-- Inputs: +-- input_re in: +-1 signed Fixpoint (0.5=0x40000000, -0.5=0xC0000000 (negative numbers in 2K) +-- input_im in: +-1 signed Fixpoint (0.5=0x40000000, -0.5=0xC0000000 (negative numbers in 2K) +-- input_valid: high = inputs are valid for data processing +-- Outputs +-- output_magnitude: Fixpoint 0.5=0x40000000 (always positive) +-- output_valid: high = magnitude data is valid +----------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +entity tb_fft_magnitude_calc is + generic( GUI_MODE : boolean; CHECK_RESULTS : boolean ); +end entity tb_fft_magnitude_calc; + + +architecture rtl of tb_fft_magnitude_calc is + + + signal clk : std_logic := '0'; -- Takt + signal reset : std_logic := '1'; -- Reset + signal input_valid: std_logic := '0'; -- Eingangsdaten gültig + signal input_re : std_logic_vector( 31 downto 0 ) := X"40000000"; -- Realteil in Fixpoint + signal input_im : std_logic_vector( 31 downto 0 ):= X"40000000"; -- Imaginärteil in Fixpoint + signal output_valid : std_logic; -- Ausgangsdaten gültig + signal output_magnitude : std_logic_vector( 31 downto 0 ); + +begin + + clk <= not clk after 10 ns; + + reset_release : process is + begin + wait for 435 ns; + reset <= '0'; + wait; + end process reset_release; + + -- Instanziierung des SQRT Moduls für die Berechnung der Quardratwurzel + -- Weisen Sie die Signale output_sqrt, reset, input_sqrt und clk richtig zu + fft_magnitude_calc_module : entity work.fft_magnitude_calc + port map ( + clk => clk, + reset => reset, + input_valid => input_valid, -- Eingangsdaten gültig + input_re => input_re, -- Realteil in Fixpoint + input_im => input_im, -- Imaginärteil in Fixpoint + output_valid => output_valid, -- Ausgangsdaten gültig + output_magnitude => output_magnitude -- Berechnete magnitude + ); + + stimulus: process is + begin + wait until falling_edge( reset ); + wait until falling_edge( clk ); + input_valid <= '1'; + wait until falling_edge( clk ); + input_valid <= '0'; + + wait until falling_edge( output_valid ); + + wait for 200 ns; + + wait until falling_edge( clk ); + input_valid <= '1'; + input_re <= X"20000000"; + input_im <= X"20000000"; + wait until falling_edge( clk ); + input_valid <= '0'; + + wait until falling_edge( output_valid ); + + + wait until falling_edge( clk ); + if ( GUI_MODE ) then + std.env.stop; + else + std.env.finish; + end if; + + end process stimulus; + +end architecture rtl; diff --git a/U4_FSM/vsim.wave b/U4_FSM/vsim.wave new file mode 100644 index 0000000..ea235ec --- /dev/null +++ b/U4_FSM/vsim.wave @@ -0,0 +1,3 @@ +onerror {resume} +quietly WaveActivateNextPane {} 0 +add wave -noupdate /tb_fft_magnitude_calc/fft_magnitude_calc_module/*