MCS51单片机反向解剖以及正向设计的研究 第12页
本芯片采用全定制方式设计版图,也就是说根据电路和工艺要求IC设计者
进行全部ASIC的版图设计,而不是调用标准单元或者门阵列单元。版图的设计、
绘制使用的是TannerTools的全定制版图编辑工具。进行全定制版图设计时,
要先在L一Edit中设置自己的工作环境,确定不同层次对应的不同颜色和几何图
形。再按照制定的设计规则改写DRC文件。另外,DRC文件中还需要加入一
些约束条件,例如版图的布局只能够采用直角和斜对角式结构;限定单元不允许
交迭(如P阱、N阱不允许交迭);限定单元必须交迭(如孔必须用金属包住)
等等。加入约束条件后设计的版图,可以提高芯片的成品率、可靠性、可测试性
和可共享性。
绘制芯片版图是一项很艰苦的工作,本芯片的总体版图共耗180/人.天的
工作量才完成。整个版图的面积为2.7mmX2.08mm,共用10348个PMOS
管,19192个NMOS管,如附录A所示。
3.5.4逻辑图与版图的一致性验证
版图设计完成之后要进行芯片的设计验证,设计验证主要包括设计规则检查
DRC、电学规则检查和版图逻辑图等价验证。通过设计验证保证了芯片的设计
符合设计规则要求,也保证了版图和逻辑图的一致性。
1.设计规则检查DRC
设计规则检查包括最小线宽检查、间距检查、内嵌检查、外伸检查等。绘制
版图的过程中要经常进行DRC检查,保证了每个子模块的版图都正确无误。
DRC检查的关键在编写DRC工艺文件上,通常在开始绘制版图之前就应该严
格按照选定的工艺所要求的设计规则参数编写文件。本芯片的版图设计均是在
Tanner公司的L一Edit下完成的。
2.电学规则检查ERC
电学规则检查用于对电路网表进行连接性分析,检查是否有连接性错误。常
见电学规则检查ERC包括掩膜区域检查、器件检查、节点检查、子电路检查等。
掩膜区域检查用于检查某一指定区域的版图是否与某一特定的节点相连;器件检
查用于检查是否有漏源相连的器件、端点悬空的器件、衬底类型不符的器件。节
点检查用于查处具有不同名字对应于同一内部节点编号,或者具有相同名字但对
应于不同节点编号的节点,即检查是否有多个节点短接或者是否有同一个节点被
断开。子电路检查主要用于查找与电源或地相连的子电路,以及与电路的输入或
第三章MCS一51单片机的反向解剖
输出相连的子电路。
3.版图逻辑图等价验证LVS
版图逻辑图等价验证是对从版图提取出来的网表和从原理图得到的网表进
行同构比较,检查网络内各连接点的连接关系,从而判断两者是否完全一致。进
行LVS验证首先要提取网络表,逻辑图的网络表在输入逻辑图的时候已经产生,
而版图的网络表可以利用L一Edit下的专用工具完成。需要注意的是:输入逻辑
图时对于逻辑图中线的名称不能用“一”连接,可以用“_”(BLI_10),同一子
模块中的器件不能重名、总线名称不能用数字开始(BUSI)、版图提取之前要在
相应版图中的电源、地、输入、输出焊接块上标注节点名等等。
LVS的整个比较过程是基于Cadence公司的软件在工作站上完成。比较结束
后给出一些统计数据包含在*.Ivs文件(51.Ivs)中。如果两个网表不匹配,根据不
匹配节点的提示进行版图或者逻辑图的修改,直到出现“SCHEMATICAND
LAYOUTMATCH”,逻辑图和版图完全相等。LvS验证后也分别统计出版图
和逻辑图中PMOS管、NMOS管的总数:逻辑图中PMOS管子10348个,NMOS
管子19192个;版图中PMOS管子10348个,NMOS管子19192个,两者也是
完全相同。
3.6MCS一51硬核的仿真
MCS一51单片机的指令有五大类,如2.4节MCS一51单片机的指令系统中所
描述,硬件仿真中对每一条指令都要加以验证。从每类指令中任意选取指令进行
仿真,波形如图3一27、3一28、3一29、3一30、3一31、3一32、3一33、3一34、3一35、
3一36所示。写出仿真程序:
ORG000OH
STAR:MOVA,#78H
MOVB,#OSH
MOVRO,#67H
XCHA,RO
ADDA,RO
INCA
MULAB
第三章MCS一51单片机的反向解剖
ANLA,RO
RLA
SETBC
LJMPSTAR
END
数据传送类
立即数到累加器A中
VA,#78H
经户吸竺.w旦户.宁亡卜冲川,勿,”~T~‘口协改
翼鬓羹攀篡毅爵』习‘应」
‘
鱼心玺避避避耀{篡翼馨……
哈幼!ooDO}OD衬l}o吮!0田10078;}o吮}D002
黔}一导一{-
七它七奋‘.O’11’,
B娜.2:N卫
八J竹已甲之,山PnX-‘‘
图3一23送立即数到累加器A
利用Cadence公司的icfb进行仿真,初始地址为000OH,此时送入了指
OVA,#78H)的十优进制代码74,地址000IH送入了立即数78。该指令
字节指令,执行12个振荡周期,如图中虚线内所示,第12个振荡周期时
即数送入了累加器A中。
立即数到寄存器
VRO,#67H
仿真程序中执行的第二条指令将立即数05H送入B寄存器中,执行结果将
存器的值从初始值OOH置为05H而累加器结果不变。第三条指令将立即数
送入RO中,该条指令也是单字节指令,12个振荡周期完成操作如图3一24
内所示。RO状态由高阻态、不确定状态到装入确定值67。
第三章MCS一51单片机的反向解剖
ToP.仙
00000555lll002222000666006777OD皿皿000777lll
00000078111111111111100C8111
lll获获
日日...
11178111
二二二000000--十-~一一----一--一-一-一~-~-一一-一---一七----一一十------111110555llllllll任任任XXXXXX作作作任{6777iiiiiiiiiiiiiiir八图3一24送立即数到寄存器RO③寄存器内容与累加器内容交换XCHA,RO第四条指令是一条单字节指令,执行寄存器RO中67与累加器A中的78进行交换,地址0007处放该条指令的十优进制代码CSH。执行12个振荡周期如图中虚线内所示,12个周期后累加器A中为67而寄存器RO中的内容交换
78。
00000777ooes;;;002222DOOSSS00288800口口0008880028111
X
图3一25寄存器RO的内容与累加器A的内容交换
2.算术操作类
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] [19] 下一页
MCS51单片机反向解剖以及正向设计的研究 第12页下载如图片无法显示或论文不完整,请联系qq752018766