EMIR New hire training » History » Version 6
jun chen, 03/21/2025 11:51 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 |  |
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 |  |
||
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 | 6 | jun chen | [[xterm]] By ZhengYu |
132 | 2 | jun chen | 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 |  |
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 |  |
||
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!□ |