福州大学至诚学院数字集成电路课程设计报告设计题目:51型MCU数字芯片的设计与验证班级:2班专业:微电子姓名:柳青学号: 211014338指导老师: 王仁平教师评分:日期:目录第1部分课程设计要求 ............................................... 错误!未定义书签。
第2部分51型MCU数字芯片的设计过程............................... 错误!未定义书签。
2.1设计和时序约束设置..............................................错误!未定义书签。
2.2平面规划7ﻩ2.3布局设计18ﻩ2.4时钟树综合与后布局优化....................................... 错误!未定义书签。
22.5布线...........................................................错误!未定义书签。
6 2.6 DFM-可制造性设计. (30)第3部分 Astro-Rail分析FFt芯片的功耗和电源完整性ﻩ错误!未定义书签。
3.1 Astro-Rail分析芯片的功耗流程3ﻩ53.2Astro-Rail分析芯片的电压降和电迁移流程37ﻩ第4部分设计心得 ........................................................................................................................................... 41参考文献 . (42)第1章课程设计要求1.1 课程设计要求在前端综合生成网表的基础上,用Astro工具进行MCU芯片版图设计,MCU芯片项目要求所设计的版图工作频率不低于66MHz,芯片尺寸(包括Pad)不超过2mm×2mm,功耗不超过200mW,根据项目要求选择Synopsys公司超深亚微米布局布线工具Astr o对MCU芯片进行版图设计,在版图设计中对减少芯片面积、缩短设计周期、时序收敛、优化扫描链、布线违规修复、消除天线效应、优化功耗、降低电压降和减少电迁移等问题进行分析。
基于Astro的版图设计流程[16]和主要步骤如下图1所示,每个步骤在后面都有详细的说明。
用Astro工具进行MCU芯片版图设计时需要输入四种文件,分别为:由前端综合生成的网表文件、时序约束文件、包含扫描链信息的DEF格式文件和由芯片制造厂家SMI C公司提供的0.18μm1P6M工艺库相关文件。
最终设计的MCU芯片版图满足面积、时序、功耗和制造工艺要求,可以进行流片。
图1版图设计流程第2章 51型MCU数字芯片的设计过程2.1 设计和时序约束设计1、从mcu路径调用Astro 。
2、创建一个设计库,附上参考库,并读取verilog网表。
Tool✂DataPrep,从Data Prep 工具中执行单个命令。
Netlist In✂VerilogIn To CEL…,得到VerilogTo Cell对话框,选择Reference Library,添加参考库到列表后,选择Hide。
选择GlobalNet Options,添加完VDD后点击Apply,再添加GND, 点击Apply后,选择Hide。
填写Verilog ToCell对话框中的内容如下图所示,并确保SetCase Sensitive、Initialize Hierarchy Preservation 、OpenLibrary andCell WhenDone被选中,其余保持默认设置。
点击OK后,输入框中显示:,同时设计库和设计单元被打开。
3、Library✂Show Refs…,点击Browse选择库名GJJ,然后点击OK,在输入框中可见参考库已导入正确。
4、完成初始层次保留。
Cell✂Mark ModuleInstance Preserved…,填写单元名gjj后点击OK。
5、添加TLU+ 电容模型。
Teach File✂ITFToTLU+,按照下图设置对话框内容(填写路径时从终端复制较为可靠)。
设置完成后点击Sanity Check,在输入框内看到显示如下图说明导入成功,点击OK。
6、返回菜单,选择Tool✂Astro。
7、时序设置。
Timing✂Timing Setup,在AstroTime(tm) Timing Setup对话框中,设置Parasitics选项如下图所示,然后点击Apply, 使TLU+模型可用。
设置Model选项为Low Effort,点击Apply。
按下图设置Environment选项,然后点击Apply。
最后点击Hide隐藏对话框。
8、导入SDC文件。
先在输入框键入ataRemoveTC,以移除已存在的时序约束,然后选择Timing✂Co nstraints:Load SDC…,填写SDC 文件名为fdnoflash_scan.sdc。
等待片刻后输入框中显示:,说明导入成功。
9、执行时序约束检查。
Timing✂Time Data Check…✂OK。
即可出现约束检查框,从检查框中可以看到只有VD33和GND没有被约束,可暂时忽略,关闭时序约束检查框。
10、在输入框中键入ataReportSummary命令产生时序总结报告:11、单元另存为Setup。
2.2 平面规划1.载入tdf 文件。
DesignSetup-✂TDF:LoadTDF…,在对话框中填入TDF文件名为wrp53.tdf,点击OK后,在输入框中可见,说明导入成功。
2、创建初始化平面设计。
Degisn Setup✂Foorplan:Set Up Floorplan…,按照下图进行设置。
设置完点击OK,在单元窗口出现左图的效果。
从左图可见,单元中的端口是躺着的,为使其呈现右图的效果须在建立平面设计之前做如下操作:从Data Prep工具中,CLF Load…,设置如下:点击OK后,可在输入框中看到,说明导入文件成功,接着重新建立平面设计即可。
在单元窗口选择Window opio n对话框,然后在Visible Objects中选上row,点击应用重读使单元排可见,放大并查看核单元的左下角区域如下右图所示,验证核中单元排的设置正确后,再关闭单元排选项。
3、用各种大小的焊盘填充单元填满四边PAD单元之间的剩余空隙。
在填充空隙之前先查看原来端口的填充情况以跟后面填充空隙之后对比。
Select✂Sele ctInstss ByType…,选中pad filler,点击OK.可在输入框中看到:PostPlace✂FillerCell:Add PadFillers…按照下图填写对话框,点击OK 后即可看到如右图中空隙已填充。
填充空隙后重新查看端口填充情况可看到4、源/地引脚进行逻辑连接。
PreRoute ✂ConnectPort to P/G…,分别进行如下设置后点击Apply,最后点击Cencel退出对话框。
5、完成IOPAD环的物理P/G 连接。
PreRoute✂Pad Rings…,选择默认后点击OK 即可。
然后点击单元窗口左侧的Deselect-all取消所有选中。
6、基于飞线放置宏单元。
先删除填充。
PostPlace✂Filler Cell: Purge Core/Pad/TapFillers…,选中Pad后点击OK,在输入框中可见:高亮宏单元连接。
Query✂Flyline:ShowNet Connetions…,选中Ignore Connections To Standard Cells,点击OK。
移动宏单元。
在单元窗口中,先点击Deselect-all消除所有选中,再点击select-point 进入选择状态,选中要移动的宏单元如下左图所示,为了使该宏单元能够与端口连接,需要将其旋转到合适的角度,在主窗口菜单栏中Modify✂Modity…,旋转角度选择270度,点击0k,得到如下右图。
接着把该宏单元移动到合适的位置。
Modify✂Move…,选中None,进入移动状态,配合放大功能将选中的宏单元移至如下图所示的位置后点击左键确定,点击右键突出移动状态,并且消除选中。
同样的,把另一个宏单元移动到合适的位置,移动完如下图所示:7、创建该核的电/源地结构。
为核和宏单元创建电源/地环。
PreRoute RectangularRings...按照如下左图设置对话框,点击Applyh后得到如下右图所示。
类似的,为核下方的为两个宏单元创建电源/地环。
创建3个垂直和一个水平电源/地条。
PreRoute Straps…按照如下左图设置对话框,点击Applyh后得到如下右图所示。
对焊盘和宏单元进行先布线。
PreRoute✂ Macros/Pads…✂Default✂OK 。
对标准单元排电源进行先布线。
PreRoute✂StandardCells…✂Defaul✂选中Fill All Empty Rows✂OK,放大后如右图所示。
8、添加布局阻塞。
在2个宏单元和1个水平电源/地条附近创建硬布局阻塞, PrePlace ✂Placement Blockage:CreateHardBlockage,创建阻塞如下图所示:9、重新进行端口填充。
10、将单元保存为:Floorplanned。
11、关闭Astro。
2.3 布局设计1、注释并打断扫描链注释扫描链。
(在Tools菜单下将Astro 转换成Data Prep)选择Netlist In✂DE FIn…,按下图填写对话框,点击OK后可在终端看到共注释出6条扫描链。
在Tools菜单下返回到Astro选项,打开库文件GJJ和核单元Floorplanned。
打断扫描链。
PrePlace✂Scan Chain:Optimize:Optimize Delete ScanChain…✂Default✂选择Delete only模式✂OK。
完成后会在输入框显示2、执行“原型”布局。
InPlace✂Auto Place…,按照下面左图设置后点击OK单元窗口中可看到如下右图所示:3、分析阻塞。
打开布局阻塞图对话框:InPlace✂Placemen Maps:Display Congestion Map…✂OK,产生并显示布局阻塞图(按F6辅助观察阻塞)如下左图所示:产生全局布线阻塞图以获得较为准确的阻塞图如上右图所示:Route✂GlobalRoute:EstimateGlobal Route Congestion!清除阻塞:InPlace✂Placemen Maps:Display Congestion Map…✂点击Clear✂Cancel4、分析时序和最大电容/最大跳变Timing✂Timing Report…,按照下图设置点击OK,产生一个时序报告框。