Project

General

Profile

EMIR New hire training » History » Version 5

jun chen, 03/21/2025 11:49 PM

1 1 jun chen
# EMIR New hire training
2
3
# Welcome on board, new hires!
4
5
We provide a tree-like training plan for you.
6
Most of the materials are designed in <u>self-driven study</u> flavor. 
7
Please check below expert-tree first, and start with level-0 lectures. 
8
Good good study, day day up!
9
10 2 jun chen
![](clipboard-202503212327-j9ooi.png)
11
12
13 1 jun chen
# Level-0 Background and environment
14
15
## On board environment setup.
16
17
* Check your environment before next step on_board_check_list.pptx
18
 Note: if you can't find SH printer driver, use this: Win_x64.zip or ask IT for help
19
* 员叩O叩 员叩O叩2021O.pdf 0 员叩O叩2023011O.pdf
20
* EMIR 叩叩叩叩  0000000000000000 (DD D田0出叩0叩程叩0叩D DD经叩叩叩加叩0叩有叩叩加D叩D叩0请叩看叩叩叩叩叩叩叩接叩
21
* IT new hire training: http://10.30.200.21:8088/attachments/3632
22
* Document templates (New version after 20220815) GIGA_VI_Standards
23
24
## Refresh VLSI knowledge.
25
26
* Step 1: Go through the briefing slide EDA_BG_Briefing.pptx Make sure you are familiar with fundamental terminologies. Try to answer the questions in the slides.
27
(Hint 1: most of the answer in this book CMOS_VLSI.part1.rarCMOS_VLSI.part2.rar )
28
(Hint 2: You can use FreePDK45_Giga.rar as standard cell library, and use Ngspice to setup transistor-level circuit simulation.)  
29
30
* Step 2: Hand out your answers to tutor, you are welcomed to raise new questions to us.
31
 
32
* Next step: EDA_Traveller
33
34
## Get ready to survive in Linux world0 A quick start EDA journey.
35
36
* Please follow Survive_linux to learn how to survive in GIGA Linux environment.
37
* Please follow Setup_linux to setup / restore / reset your linux VNC development environment, and run quick start EDA.
38
* Checkout Quick_shell.docx, make sure you are familiar with Linux shell command...
39
* home directory and VNC upgrade procedure (2023/12/17)
40
41
## Giga IT guide map.
42
800 
43
44
## Advanced C++ topic.
45
* Giga uses make file to organize source code. Checkout tutorial Usage_of_Makefile.pptx (JiaXiao Qin, 2020/08/26)
46
* Debug and profiling skills, please visit http://10.30.200.21:8088/projects/hongtu-emir/wiki/Debugging_and_profiling_tech (JiCun Li, 2020/08/26)
47
48
* how to use lambda expression. Check tutorial lambda_expression.pptx (JiaXiao Qin, 2021/05/21) 
49
* Tcl usage and coding from scratch Tcl.hD叩叩叩pre_leping.pptx (LePing Wang, 2022/03/18)
50
* Learn modern C++ features: https://github.com/changkun/modern-cpp-tutorial
51 2 jun chen
52
--------------------------------------------------
53
54
# Level-1 EDA flow and play with Aguda
55
56
## The BIG picture of EDA flow and Aguda EDA lab {For new environment)
57
* Read through Verilog to manufacture lecture, so you can get the big picture of EDA flow, and play with a tiny chip case.  
58
* Read through EMIR sign-off basics: SoCDDDDO叩D.docx (From DD谈加)
59
60
## The BIG picture of Vulcan Power and VP manual {For new environment)
61
* Please check http://10.30.200.21:8088/projects/hongtu-emir/wiki/New_hire_training(PV_PE_AE) , "VP introduction" section.
62
* Please follow "D叩叩DO叩" on the main functions of VP
63
64
--------------------------------------------------
65
66
# Level-2 Time to become EDA RD
67
68
( * DDDDDDDDDDDD make !!!! D00D bsub / vp_make / ag_make / cht_make * ) 
69
( * DDDDDDDDDDDD make !!!! D00D bsub / vp_make / ag_make / cht_make * )
70
( * DDDDDDDDDD git push!!!! DODD vp_commit 执D叩叩叩 00D00D vp_push / ag_push / cht_push * )
71
( * DDDDDDDDDD git push!!!! DODD vp_commit 执D叩叩叩 00D00D vp_push / ag_push / cht_push * ) 
72
( * □□□DD /rnd1/jchen/newhire_training/util_scripts *)
73 3 jun chen
74
![](clipboard-202503212347-wu2ne.png)
75 2 jun chen
76
## Development flow, an issue cycle
77
78
* How to Create repository (建叩本叩DODD)
79
* RD cycle flow check_in_flow_regression_new.pptx ,
80
81
  Learn how to get issue, fix, test, verify, review, and submit change. 
82
  Run below script to see check-in guidance ( Thanks to 杜田D )
83
```
84
	/rndl/llchen/newhire—training/util—scripts/vp—commit
85
```
86
* About git:
87
Learn git within one hour (why rebase? how to merge, reset, revert?) git_in_one_hour.docx
88
Simple git flow introduction and some common issues when using git (contributed by 陈田奇) git_simple_intro.pptx Get used to git branch operation (contributed by 周田邦) https://learngitbranching.js.org/
89
Use gitk to trace changes and commits (you may also use gigacode diff) (contributed by 熊叩安)
90
91
* About regression and utility system
92
See details in http://10.30.200.21:8088/projects/hongtu-emir/wiki/VP_QA_(regression)_
93
94
The official Redmine issue flow: http://10.30.200.21:8088/projects/it-infrastructures/wiki/Redmine_User_Guide
95
96
## Useful tools {under /rnd1/jchen/newhire_training/util_scripts )
97
98
```
99
vp_hello	// show usage and help message
100
vp_newhire	// setup environments during on-board day
101
vp_new	        // vp—checkout + vp—make check out code from server and build AG/VP/C日T
102
vp_checkout     // check out latest code from gitlab server
103
vp_clean        // clean up binary (make clean)
104
vp_make         // build VP binary, or...
105
                      vp_make ir pow            // will make ir and pow module as debug version
106
                      vp_make ir VERBOSE        // will enable verbose message during compile
107
                      vp_make pow ta FORCE      // will call a machine and force compile, if resource is limited
108
ag_make	        // build AG binary, or...
109
	        // usage is same as vp—make
110
cht_make	// build CHT binary 
111
	        // usage is same as vp—make
112
rs_make	        // build RS binary
113
114
vp_sync/ag_sync/cht_sync	// get latest code from server, and refresh ctags
115
vp_sync_force   // 髻 强伲merge conflict叩叩且叩正叩交叩 
116
vp_regression   // run VP regression suite under your client (M-ST do for functional check-in flow)
117
cht_regression  // run C日T regression suite
118
ag_regression   // run AG regression suite under your client (M-ST do for functional check-in flow)
119
ag—regression clean  髻 cleanup local regression data, same as "vp—regression clean" 
120
vp—commit	//print check-in flow guidance
121
vp—push	        // perform sync-up, AG/C日T/VP build, run simple check, and push your code to gitlab server
122
vp—revert	// a simple guidance if you want to give-up change, or solve conflict... 
123
ut—push	        // push changes for ut case, will do --rebase
124
VP—cut—build	// how to build cut release to AF  (commit id in etc/ci—log)
125
```
126
127
Note: If vp_sync or git pull failed with "You are not currently on a branch" try to use git checkout hongtu to recover branch info.
128
129
## RD IDE related
130
131
xterm By ZhengYu
132
vim By JiCun
133
Speed-up vim By PengCheng, Dr. Liu 
134
vscode By DanPing
135
Setup shell alias and git config (毛麾, etc. )
136
137
## Coding Giga !
138
* How to update help message DOD叩叩更D 庄叩D ver. 叩 DODO叩OD叩叩叩叩D_Dr_Zhuang_Ver.pptx 
139
140
Dr. Zhuang's Comment:
141
□□叩option或叩function叩叩对叩 23-25 页叩内叩 
142
22页伲man库叩叩叩。叩们叩前叩操叩是叩叩叩本叩后叩更□叩叩push叩GerritD  review
143
144
* How to update man page : man_page_guide_20240108.pdf  
145
* Check overall code structure with slides Code_overview.pptx
146
* Check the general command interface (C, Tcl, Python) with slides add_new_commands.pptxadd_python_command.pdf  
147
* Check the command interface (C implementation) with slides VP_cmd_interface.pptx
148
* Check how to read and debug and profile GIGA code (basic version) Read_debug_giga_code_1.pptx 
149
150 5 jun chen
![](clipboard-202503212349-xrvlj.png)
151
152 2 jun chen
More details in http://10.30.200.21:8088/projects/hongtu-emir/wiki/Coding
153
154
More debug details in http://10.30.200.21:8088/projects/hongtu-emir/wiki/Debugging_and_profiling_tech
155
156
## Timing Analysis New Hire Training
157
158
* Check timing background and materials in http://10.30.200.21:8088/projects/hongtu-sta/wiki  
159
* The timing analysis basic introduction I VLSI_ta_p376_386.pptx
160
* The timing analysis basic introduction II VLSI_ta_practical.pptx
161 1 jun chen
* STA 0经叩D (by Daisy Li)
162 4 jun chen
163
![](clipboard-202503212348-q7fc5.png)
164
165 2 jun chen
166
## Power Analysis
167
168
* Check power background slides I and II EDA_PA_basic_I.pptx  
169
* Power analysis training lab guidance (TBD.)
170
* Advanced power analysis background: http://10.30.200.21:8088/projects/hongtu-emir/wiki/Power_analysis
171
* Low power design flow: http://10.30.200.21:8088/projects/hongtu-emir/wiki/Low_power_design_flow_and_training
172
173
## GUI and UI
174
175
* All about TCL, UI, GUI: http://10.30.200.21:8088/projects/understand-aguda/wiki/Aguda_GUI
176
* TCL new-hire training:  http://10.30.200.21:8088/projects/understand-aguda/wiki/New_hire_checklist
177
178
## RC Extraction New Hire Training:
179
180
* Check Main Page: http://10.30.200.21:8088/projects/understand-aguda/wiki/Understand_LPE
181
182
## PR Related New Hire Training:
183
184
*  Check New-hire page: http://10.30.200.21:8088/projects/understand-detailed-placement/wiki/New_hier_related
185
186
## Logic Synthesis New Hire Training:
187
188
* Check Main Page: http://10.30.200.21:8088/projects/hongtu-logicsynth/wiki
189
* New training page: http://10.30.200.21:8088/projects/hongtu-logicsynth/wiki/Wiki
190
191
## Level-3 Core engine and math
192
 Please check Advanced_EM-IR_Center , these are core math ideas behind Giga core engine!□