Commit Graph
45 Commits
Author SHA1 Message Date
maksyuki 97335b9df1 feat: add RNG support and update related configurations
- Updated Makefile to include a check for the RNG metadata script and added a dependency for it.
- Modified memory_map.json to change the user access level of APB_RNG to 'none'.
- Updated clusterip filelist to include new RNG source files.
- Adjusted generate_soc_topology.py to replace the reserved IRQ with the RNG IRQ.
- Updated soc_topology.json to reflect the new RNG interrupt configuration.
- Added RNG source files to software.mk for compilation.
- Enhanced ip_apb_wrapper.sv to instantiate the RNG core and connect it to the APB interface.
- Updated test_memory_map.py to ensure SOC_ADDR_IS_APB_RNG is not defined.
- Modified test_script_tools.py to ensure dry runs do not write filelists.
- Updated test_soc_topology.py to verify the new RNG IRQ and adjust the user IRQ mask.
2026-08-09 17:17:35 +08:00
maksyuki 4f8d7bc699 feat: add archinfo metadata generation and integration
- Introduced scripts and makefile targets for generating architecture information metadata.
- Updated the filelist generation to include archinfo metadata files.
- Modified software.mk to include archinfo source files and headers.
- Enhanced the ip_apb_wrapper and user_ip_wrapper to integrate archinfo components.
- Updated tests to ensure stability and correct path expansions for generated files.
- Removed unnecessary files from the clusterip filelist.
2026-08-09 15:14:41 +08:00
maksyuki 1b69bffe4e refactor: remove HAVE_DEBUG feature and related code
- Eliminated the HAVE_DEBUG preprocessor directive and all associated code from the RTL and test files.
- Updated the Emulator class to remove JTAG-related debug signals and configurations.
- Adjusted the pin map and JSON configurations to exclude debug-related entries.
- Modified the management core wrapper to only support the HAZARD3 core, removing references to the PICORV32 core.
- Updated tests to reflect the removal of the HAVE_DEBUG feature, ensuring they no longer check for debug-related conditions.
- Cleaned up various scripts and makefiles to remove dependencies on the HAVE_DEBUG flag, streamlining the build process.
2026-08-06 08:52:54 +08:00
maksyuki 1549ebea49 feat(mpw): remove user Hazard3 design 2026-08-04 20:20:23 +08:00
maksyuki 35e855d1e2 feat(mpw): consume native RIBP generator 2026-08-04 18:33:53 +08:00
maksyuki ed19891bf5 feat: add support for ICS55 PDK in various components and tools
- Introduced Verilator and Yosys warning configurations for ICS55.
- Updated RTL filelists to include functional models for ICS55.
- Modified memory modules to use wire instead of logic for clock and reset signals.
- Enhanced Makefile and Iverilog configurations to support ICS55.
- Implemented new simulation cells for ICS55 in the tech library.
- Updated regression scripts and tests to include ICS55 support.
- Added functionality to prepare ICS55 liberty and simulation models.
- Enhanced testbench to validate ICS55 specific components and behaviors.
2026-08-01 11:55:49 +08:00
maksyuki efac07b29c feat: add VCS_USE_LSF option and update related documentation and scripts 2026-07-31 15:42:01 +08:00
maksyuki 7a604ec86b feat: refactor NMI interface and remove unused variables
- Removed CORE and IP variables from common.tcl and synth.tcl scripts.
- Updated yosys.mk to exclude CORE and IP from environment variables.
- Modified bus_fault_tb to enhance NMI interface with management and user NMI signals.
- Added user access denial handling in bus_fault_tb.
- Updated pll_ctrl_tb and sysctrl_fault_tb to reflect changes in NMI interface.
- Adjusted test_gpio_user_mux.py to remove IP_MDD definition.
- Enhanced memory map tests to include user extensions and ensure proper generation.
- Updated test_script_tools.py to reflect changes in core management and user extensions.
- Refined topology tests to ensure user APB target is always added.
- Adjusted tech cell configuration tests to use simplified profile paths.
- Improved user extensions tests for scalar bindings and slot validation.
2026-07-26 09:03:33 +08:00
maksyuki bace16bfeb feat: enhance PDK support and add test coverage
- Updated gen_iverilog_filelist.py to exclude sequential models from the file list for GF180 PDK.
- Introduced black box definitions for GF180 and SKY130 IO cells in their respective .sv files.
- Added simulation models for GF180 IO cells and sequential cells in gf180_seq_sim_cells.v.
- Modified tc_clk.sv to utilize specific clock cells for GF180 and SKY130 PDKs.
- Implemented bi-directional and tri-state pad modules for GF180 and SKY130 PDKs in tc_io.sv.
- Enhanced dependency lock validation to include submodule checks in dependency_lock.py.
- Updated setup_helpers.py to support selective submodule initialization.
- Created a comprehensive testbench for PDK cells in tc_pdk_cells_tb.sv.
- Added tests for dependency helper functions and tech cell configurations to ensure proper error handling.
2026-07-24 15:09:02 +08:00
maksyuki 7d90d2ffb4 feat: enhance SoC topology and user extensions with APB targets and validation scripts
- Added APB target definitions in soc_topology.json for various peripherals.
- Introduced user_extensions.json to define user core and IP targets.
- Updated generate_filelist.py to include SVA paths.
- Refactored ip_apb_wrapper.sv to utilize generated APB interfaces and bridges.
- Simplified user_core_top.sv and user_ip_top.sv by including generated bindings.
- Implemented check_clock_reset_domains.py to validate clock/reset domains and CDC crossings.
- Updated regress.py to include SVA support in simulation commands.
- Added tests for clock/reset domain validation and user extensions generation.
- Enhanced test coverage for topology generation and APB target ownership validation.
2026-07-23 16:42:25 +08:00
maksyuki d886cd992c feat: refactor SoC topology and NMI integration
- Updated the  file to improve code readability and maintainability by removing commented-out code and adding generated GPIO alternate-function wiring.
- Modified  to streamline simulation command configurations and removed unnecessary variables.
- Introduced a new testbench  to validate NMI routing functionality within the SoC topology.
- Added comprehensive tests in  to ensure the correctness of generated bindings and validate topology constraints.
- Adjusted  to reflect changes in regression command imports and ensure uniform timeout settings for Verilator simulations.
2026-07-23 12:07:45 +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 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 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 c749a1d3c2 feat: change folder name 'makefile' to 'mk' to support win11 NTFS 2026-03-23 13:05:10 +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 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 fa9cba0ae1 fix: fix the static tRFC value in auto refresh phase 2026-01-24 12:48:48 +08:00
maksyuki 1f52680159 feat: add hazard3 to the host core list 2026-01-06 10:37:29 +08:00
maksyuki b6aafb905e feat: add user design 4 and 5, modify core info print func in firmware 2025-12-29 16:55:15 +08:00
maksyuki ddd54187a0 chore: mv common rtl flist config into home folder of mini project 2025-12-21 16:44:40 +08:00
maksyuki 25d77b42b6 feat: update test support for verilator 2025-12-17 20:27:26 +08:00
maksyuki 4c83b11f12 feat: add init verilator simu support 2025-12-17 10:49:37 +08:00
maksyuki 81be5257f0 feat: add src file into verilator comp 2025-12-15 10:50:47 +08:00
maksyuki 9826df318f chore: mv vcs system cmd into vcs file 2025-12-10 18:47:31 +08:00
maksyuki 5a360bd7c8 chore: remove unused 3rd-party core include path 2025-11-17 16:52:27 +08:00
maksyuki db6f464f86 chore: reuse the netlist to the rtl filelist 2025-05-06 09:55:08 +08:00
maksyuki 98ae91f03d chore: use filelist to specific include path 2025-04-21 09:41:25 +08:00
maksyuki e3d0f73f38 chore: modify software target path include 2025-04-19 13:43:29 +08:00
maksyuki cc04232a18 chore: add hier makefile 2025-04-18 21:36:39 +08:00
maksyuki 9be783b424 feat: add hier makfile files 2025-04-18 19:41:52 +08:00
maksyuki cc9734bbe5 chore: modify makefile target define 2025-04-15 17:15:46 +08:00
maksyuki c3c67058a1 feat: add sram func marco define 2025-04-15 10:02:44 +08:00
maksyuki 5262953c2d chore: add pdk control marcos to hard marcos 2025-04-14 17:02:10 +08:00
maksyuki e6a2a533bd chore: mv params to the top makefile 2025-04-14 11:21:57 +08:00
maksyuki 54ae4cf833 chore: update the filelist and comp script 2025-03-17 16:12:18 +08:00
maksyuki bd55a890a6 chore: add specific wave target 2025-03-16 09:59:28 +08:00
maksyuki 5aec37d739 fix: fix some error paths 2025-03-15 22:49:02 +08:00
maksyuki 064d402888 chore: put all code files into mini repo 2025-03-15 12:39:57 +08:00