Commit Graph
100 Commits
Author SHA1 Message Date
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
maksyuki 9bf54c4ca3 style: adjust port pos 2024-10-16 14:40:09 +08:00
maksyuki e77d47dd25 fix: mv axlen to the std format according to TRM 2024-10-15 11:16:16 +08:00
maksyuki 26761d32d9 feat: add fir and sec clk trg ports 2024-10-14 16:34:52 +08:00
maksyuki 6b8c7496ad feat: add clk init to the clk int div module 2024-10-14 09:27:51 +08:00
maksyuki 7ed073a606 feat: add div hdshk signal to reset the clk init value 2024-10-08 17:09:37 +08:00
maksyuki 77dfb126a2 chore: mv axi4 slv fsm to the specific ip path 2024-09-28 17:03:40 +08:00
maksyuki 5ddf8a8706 style: simplify the fsm impl of axi4 2024-09-28 16:50:16 +08:00
maksyuki 009c59a644 feat: add apb4 axi4 master class 2024-09-27 15:43:12 +08:00
maksyuki 4fe68b845a feat: add clk cnt output port 2024-09-26 13:36:52 +08:00
maksyuki 088e540ef7 style: add specific params to the define marco 2024-09-10 09:37:24 +08:00
maksyuki a06b29da8c fix: add bug tag to the stream fifo module 2024-09-09 14:17:48 +08:00
maksyuki 14b0662631 style: add specific to the regfile module 2024-09-07 14:56:23 +08:00
maksyuki 7b779506d7 syle: add named to the generate blocks 2024-09-07 11:28:56 +08:00
maksyuki 236a471c85 feat: add hor and ver osc pad model 2024-09-06 20:43:08 +08:00
maksyuki 393f3c914e fix: use high active for the pad io high signal 2024-09-06 20:24:09 +08:00
maksyuki 733af0ee2a feat: add simple pull-up and down gpio pad model 2024-09-06 19:57:57 +08:00
maksyuki be837477db style: add specific params to the backend impl marco 2024-09-06 16:20:22 +08:00
maksyuki ac5ccade08 feat: replace reg delay value to the marcro define 2024-08-16 12:19:31 +08:00
maksyuki a8af6b3359 feat: add clk gen to the clk div int module 2024-08-16 12:16:06 +08:00
maksyuki f7b97b6983 docs: modify div val comment 2024-07-10 21:11:07 +08:00
maksyuki e587d9f8d2 feat: use marco to replace the reg delay params 2024-07-09 22:39:46 +08:00
maksyuki 9fb0adc18f feat: simplify the even div clk module impl 2024-07-09 22:26:47 +08:00
maksyuki 1c5487437d feat: add global setting config header 2024-06-27 10:12:18 +08:00
maksyuki 2a5504d669 fix: fix multi driver bugs 2024-06-21 23:45:17 +08:00
maksyuki ca5ef52991 feat: add axi4 slv fsm and addr gen moduels 2024-06-21 23:16:46 +08:00
maksyuki 0999985294 feat: add bytes width log marco 2024-06-21 23:16:25 +08:00
maksyuki cd0472e2ba feat: split rfe signals to single 2024-06-17 17:50:31 +08:00
maksyuki a8b664be47 feat: add sync edge det module 2024-06-17 14:18:33 +08:00
maksyuki a0d2efbf75 feat: add name block to the regfile bit mask 2024-05-27 20:55:28 +08:00
maksyuki 07cc2e64ef fix: add inc header for regfile module 2024-05-27 15:43:15 +08:00
maksyuki e5370dd73d feat: add stream fifo and data bytes def 2024-05-21 23:27:08 +08:00
maksyuki eb65a03b26 feat: add cdc rst ctrl module 2024-05-01 13:11:57 +08:00
maksyuki 863da81b43 fix: fix a err inc marcro define 2024-04-22 19:50:13 +08:00
maksyuki ba2494e83d fix: fix some typos 2024-02-19 16:17:00 +08:00
maksyuki ebe2a2e683 feat: add spill reg module 2024-02-19 15:53:59 +08:00
maksyuki 0eb80328ad feat: add src and dst module impl 2024-02-19 15:01:53 +08:00
maksyuki f8649cdf5c fix: fix err rd ref data bit strb bug 2024-02-01 17:02:13 +08:00
maksyuki 3656e4b4b5 fix: fix error strb calc and rd mask calc 2024-02-01 16:05:54 +08:00
maksyuki 43bb8df67c feat: add init cdc async fifo impl 2024-01-31 19:30:12 +08:00
maksyuki 5d8a44cc03 fix: fix ar and aw channel len num bug 2024-01-31 19:29:44 +08:00
maksyuki 81a51add70 feat: modify axi4 bfm and helper class 2024-01-29 10:40:17 +08:00
maksyuki 35885246d2 feat: add sync det and multi byte shift support 2024-01-22 14:34:44 +08:00
maksyuki 5543efe6e3 feat: add rd oper task and id check logic 2024-01-16 15:01:01 +08:00
maksyuki 01fdf3cff6 feat: add #1 delay to the dff 2024-01-16 15:00:29 +08:00
maksyuki 3c9aa9b8db feat: add write channel impl 2024-01-16 10:39:09 +08:00
maksyuki b143dc731c fix: fix err wstrb width 2024-01-16 10:38:40 +08:00
maksyuki 66abd7206d feat: rm err wid and add new define macro 2024-01-15 17:18:10 +08:00
maksyuki f336943e3c feat: add sync edge det module 2024-01-13 15:05:33 +08:00
maksyuki c5e61ce45d feat: adjust reg dir macro pos 2024-01-13 10:28:18 +08:00
maksyuki 079468e54f feat: add input type support 2024-01-11 20:17:05 +08:00
maksyuki efae3d8243 feat: add shift register module 2024-01-11 13:06:03 +08:00
maksyuki d6c37bf30c feat: modify axi4 bfm impl 2024-01-02 20:42:03 +08:00
maksyuki 9cfd7c8053 docs: add buffer depth set statement 2024-01-01 15:15:39 +08:00
maksyuki a0b5e8b518 docs: add lfsr dev statement 2023-12-31 21:03:17 +08:00
maksyuki 7bb66db9c9 chore: modify load register name 2023-12-29 20:40:06 +08:00
maksyuki 637906f89a feat: modify axi4 if, regilfe and axi4 test class impl 2023-12-28 20:30:33 +08:00