当前位置:网站首页>IC popular science article: those things about Eco
IC popular science article: those things about Eco
2022-07-05 20:30:00 【luoganttcc】
Many children's shoes should have been heard of ECO The term , Today we will talk about this .
I remember , I just worked for a short time , My elder martial brother of two years told me : Not repaired ECO Your life is incomplete . It didn't take long for my life to be complete , And he repaired more in half a year than in three years ECO. Yes, of course , There is a suspicion of boasting here , I'm not shy . As an engineer , You may have seen the agreement , Write algorithm , Verified , Run through the simulation , Rolled over FPGA. But if you put all bug all kill In the cradle , Have a good trip and enjoy yourself tapeout 了 , It's a little too smooth , What is missing in life .
Just like Wang Sicong might think what would happen if I didn't have so much money ( He really thinks so ?), As an engineer , You might think , If in the final stage , Find out bug What do I do ?
This is it. ECO What to do : Revise your later bug, Make up for your sins .
Here we are. , We need a brief introduction IC The design of the flow:
First of all, boss + The cattle have a meeting in the small black room , Discuss the general structure , Settle spec, Then front-end engineers write code . After writing the code, start to do verification simulation . When the simulation and verification are almost the same , Almost no longer can catch anything new bug 了 , Will enter RTL freeze Stage .
RTL freeze That is to say , From this day onwards , No one can modify RTL 了 .
RTL freeze It's a watershed . stay freeze Before , Your simulation is also good , Look at the code ,FPGA Verification is good , Anything found bug, Can be modified RTL Direct correction . however freeze after , By freeze Of RTL Will be integrated ,STA, Then send it to the back-end staff , do floor plan, Power supply integration , Clock synthesis , Layout and wiring, etc . These back-end processes are extremely time-consuming , And usually irreversible , That is to say , You let me do it again , The result cannot be guaranteed .
So here comes the question , If say , One day I found a bug, I asked the boss to revise RTL, At this time, back-end colleagues flow The synthesis has been completed ,floor plan And layout , It's the wiring stage . You can't say I put RTL Changed , Then synthesize it again , Let the back-end colleagues start from floor plan Start ? Be careful that a knife flies .
If bad luck , Tomorrow tapeout 了 , Are you going to change RTL, There is no time for you to do the whole back-end again flow?
No matter how bad your luck is , already tapeout 了 , The craft factory has just started its production line , Finished the lithography of the first mask , You tell them : stop ! I have another bug! From you to RTL To do ?
Of course, you can't start from RTL Start , I can't afford to waste time . It's hard for the backend to do convergence, and it can't afford to waste .
Fortunately, , You can use all the above ECO Get it done . from freeze To tapeout Between ECO It's called pre MASK Of ECO;tapeout after , Transistors that have finished processing chips , But I haven't done anything during transistor connection ECO be called post MASK Of ECO.
So-called ECO, Simply put, it means direct modification netlist.
A simple example :
The following figure is a small part of the circuit diagram after synthesis :
It's written in RTL Namely : D = A & B;
If say , I found that this code has bug, I need to change it to : D = (A & B) | E;
What shall I do? ? What you need to do is netlist Add an OR gate , Then put the... In the figure above C End and E End as input of or gate . The new circuit diagram is as follows :
How to realize this transformation ?
Back end tools have special CMD Support , You can use this CMD Write a script , The general content is as follows :
addcell AND;
connect C to AND.A1 port;
connect E to AND.A2 port;
connect AND.Z port to D;
Of course , This is just a sign , Actually CMD The form is not like this , But the mind is the same .
The above method only applies to pre MASK Of ECO, In this ECO Stage , You can add all kinds of cell. This fixes bug, There is no need to re integrate , It avoids the destruction of the achievements of each stage of the back end . Such as integrated power network , Clock tree , And the layout plan has not been destroyed . If you modify RTL, Then we must do synthesis again , And then from floor plan Start ......
here we are post MASK Stage ,ECO It becomes more difficult . Because at this time , The chip has tapeout, The craft factory has begun to process the base layer (base layer , That is, the transistor layer ), So at this point , There is no way to add cell, Like and door , Not gate , Registers, etc . But because of this time , Interconnection of chips (wire layer ) It has not been processed , therefore , You can change the interconnection of transistors .
But you are not without cell It can be used , The actual chip is tapeout When , Will be in chip Sprinkle a lot of extra cell(redundant cell), these cell Scattered all over the place , To give post MASK ECO Make . As shown in the figure below , Red dots are scattered and redundant cell, They could be MUX, NAND gate , Or not ,buffer, Registers, etc :
It is also the part mentioned before ECO, stay post MASK Stage , If you can in these redundant cell Find an or door inside , And then C and E Change your connection , Connect to this or door , Then connect the output of or gate to the output of register D End , You can solve this bug. If bad luck , Cannot find or door , Maybe you have to think of another way , For example, find a NOR gate and a non gate , Then connect them in series to make an OR gate .
Yes, of course , At this stage , Because all cell The location and type of have been fixed , So the length of the connection cannot be changed ,cell The size is not up to you , It's likely that although you've finished repairing it bug, But with STA check Will find timing Unable to meet . But there is no way , I can only live as a dead horse doctor , Beg this path yes false path perhaps multicycle Well .
Finish repairing ECO, How to determine whether it has been repaired correctly ? This involves formal verification .
Front end personnel , finish writing sth. ECO CMD after , utilize ECO The command modifies the old netlist, Get new netlist, And then put this netlist And the modified RTL comparing , Make sure the two functions are the same , It is called formal verification . Here's the picture :
Formal verification has special EDA Tools to do , It can be used to compare two RTL Whether the function is the same , It can also be compared RTL And the integrated netlist Whether the function is the same , You can also compare two netlist Whether the function is the same . We won't go into details here .
What we need to understand is , Front end engineers need to modify netlist, We need to modify RTL, Then compare the two , Make sure the function is consistent . In this way, we can guarantee ECO The command completes the function you want .
Welcome to my WeChat official account. : Semi guidance society .
边栏推荐
- model方法
- IC科普文:ECO的那些事儿
- Leetcode skimming: binary tree 10 (number of nodes of a complete binary tree)
- 【数字IC验证快速入门】2、通过一个SoC项目实例,了解SoC的架构,初探数字系统设计流程
- Guidelines for application of Shenzhen green and low carbon industry support plan in 2023
- 2.8、项目管理过程基础知识
- Leetcode skimming: binary tree 17 (construct binary tree from middle order and post order traversal sequence)
- 关于BRAM IP复位的优先级
- sun. misc. Base64encoder error reporting solution [easy to understand]
- Reinforcement learning - learning notes 4 | actor critical
猜你喜欢
About the priority of Bram IP reset
小程序全局配置
欢迎来战,赢取丰厚奖金:Code Golf 代码高尔夫挑战赛正式启动
1. Strengthen learning basic knowledge points
CVPR 2022 | 常见3D损坏和数据增强
死信队列入门(两个消费者,一个生产者)
Pytorch 1.12 was released, officially supporting Apple M1 chip GPU acceleration and repairing many bugs
小程序事件绑定
Fundamentals - configuration file analysis
【数字IC验证快速入门】8、数字IC中的典型电路及其对应的Verilog描述方法
随机推荐
2022 Beijing eye health products exhibition, eye care products exhibition, China eye Expo held in November
常用的视图容器类组件
A way to calculate LNX
解决Thinkphp框架应用目录下数据库配置信息修改后依然按默认方式连接
Classic implementation of the basic method of intelligent home of Internet of things
Informatics Orsay all in one 1339: [example 3-4] find the post order traversal | Valley p1827 [usaco3.4] American Heritage
Rainbow 5.7.1 supports docking with multiple public clouds and clusters for abnormal alarms
Y57. Chapter III kubernetes from entry to proficiency -- business image version upgrade and rollback (30)
Mysql频繁操作出现锁表问题
Process file and directory names
CCPC 2021威海 - G. Shinyruo and KFC(组合数,小技巧)
[quick start of Digital IC Verification] 3. Introduction to the whole process of Digital IC Design
【数字IC验证快速入门】3、数字IC设计全流程介绍
Convolution free backbone network: Pyramid transformer to improve the accuracy of target detection / segmentation and other tasks (with source code)
实操演示:产研团队如何高效构建需求工作流?
港股将迎“最牛十元店“,名创优品能借IPO突围?
Leetcode (695) - the largest area of an island
Informatics Olympiad 1340: [example 3-5] extended binary tree
DP: tree DP
Leetcode(347)——前 K 个高频元素