-
ASIC设计流程:前端设计+后端设计(与工艺相关)
-
前端设计 RTL级代码----功能仿真----逻辑综合----等价性检查,形式验证----静态时序分析----
后端设计 布局规划—布局布线----版图物理验证(包括LVS和DRC等)----流片- RTL级代码:使用verilog语言进行描述我们想要实现的电路功能
- 功能仿真:检查代码有没有语法问题或者实现的功能和我们预计设计的是否相同
- 逻辑综合:把代码语言描述的模块转化成包含与,或,非,寄存器等基本的逻辑单元的网表
- 形式验证:从功能上,对综合后的网表进行验证,检查验证生成的网表功能是否与设计的电路功能相同
- 静态时序分析:从时序上,进行验证,检查电路是否存在时序上的问题
- 布局规划:规划芯片上的各种功能电路的摆放位置
- 布局布线:连接单元和功能块之间的互连布线线
- 版图物理验证:对完成布线的物理版图进行功能和时序上的验证(包括DRC和LVS等)
- 流片
-
FPGA设计流程: RTL级代码----功能仿真-----逻辑综合-----门级仿真-----布局布线----时序仿真----版级验证与仿真
-
对于设计而言,我们想要设计一个芯片,首先我们要明确我们设计的芯片旨在解决什么样的问题,具有什么样的功能。
- 我们根据目的去设计电路,把电路按照功能模块或接口划分,使用硬件描述语言verilog或HDL去实现逻辑设计,生成RTL级的代码
- 然后我们对这个代码进行功能仿真,检查代码有没有语法问题或者实现的功能跟我们预计的是否相同(代码行为的正确性)
- 接着我们把它进行逻辑综合,(逻辑综合需要有约束条件,约束条件就是你希望综合出来的电路在面积,时序等目标参数上达到的标准,)
- 由于逻辑综合需要基于特定的库,不同的库,基本单元电路的对应的面积和时序参数都是不一样的,所以我们还需要进行后仿真也就是门级仿真,从功能和时序两方面对综合后的网表进行验证,保证电路的正确性,以及逻辑综合后生成的网表并没有改变原先电路设计的功能
- 是自带工具完成。接下来我们对芯片的面积做一个规划,确定每个单元的位置,并完成互连布线(连接单元和功能块之间的互连布线线)
- 然后我们再做一个时序仿真,电路提取,加延迟,仿真后包含延迟信息,接近于真实电路的行为
- 烧到板子上,进行仿真,测试
FPGA设计和ASIC设计有本质的区别,FPGA是一种可编程门阵列逻辑电路器件,是基于SRAM查找表逻辑形成的结构,FPGA最终生成的是产生可以实现所需功能电路的编程数据;
-
FPGA设计流程:在后仿真(时序仿真)后,产生用于编程的下载文件,烧录到板子上,进行测试和运行,前面基本差不多,但也有区别
ASIC设计流程与FPGA设计流程
最新推荐文章于 2024-03-31 09:48:44 发布