Commit Graph
100 Commits
Author SHA1 Message Date
maksyuki 91b4f78892 refactor: refactor macro definitions for consistency and readability across multiple headers
- Adjusted formatting of macro definitions in i2c.h, lcd.h, shell.h, irq.c, system_irq_handler.c, and clock.c to align with coding standards.
- Ensured consistent spacing and indentation for better readability.
2026-07-21 12:11:52 +08:00
maksyuki 7418acfe42 refactor: refactor Makefiles and related scripts for improved readability and consistency
- Adjusted variable alignment in Makefiles for better readability.
- Ensured consistent formatting across various Makefiles and scripts.
- Added a new .bake.toml file to define project formatting policies for mbake.
- Updated paths and variable definitions in multiple configuration files to enhance clarity.
- Removed unnecessary comments and whitespace for cleaner code.
2026-07-21 11:21:39 +08:00
maksyuki f5b373fd65 feat: enhance build variant ID generation and regression environment setup
- Added timestamp normalization to  function in , allowing for optional timestamp input.
- Updated command-line interface to accept a timestamp argument for generating deterministic build variant IDs.
- Modified  in  to include a build timestamp in the environment variables.
- Introduced a new test suite in  to validate the pin-map generator, including tests for duplicate pads and invalid entries.
- Added a test for ensuring the regression runner uses a consistent build timestamp.
- Created a new SystemVerilog testbench for the APB4 interface bridge to verify correct signal crossing.
2026-07-21 10:59:31 +08:00
maksyuki fc898bc4ab feat: add PLL controller and related testbench functionality
- Removed legacy clock definitions and added a dynamic PLL timing template in retrosoc_pll.sdc.
- Introduced a new SystemVerilog testbench (pll_ctrl_tb.sv) for the PLL controller, including clock generation, register read/write tasks, and validation of PLL configuration and timing.
- Updated sysctrl_fault_tb.sv to include PLL controller interface and initialization.
- Enhanced memory map tests to verify PLL configuration and status offsets.
- Added tests for PLL controller dynamic reconfiguration and fallback to safe clock.
2026-07-20 22:12:17 +08:00
maksyuki f5559ce784 feat: remove unused I2C and QSPI select registers from sysctrl and update tests 2026-07-20 18:21:01 +08:00
maksyuki fb3621e6b8 feat: add QSPI Flash and Flash Read Binder modules
- Introduced  for handling QSPI flash memory operations, including command and address handling.
- Added  to interface with the C++ flash memory implementation, allowing for read operations via DPI-C.
- Created  for the flash memory implementation, supporting initialization, reading, and memory copying.
- Updated  to integrate the new QSPI Flash module and connect it with the existing system.
- Refactored file paths in various filelists and scripts to accommodate the new directory structure under .
- Enhanced the Python scripts for generating memory maps and preparing the environment for the new structure.
- Adjusted test scripts to reflect changes in the directory structure and ensure compatibility with the new modules.
2026-07-20 16:50:57 +08:00
maksyuki 82e5c605a8 feat: refactor memory map definitions and enhance fault handling in Mini SoC
- Updated core_wrapper and mgmt_core_wrapper to use new SOC reset and IRQ addresses.
- Removed obsolete mmap_define.svh file and integrated memory map generation into the build process.
- Enhanced ip_nmi_wrapper to handle fault signals and updated NMI interface assignments.
- Added bus fault and sysctrl fault testbenches to validate fault handling mechanisms.
- Improved memory map generation script and added tests for memory map validation and fault responder behavior.
2026-07-20 12:01:48 +08:00
maksyuki bd376a0670 fix: update simulation command for mdd-rv32im-ihp130.mk to include SOC_SIM_TIME 2026-07-12 09:21:49 +08:00
maksyuki 97c40010cc feat: add GUIDE.md for GitHub automation and update references in AGENTS.md and README.md 2026-07-12 09:08:42 +08:00
maksyuki 373a08d458 feat: add README files for various directories to document structure and usage 2026-07-11 13:18:38 +08:00
maksyuki 0c36d358a7 feat: add MISRA C:2012 Amendment 2 policy documentation and approved deviations register 2026-07-11 13:12:05 +08:00
maksyuki 0d4999a794 refactor: refactor embedded C policy and enhance warning checks
- Updated the default output path in  to .
- Introduced a new  file to define excluded prefixes, compatibility files, and forbidden calls for embedded C sources.
- Modified  to improve compiler flags and source file organization.
- Added scripts for checking C warnings and embedded C compliance, ensuring self-owned sources are validated against the policy.
- Implemented regression tests to capture and report self-owned C compiler warnings during builds.
- Created a new test suite for runtime tests of SDK utilities, ensuring deterministic behavior.
- Enhanced existing test scripts to include checks for C warnings and compliance with the embedded C policy.
2026-07-11 12:43:26 +08:00
maksyuki 42f902e995 docs: update the readme file 2026-07-11 11:16:07 +08:00
maksyuki 21a323d9da feat: add new source files for SPI SD, string manipulation, timer, UART, and watchdog functionalities
- Implemented SPI SD memory read/write operations in .
- Added string manipulation functions including , , , and others in .
- Created timer functions for delay and initialization in .
- Developed UART initialization and character transmission in .
- Introduced watchdog timer test functionality in .
- Updated IRQ handler to use  instead of .
- Modified  to include new source files and remove references to tinylib.
2026-07-10 20:12:22 +08:00
maksyuki b993c18f97 feat: add extract_fatfs function for handling fatfs archive extraction and update tests 2026-07-10 19:12:48 +08:00
maksyuki 2d9922d87b fix: update checksums for toolchain dependencies and enhance documentation on checksum verification 2026-07-10 18:52:31 +08:00
maksyuki 467ff803e7 fix: update actions/cache to v4.3.0 in workflows 2026-07-10 17:55:36 +08:00
maksyuki 57c9d334ea feat: refactor MPW preparation and add regression and flow scripts
- Updated  to utilize a new dependency locking mechanism and improved repository management.
- Introduced  for running regression tests with configurable command sets for different profiles.
- Added  to execute commands with structured logging and result reporting.
- Enhanced  to support fetching specific revisions from git repositories.
- Modified  to use the new dependency source structure.
- Updated OpenSTA makefile and TCL script to include metrics reporting.
- Improved synthesis scripts to utilize the new flow execution model.
- Added tests for dependency locking, flow execution, and warning analysis.
- Ensured that all scripts and tools are consistent with the new structure and functionality.
2026-07-10 17:48:11 +08:00
maksyuki 7d064ce782 feat: implement setup helpers and refactor setup script
- Added  to manage Git repository dependencies and file downloads.
- Refactored  to utilize the new helper functions for cloning the MPW generator.
- Enhanced OpenSTA Makefile to validate input files and configurations before execution.
- Updated OpenSTA TCL script to use environment variables for file paths.
- Refactored source export script to improve file handling and path resolution.
- Added tests for atomic writing, filelist parsing, and dependency management.
- Improved Yosys synthesis scripts to include configuration recording.
2026-07-10 13:13:59 +08:00
maksyuki 2fc59c8cc5 feat: add third-party attribution and licensing information to the repository 2026-07-07 11:06:07 +08:00
maksyuki f652cf81b8 fix: fix the wrong wr strobe signal in ochip ram module 2026-06-25 11:04:13 +08:00
maksyuki e2ce63610a fix: fix the wrong esp32 sim module path 2026-03-26 22:05:43 +08:00
maksyuki 3afed0e614 chore: mv sim model to single new dir 2026-03-26 21:59:31 +08:00
maksyuki d10b1e1a29 fix: fix inout pin bug for rstn and uart0_rx input 2026-03-24 23:09:40 +08:00
maksyuki 3652385ea1 feat: add register slice to bus modules to optimize timing 2026-03-24 22:56:23 +08:00
maksyuki adbe806548 feat: use shift register to optimze the timing for i2s send/recv modules 2026-03-24 15:17:10 +08:00
maksyuki 6e51304e14 feat: modify fifo impl to solve timing issues 2026-03-24 10:19:39 +08:00
maksyuki c09cb18649 fix: add missing mclk generated clk define 2026-03-23 21:42:45 +08:00
maksyuki 75b6651023 feat: use seperate method to add r_mem impl 2026-03-23 17:33:29 +08:00
maksyuki da13360c49 fix: remove unused clk define for pll 2026-03-23 16:35:27 +08:00
maksyuki fc737b6b31 feat: modify pin constr and top wire for fpga 2026-03-23 15:17:16 +08:00
maksyuki c749a1d3c2 feat: change folder name 'makefile' to 'mk' to support win11 NTFS 2026-03-23 13:05:10 +08:00
maksyuki bf3023fad9 feat: modify top wire for fpga 2026-03-23 12:00:29 +08:00
maksyuki 2670b5e002 feat: init sta files 2026-03-22 20:53:00 +08:00
maksyuki cefb639758 chore: add netlist simu for iverilog 2026-03-21 23:24:49 +08:00
maksyuki efab34f276 feat: add netlist sim for iverilog 2026-03-21 23:22:55 +08:00
maksyuki 0c0d810a42 chore: mv tool python script to new folder 2026-03-21 18:33:25 +08:00
maksyuki 9fd61a213a chore: change the dir name for makefile 2026-03-21 18:27:07 +08:00
maksyuki c386ab5794 fix: fix the additional '#' before verilator comp cmd 2026-03-21 16:51:30 +08:00
maksyuki 5325f60a77 fix: fix the wrong sequence of ln cmd 2026-03-21 16:47:11 +08:00
maksyuki 12b2ac04d9 fix: fix a typo in 3rd-party norflash config file path 2026-03-21 16:28:39 +08:00
maksyuki 7f0e95cb06 fix: add os system task for copying norflash config 2026-03-21 16:18:19 +08:00
maksyuki 22a2b1d66f fix: add mkdir oper before convert sv to verilog files 2026-03-21 16:06:49 +08:00
maksyuki 447c766d07 chore: add iverilog norflash config files generate step 2026-03-21 15:58:31 +08:00
maksyuki c362079260 fix: fix a wrong cmd args for opensta test step 2026-03-21 11:57:10 +08:00
maksyuki 6c5c0fa356 fix: fix a typo in opensta artifact setup step 2026-03-21 11:55:01 +08:00
maksyuki 6452f000c8 fix: fix a typo in iverilog artifact setup step 2026-03-21 11:52:53 +08:00
maksyuki 357a2808e4 fix: remove unused bin path in sv2v artifact 2026-03-21 11:50:20 +08:00
maksyuki 9e0d382104 chore: add sv2v, iverilog and opensta to test flow 2026-03-21 11:46:49 +08:00
maksyuki 6c1e519606 feat: modify iverilog behv simulation script 2026-03-21 11:34:15 +08:00
maksyuki 68c7ff8401 chore: add generated filelist to support different target comp in different folder 2026-03-18 16:46:25 +08:00
maksyuki 650559df4d chore: split ip filelist into smaller one and add condi inc for debug 2026-03-18 11:01:06 +08:00
maksyuki 79e457177c chore: simplify the vcs comp options 2026-03-17 21:48:01 +08:00
maksyuki bf08ed1d68 chore: replace wave comp flag with binary check format 2026-03-17 19:52:52 +08:00
maksyuki 95c62a0792 fix: fix the logic-loop due to latch 2026-03-17 14:02:18 +08:00
maksyuki a1861bd5d5 feat: add init trg for psram and format some name of module 2026-03-16 15:44:33 +08:00
maksyuki 23f25eaa53 feat: add new module to implement flash read binder 2026-03-16 14:59:46 +08:00
maksyuki 97b20edfe6 fix: use hacking method to run prog on psram 2026-03-16 14:37:43 +08:00
maksyuki c5ce8b3824 style: remove 'qspi' prefix in all sw&hw 2026-03-16 11:06:38 +08:00
maksyuki e654bc95ff fix: fix the same reg name of xpi 2026-03-14 16:51:34 +08:00
maksyuki 745f8980c8 fix: remove unuse signals in gpio top connect 2026-03-14 16:41:12 +08:00
maksyuki beec183004 style: change 'qspi' prefix in xpi module into 'xpi' 2026-03-14 16:24:06 +08:00
maksyuki 6694ba5dee style: format all low-speed ip if name 2026-03-14 16:04:36 +08:00
maksyuki 4efb9c6c65 style: chg the name of spi into xpi 2026-03-14 15:30:58 +08:00
maksyuki 6d729f1630 fix: fix the missing in top of verilator file 2026-03-14 15:18:13 +08:00
maksyuki 19f7131946 feat: use gpio to pinmux all application ip 2026-03-14 15:08:16 +08:00
maksyuki fcf774e924 style: change all 'qspi' prefix in crt 2026-03-13 21:22:32 +08:00
maksyuki 39daccc8e2 style: format the addr define list 2026-03-13 21:21:28 +08:00
maksyuki 4823363555 feat: add void opisdram and sdio module 2026-03-13 20:53:45 +08:00
maksyuki 62c42784a6 style: mv 'natv' prefix to 'nmi' prefix 2026-03-13 20:16:09 +08:00
maksyuki 837e82f1ce feat: add psram1 module src header files 2026-03-13 13:43:54 +08:00
maksyuki 7fb420e9aa feat: dont test ip mdd integration mode 2026-03-12 12:54:53 +08:00
maksyuki 278cdf0cb3 style: remove spaces in module port defines 2026-03-12 12:47:03 +08:00
maksyuki 6ccc8bcb60 add debug statement for verilator 2026-03-12 12:34:55 +08:00
maksyuki aa41f85c2d chore: add mdd test func 2026-03-12 12:26:49 +08:00
maksyuki 07ba7ca5a3 chore: rm debug statement for verilator 2026-03-12 12:17:20 +08:00
maksyuki 59aa8d2788 fix: remove depth 1 limition for ihp pdk 2026-03-12 12:12:37 +08:00
maksyuki fa6d4c5fcc fix: fix the pdk version for ihp 2026-03-12 12:08:36 +08:00
maksyuki 3bf87bcbf9 fix: limit the fixed version for ihp pdk 2026-03-12 12:02:03 +08:00
maksyuki d604b1cd8d style: simplify the if name of gpio module 2026-03-12 11:50:54 +08:00
maksyuki 8a1ff6937a style: simplify the if name of i2s module 2026-03-12 11:37:51 +08:00
maksyuki 4714035f2f feat: add irq and pinmux to gpio module 2026-03-11 16:11:19 +08:00
maksyuki 4b188a77f3 feat: add init dtr mode psram mmio addr 2026-03-11 14:40:50 +08:00
maksyuki 91eb106f52 feat: switch default core from picorv32 to hazard3 2026-03-11 14:25:47 +08:00
maksyuki 5f279951f6 fix: add missing vss/vdd io for ics55 2026-03-11 12:13:27 +08:00
maksyuki 57307f5ba1 fix: add independent core modified operation 2026-03-11 12:07:49 +08:00
maksyuki 8ed22a67e9 chore: add debug statement for verilator 2026-03-11 11:48:46 +08:00
maksyuki fd025c5a5e chore: add ics55 pdk support 2026-03-11 11:35:02 +08:00
maksyuki 8a87fe0f2a style: update license header date 2026-03-07 15:03:21 +08:00
maksyuki b60bd5eb64 chore: add depth control for git clone command 2026-03-05 14:29:48 +08:00
maksyuki adf18fe453 chore: add extra compile tool for compiling 2026-03-02 15:49:56 +08:00
maksyuki 81113e15f1 chore: add more debug info 2026-03-02 15:31:36 +08:00
maksyuki 61a47dab9a chore: use single core to debug verilator sim process 2026-03-02 15:10:51 +08:00
maksyuki bd82e77432 feat: use extra verilator artifact to replace comp process in aciton file 2026-03-02 15:01:07 +08:00
maksyuki 6157467915 fix: fix the position of yosys version info 2026-03-02 09:41:56 +08:00
maksyuki e9ed686220 chore: add extra debug info for yosys 2026-03-02 09:39:47 +08:00
maksyuki 6d4a715369 feat: add debug info for yosys download 2026-03-02 09:37:54 +08:00
maksyuki 04474ca084 feat: add artifact config page for yosys 2026-03-02 09:31:42 +08:00
maksyuki 987efcf4f2 chore: use default path for yosys plugin loading 2026-03-01 16:06:15 +08:00
maksyuki ac6971e972 fix: add missing gpio define inc 2026-03-01 16:05:17 +08:00