Skip to content

Latest commit

 

History

History
265 lines (216 loc) · 9.28 KB

Changelog.md

File metadata and controls

265 lines (216 loc) · 9.28 KB

4.0.2

  • Bugfixes
    • renamed rdy_i to rdy_o in psi_fix_cordic_vect

4.0.1

  • Bugfixes
    • reset handling in psi_fix_fir_dec_ser_nch_chtdm_conf

4.0.0

  • Changes (not reverse compatible)
    • Refactored interfaces of components to snake case convention instead of camel case
  • Added Features
    • Support for non integer ratio for psi_fix_demod_real2cplx and psi_fix_mod_cplx2real

3.2.0

  • Added Features
    • Added wide fixed-point support for Python (>53 bits)
  • Changed Dependencies
    • en_cl_fix >= 1.2.0

3.1.0

  • Added Features
    • Added psi_fix_nch_analog_trigger_tdm
    • Added psi_fix_comparator
  • Changed Dependencies
    • psi_common >= 2.15.0

3.0.0

  • Changes (not reverse compatiable)
    • In FIR filters renamed generic FixCoefs_g to Coefs_g
  • Added Features
    • Added support for numbers bigger than 32 bits
    • PsiFixFmtFromString
    • In psi_fix_complex_mult added option to save resources when multiplication is Complex x Real
    • In psi_fix_fir_dec_semi_nch_chtdm_conf added flushing interface
    • In FIR filters added CalcOngoing output
    • In psi_fix_fir_dec_semi_nch_chtdm_conf allow writing coefficients during reset
    • In CIC filters added status output
      • This feature allows higher level algorithms to detect if they still expect output from the CIC or if the CIC is currently idling.
    • Implemented pipeline psi_fix_resize (psi_fix_resize.vhd)
    • In psi_fix_dds_18b added multi channel TDM support
    • In PsiFixFmt added warning if input exceeds the limit of bittrueness
    • Implemented psi_fix_cic_dec_cfg_1ch
    • Implemented psi_fix_cic_dec_cfg_nch_par_tdm
    • Implemented psi_fix_cic_dec_cfg_nch_tdm_tdm
    • Implemented psi_fix_sqrt
    • Added Matlab functions to convert fixed point formats between psi and en_cl conventions conveniently (fix_cl2psi.m and fix_psi2cl.m)
    • Implemented psi_fix_inv (inversion 1/x)
  • Bugfixes
    • In serial FIR filters fixed replacement of outdated data by zero
    • In psi_fix_fir_dec_ser_nch_chtdm_conf fixed behavior after reset
    • In psi_fix_fir_dec_semi_nch_chtdm_conf prevented wrong behavior for large intermediate result
  • Improved timing
    • In psi_fix_fir_dec_ser_nch_chpar_conf by splitting round & saturate into two stages at the output
    • In psi_fix_fir_dec_ser_nch_chtdm_conf by splitting round & saturate into two stages at the output
  • Changed Dependencies
    • psi_common >= 2.13.0
    • en_cl_fix >= 1.1.8

2.4.1

  • Changed Dependencies
    • psi_tb >= 2.5.0

2.4.0

  • Added Features
    • Implemented psi_fix_mult_add_stage (multiply-add stage)
    • Implemented psi_fix_fir_par_nch_chtdm_conf (fully parallel FIR filter)
    • Implemented psi_fix_fir_dec_semi_nch_chtdm_conf (semi parallel TDM-multi-channel FIR filter)
    • Implemented psi_fix_fir_3tap_hbw_dec2 (decimating by 2 half-bandwidth filter)
    • In psi_fix_mod_cplx2real added option for additional pipeline stage for better timing performance
  • Improvements
    • In psi_fix_cic_int_fix_1ch added more pipeline registers for gain compensation to improve timing
  • Changed Dependencies
    • psi_common >= 2.5.1

2.3.3

  • Bugfixes
    • For psi_fix_lin_approx the Design mode of the python modl did crash for signed input ranges (no effect on implementation)

2.3.2

  • Added Features
    • Added dependency resolution script
  • Bugfixes
    • Fixed simulation mismatch for CIC filters with high gain
  • Changed Dependencies
    • psi_common >= 2.5.0

2.3.1

  • Added Features
    • none
  • Bugfixes
    • Fixed stimuli file name in psi_fix_white_noise TB to also work on linux (case was incorrect)

2.3.0

  • Added Features
    • Implemented psi_fix_white_noise (white noise generator, uniform distribution)
    • Implemented psi_fix_noise_awgn (white noise generator, gaussian distribution)
  • Bugfixes
    • Made GHDL simulation working by skipping psi_fix_mod_cplx2real (only in GHDL) because it fails due to a GHDL bug.
  • Changed Dependencies
    • PsiSim >= 2.1.0
    • en_cl_fix >= 1.1.2

2.2.0

  • Added Features
    • Implemented psi_fix_phase_unwrap (phase unwrapping)
    • Added multi channel support for psi_fix_demod_real2cplx
  • Bugfixes
    • None

2.1.0

  • Added Features
    • Implemented psi_fix_complex_abs (absolute value calculation using sum of squares)
    • Added more documentation (power point presentation)
  • Bugfixes
    • PsiFixShiftLeft/Right range checks in Python did not work for nd.array type
    • Remove GHDL binary files from GIT
    • CIC Python model did not work when the output of the filter was at the absolute lower bound

2.0.0

  • First open Source Release
  • Added Features
    • Support GHDL as Simulator
    • Added psi_fix_complex_addsub
  • Changes (not reverse compatiable)
    • Switched to open source version of all dependencies (not reverse compatible)
    • Modified entity and port names for better consistency
    • Use en_cl_fix package from Enclustra for fixed point math
    • Removed psi_fix_cordic_abs_pl (deprecated since 1.8.0)
  • Changed Dependencies
    • PsiSim >= 2.0.0
    • en_cl_fix >= 1.1.1
    • psi_common >= 2.0.0

1.9.0

  • Added Features
    • Add PsiFixCompare function for to psi_fix_pkg (comparison of two fixed-point numbers with individual formats)
  • Bugfixes
    • Made decimatin FIR filters working with MaxRatio_g=1
    • Added pipeline stage to CIC gain correction multiplier to relax timing
    • Fixed behavior of psi_fix_cic_int_fix_1ch for 100% output duty cycle
    • Fixed bittrueness issue in psi_fix_pol2cart_approx

1.8.0

  • Added Features
    • Added psi_fix_lut (python based VHDL code generator for LUTs, including simulation model)
    • Added psi_fix_pkg_writer (python based VHDL package generator to pass constants from python to VHDL)
  • Bugfixes and Improvements
    • Timing optimization in the cectoring cordic
  • Deprecated features
    • psi_fix_cordic_abs_pl is deprecated (can be replaced by psi_fix_cordic_vect)

1.7.1

  • Added Features
    • None
  • Bugfixes
    • Rewrote psi_fix_complex_mult since it had an unclean interface and it contained errors in the strobe handling.
    • Bugfixes for psi_fix_mod_cplx2real: Strobe handling was incorrect
    • Miscellaneous timing optimizations

1.7.0

  • Added Features
    • Added psi_fix_mod_cplx2real (modulator with complex input and real output)
  • Bugfixes
    • Improved timing of psi_fix_cordic_vect (has now one cycle more delay)
    • Improved timing of psi_fix_complex_mult (only round at the very output)
    • Updated compile scripts to work with psi_common >= 1.10.0

1.6.0

  • Added Features
    • Added psi_fix_lin_approx_sqrt18b (approximation of the square-root function)
    • Added psi_fix_cic_dec_fix_nch_par_tdm (multi-channel CIC filter with parallel input and TDM output)
    • Added psi_fix_cic_dec_fix_nch_tdm_tdm (multi-channel CIC filter with TDM input and output)
  • Bugfixes
    • Fixed bugs in psi_fix_lin_approx that prevented the sqrt approximation from working. These issues do not affect the existing approximation (sine).
    • Fixed meismatch between model and implementation for psi_fix_complex_mult
  • Changed Dependencies
    • psi_common >= 1.9.0

1.5.1

  • Added Features
    • None
  • Bugfixes
    • Fixed various small bugs that prevented the regression-test from succeeding on Linux
  • Changed Dependencies
    • TCL/PsiSim >= 1.3.1

1.5.0

  • Added Features
    • Added psi_fix_cordic_vect (vectoring CORDIC for cart to polar converation)
    • Added psi_fix_cordic_rot (rotating CORDIC for polar to cartesian conversion)
    • Added psi_fix_pol2cart_approx (sine-approximation based polar to cartesian conversion)
  • Bugfixes
    • Change PsiFixShiftLeft() and PsiFixShiftRight() to support dynamic shifts
    • Fixed integer overflow in PsiFixShiftLeft() and PsiFixShiftRight()
  • Changed Dependencies
    • psi_common >= 1.6.0

1.4.0

  • Added Features
    • Added psi_fix_lowpass_iir_order1 (order 1 lowpass with integrated coefficient calculation)
    • Added psi_fix_complex_mult (multiplication of two complex numbers)
    • Added psi_fix_demod_real2cplx (demodulator with real input and complex output)
    • Added psi_fix_mov_avg (moving average with different gain correction options)
  • Changes
    • Changed some TBs to use the new psi_tb_textfile_pkg (including the automatically generated psi_fix_lin_appprox testbenches)
  • Bugfixes
    • None
  • Changed Dependencies
    • psi_tb >= 1.1.0
    • psi_common >= 1.5.0

1.3.0

  • Added Features
    • Added support for constant coeefficients to FIR filters (psi_fix_fir_dec_ser_nch_chpar_conf, psi_fix_fir_dec_ser_nch_chtdm_conf)
  • Bugfixes
    • None
  • Changed Dependencies
    • None

1.2.0

  • Added Features
    • Implemented single-channel CIC decimator for fixed ratio (psi_fix_cic_dec_fix_1ch)
    • Implemented single channel CIC interpolator for fixed ratio (psi_fix_cic_int_fix_1ch)
    • Implemented 18-bit DDS (psi_fix_dds_18b)
    • Added interface functions and example for usage of the Python models from MATLAB
    • Added parameter to psi_fix_cordic_abs_pl to select the amount of pipelining
    • Added documentation of all library elements
  • Bugfixes
    • None
  • Changed Dependencies
    • psi_common >= 1.2.0

V1.01

  • Added Features
    • Added multi-channel serial decimating FIR that calculates channels TDM
    • Added binary division
  • Bugfixes
    • None

V1.00

  • First release