Project

General

Profile

EMIR New hire training » History » Version 3

jun chen, 03/21/2025 11:47 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
More details in http://10.30.200.21:8088/projects/hongtu-emir/wiki/Coding
151
152
More debug details in http://10.30.200.21:8088/projects/hongtu-emir/wiki/Debugging_and_profiling_tech
153
154
155
## Timing Analysis New Hire Training
156
157
* Check timing background and materials in http://10.30.200.21:8088/projects/hongtu-sta/wiki  
158
* The timing analysis basic introduction I VLSI_ta_p376_386.pptx
159
* The timing analysis basic introduction II VLSI_ta_practical.pptx
160
500
161
* STA 0经叩D (by Daisy Li)
162
163
## Power Analysis
164
165
* Check power background slides I and II EDA_PA_basic_I.pptx  
166
* Power analysis training lab guidance (TBD.)
167
* Advanced power analysis background: http://10.30.200.21:8088/projects/hongtu-emir/wiki/Power_analysis
168
* Low power design flow: http://10.30.200.21:8088/projects/hongtu-emir/wiki/Low_power_design_flow_and_training
169
170
## GUI and UI
171
172
* All about TCL, UI, GUI: http://10.30.200.21:8088/projects/understand-aguda/wiki/Aguda_GUI
173
* TCL new-hire training:  http://10.30.200.21:8088/projects/understand-aguda/wiki/New_hire_checklist
174
175
## RC Extraction New Hire Training:
176
177
* Check Main Page: http://10.30.200.21:8088/projects/understand-aguda/wiki/Understand_LPE
178
179
## PR Related New Hire Training:
180
181
*  Check New-hire page: http://10.30.200.21:8088/projects/understand-detailed-placement/wiki/New_hier_related
182
183
## Logic Synthesis New Hire Training:
184
185
* Check Main Page: http://10.30.200.21:8088/projects/hongtu-logicsynth/wiki
186
* New training page: http://10.30.200.21:8088/projects/hongtu-logicsynth/wiki/Wiki
187
188
## Level-3 Core engine and math
189
 Please check Advanced_EM-IR_Center , these are core math ideas behind Giga core engine!□