马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
Where it all got started?
Existence of “NEED” assures MARKET and so CUSTOMERS, DEMANDand SUPPLY. And this force drives everything including our technology also. In VLSI industry, “Time to Market” is the most important factor; you can “DELAY” or “EXIST”. It’s very rare, when you can have both choices at a time. Reasons can have a broad spectrum, but the consequences are almost limited to these parameters. Current scenario of the industry shows that the things have got that much critical & complex, as well, that it’s almost impossible for a single company to get all jobs done, alone. So they outsource some part of the project, there arises the concept of sub-chip level development. But in some exceptional cases, there are few companies, who work alone and get everything done in house only.
In ASIC (Application Specific Integrated Circuit) or SOC (System on Chip) implementation, there are two main categories, “ Full custom flow” or “Semi custom flow”.
For the further reading on the same, please refer “ASIC- Sebastian Smith”. As of now, in short, for Full custom, we need to create a specific library for the targeted product, but in Semi custom we use the already existed library to implement the product. According to the targeted product the flow keeps changing by time, as well according to the technology. So the question arises here, what is the difference b/w ASIC and SOC? Keep scratching your head, I’ll discuss that later, may be in my next post.
Now, Full chip and Sub chip Design. Anyway, while discussing the complete flow I’ll be discussing both of these things relatively.
But as of now, A Full chip can have many Sub chips (Macros/Blocks).
Here is a rough hierarchy of the chip, hopes will be a bit helpful.
The flow, I am going to consider is: *ASIC (Full Chip/Sub-chip)/SOC - Specification
- Architecture
- Lib Preparation
- IP implementation/Reuse and Rtl Coding
- Simulation & Verification
- Synopsys Design Constraints (SDC)
- Synthesis
- Design for Testability (DFT)
- Static Timing Analysis (STA)
- Floorplanning
- Power planning
- Placement
- Clock Tree Synthesis (CTS)
- Routing
- RC Extraction
- Design Rule Check (DRC) & Layout Vs Schematic (LVS)
- Post Route STA
- Signal Integrity (SI) Analysis
- IR drop Analysis
- Noise Analysis
- Signoff
Note: I have tried to keep every necessary part of the design in the flow. But even though, if you think some thing else should also be added, then, please let me know via comments. Before going for the flow, I want to discuss few basic things first.
What is Hardware Design? Physically implementing an idea, a function and a system in hardware.
For any such kind of implementation we need to find the optimal balance between: - Cost / Area
- Speed / Throughput
- Energy Consumption / Power Density
- Design Time
Trade-offs in Design
In the design, if you want any thing more specific then usually you need to sacrifice or, you can say, compromise with some other parameters.
So, there’s “No free lunch”. Depending on the design, some parameters are more important and some are less.
So, you can generally sacrifice one parameter to improve the other: 1. Speed vs Area: It is possible to speed up a circuit by using larger transistors,
parallel computation blocks, but then it will take more area. 2. Design time vs Performance: If we are with enough time to design, then the circuits can be optimized for higher Performance. So, finally you need to make a lot of trade offs in the whole process of design, with different parameters like, speed, area, power, etc. When to use ASICs? As in the earlier posts, I have discussed the pros & cons of the ASIC. So, here just I am going in brief. The pros: - Highest performance
- Cheap for mass production
The cons: - Long development time
- Not very configurable
- Requires specialization
So overall, it depends upon our targeted product, whether we should go for the ASIC or FPGA or CPLD, etc. |