- Bugfixes
- pulse_cc add testbench to check reset crossing and correct polarity handling
- modify simple_cc_tb to cope with bugfix in pulse_cc
- correct async fifo to work with reset polarity neg
- add few polarity check in test regression config.tcl
- Cleaning
- All codes have been unified for better readibility and all tabs have been removed
- new script added to update your current project and replace instantiation with json database file
- Added Features
- Added psi_common_pwm
- Bugfixes
- Merge: psi_common_tdm_par_fill merged to psi_common_tdm_par
- Add: Array of slv 512 bits
- Fix: fixed formatting in psi_common_spi_master
- Fix: Debouncer output assignment
- Name: psi_common_min_max_mean -> psi_common_min_max_sum
- Doc: Sync FIFOs
- Added Features
- Added psi_common_tdm_par_fill - update tdm par to cope with AXI
- Bugfixes
- update static_pulse due to new egenric for ramp gene
- solve issue in sync fifo - outvld no assign to 1 prior reset is release
- Added Features
- Added psi_common_find_min_max - find min and max value withn a dedicated time period
- Added psi_common_min_max_mean - quick statistics within a dedicated time period
- Added new generic for init value into psi_common_ramp_gene
- Bugfixes
- Add support for explicit "+" signs in front of number and/or exponent
- Added Features
- Added psi_common_spi_master_cfg - SPI master with dynamically change of the data length to forward on bus
- Added psi_common_ser_par - Generic serialize to parallel
- Added psi_common_par_ser - Generic parallel to serialize
- Bugfixes
- Remove VHDL 2008 statements in psi_common_par_tdm_cfg
- Correct psi_common_trigger_digital in case of one bit only
*Added Features
- Added *psi_common_ramp_gene - Ramp generator
- Added *psi_common_pulse_gene - Pulse generator
- Added max min within an array & ratio computation to determine if integer in Math package
*Added Features
- Added *psi_common_ramp_gene - Ramp generator
- Added *psi_common_pulse_gene - Pulse generator
- Added max min within an array & ratio computation to determine if integer in Math package
*Added Features
- Added psi_common_trigger_analog - Generic Analog trigger
- Added psi_common_trigger_digital - Generic Digital trigger
- Added psi_common_dyn_sft - Dynamic barrel shifter
*Added Features
- Added psi_common_axi_slave_ipif64 - AXI BUS interface 64 bits capable
- Added psi_common_axilight_slave_ipif - AXI LIGHT BUS interface
- Added string to real conversion function
- Added Features
- Added psi_common_psi_common_debouncer - Configurable debounce component
- Added InvertBitOrder function in psi_common_logic_pkg
- Added backpressure handling to psi_common_tdm_par - Warning as port has changed
- Added backpressure handling to psi_common_par_tdm - Warning as port has changed
- Added interactiveGhdl.tcl
- Documentation
- MD file instead of docx
- Added Features
- Added psi_common_psi_common_par_tdm_cfg - // to TDM with configurable number of enabled channels
- Added Features
- Added psi_common_psi_common_axi_multi_pl_stage - Axi Multi pipeline stage
- Added Features
- Added psi_common_watchdog - Watchdog with several settable parameters
- Added psi_common_tdm_par_cfg - TDM to // with configurable number of enabled channels
- Added psi_common_dont_optimize - Allows creating virtual pins to check implementation
- Bugfixes
- Made psi_common_ping_pong_tdm_burst_tb runnable in Vivado
- Added Features
- Added psi_common_ping_pong ping-pong buffer (also known as double buffer)
- Bugfixes
- In psi_common_pulse_shaper fixed hold-off handling for HoldIn_g=True
- Bugfixes
- Made simulations working for GHDL
- Added Features
- None
- Bugfixes
- In psi_common_axi_slave_ipif: fixed behavior when writing to memory address if memory is disabled
- Added Features
- None
- Bugfixes
- In psi_common_i2c_master: replace ranged integers by unsigned numbers and added attribute because of Vivado synthesis error
- Added Features
- None
- Bugfixes
- In psi_common_i2c_master: Pull CmdRdy low when bus is busy
- In psi_common_i2c_master: Make sure SDA is always high for at least half an SCL clock cycle
- Added Features
- Added psi_common_i2c_master: Multi-master capable I2C master
- Added psi_common_tdp_ram_be: True dual port RAM with byte enables
- Bugfixes
- Fixed bug in psi_common_axi_master_simple that led to errors in simulations (no problem in HW)
- Others
- Changed AXI record names in psi_common_axi_pkg to be clear for master and slave ports
- Added Features
- None
- Bugfixes
- Disable psi_commonaxi_slave_ipif_tb for vivado simulator because it uses constructs not supported by the Vivado simulator
- Added Features
- Added functions to psi_common_math_pkg: log2ceil() for real, isLog2()
- Added dependency resolution script
- Added psi_common_axi_slave_ipif: Full AXI slave interface for IP-Cores
- Bugfixes
- Fixed modelsim call in continuous integration script
- Added Features
- None
- Bugfixes
- Update PDF Documentation
- Made compatible with Vivado simulator
- Added Features
- Added integer to std_logic converstion to psi_common_logic_pkg
- Added Last handling to psi_common_wconv_... entities
- Added full AXI master (incl. unaligned transfers) psi_common_axi_master_full
- Bugfixes
- Made All Testbenches compatible with GHDL
- Added Features
- Added generator scripts for wrappers to ease usage of psi_common_par_tdm, psi_common_tdm_par, psi_common_simple_cc and psi_common_status_cc
- Added psi_common_axi_master_simple (AXI-Master, supporting aligned transfers only)
- Bugfixes
- None
- Added Features
- Added generic to control Rdy-behavior during reset
- Bugfixes
- None
- Added Features
- Added psi_common_spi_master
- Added FrequencyVld signals to psi_common_clk_meas
- Bugfixes
- Fixed bug for psi_common_strobe_divider Ratio_g=1
- Documentation
- Added power point presentation about the library
- First open-source version (older versions not kept in history)
- Added Features
- Added psi_common_bit_cc (double-stage synchronizer including all attributes required)
- Support GHDL as simulator for regression tests
- Bugfixes
- Arbitters (psi_common_arb_priority and psi_common_arb_round_robin) are now also working for size=0
- Changes that are not reverse compatible
- Syntax changes for consistency in the following entities
- psi_common_strobe_divider
- psi_common_strobe_generator
- psi_common_tdm_mux
- Changed RAMs for implementing either read-before-write or write-before-read
- Syntax changes for consistency in the following entities
- Added Features
- None
- Bugfixes
- psi_common_tdm_mux did not work correctly if input Vld was not kept asserted during a whole TDM run (i.e. all samples of a TDM run had to arrive back-to-back for the mux to work)
- psi_common_async_fifo timing optimization (from 1.11.0) did not work for OutRdy asserted when a single input sample arrives
- Added Features
- Added clock measurement logic (psi_common_clk_meas)
- Added pulse shaper (create fixed duration pulse with limited frequency) (psi_common_pulse_shaper)
- Bugfixes
- Fixed timing issue in psi_common_async_fifo (Timing was often not met for fast clock speeds)
- psi_common_multi_pl_stage now also supports the case of 0 pipeline stages
- Added Features
- None
- Bugfixes
- Fixed bug in simulation script that led to an error message with new PsiSim
- Added Features
- Priority Arbieter (psi_common_arb_priority)
- Round Robin Arbiter (psi_common_arb_round_robin)
- TDM Mux (psi_common_tdm_mux)
- Bugfixes
- None
- Added Features
- Added parallel to TDM conversion (psi_common_par_tdm)
- Added TDM to parallel conversion (psi_common_tdm_par)
- Bugfixes
- None
- Added Features
- Added psi_common_multi_pl_stage (multiple psi_common_pl_stage in one entity)
- The ready-path (Rdy-handling) can now optionally be disabled for the pipelilne stages
- The implementation style of RAMs (block or distributed) is now accessible via Generic
- Changes
- FIFOs are now using psi_common_sdp_ram_rbw (instead of psi_common_tdp_ram_rbw) to allow using distributed RAM for memory.
- Bugfixes
- None
- Added Features
- Added psi_common_wconv_n2xn: width converter N->x*N
- Added psi_common_wconv_xn2n: width converter x*N->N
- Added psi_common_sync_cc_n2xn: Clock crossing between synchronous clocks (from N MHz to x*N MHz)
- Added psi_common_sync_cc_xn2n: Clock crossing between synchronous clocks (from xN MHz to N MHz)
- Added psi_common_pl_stage: Pipelinestage with handshaking (incl. Back-Pressure handling) that registers all signals in both directions (incl. handshaking signals)
- Bugfixes
- None
- Added Features
- Added more std_logic_vector array types to psi_common_array_pkg
- Added bool and string arrays to psi_common_array_pkg
- Added choose() for string and real to psi_common_math_pkg
- Bugfixes
- None
- Added Features
- Added psi_common_strobe_generator (configurable frequency pulse generator)
- Added psi_common_strobe_divider (divide pulse rate)
- Added psi_common_delay (timing optimal delay using SRLs or BRAMs)
- Bugfixes
- Added init values to two-process records in psi_common_fifo_async to prevent Modelsim Warnings
- Added Features
- Added single port RAM with byte enables
- Bugfixes
- None
- Added Features
- None
- Bugfixes
- Added missing signals to reset in psi_common_async_fifo.vhd
- Added Features
- Added Tick Generator
- Bugfixes
- None
- Added Features
- Added choose function for integers
- Bugfixes
- None
- Added Features
- Added synchronous FIFO
- Added separate package for logic functions
- Added Gray <-> Binary conversions
- Added asynchronous FIFO
- Bugfixes
- Added correct attributes for all double-stage-synchronizers in clock crossings
- First release