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/system_design_report.tex

459 lines
21 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
\documentclass[11pt,a4paper,twoside]{ctexart}
\usepackage[top=2.45cm,bottom=2.45cm,left=2.65cm,right=2.65cm]{geometry}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{array}
\usepackage{amsmath,amssymb}
\usepackage{xcolor}
\usepackage{enumitem}
\usepackage{fancyhdr}
\usepackage{hyperref}
\usepackage{caption}
\usepackage{placeins}
\usepackage{float}
\usepackage{listings}
\usepackage[normalem]{ulem}
\definecolor{accent}{HTML}{1F4E79}
\definecolor{lightblue}{HTML}{EAF2F8}
\definecolor{lightgray}{HTML}{F3F4F6}
\hypersetup{colorlinks=true,linkcolor=accent,urlcolor=accent,citecolor=accent}
\captionsetup{font=small,labelfont=bf,skip=5pt}
\setlength{\parindent}{2em}
\setlength{\parskip}{3pt plus 1pt minus 1pt}
\setlength{\emergencystretch}{2em}
\setlength{\textfloatsep}{12pt plus 3pt minus 2pt}
\setlength{\intextsep}{10pt plus 2pt minus 2pt}
\renewcommand{\arraystretch}{1.18}
\setlist[itemize]{leftmargin=2em,itemsep=2pt,topsep=3pt}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LO,RE]{龙芯 SoC 异构加速系统设计报告}
\fancyhead[RO,LE]{\thepage}
\setlength{\headheight}{14pt}
\lstset{basicstyle=\ttfamily\small,breaklines=true,frame=single,backgroundcolor=\color{lightgray},numbers=none}
\newcolumntype{Y}{>{\raggedright\arraybackslash}X}
\newcommand{\code}[1]{\texttt{#1}}
\newcommand{\pending}{\textcolor{red!70!black}{待当前版本复测}}
\input{report_metrics.tex}
\begin{document}
\begin{titlepage}
\thispagestyle{empty}
\begin{center}
\vspace*{20pt}
\includegraphics[width=0.42\textwidth]{logo_cicc.png}
\vspace{28pt}
{\fontsize{20pt}{28pt}\selectfont\bfseries 第十届全国大学生集成电路创新创业大赛\par}
\vspace{54pt}
{\fontsize{25pt}{34pt}\selectfont\bfseries 基于龙芯 SoC 的后量子密码与矩阵运算加速系统\par}
\vspace{16pt}
{\fontsize{17pt}{24pt}\selectfont 系统设计与验证报告\par}
\end{center}
\vfill
\noindent\begin{tabularx}{\textwidth}{>{\bfseries}p{3.2cm}X}
参赛杯赛 & 龙芯中科杯 \\
队伍编号 & CICC1008439 \\
团队名称 & 碳基生物 \\
目标器件 & Xilinx Artix-7 XC7A200T-1 \\
证据版本 & \EvidenceRevision \\
报告日期 & \EvidenceDate \\
\end{tabularx}
\vspace{22pt}
\end{titlepage}
\pagenumbering{Roman}
\section*{摘要}
\addcontentsline{toc}{section}{摘要}
本项目在赛事提供的 LoongArch32r SoC 框架上集成 ML-KEM、1024 点 FFT 和
4$\times$4 矩阵乘法三类专用加速器,并以四通道 DMA 和矩阵乘法批处理序列器降低
CPU 搬运与调度开销。系统采用 CPU、系统总线和 ML-KEM 三时钟域架构;跨域控制、
状态和数据通过显式 CDC 结构传递。矩阵乘法器使用四路 LUT 乘法器,每拍并行产生
一个输出元素点积所需的四项乘积,并用双 Bank、流水 CRC32 与本地 DMA endpoint
支撑 5000 组连续任务。报告重点说明设计边界、关键决策及可复现证据,不把参考 SoC
基础设施误列为本项目贡献。
现有证据显示,历史实现的总体 WNS 为 +\OverallWNS\,ns,资源占用为
\SliceLUTs{} LUT、\SliceFFs{} FF、\BramTiles{} BRAM Tile 和 \DspCount{} DSP;
板级 5000 组矩阵乘法耗时为 \MatmulBoardMs\,ms,CRC 校验通过。由于当前分支经历
PLL 与实现报告合并,所有 PPA 和板级性能必须按附带清单重新生成后再作为最终结论。
\noindent\textbf{关键词:} LoongArch32r;ML-KEM;DMA;矩阵乘法;FFT;跨时钟域;FPGA
\section*{主要贡献}
\addcontentsline{toc}{section}{主要贡献}
\begin{itemize}
\item 在固定 AXI 端口预算内完成三类加速器集成,并用二级地址译码共享 FFT/ML-KEM 窗口;
\item 构建 mem2mem、mem2ep、ep2mem 三类 DMA 路径及矩阵乘法硬件批处理序列器;
\item 将 ML-KEM 计算域提升至独立时钟,并为命令、数据、状态和复位建立明确 CDC 边界;
\item 建立从 RTL 静态检查、SoC 仿真、布局布线到板级评测的版本化证据链。
\end{itemize}
\tableofcontents
\clearpage
\pagenumbering{arabic}
\section{需求、约束与设计边界}
\subsection{需求分解}
表~\ref{tab:req}把竞赛目标转化为可验证的工程要求。每项要求都绑定明确证据,避免以
“能够综合”替代功能、时序或板级行为验证。
\begin{table}[H]
\centering
\small
\caption{系统需求与验收证据}
\label{tab:req}
\begin{tabularx}{\textwidth}{p{1.2cm}Y Y p{2.1cm}}
\toprule
编号 & 要求 & 验收证据 & 当前状态 \\
\midrule
R1 & 4$\times$4 无符号矩阵乘法,5000 组连续输入,结果 CRC32 正确 & 官方板级评测日志:CRC 匹配且收到 \code{MATMUL\_DONE} & 已有基线,待复测 \\
R2 & 复位释放前不得产生 UART、DMA 或加速器事务 & ILA/测试平台断言与板级观察 & \pending \\
R3 & 矩阵乘法路径不使用 DSP48E1 & 布局布线后 utilization 与自动 DSP 检查 & 已有基线,待复测 \\
R4 & ML-KEM-512/768/1024 的 KeyGen、Encaps、Decaps 正确 & 3 个固定 KAT 向量,SW/CPU/DMA 三路径各 100 次 & 已有基线,待复测 \\
R5 & FFT CPU 与 DMA 路径结果和软件参考一致 & 1024 点逐点最大误差及端到端耗时 & 需补全最大误差日志 \\
R6 & 所有同步时钟域 setup/hold 收敛,CDC 结构可审计 & timing、clock interaction、CDC、DRC 报告 & 已有基线,待复测 \\
\bottomrule
\end{tabularx}
\end{table}
\subsection{软硬件边界}
赛事框架提供 CPU、基础存储控制器、UART、DVI、confreg 和 AXI 基础互连。本项目的
主要工作是加速器 RTL、DMA 数据路径、批处理控制、共享地址窗口、CDC 集成以及配套
软件。CPU 只负责配置、启动、完成检测和结果判定;NTT、Keccak、多项式乘法、FFT
蝶形和矩阵乘积累加均在硬件内部执行。
\begin{figure}[tbp]
\centering
\includegraphics[width=\textwidth,height=0.53\textheight,keepaspectratio]{figures/system_boundary.pdf}
\caption{系统组成、贡献边界与主要数据通路}
\label{fig:boundary}
\end{figure}
\FloatBarrier
\section{系统架构}
\subsection{互连与地址空间}
如图~\ref{fig:boundary},CPU 和 DMA 分别作为 AXI Master 0/1 接入 Crossbar。DMA
通过 AXI 访问存储器,同时通过本地 endpoint 直接访问矩阵乘法双 Bank,避免把内部
缓冲搬运再次送入 Crossbar。关键地址窗口见表~\ref{tab:addr};完整寄存器定义以 RTL
和 BSP 头文件为准。
\begin{table}[tbp]
\centering
\footnotesize
\caption{关键物理地址窗口}
\label{tab:addr}
\begin{tabularx}{\textwidth}{p{4.6cm}p{3.2cm}Y}
\toprule
物理地址 & 模块 & 说明 \\
\midrule
\code{0x1C00\_0000--0x1C7F\_FFFF} & BaseRAM/ExtRAM & 程序、源数据和结果存储 \\
\code{0x1F00\_0000} & UART 16550 & 串口输出 \\
\code{0x1F20\_0000} & confreg & GPIO、定时器与中断 \\
\code{0x1F30\_0000} & DMA / 序列器 & DMA 通道位于低 0x200 B;matmul 序列器从 0x200 开始 \\
\code{0x1F40\_0000} & ML-KEM / FFT & 由地址位二次译码的共享 Slave 6 窗口 \\
\code{0x1F50\_0000} & matmul & 控制、CRC 和双 Bank 数据窗口 \\
\bottomrule
\end{tabularx}
\end{table}
\subsection{时钟、复位与 CDC}
系统由 50\,MHz 输入时钟经 PLL 产生三个同步逻辑域:CPU 域、系统总线域和 ML-KEM
计算域,拓扑见图~\ref{fig:cdc}。CPU--SYS 之间跨越完整 AXI 通道;SYS--ML-KEM
之间跨越命令、窗口数据、完成状态和中断。设计原则是:多位数据只随握手或稳定窗口
跨域,单比特状态经过同步器,脉冲采用保持/应答结构,复位采用异步置位、同步释放。
复位约束比普通功能复位更严格:PLL 锁定且各域同步器完成释放前,AXI valid、DMA
请求、加速器 start 和 UART 写使能必须保持为零。这一约束需要通过专门的复位前监控
测试确认,不能由“复位后程序正常运行”间接推出。
\begin{figure}[tbp]
\centering
\includegraphics[width=\textwidth,height=0.43\textheight,keepaspectratio]{figures/clock_cdc.pdf}
\caption{时钟、复位与跨时钟域边界}
\label{fig:cdc}
\end{figure}
\subsection{中断与完成通知}
DMA 完成、matmul 完成和 ML-KEM 完成信号经同步后接入 CPU 中断系统。当前性能程序在
短热路径中采用状态轮询,减少中断现场开销;功能回归仍需验证 done 的置位、W1C 清除、
连续任务不丢失以及错误状态可恢复。
\FloatBarrier
\section{关键设计决策}
\subsection{DMA 本地 endpoint 与批处理序列器}
通用 DMA 提供 4 个独立通道,每通道包含源地址、目的地址、长度、模式和 endpoint
配置。对普通内存或 FFT/ML-KEM 窗口使用 AXI burst;对 matmul 双 Bank 使用本地
valid/ready endpoint。后者减少地址译码和总线仲裁,但必须单独验证 backpressure、
Bank 选择和非满 burst 长度。
矩阵乘法序列器把“读 128 B 输入、启动计算、等待完成、写回 192 B 结果、递增组号”
固化为硬件循环。CPU 仅配置源/目的基址、组数和 stride。图~\ref{fig:matmulflow}
描述单组事务;双 Bank 允许搬运与计算在相邻组之间重叠。当前竞赛快速路径可关闭结果
写回,改由硬件流水 CRC 对整批结果判定,从而消除不参与最终评分的存储流量。
\begin{figure}[tbp]
\centering
\includegraphics[width=\textwidth,height=0.34\textheight,keepaspectratio]{figures/matmul_pipeline.pdf}
\caption{矩阵乘法批处理事务与 CRC 路径}
\label{fig:matmulflow}
\end{figure}
\subsection{共享 FFT/ML-KEM AXI 窗口}
Crossbar Slave 6 内部按地址高位将事务分发到 ML-KEM 或 FFT。该方案节省一个顶层
从端口,但会把二级译码放入共同路径。读写响应必须与请求目标绑定,不能在 AW/W
独立握手时重新按瞬时地址选择从机。验证重点包括 AW/W 不同拍到达、读写并发、从机
反压及非法空洞地址响应。
\subsection{ML-KEM 独立计算时钟}
ML-KEM 的关键通路与系统 AXI 通路性质不同。将计算核心放入独立的
\MlkemFreqMHz\,MHz 时钟域,可在不提高 CPU 和 SRAM 压力的情况下缩短算法计算段。
代价是增加 CDC 延迟与验证复杂度,因此性能比较必须报告端到端 CPU 周期,而不是仅
报告核心 busy 周期;CDC 报告也必须作为实现准入条件。
\FloatBarrier
\section{加速器实现}
\subsection{矩阵乘法与流水 CRC}
加速器支持最大 4$\times$4 的 32-bit 无符号矩阵,66-bit 结果元素按三个 32-bit
字输出。四个 32$\times$32-bit LUT 乘法器在同一拍分别计算一个输出元素点积中的
四项乘积,之后进入累加和写回流水;它们并非分别负责四行。A/B/C 缓冲采用双 Bank,
控制器通过 Bank 所有权避免 DMA 与计算阵列同时写同一缓冲。
CRC32 与结果产生流水同步更新。对 5000 组评测,软件只输出起止标记和最终 CRC,
减少 UART 对计时窗口的扰动。硬件 \code{dma\_cycles} 记录批处理内部周期,板级主机
计时则覆盖复位释放后协议观察与外部通信,两者用途不同,不应混为一个指标。
\subsection{1024 点 FFT}
FFT 数据通路由 5 个 Radix-$2^2$ SDF 单元串联,每个单元包含两个蝶形阶段,而不是
“五级普通 radix-2 FFT”。延迟反馈结构以 BRAM/移位存储保存历史样本,旋转因子由
ROM 提供。输入输出窗口按 32-bit AXI word 编址,低 16 bit 承载有符号定点样本。
CPU 路径用于接口诊断,DMA 路径反映系统实际吞吐。
\subsection{ML-KEM}
ML-KEM 核支持 FIPS 203 的三个参数集及 KeyGen、Encaps、Decaps。主要计算模块包括
Keccak/SHA3、采样、NTT/INTT、多项式乘法、压缩/解压和片上存储。AXI 包装器提供
控制寄存器与 EK、DK、CT 数据窗口;DMA 路径批量搬运密钥和密文,CPU 路径保留为
可观测的接口基线。
\section{验证策略与判定标准}
\begin{figure}[tbp]
\centering
\includegraphics[width=\textwidth,height=0.31\textheight,keepaspectratio]{figures/verification_flow.pdf}
\caption{从 RTL 到板级结果的分层证据链}
\label{fig:verifyflow}
\end{figure}
\subsection{验证层次}
验证按图~\ref{fig:verifyflow}推进。静态检查发现语法、位宽和不可达集成;模块级仿真
覆盖握手和边界;SoC 仿真覆盖 CPU、缓存、AXI 和软件驱动;实现报告检查时序、CDC、
DRC、DSP 与资源;板级测试确认真实 PLL、SRAM、串口和复位行为。任何一层通过都不能
替代后一层。
\begin{table}[tbp]
\centering
\small
\caption{必须重跑的验证矩阵}
\label{tab:matrix}
\begin{tabularx}{\textwidth}{p{2.35cm}Y Y}
\toprule
测试 & 判定标准 & 证据文件 \\
\midrule
Verilator lint & 无 Error;集成顶层可达性检查通过 & \path{evidence/lint.log} \\
指定软件构建 & asm、fft、fft\_dma、mlkem\_test、mlkem\_hello 均成功链接 & \path{evidence/build/*.log} \\
FFT CPU 路径 & 1024 点完成;记录端到端 ns 与逐点最大误差 & \path{evidence/soc/fft.log} \\
FFT DMA 路径 & 四次搬运无死锁;最大误差和性能均输出 & \path{evidence/soc/fft_dma.log} \\
ML-KEM 三路径 & k=2/3/4、SW/CPU/DMA 各 100 次,FAILS=0 & \path{evidence/soc/mlkem_test.log} \\
ML-KEM 示例 & 共享密钥一致且明文恢复,输出 RESULT=PASS & \path{evidence/soc/mlkem_hello.log} \\
完整实现 & setup/hold WNS$\ge0$,unconstrained=0,DSP=0,DRC 无关键错误 & \path{evidence/vivado/*.rpt} \\
CDC 审计 & 预期跨域结构已约束;无未知组合跨域或未同步脉冲 & \path{evidence/vivado/cdc.rpt} \\
matmul 官方板测 & 5000 组 CRC 匹配、收到 DONE、记录耗时和分数 & \path{evidence/board/matmul_official.log} \\
复位前零操作 & 复位释放前 UART/AXI/DMA/start 均无事务 & ILA 截图或断言日志 \\
\bottomrule
\end{tabularx}
\end{table}
\subsection{ML-KEM 样本数量解释}
当前日志的 \code{STATIC\_KAT\_COUNT\_0} 表示每个参数集使用一个固定向量,因此是
3 个不同 KAT 向量。每个向量在 SW、CPU、DMA 三条路径各运行 100 次,总计
$3\times3\times100=900$ 次执行;不能表述为“360 个不同 KAT”。现有日志没有注入
篡改密文,故本报告不宣称已覆盖隐式拒绝。若要加入该结论,应新增负向用例并保存
独立证据。
\FloatBarrier
\section{已有结果与复测状态}
\noindent\colorbox{lightblue}{\parbox{0.96\textwidth}{
\textbf{证据状态:}以下数值由脚本从当前仓库可用日志/报告提取,证据版本为
\EvidenceRevision。PLL 与实现产物合并后必须执行完整复测;在新 \code{evidence/}
生成前,这些数字只作为历史基线,不作为最终提交结论。}}
\subsection{矩阵乘法板级结果}
现有官方评测基线见表~\ref{tab:matresult}。外部耗时包含评测端从观察到
\code{MATMUL\_START} 至收到 \code{MATMUL\_DONE} 的时间;内部 \code{dma\_cycles}
应在复测日志中同时记录,用于区分硬件批处理时间与 UART/软件尾部时间。
\begin{table}[H]
\centering
\caption{5000 组矩阵乘法板级基线}
\label{tab:matresult}
\begin{tabular}{lc}
\toprule
指标 & 结果 \\
\midrule
组数 & \MatmulGroups \\
外部计时 & \MatmulBoardMs\,ms \\
CRC32 & \MatmulCrcStatus \\
评分 & \MatmulScore \\
满分目标 & 4.9\,ms \\
\bottomrule
\end{tabular}
\end{table}
\subsection{ML-KEM 性能与正确性}
表~\ref{tab:mlkem}给出一次 KeyGen+Encaps+Decaps 往返的平均 CPU 周期。每个单元格
对应 100 次执行且现有日志 FAILS=0。DMA 相比寄存器路径的收益来自批量窗口搬运;
它不表示密码核心本身获得相同比例的加速。
\begin{table}[H]
\centering
\small
\caption{ML-KEM 三路径平均周期(历史基线)}
\label{tab:mlkem}
\begin{tabular}{lrrr}
\toprule
参数集 & 软件参考 & CPU 寄存器 & DMA 窗口 \\
\midrule
ML-KEM-512 & \MlkemFiveTwelveSW & \MlkemFiveTwelveCPU & \MlkemFiveTwelveDMA \\
ML-KEM-768 & \MlkemSevenSixtyEightSW & \MlkemSevenSixtyEightCPU & \MlkemSevenSixtyEightDMA \\
ML-KEM-1024 & \MlkemTenTwentyFourSW & \MlkemTenTwentyFourCPU & \MlkemTenTwentyFourDMA \\
\bottomrule
\end{tabular}
\end{table}
\subsection{FFT 结果}
现有 CPU 与 DMA 日志使用相同 1024 点多音输入。表~\ref{tab:fft}中的最大误差尚未由
旧日志完整输出;当前测试程序已增加全 1024 点统计,复测后指标脚本会自动更新。
\begin{table}[H]
\centering
\small
\caption{FFT 端到端性能(历史基线)}
\label{tab:fft}
\begin{tabularx}{\textwidth}{lrrY}
\toprule
路径 & 硬件端到端时间 & 相对软件加速比 & 正确性 \\
\midrule
CPU 寄存器 & \FftCpuNs\,ns & \FftCpuSpeedup$\times$ & 已显示能量 bin 一致;需重跑全量误差 \\
DMA & \FftDmaNs\,ns & \FftDmaSpeedup$\times$ & \FftMaxError \\
软件参考 & \FftSoftwareNs\,ns & 1$\times$ & 浮点参考 \\
\bottomrule
\end{tabularx}
\end{table}
\subsection{时序、资源与功耗}
当前可用布局布线报告的汇总见表~\ref{tab:ppa}。三个域的 setup WNS 均为正;最终
复测还必须检查 hold、未约束路径、clock interaction 和 CDC,而不能只引用一行 WNS。
\begin{table}[H]
\centering
\small
\caption{实现结果基线}
\label{tab:ppa}
\begin{tabular}{lrr}
\toprule
类别 & 指标 & 当前可用值 \\
\midrule
时序 & cpu\_clk / WNS & \CpuFreqMHz\,MHz / +\CpuWNS\,ns \\
时序 & sys\_clk / WNS & \SysFreqMHz\,MHz / +\SysWNS\,ns \\
时序 & mlkem\_clk / WNS & \MlkemFreqMHz\,MHz / +\MlkemWNS\,ns \\
资源 & Slice LUT & \SliceLUTs{}(\SliceLUTPct) \\
资源 & Slice Register & \SliceFFs{}(\SliceFFPct) \\
资源 & BRAM Tile & \BramTiles{}(\BramPct) \\
资源 & DSP48E1 & \DspCount \\
功耗 & 动态 / 静态 / 总计 & \DynamicPower{} / \StaticPower{} / \TotalPower{} W \\
\bottomrule
\end{tabular}
\end{table}
Vivado 功耗置信度为 \PowerConfidence。由于没有回标 SAIF/VCD 活动率,总功耗只能作为
向量无关估算,不宜用于细粒度模块功耗排名。若评审要求功耗结论,应以代表性 ML-KEM
和 matmul 负载生成活动文件后重新运行 \code{report\_power}。
\section{局限、风险与下一步}
\begin{itemize}
\item 当前 PPA 与板级日志不是 PLL/CDC 合并后的同一提交证据,必须按清单重跑并记录 commit;
\item 通用 SoC 仿真 testbench 以程序返回地址结束,尚未对复位前零事务写成自动断言;
\item ML-KEM 固定向量覆盖正确性和重复稳定性,但不等价于大量独立随机 KAT,也未覆盖隐式拒绝;
\item FFT 旧日志仅打印有能量的 bin,当前程序虽已统计全量最大误差,仍需生成新日志;
\item 功耗报告没有活动率回标,置信度低;模块级功耗百分比不作为本报告结论;
\item 层次化资源表容易因层次重叠而重复计数,因此正文只报告顶层非重叠总量。若需模块占比,必须用同一层次深度并增加“其他/未归属”项。
\end{itemize}
\section{结论}
本项目的核心价值不只是增加三个 AXI 外设,而是形成了可持续工作的异构数据路径:
CPU 负责控制,DMA 负责搬运,序列器负责批处理,加速器负责计算,CDC 负责隔离不同
性能目标的时钟域。共享窗口和本地 endpoint 在端口与延迟约束之间取得平衡;双 Bank
和流水 CRC 则面向 5000 组矩阵任务消除了不必要的软件与写回开销。
已有基线证明方案具备功能与性能潜力,但最终报告应只引用同一 commit 下重新生成的
功能、时序、资源、CDC、功耗和板级证据。附带脚本已将这一过程标准化:执行完整回归、
保存日志并运行 \code{make metrics all} 后,正文表格和 PDF 会随证据同步更新。
\appendix
\section{关键寄存器摘要}
\begin{table}[H]
\centering
\small
\caption{DMA 与 matmul 序列器寄存器}
\begin{tabularx}{\textwidth}{p{2.4cm}p{3cm}Y}
\toprule
偏移 & 名称 & 含义 \\
\midrule
\code{n*0x40+0x00} & SRC\_ADDR & DMA 通道 $n$ 源物理地址 \\
\code{n*0x40+0x04} & DST\_ADDR & DMA 通道 $n$ 目的物理地址 \\
\code{n*0x40+0x08} & LENGTH & 字节数 \\
\code{n*0x40+0x10} & CTRL & start、AxSIZE、AxLEN \\
\code{n*0x40+0x14} & STATUS & busy、done(W1C) \\
\code{n*0x40+0x18} & MODE & mem2mem / mem2ep / ep2mem \\
\code{0x200} & SEQ\_CTRL & 批处理 start \\
\code{0x204} & SEQ\_STATUS & busy、done(W1C) \\
\code{0x208--0x21C} & SEQ 参数 & 源/目的基址、组数、matmul 基址、stride \\
\bottomrule
\end{tabularx}
\end{table}
\section{复现入口}
详细顺序、预期输出和文件放置方式见同目录
\code{REPORT\_RERUN\_CHECKLIST.md}。常用入口如下:
\begin{lstlisting}[language=bash]
cd doc/reports/system
./tools/run_report_tests.sh lint
./tools/run_report_tests.sh soc
./tools/run_report_tests.sh implement
./tools/run_report_tests.sh refresh
\end{lstlisting}
\begin{thebibliography}{9}
\bibitem{fips203} National Institute of Standards and Technology,
\emph{FIPS 203: Module-Lattice-Based Key-Encapsulation Mechanism Standard}, 2024.
\bibitem{loongson} 龙芯中科技术有限公司,\emph{龙芯 SoC 实验平台开发手册},2024。
\bibitem{xilinxcdc} AMD Xilinx, \emph{UG906: Vivado Design Analysis and Closure Techniques}.
\bibitem{sdf} S. He and M. Torkelson, ``Designing pipeline FFT processor for OFDM,''
URSI International Symposium on Signals, Systems, and Electronics, 1998.
\end{thebibliography}
\end{document}