-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdesign_report.aux
More file actions
84 lines (84 loc) · 9.11 KB
/
design_report.aux
File metadata and controls
84 lines (84 loc) · 9.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
\relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\providecommand \oddpage@label [2]{}
\pgfsyspdfmark {pgfid1}{6577079}{50996271}
\@writefile{toc}{\contentsline {section}{\numberline {1}Sequential CPU Design}{2}{section.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Overview}{2}{subsection.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Working of the CPU}{2}{subsection.1.2}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1.1}{\ignorespaces Control Signals}}{2}{figure.1.1}\protected@file@percent }
\newlabel{fig:control-signals}{{1.1}{2}{Control Signals}{figure.1.1}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {1.2}{\ignorespaces Sequential Datapath and Control Logic}}{3}{figure.1.2}\protected@file@percent }
\newlabel{fig:sequential-datapath}{{1.2}{3}{Sequential Datapath and Control Logic}{figure.1.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Assembler}{3}{subsection.1.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.1}Introduction}{3}{subsubsection.1.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.2}Assembler Overview}{4}{subsubsection.1.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.3}Testbench Generation}{4}{subsubsection.1.3.3}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1.3}{\ignorespaces Cycle wise monitoring}}{4}{figure.1.3}\protected@file@percent }
\newlabel{fig:test-bench}{{1.3}{4}{Cycle wise monitoring}{figure.1.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}Simulation}{5}{subsection.1.4}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1.4}{\ignorespaces Basic Assembly}}{5}{figure.1.4}\protected@file@percent }
\newlabel{fig:basic-test}{{1.4}{5}{Basic Assembly}{figure.1.4}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {1.5}{\ignorespaces GTKWave Output}}{5}{figure.1.5}\protected@file@percent }
\newlabel{fig:gtkwave-output}{{1.5}{5}{GTKWave Output}{figure.1.5}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {1.6}{\ignorespaces $n^{th}$ Fibonacci number}}{6}{figure.1.6}\protected@file@percent }
\newlabel{fig:fibonacci}{{1.6}{6}{$n^{th}$ Fibonacci number}{figure.1.6}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {1.7}{\ignorespaces Final Instruction Output}}{6}{figure.1.7}\protected@file@percent }
\newlabel{fig:fibonacci-output}{{1.7}{6}{Final Instruction Output}{figure.1.7}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {1.8}{\ignorespaces $n^{th}$ Factorial}}{7}{figure.1.8}\protected@file@percent }
\newlabel{fig:factorial}{{1.8}{7}{$n^{th}$ Factorial}{figure.1.8}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {1.9}{\ignorespaces Final Register Content (x11)}}{7}{figure.1.9}\protected@file@percent }
\newlabel{fig:factorial-output}{{1.9}{7}{Final Register Content (x11)}{figure.1.9}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.5}Visualisation}{7}{subsection.1.5}\protected@file@percent }
\citation{ref:harris}
\citation{Patterson:2020}
\@writefile{lof}{\contentsline {figure}{\numberline {1.10}{\ignorespaces RISC-V CPU Interactive Visualization Interface}}{8}{figure.1.10}\protected@file@percent }
\newlabel{fig:cpu-visualizer}{{1.10}{8}{RISC-V CPU Interactive Visualization Interface}{figure.1.10}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2}Pipelined CPU Design Documentation}{8}{section.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Overview}{8}{subsection.2.1}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces 5-Stage Pipeline Architecture with Forwarding Paths}}{8}{figure.2.1}\protected@file@percent }
\newlabel{fig:pipeline}{{2.1}{8}{5-Stage Pipeline Architecture with Forwarding Paths}{figure.2.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Pipeline Register Implementation}{9}{subsection.2.2}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces Stalling Instruction in RISC-V}}{9}{figure.2.2}\protected@file@percent }
\newlabel{fig:addix0}{{2.2}{9}{Stalling Instruction in RISC-V}{figure.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Architectural Rationale and Implementation Details}{9}{subsection.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1}Pipeline Register Design Strategy}{9}{subsubsection.2.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.2}Control Signal Propagation}{10}{subsubsection.2.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.3}Data Hazard Resolution System}{10}{subsubsection.2.3.3}\protected@file@percent }
\@writefile{lot}{\contentsline {table}{\numberline {2.1}{\ignorespaces Hazard Handling Mechanisms}}{10}{table.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.4}Branch Prediction Implementation}{10}{subsubsection.2.3.4}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces Branch Offset Calculation}}{11}{figure.2.3}\protected@file@percent }
\newlabel{fig:branch-offset}{{2.3}{11}{Branch Offset Calculation}{figure.2.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.5}Forwarding Implementation}{12}{subsubsection.2.3.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Critical Design Tradeoffs}{12}{subsection.2.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5}Key Implementation Nuances}{12}{subsection.2.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.1}Instruction Injection Protocol}{12}{subsubsection.2.5.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.2}Stall State Tracking}{13}{subsubsection.2.5.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.3}End-of-Program Detection}{13}{subsubsection.2.5.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.6}Architectural Validation Points}{13}{subsection.2.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.7}Simulation}{13}{subsection.2.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.7.1}Case I: Loop with Data Dependencies}{13}{subsubsection.2.7.1}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces Loop with Data Dependencies - Pipeline Execution}}{14}{figure.2.4}\protected@file@percent }
\newlabel{fig:pipe-test2}{{2.4}{14}{Loop with Data Dependencies - Pipeline Execution}{figure.2.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.7.2}Case II: Branch Prediction Testing}{14}{subsubsection.2.7.2}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {2.5}{\ignorespaces Branch Prediction Test - Pipeline Execution}}{15}{figure.2.5}\protected@file@percent }
\newlabel{fig:pipe-test3}{{2.5}{15}{Branch Prediction Test - Pipeline Execution}{figure.2.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.7.3}Case III: Branch Misprediction Recovery}{15}{subsubsection.2.7.3}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {2.6}{\ignorespaces Branch Misprediction Recovery Test}}{16}{figure.2.6}\protected@file@percent }
\newlabel{fig:pipe-test4}{{2.6}{16}{Branch Misprediction Recovery Test}{figure.2.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.7.4}Case IV: Load-Use Hazard Resolution}{16}{subsubsection.2.7.4}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {2.7}{\ignorespaces Load-Use Hazard Resolution Test}}{17}{figure.2.7}\protected@file@percent }
\newlabel{fig:pipe-test8}{{2.7}{17}{Load-Use Hazard Resolution Test}{figure.2.7}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.7.5}Case V: Data Forwarding Validation}{17}{subsubsection.2.7.5}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {2.8}{\ignorespaces Data Forwarding Validation Test}}{18}{figure.2.8}\protected@file@percent }
\newlabel{fig:pipe-test6}{{2.8}{18}{Data Forwarding Validation Test}{figure.2.8}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.7.6}Case VI: Control Hazard Complex Case}{18}{subsubsection.2.7.6}\protected@file@percent }
\bibstyle{abbrvnat}
\bibdata{references}
\bibcite{ref:harris}{{1}{2012}{{Harris and Harris}}{{}}}
\bibcite{Patterson:2020}{{2}{2020}{{Patterson and Hennessy}}{{}}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.9}{\ignorespaces Control Hazard Complex Test}}{19}{figure.2.9}\protected@file@percent }
\newlabel{fig:pipe-test7}{{2.9}{19}{Control Hazard Complex Test}{figure.2.9}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3}Contribution and Conclusion}{19}{section.3}\protected@file@percent }
\gdef \@abspage@last{20}