Page 438 - DSP Integrated Circuits
P. 438

9.9 FFT Processor, Cont.                                             423



          architecture Behv_Stage_process of Stage_process is

             begin
               if Start_in = True then
                  Do_out := Input;
                  N s := N;
                  while N s > 1 loop
                    N s := N s/2;
                    N s_out := N s;
                    Do_out := FFTStage;
                  end loop;
                  Do_out := Output:
                  Finished_out := True;
               end if;
             end Stage_process;

                             Box 9.3 Behavior of the Stage process


          architecture Behv_Bas_Index_Gen of Base_Index_Gen is
             begin
               if Do_in = Input then
                 for m in 0 to N - 1 loop
                    i_out := m mod(N/2);
                    P_out := P(m);
                 end loop;
               end if;
               if Do_in = FFTStage then
                 for m_binary in 0 to ((N/4)-l) loop
                    m := GrayCode(mJbinary)
                    ki_out := 4*N s_in*(m/N s_in) + m mod(Ns_in);
                    P_out := P(m);
                 end loop;
               end if;
               if Do_in = Output then
                 for m in 0 to N - 1 loop
                    i2_out := m mod(N/2);
                    P_out := P(m);
                 end loop;
               end if;
             end Base_Index_Gen;

                          Box 9.4 Behavior of the base index generator


          architecture Beh_Address_Gen_0 of Address_Gen_0 is
             begin
               if Do_in = Input then
                 if P_in = 0 then
                    A_out := i_in;
                 end if;
   433   434   435   436   437   438   439   440   441   442   443