doc: add backend design report with screenshots
This commit is contained in:
223
doc/reports/backend/backend_design_report.tex
Normal file
223
doc/reports/backend/backend_design_report.tex
Normal file
@@ -0,0 +1,223 @@
|
||||
\documentclass[11pt,a4paper,twoside]{article}
|
||||
|
||||
% ─── Packages ────────────────────────────────────────────────
|
||||
\usepackage{ctex}
|
||||
\usepackage[top=2.5cm, bottom=2.5cm, left=2.8cm, right=2.8cm]{geometry}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{float}
|
||||
\usepackage{booktabs}
|
||||
\usepackage{array}
|
||||
\usepackage{amsmath,amssymb}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{caption}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{enumitem}
|
||||
\usepackage[normalem]{ulem}
|
||||
\usepackage{xcolor}
|
||||
|
||||
% ─── Styling ─────────────────────────────────────────────────
|
||||
\raggedbottom
|
||||
\hypersetup{colorlinks=true,linkcolor=black,citecolor=black,urlcolor=blue}
|
||||
\pagestyle{fancy}
|
||||
\fancyhead[LO,RE]{芯片后端设计报告}
|
||||
\fancyhead[RO,LE]{\thepage}
|
||||
\fancyfoot[C]{}
|
||||
\setlength{\parskip}{4pt plus 2pt minus 1pt}
|
||||
\setlength{\parindent}{2em}
|
||||
\setlength{\headheight}{14pt}
|
||||
\setlength{\emergencystretch}{1.5em}
|
||||
|
||||
\title{\textbf{基于龙芯SoC的后量子密码与矩阵运算\\加速系统芯片后端设计}}
|
||||
\author{碳基生物\\[4pt] \small 队伍编号:CICC1008439}
|
||||
\date{}
|
||||
|
||||
\begin{document}
|
||||
|
||||
% ================================================================
|
||||
% 封 面
|
||||
% ================================================================
|
||||
\begin{titlepage}
|
||||
\thispagestyle{empty}
|
||||
\begin{center}
|
||||
|
||||
\vspace*{30pt}
|
||||
|
||||
\includegraphics[width=0.45\textwidth]{logo_cicc.png}
|
||||
|
||||
\vspace{36pt}
|
||||
|
||||
{\fontsize{22pt}{28pt}\selectfont\bfseries 第十届}
|
||||
|
||||
\vspace{4pt}
|
||||
|
||||
{\fontsize{22pt}{28pt}\selectfont\bfseries 全国大学生集成电路创新创业大赛}
|
||||
|
||||
\end{center}
|
||||
|
||||
\vspace{80pt}
|
||||
|
||||
\begin{flushleft}
|
||||
\fontsize{14pt}{22pt}\selectfont
|
||||
报告类型:\uline{\hfill 后端设计实践报告\hfill} \\[18pt]
|
||||
参赛杯赛:\uline{\hfill 龙芯中科杯\hfill} \\[18pt]
|
||||
作品名称:\uline{\hfill 基于龙芯SoC的后量子密码与矩阵运算加速系统芯片后端设计\hfill} \\[18pt]
|
||||
队伍编号:\uline{\hfill CICC1008439\hfill} \\[18pt]
|
||||
团队名称:\uline{\hfill 碳基生物\hfill}
|
||||
\end{flushleft}
|
||||
|
||||
\end{titlepage}
|
||||
|
||||
\maketitle
|
||||
\tableofcontents
|
||||
\newpage
|
||||
|
||||
% ================================================================
|
||||
\section{概述}
|
||||
|
||||
本报告为龙芯中科杯分赛区决赛的后端设计实践报告,基于\emph{《基于龙芯SoC的后量子密码与矩阵运算加速系统设计与验证》}系统设计报告中所描述的SoC顶层设计(逻辑顶层模块为\texttt{mycpu\_top}),完成从RTL代码到GDSII版图的完整物理实现流程。后端设计采用Synopsys Design Compiler(dc\_shell)进行逻辑综合,使用Cadence Innovus完成布局布线和物理验证,以Synopsys Formality(fm\_shell)进行RTL与综合后网表的形式等价验证。
|
||||
|
||||
SoC设计集成LoongArch32r CPU核心(openLA500)以及ML-KEM后量子密码加速器、FFT加速器、矩阵乘法加速器和多通道DMA控制器等自主开发的硬件IP,总计约85,000 LUT和46,000触发器的逻辑规模。后端实现的目标工艺为SMIC 180nm。
|
||||
|
||||
\section{逻辑综合}
|
||||
|
||||
\subsection{综合策略与约束}
|
||||
|
||||
逻辑综合使用Synopsys Design Compiler(dc\_shell)完成,将RTL级Verilog描述转换为工艺库映射后的门级网表。综合脚本统一由\texttt{syn.tcl}组织,流程覆盖读入RTL文件、设置工艺库路径、施加时序与物理约束、执行综合优化与映射、输出网表和时序报告等完整步骤。
|
||||
|
||||
时序约束文件\texttt{mycpu\_soc.sdc}定义了设计的时钟网络、输入输出延迟和负载条件。图\ref{fig:syn_sdc}给出了综合后输出的SDC文件截图,该文件由Genus工具在综合过程中自动生成,包含了时钟定义、输入输出延迟和负载等时序约束信息,验证了综合约束的正确传递。
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.92\textwidth]{syn_sdc.png}
|
||||
\caption{综合输出的 SDC 文件}
|
||||
\label{fig:syn_sdc}
|
||||
\end{figure}
|
||||
|
||||
\subsection{综合结果}
|
||||
|
||||
综合完成后生成的工程目录结构如图\ref{fig:syn_tree}所示。输出物包括映射后的门级网表文件、时序与面积报告、以及综合过程中产生的中间数据。从目录结构可以确认综合约束文件、工艺库映射结果和最终网表文件均已正确生成。
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.92\textwidth]{syn_tree.png}
|
||||
\caption{逻辑综合工程目录结构}
|
||||
\label{fig:syn_tree}
|
||||
\end{figure}
|
||||
|
||||
\section{形式验证}
|
||||
|
||||
形式等价验证使用Synopsys Formality(fm\_shell)工具完成,目的是验证综合后的门级网表在功能上与原始RTL代码完全等价。验证流程包括读入参考设计(RTL)、读入实现设计(综合网表)、设置比较点和运行验证引擎等步骤。
|
||||
|
||||
图\ref{fig:fm_tree}给出了形式验证工程的目录结构,其中包含参考设计与实现设计的装载信息、SVF(综合验证格式)文件以及最终验证报告。图\ref{fig:fm_result}展示了Formality的最终验证结果:全部1,229个比较点均验证通过,确认综合后的门级网表与RTL代码功能等价,综合过程未引入任何功能性偏差。
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.92\textwidth]{fm_tree.png}
|
||||
\caption{形式验证工程目录结构}
|
||||
\label{fig:fm_tree}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.92\textwidth]{fm_verification.png}
|
||||
\caption{形式验证结果——1,229个比较点全部通过}
|
||||
\label{fig:fm_result}
|
||||
\end{figure}
|
||||
|
||||
\section{布局布线}
|
||||
|
||||
布局布线使用Cadence Innovus工具完成,流程涵盖芯片面积规划、标准单元布局、时钟树综合、全局与详细布线、以及寄生参数提取等关键步骤。
|
||||
|
||||
图\ref{fig:pr_ls}和图\ref{fig:pr_output}分别展示了布局布线工程的主目录结构和输出文件列表。最终交付物中包含了版图数据文件(GDSII格式,\texttt{phy\_top.gds.gz})、用于LVS验证的门级网表(\texttt{phy\_top\_lvs.v})以及各类时序和设计规则检查报告。
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.92\textwidth]{pr_ls.png}
|
||||
\caption{布局布线工程目录结构}
|
||||
\label{fig:pr_ls}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.92\textwidth]{pr_output.png}
|
||||
\caption{物理实现输出文件列表}
|
||||
\label{fig:pr_output}
|
||||
\end{figure}
|
||||
|
||||
图\ref{fig:pr_gds}展示了最终芯片版图的GDS视图。版图中可见整体芯片布局、标准单元区域、布线通道以及外围的I/O框架结构。布线层中金属走线清晰可见,表明全局与详细布线均已成功完成。
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.92\textwidth]{pr_gds.png}
|
||||
\caption{最终芯片版图 GDS 视图}
|
||||
\label{fig:pr_gds}
|
||||
\end{figure}
|
||||
|
||||
\section{静态时序分析}
|
||||
|
||||
时序分析是物理实现流程中的关键质量关口。在布局布线完成后,使用Cadence Innovus内建的时序分析引擎对设计的建立时间(setup)和保持时间(hold)进行了全面检查。
|
||||
|
||||
\subsection{建立时间分析}
|
||||
|
||||
图\ref{fig:pr_setup}展示了建立时间分析的汇总结果。报告给出了各时钟域的WNS(最差负余量)、TNS(总负余量)、违例路径数和总路径数等核心指标。建立时间反映了数据路径在时钟有效沿到达之前是否已经稳定,是决定设计最高工作频率的关键约束。
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.92\textwidth]{pr_setup_summary.png}
|
||||
\caption{建立时间(Setup)时序汇总}
|
||||
\label{fig:pr_setup}
|
||||
\end{figure}
|
||||
|
||||
\subsection{保持时间分析}
|
||||
|
||||
图\ref{fig:pr_hold}展示了保持时间分析的汇总结果。保持时间确保数据在时钟有效沿之后能够保持足够长的时间以满足寄存器的保持时间要求。保持时间违例通常通过在数据路径中插入缓冲器来修复,是后端设计中的常规修复步骤。
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.92\textwidth]{pr_hold_summary.png}
|
||||
\caption{保持时间(Hold)时序汇总}
|
||||
\label{fig:pr_hold}
|
||||
\end{figure}
|
||||
|
||||
\section{物理验证}
|
||||
|
||||
物理验证是确保版图符合制造规则的最终检查步骤。本设计在Cadence Innovus中通过内建的\texttt{verify\_drc}命令完成了设计规则检查。
|
||||
|
||||
图\ref{fig:pr_drc}给出了DRC检查的结果。报告显示检查通过,未发现任何DRC违规(Viols = 0),表明版图的金属间距、通孔尺寸、最小宽度等各项物理参数均满足SMIC 180nm工艺的设计规则要求,版图具备可制造性。
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.92\textwidth]{pr_drc.png}
|
||||
\caption{DRC 设计规则检查结果}
|
||||
\label{fig:pr_drc}
|
||||
\end{figure}
|
||||
|
||||
\section{总结}
|
||||
|
||||
本文档记录了基于龙芯SoC的异构加速系统芯片从RTL到GDSII的完整后端设计流程。设计在Synopsys Design Compiler(综合)、Synopsys Formality(形式验证)和Cadence Innovus(布局布线、时序分析、物理验证)工具链上完成了全流程闭环。形式验证确认综合网表与RTL等价(1,229个比较点全部通过),物理验证确认版图满足SMIC 180nm设计规则(DRC零违规),时序分析对三个时钟域分别进行了建立时间和保持时间的全面检查。
|
||||
|
||||
\begin{thebibliography}{10}
|
||||
|
||||
\bibitem{smic180}
|
||||
SMIC Inc.
|
||||
\emph{SMIC 180nm Standard Cell Library Documentation}.
|
||||
2024.
|
||||
|
||||
\bibitem{synopsys_dc}
|
||||
Synopsys Inc.
|
||||
\emph{Design Compiler User Guide}.
|
||||
2023.
|
||||
|
||||
\bibitem{cadence_innovus}
|
||||
Cadence Design Systems Inc.
|
||||
\emph{Innovus Implementation System User Guide}.
|
||||
2023.
|
||||
|
||||
\bibitem{synopsys_fm}
|
||||
Synopsys Inc.
|
||||
\emph{Formality User Guide}.
|
||||
2023.
|
||||
|
||||
\end{thebibliography}
|
||||
|
||||
\end{document}
|
||||
Reference in New Issue
Block a user