芯片设计介绍-03
芯片设计规格书
架构师设计的文档
- 芯片有一个目标的面积值,先计算固核或者硬核的总面积,计算完成之后得到所占的面积比率,剩下的面积就是RTL代码所能使用的面积,然后使用Nand2x1或者Nand2x2进行估算RTL代码所能使用的门数
- 在RTL进行综合之后会得到门数,进行比较
- 在进行PR的时候首先界定芯片的大小,所以需要预估芯片的大小
- 功耗通过计算IP电流进行估算
- 通常的芯片有两个电源,IO电源 3.3V,Core电源 1.8V,IO电源给IO供电,Core电源给Core供电
- VR - 进行电压转换,只需要一个电源,比如只需要3.3V电源,可以通过VR产生1.8V电源,VR的选择需要看驱动能力,如果整个芯片的电流预估在60-100mA,那么VR选择100mA的即可
- 估算IO?-在芯片设计的时候,使用的是Fab提供的标准IO,IO的宽度和IO之间的间隙是确定的,所以有多少功能的IO,其中要填充30%的电源和地;假设IO加上电源和地一共需要160个IO,假设4边出Pad,每边是40个IO,因为IO宽度与间隙固定,就可以估算边长,进而可以估算芯片的面积
- 芯片面积限制? - Core limit 和 Pad limit
- FPGA验证影响芯片的继承,FPGA验证的时候Flash是采用Fab提供的Test Model和FPGA进行互联的,芯片继承层次的时候将CPU和Flash放在Core之外,在进行FPGA验证的时候Core放到FPGA中,代码不需要过多的变动
芯片详细设计
工艺
Sram控制器
eFlash
- boot区间?
- Flash_Ctrl FSM?
- DFT?
NandFlash控制器
SD Host控制器
DMA控制器
中断控制器
WatchDog
- 软件进行喂狗,watchdog就是一个计数器,喂狗之后重新计数,软件未能及时喂狗,就会造成系统复位
- 可以通过Designware生成
通用定时器
UART
SPI
GPIO
- 通过控制寄存器,可以控制pad是input pad或者是output pad
Sys Controller
BUS
ROM和Flash
ROM是不能改写的,Flash是可以改写的