This repository has been archived on 2026-08-21. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ciciec2026/doc/reports/system/modules/README.md

3.9 KiB
Raw Blame History

自研模块技术说明索引

本目录记录区域赛仓库中由项目组设计、修改或完成系统级集成的模块。技术说明以当前 main 分支 RTL 和软件源码为依据,服务于系统设计报告的后续重写。文档中的“已实现” 表示源码中存在相应数据通路或控制逻辑;“已验证”仅指当前 evidence/ 中能够直接支持 的结论,两者不混用。

OpenLA500 处理器、UART、DVI、基础 SRAM 控制器以及赛事提供的 SoC 框架不作为自研 IP 列入。项目组对这些模块的地址连接、时钟连接和中断集成记录在 SoC 集成说明中,但不把 其内部实现归入项目贡献。

文档 主要 RTL 或软件 技术边界
时钟域、复位与 CDC clk_pll、rst_sync、Axi_CDC、soc.xdc 三时钟域归属、复位链、跨域协议和约束模型
SoC 集成与时钟复位 rtl/soc_top.v、rst_sync.v 地址空间、主从互连、时钟域、复位和中断集成
通用 DMA 子系统 rtl/ip/cdma/snix_*.sv 四通道 DMA、AXI 搬运、本地 endpoint 和仲裁
矩阵批处理序列器 cdma_matmul_bridge.sv 5000 组任务调度、双 Bank 流水和可选结果写回
矩阵乘法加速器 matmul_axi_slave.v 4x4 无符号矩阵乘法、AXI/endpoint、CRC32
FFT 加速器 rtl/ip/fft/*.v 1024 点定点 FFT、SDF 数据通路和 AXI 存储窗口
ML-KEM 总控与算法数据通路 mlkem_top.v 三等级、三操作、集中式 FSM 和片上存储组织
ML-KEM AXI 前端与 CDC fft_mlkem_axi_slave.v、mlkem_axi_slave.v 共享地址窗口、批量数据窗口和跨时钟域握手
Keccak 与采样模块 sha3/、sample_ntt/、sample_cbd/ SHA3/SHAKE、拒绝采样和 CBD 采样
多项式运算模块 ntt/、poly_mul/、comp_decomp/ NTT、基乘、模约简、压缩与解压缩
软件运行时与测试程序 sdk/software/examples/{asm,fft,fft_dma,mlkem_test} 寄存器驱动、DMA 调度、参考模型和结果判定

文档中的地址均为物理地址,除非明确写为 CPU 未缓存虚拟地址。AXI 信号名沿用 RTL, 寄存器偏移以字节为单位。频率和资源数据属于当前 regional 仓库,不包含 test_1 中的 后续矩阵乘法优化。

RTL 模块覆盖说明

当前 SoC 有效层次中的计算和搬运模块均已纳入上述文档。DMA 说明覆盖 snix_axil_cdma_mux、snix_axi_mm2mm、snix_axis_fifo 和 snix_sync_fifo;矩阵说明 覆盖 matmul_axi_slave、pipelined_mult_32x32 和 cdma_matmul_bridge;FFT 说明覆盖 fft_controller、FFT、SdfUnit、Butterfly、Multiply、DelayBuffer 和 Twiddle。

ML-KEM 说明覆盖当前集成层次中的 fft_mlkem_axi_slave、mlkem_axi_slave、 mlkem_top、keccak_core、keccak_round、sha3_top_shared、 sample_ntt_sync_shared、sample_cbd_sync_shared、ntt_core、coeff_bram_4way、 butterfly_unit_pipe、barrett_mul_pipe、poly_mul_sync、basecase_mul_pipe、 poly_arith_sync、comp_decomp_sync、zeta_rom、poly_mul_zeta_rom、pipeline_reg、 skid_buffer、sd_bram 和 s_bram。

仓库还保留 snix_axi_cdma、snix_axi_cdma_csr、snix_async_fifo、 snix_register_slice,以及非共享版 sha3_top、sample_ntt_sync、sample_cbd_sync、 旧版 ntt_sync、butterfly_unit、barrett_mul 和 basecase_mul。这些文件用于早期方案、 叶子测试或兼容参考,当前 soc_top/mlkem_top 未实例化,因而不作为独立系统模块另写 性能结论。若后续重新接入,应先更新本索引及对应技术说明。