All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Remove extra files in Bender.yml
- Use pulp-io for peripherals -> updated udma subsystem and corresponding peripherals
- Use new gpio peripheral
- Externalize clock generator modules
- Remove IPApproX support
- Clean up & update dependencies
- Update AXI to TCDM IPs
- Bump cv32e40p to pulpissimo-v4.1.0 (Unlock all interrupts and increases fpu latency)
- Update jtag_pulp to v0.2.0
- Use PULP Platform IDCODE
- tcdm_err_slave: stall r_opc for 1 cycle
- Various synthesis fixes
- Add obi adapter also to core data path
- Fix debug module addresses
- Update RI5CY to CV32E40P
- Remove PULP_TRAINING references
- Wire up uart char and error events
- Update riscv-dbg to v0.5.0 (synchronous jtag reset and bus error signaling)
- Update bender dependency link for udma components, ibex, cv32e40p
- Update interface for udma_i2c with unconnected
nack
- Fix ibex register file for FPGA
- Fix cdc reset signal for cluster
- Added simulation stdout (replacing the hierarchical access in the tb hack)
- Removed apb_timer (duplicate)
ips_list.yml
has missing domain tags causing trouble with the FPGA flow- Bumped fpnew for
common_cells
deps
- Added support for Hyperbus. pulp_soc now supports booting from HyperFlash memory
- Increase size of boot_mode signal to 2-bit to accomodate the new Hyperbus bootmode
- Bumped riscv_dbg IP Version to 0.4.1
- Switched to new AXI CDC IPs between SoC and Cluster
- Switched to common cells CDC for cluster event exchange
- Bumped axi IP Version to 0.29.1
- Reduced latency of APB and AXI transactions
- Bumped register interface IP Version to 0.3.1
- Bumped cv32e40p IP Version to pulpissimo-v3.4.0-rev3
- Bumped udma_core IP version to 1.1.0
- Switched to new I2C peripheral version with command stream interface
- Removed APB Bus interface from repository. The identical version defined in the APB depedency is now used
- Removed dependency to archived legacy axi_slice_dc
- Removed ifdef for separate FPGA RAM instantiation. This is now supposed to be handled by tc_sram wrapping a Xilinx XPM.
- Fixed Genus SystemVerilog incompatibility in soc_interconnect
- Added
Bender.yml
file for bender compatibility - Added
obi_pulp_adapter
- updated
ibex
- change from deprecated
generic_memory
totc_sram
tech cell, bumptech_cells_generic
accordingly - Expose L2 Bank sizes to improve consistency
- updated
apb_fll_if
, removed local interface definition to use the one defined externally - updated
hwpe-mac-engine
- Changed address aliasing rules to be identical to the behavior of the legacy interconnect.
- Fix wrong address part select in SRAM wrappers that caused part of the memories to be inaccessible and alias into lower address ranges.
- Completely replaced
soc_interconnect
with a new parametric version - Added AXI Crossbar to
soc_interconnect
to attach custom IPs - Added new
pulp_soc
parameter to isolate the axi plug CDC fifo in case it is not needed - Add
register_interface
as dependency to simplify integration of custom ip using reggen - Properly assert
r_opc
signal in new interconnect to indicate bus errors - Add error checking for illegal access on HWPE ports which only have access to L2 interleaved memory
- AXI ID width of cluster plugs are now set to actually required width instead of a hardcoded one
- TCDM protocol to SRAM specific protocol is moved from interconnect to memory bank module
- obsolete
axi_node
dependency - obsolete header files
- Propagate
ZFINX
parameter
- Bump
fpnew
tov0.6.4
- Fix bad dependency of fpnew
- Bump
fpnew
tov0.6.3
- Fix drive input address in bootrom
- Bump
udma_i2s
tov1.1.0
axi_slice_dc_master_wrap
andaxi_slice_dc_slave_wrap
. These are already provided by theaxi_slice_dc
ip.
- Make number of I2C and SPI parametrizable
- Allow external fc_fetch signal to control booting
- Prefer for loop over for gen for hartinfo
- Quentin specific SCM code
- Elaboration issue when using constant function before declaration
- Style issue
- Missing signals for jtag
- Parameter propagation of
NBIT_CFG
,NPAD
andNUM_GPIO
- Name generate statements
- Fix wrong ID WIDTH in soc/cluster AXI bus
- Propagate cluster debug signals
- Make selectable harts/hartinfo/cluster debug signals parametrizable according to NB_CORES
- Rewrite generate blocks to for-genvar loops
- Annotate ips in
ips_list.yml
with usage domain
axi_mem_if
- Bump
axi
tov0.7.1
- Bump
axi_node
tov1.1.4
- Remove
axi_test.sv
from synthesized files
- ibex support
- FPGA support (
PULP_FPGA_EMUL
) macros - CHANGELOD.md
axi
with versionv0.7.0
- Bump
tech_cells_generic
tov0.1.6
- Bump
riscv
(RI5CY) topulpissimo-3.4.0
- Keep
udma_i2c
onvega_v1.0.0
- Bump
udma*
tov1.0.0
(exceptudma_i2c
) - Bump
apb_gpio
tov0.2.0
- Bump
jtag_pulp
tov0.1
- Bump
hwpe
tov1.2
- Bump
axi_node
tov1.1.3
- Bump
axi_slice
tov1.1.4
- Bump
axi_slice_dc
tov1.1.3
- Bump
common_cells
tov1.13.1
- Bump
fpnew
tov0.6.1
- Bump
riscv-dbg
tov0.2
- Bump
apb_interrupt_cntrl
tov0.0.1
- Bump
apb_node
tov0.1.1
- Bump
apb_adv_timer
tov1.0.2
- Bump
apb2per
tov0.0.1
- Bump
adv_dbg_if
tov0.0.1
- Bump
timer_unit
tov1.0.2
- Tag
generic_FLL
withv0.1
- Tag
axi_mem_if
withv0.2.0
- udma connection issues
- various synthesis issues
- Remove parasitic latches in TCDM bus
- bad signal names
- typo in cluster reset signal
- zero-riscy support
- Initial release