186 Commits
Author SHA1 Message Date
Yuchi Miao 964a54d70c Merge pull request #2 from retroSoC/codex/axi4-regslice-flush
test: cover AXI4 register slice flush
2026-08-27 13:13:10 +08:00
maksyuki 081ddaca2f test: cover AXI4 register slice flush 2026-08-27 13:09:55 +08:00
maksyuki 5604bd5899 feat: complete reusable register primitives 2026-08-12 13:23:50 +08:00
maksyuki e08b474b2b fix: refresh AXI register slice documentation 2026-08-11 21:00:02 +08:00
maksyuki e9a0164d67 feat: add reusable AXI4 stream components 2026-08-11 19:11:14 +08:00
maksyuki 6c318bf065 feat: update third-party notices and add license documentation checks 2026-08-04 17:54:15 +08:00
maksyuki 3b6a925a51 feat: add documentation for new utility components and scripts
- Created documentation for , , , and  modules, detailing their functionality, parameters, and usage examples.
- Implemented a script  to ensure required headings and content are present in documentation files.
- Developed  to generate and update documentation pages from SystemVerilog declarations, ensuring consistency and completeness.
2026-08-04 16:35:53 +08:00
maksyuki cbbc335159 feate: add stream processing modules and utility scripts
- Introduced , , , , , , , and  for advanced stream processing capabilities.
- Implemented  to manage memory response channels with a response queue.
- Added  module for delaying valid-tagged data without a ready path.
- Created  script to validate PULP coverage manifest entries and ensure compliance with licensing requirements.
2026-08-04 15:49:40 +08:00
maksyuki 16ee9a5cfd feat: add resp_err signal to slave and master modports in ribp_if interface 2026-08-04 14:11:03 +08:00
maksyuki f666d8f049 feat: add formal verification files and new RTL components
- Introduced formal verification script for stream_window module.
- Added stream_window_formal.sv to define assertions for the stream window logic.
- Implemented SECDED (Single Error Correction Double Error Detection) encoder and decoder in ecc_secded.sv.
- Created a pseudo-LRU victim selector module for cache replacement policy in replacement.sv.
- Developed cdc_warm_flush_controller for coordinated CDC flush operations in cdc_warm_flush.sv.
- Added peak_delta_counter for tracking peak values in counter.sv.
- Introduced ribp_if interface for communication between master and slave components.
- Implemented stream_control module for managing input/output stream operations.
- Updated doctor.sh script to include bitwuzla in the toolchain check.
- Created install_toolchain.py for managing toolchain installations with checksum verification.
2026-08-03 22:48:57 +08:00
maksyuki a542f1ee57 feat: enhance validation and error handling in RTL modules
- Added geometry validation for BIT_WIDTH, WORD_DEPTH, and ADDR_WIDTH in tech_ram, tech_ram_bm, tech_regfile, and tech_regfile_bm modules to ensure proper configurations.
- Implemented address range checks in tech_ram, tech_ram_bm, tech_regfile, and tech_regfile_bm modules to prevent out-of-bounds access.
- Improved error messages for unsupported access types in regfield module, including validation for DATA_WIDTH.
- Added DATA_WIDTH validation in spill_register module to ensure positive values.
- Refactored APB4AXI4Master and APB4Master classes to streamline constructor definitions and improve readability.
- Enhanced AXI4Master class with additional burst address calculations and legality checks for read/write operations.
- Updated read/write tasks in AXI4Master to include error handling for response mismatches and illegal burst conditions.
- Simplified the filtering of reference data in rd_check task of AXI4Master to improve clarity and maintainability.
- Cleaned up the TestBase class constructor for consistency and clarity.
2026-08-03 20:10:19 +08:00
maksyuki d4de33c291 feat: refactor RTL modules and utilities for improved consistency and error handling
- Updated license headers to use SPDX format across all RTL files.
- Enhanced error checking in various modules (e.g., tech_ram, tech_regfile, bin2gray, gray2bin, lfsr) to validate parameters and prevent invalid configurations.
- Refactored FIFO implementation to simplify pointer management and ensure proper handling of push/pop operations.
- Introduced new scripts for checking formatting and license headers, ensuring compliance with project standards.
- Added style guidelines to maintain consistent coding practices across the RTL codebase.
- Updated testbench files to include license headers and maintain compatibility with legacy structures.
2026-08-03 17:56:27 +08:00
maksyuki 215e47f377 refactor: rename NMI interface to RIB 2026-08-02 11:07:07 +08:00
maksyuki d9921eb051 feat: add default val for REG_TYPE param for dffercn 2026-03-23 16:34:38 +08:00
maksyuki 0a5c98847c style: update license header date 2026-03-07 14:53:32 +08:00
maksyuki cfbd59b004 style: remove unused #delay statement 2026-02-26 15:18:05 +08:00
maksyuki d4f2644e54 feat: add multiple layer dffer impl 2026-01-21 11:40:33 +08:00
maksyuki ad5fbbae1b feat: add register delay for rst assignment for register modules 2026-01-14 11:58:25 +08:00
maksyuki a9ae3a4f19 fix: add width xfer for fir trg check 2026-01-12 16:44:37 +08:00
maksyuki 2b3721b18f fix: fix a mismatch bit width in fifo module 2026-01-11 13:01:42 +08:00
maksyuki 413e337c42 fix: fix the mismatch bit width for fir trg signal 2026-01-11 12:46:49 +08:00
maksyuki 726b1f4dc9 fix: use new register type to replace 'dfferc' 2026-01-09 21:45:02 +08:00
maksyuki fda1c6b1ae fix: add missing block name for cdc det module 2026-01-02 16:07:16 +08:00
maksyuki 91aa68b0c5 fix: add missing name of block 2026-01-02 16:05:35 +08:00
maksyuki 37559511bf fix: fix a typo in ahbl if define 2025-12-23 14:23:18 +08:00
maksyuki df18c83f16 fix: fix the wrong bit width of lfsr if condi statement 2025-12-16 10:35:43 +08:00
maksyuki 48eb8a24fe feat: add ahbl interface def 2025-12-11 14:30:52 +08:00
Yuchi Miao 72bf256c80 Merge pull request #1 from retroSoC/dev
Dev
2025-11-26 10:13:45 +08:00
maksyuki a1a312527d feat: add common vcs smoke comp script 2025-11-26 10:05:34 +08:00
maksyuki 41aaf23d88 feat: modify 'dfferc' register define 2025-11-26 07:48:05 +08:00
maksyuki f114d0a2fe feat: use new slogan to replace the old one 2025-11-25 16:19:00 +08:00
maksyuki 785b1d0cb8 style: add 'rs' prefix in counter module 2025-11-11 15:31:43 +08:00
maksyuki d78d0d8d90 style: chg port pos of fifo define 2025-10-17 09:31:41 +08:00
maksyuki 4390e4cb09 feat: add no-clk version apb if 2025-10-10 10:53:22 +08:00
maksyuki fe429a7d3c fix: fix the dirc error in 'gray2bin' module 2025-10-05 21:35:19 +08:00
maksyuki 2ccfbc4290 feat: add ocm ram if define 2025-09-16 09:03:53 +08:00
maksyuki 54a3468464 feat: rm clk and rst signal from the if def 2025-09-13 10:24:28 +08:00
maksyuki 78c52e211b feat: add init nmi if define 2025-09-13 10:16:38 +08:00
maksyuki cc368e0352 chore: restructure the all common modules 2025-04-20 12:44:26 +08:00
maksyuki f39676db34 fix: add name to the unname block 2025-04-13 22:32:00 +08:00
maksyuki 13c470c91b docs: modify author email 2025-04-12 14:59:51 +08:00
maksyuki 00a94402d5 feat: add regfield module 2025-03-11 16:23:19 +08:00
maksyuki a1c120a17d chore: fix setting to config sv header 2025-03-09 16:47:52 +08:00
maksyuki 804a1bbb34 chore: change copyright info on the file header 2025-03-09 15:44:53 +08:00
maksyuki bc7dbbbedb chore: mv setting name to config 2024-12-14 21:50:18 +08:00
maksyuki 72f9bb2392 feat: add x prop checker module 2024-12-14 21:42:08 +08:00
maksyuki 1bf2d680e6 chore: modify license holder to author name 2024-12-14 16:28:14 +08:00
maksyuki d8fd7af63f chore: mv common components to the utils dir 2024-12-14 15:57:36 +08:00
maksyuki 181315300a fix: fix no trg bug in div == 0 2024-10-18 12:26:45 +08:00
maksyuki 08b2c0e43d feat: rewrite the static clk even div module 2024-10-16 18:37:12 +08:00