Skip to content

Commit c3ad6a6

Browse files
committed
Initial commit
0 parents  commit c3ad6a6

25 files changed

+956
-0
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Auto detect text files and perform LF normalization
2+
* text=auto

.gitignore

Lines changed: 273 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,273 @@
1+
## Core latex/pdflatex auxiliary files:
2+
*.aux
3+
*.lof
4+
*.log
5+
*.lot
6+
*.fls
7+
*.out
8+
*.toc
9+
*.fmt
10+
*.fot
11+
*.cb
12+
*.cb2
13+
.*.lb
14+
15+
## Intermediate documents:
16+
*.dvi
17+
*.xdv
18+
*-converted-to.*
19+
# these rules might exclude image files for figures etc.
20+
# *.ps
21+
# *.eps
22+
# *.pdf
23+
24+
## Generated if empty string is given at "Please type another file name for output:"
25+
.pdf
26+
27+
## Bibliography auxiliary files (bibtex/biblatex/biber):
28+
*.bbl
29+
*.bcf
30+
*.blg
31+
*-blx.aux
32+
*-blx.bib
33+
*.run.xml
34+
35+
## Build tool auxiliary files:
36+
*.fdb_latexmk
37+
*.synctex
38+
*.synctex(busy)
39+
*.synctex.gz
40+
*.synctex.gz(busy)
41+
*.pdfsync
42+
43+
## Build tool directories for auxiliary files
44+
# latexrun
45+
latex.out/
46+
47+
## Auxiliary and intermediate files from other packages:
48+
# algorithms
49+
*.alg
50+
*.loa
51+
52+
# achemso
53+
acs-*.bib
54+
55+
# amsthm
56+
*.thm
57+
58+
# beamer
59+
*.nav
60+
*.pre
61+
*.snm
62+
*.vrb
63+
64+
# changes
65+
*.soc
66+
67+
# comment
68+
*.cut
69+
70+
# cprotect
71+
*.cpt
72+
73+
# elsarticle (documentclass of Elsevier journals)
74+
*.spl
75+
76+
# endnotes
77+
*.ent
78+
79+
# fixme
80+
*.lox
81+
82+
# feynmf/feynmp
83+
*.mf
84+
*.mp
85+
*.t[1-9]
86+
*.t[1-9][0-9]
87+
*.tfm
88+
89+
#(r)(e)ledmac/(r)(e)ledpar
90+
*.end
91+
*.?end
92+
*.[1-9]
93+
*.[1-9][0-9]
94+
*.[1-9][0-9][0-9]
95+
*.[1-9]R
96+
*.[1-9][0-9]R
97+
*.[1-9][0-9][0-9]R
98+
*.eledsec[1-9]
99+
*.eledsec[1-9]R
100+
*.eledsec[1-9][0-9]
101+
*.eledsec[1-9][0-9]R
102+
*.eledsec[1-9][0-9][0-9]
103+
*.eledsec[1-9][0-9][0-9]R
104+
105+
# glossaries
106+
*.acn
107+
*.acr
108+
*.glg
109+
*.glo
110+
*.gls
111+
*.glsdefs
112+
*.lzo
113+
*.lzs
114+
115+
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
116+
# *.ist
117+
118+
# gnuplottex
119+
*-gnuplottex-*
120+
121+
# gregoriotex
122+
*.gaux
123+
*.gtex
124+
125+
# htlatex
126+
*.4ct
127+
*.4tc
128+
*.idv
129+
*.lg
130+
*.trc
131+
*.xref
132+
133+
# hyperref
134+
*.brf
135+
136+
# knitr
137+
*-concordance.tex
138+
# TODO Comment the next line if you want to keep your tikz graphics files
139+
*.tikz
140+
*-tikzDictionary
141+
142+
# listings
143+
*.lol
144+
145+
# luatexja-ruby
146+
*.ltjruby
147+
148+
# makeidx
149+
*.idx
150+
*.ilg
151+
*.ind
152+
153+
# minitoc
154+
*.maf
155+
*.mlf
156+
*.mlt
157+
*.mtc[0-9]*
158+
*.slf[0-9]*
159+
*.slt[0-9]*
160+
*.stc[0-9]*
161+
162+
# minted
163+
_minted*
164+
*.pyg
165+
166+
# morewrites
167+
*.mw
168+
169+
# nomencl
170+
*.nlg
171+
*.nlo
172+
*.nls
173+
174+
# pax
175+
*.pax
176+
177+
# pdfpcnotes
178+
*.pdfpc
179+
180+
# sagetex
181+
*.sagetex.sage
182+
*.sagetex.py
183+
*.sagetex.scmd
184+
185+
# scrwfile
186+
*.wrt
187+
188+
# sympy
189+
*.sout
190+
*.sympy
191+
sympy-plots-for-*.tex/
192+
193+
# pdfcomment
194+
*.upa
195+
*.upb
196+
197+
# pythontex
198+
*.pytxcode
199+
pythontex-files-*/
200+
201+
# tcolorbox
202+
*.listing
203+
204+
# thmtools
205+
*.loe
206+
207+
# TikZ & PGF
208+
*.dpth
209+
*.md5
210+
*.auxlock
211+
212+
# todonotes
213+
*.tdo
214+
215+
# vhistory
216+
*.hst
217+
*.ver
218+
219+
# easy-todo
220+
*.lod
221+
222+
# xcolor
223+
*.xcp
224+
225+
# xmpincl
226+
*.xmpi
227+
228+
# xindy
229+
*.xdy
230+
231+
# xypic precompiled matrices and outlines
232+
*.xyc
233+
*.xyd
234+
235+
# endfloat
236+
*.ttt
237+
*.fff
238+
239+
# Latexian
240+
TSWLatexianTemp*
241+
242+
## Editors:
243+
# WinEdt
244+
*.bak
245+
*.sav
246+
247+
# Texpad
248+
.texpadtmp
249+
250+
# LyX
251+
*.lyx~
252+
253+
# Kile
254+
*.backup
255+
256+
# gummi
257+
.*.swp
258+
259+
# KBibTeX
260+
*~[0-9]*
261+
262+
# auto folder when using emacs and auctex
263+
./auto/*
264+
*.el
265+
266+
# expex forward references with \gathertags
267+
*-tags.tex
268+
269+
# standalone packages
270+
*.sta
271+
272+
# Makeindex log files
273+
*.lpz

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2020 Yichen Xu
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# doc
2+
Report and slides of EasterMIPS.

ack.tex

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
\chapter{附录}
2+
3+
\section{参考文献}
4+
MIPS® Architecture For Programmers Volume I-A: Introduction to the MIPS32 Architecture.rev3.02
5+
6+
MIPS® Architecture For Programmers Volume II-A: The MIPS32® Instruction Set
7+
8+
MIPS® Architecture For Programmers Volume III: The MIPS32® and microMIPS32™ Privileged Resource Architecture
9+
10+
Xilinx IP:: AXI Crossbar (2.1) LogiCORE IP Product Guide
11+
12+
\section{致谢}
13+
14+
\texttt{EasterMips}的开发过程中,我们获得了来自周峰老师的方向指导和服务器资源。他帮助我们指明了方向,并帮助我们解决了疫情导致的合作问题。同时我们还获得了于海鑫学长的诸多指点,他为我们的实现过程提供了巨大的帮助。最后还要感谢北邮人团队于校内提供的Git服务器,为我们进行构建调试带来便利。

ci.tex

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
\hypertarget{ux5f00ux53d1ux652fux6301}{%
2+
\chapter{开发支持工具}\label{ux5f00ux53d1ux652fux6301}}
3+
4+
在疫情期间,由于团队成员异地协作难度较高,经由指导老师的支持,我们完成了如下系统的构建。提升了协作效率。
5+
6+
\hypertarget{ux81eaux52a8ux5316ux6784ux5efaux53caux6d4bux8bd5}{%
7+
\section{自动化构建及测试}\label{ux81eaux52a8ux5316ux6784ux5efaux53caux6d4bux8bd5}}
8+
9+
得益于周老师提供的一台10核32G内存150G硬盘的服务器,及北邮人团队的校内Git服务器,参考并重写清华Nontrival-mips提供的自动构建脚本,通过在服务器上对\texttt{vivado}进行\texttt{docker}封装,我们成功建立校园环境内的自动构建服务器。
10+
该服务器可以完成如下功能:
11+
12+
\begin{enumerate}
13+
\item
14+
自动完成功能、性能、TLB测试的Simulation阶段
15+
\item
16+
自动完成\texttt{func/perf\ bitstream}的构建,并上传到平台以供下载。
17+
\item
18+
提供时序检查报告的下载。
19+
\end{enumerate}
20+
21+
通过该自动构建服务器,帮助我们解决了远程协作时代码的有效性问题,减少了merge分支时带来的出错可能。
22+
23+
\begin{figure}[ht]
24+
\centering
25+
\includegraphics[width=0.7\linewidth]{ci_usage.png}
26+
\caption{CI使用情况}
27+
\label{fig:ci-usage}
28+
\end{figure}
29+
30+
\hypertarget{ux75abux60c5ux671fux95f4ux8fdcux7a0bux534fux4f5c}{%
31+
\section{疫情期间远程协作}\label{ux75abux60c5ux671fux95f4ux8fdcux7a0bux534fux4f5c}}
32+
33+
在疫情期间,团队协作问题给我们的进展带来了很大的困扰。同时团队成员的电脑性能不足也令开发进度受到限制,运行测试时时间长和复现问题困难;还因为系统测试板仅有一块,在执行后续调试时问题较为繁多。
34+
为此,我们通过如下两种方法解决:
35+
36+
\begin{enumerate}
37+
\item
38+
通过在校内服务器上进行内网穿透并配置\texttt{VNC}远程桌面,进行远程编写。解决本地计算机性能不足和环境不同(macOS)的问题,节省调试时间并给本地留出更多的性能。
39+
\item
40+
通过Teamviewer进行远程桌面,在调试系统测试的波形问题时,不需要频繁上传下载波形即完成。配合语音通话并进行同屏协作,调试效率大大提升,比单纯靠语音描述更加有效。
41+
\end{enumerate}
42+
43+
整个开发过程中,我们一共进行了270余次提交,完成了194次有效的自动化构建,节省的总时长大约为230小时。
44+
45+
在穿透时,我们选择仅支持\texttt{ssh\_public\_key},设置不常用用户名来避免暴力破解,按需开启VNC功能,在方便了自身的同时确保校内网络安全。

0 commit comments

Comments
 (0)