ASIC设计工具不同学习方法.docx
《ASIC设计工具不同学习方法.docx》由会员分享,可在线阅读,更多相关《ASIC设计工具不同学习方法.docx(25页珍藏版)》请在冰豆网上搜索。
ASIC设计工具不同学习方法
本节将使用综合工具(DesignCompiler)对一个8位全加器逻辑综合,并产生一个门级网表;利用该网表使用自动布局布线工具(SiliconEnsemble)生成一个全加器的版图。
首先输入8位全加器verilog代码:
moduleadder8(Cout,S,A,B,Cin);
outputCout;
output[7:
0]S;
input[7:
0]A;
input[7:
0]B;
inputCin;
reg[8:
0]SUM;
reg[7:
0]S;
regCout;
wire[7:
0]A,B;
always@(AorBorCin)
begin
SUM[8:
0]=A+B+Cin;
S=SUM[7:
0];
Cout=SUM[8];
end
endmodule
打开综合工具DC(psyn_gui&)
File->Read..读入代码
File->Setup..设置3个相关工艺库
将带红色*号的3个库设置如下图
Design->CompileDesign..编译
Schematic->NewDesignSchematicView..可以看到综合后的顶层结构
通过双击C1模块还可以看到全加器的门级结构
为了后面自动布局布线的需要,这里我们要将这个综合结果保存为adder8_nl.v门级网表。
在psyn_gui-xg-t>后输入如下命令
下面进行自动布局布线(一下有路径出现的地方要特别注意)
打开SiliconEnsemble(sedsm&)
File->Import->LEF…导入库的转换格式
注意此文件的路径!
File->Import->Verilog…导入工艺库(此库为verilog描述的标准单元,包含各种延时信息)
这里去掉后面的!
继续File->Import->Verilog…导入网表adder8_nl.v(此处要先删掉第一个工艺库)
这里要加上顶层模块名adder8
Floorplan->InitializeFloorplan…准备工作完成开始布局布线
点击Variables将里面的PLAN.LOWERLEFT.ORIGIN由FALSE改为TURE
Edit->Add->Row…Area的区域可以直接点击Area并在图上拖拽,并使其大小与芯片核一致
File->Saveas…保存为fplan
Route->PlanPower…设置电源环
在PlanPower窗口中点击AddRings…
Place->Ios…放置输入输出
Place->Cells…放置单元
Place->FillerCells->AddCells…
这里的“FILL”要大写
Route->RoutePower->FollowPins…添加管脚(金属线宽设为1.8)
Route->Wroute…布线
View->DisplayOptions…检查管脚名设置Pin为ON
File->Export->DEF…命名为adder8_wrouted.def
打开icfb&
再导入DEF文件之前要确保你有如下图中的一些库文件
File->Import->DEF…这里的File是指刚输入icfb之后打开的那个界面
Enter“tutorial”forLibraryName,“adder8”forCellName,and“autoRouted”
forViewName.
打开View中的autoRouted
Design->Save..
Tool->Layout..将提取图转换为版图,这里需要改变几个参数
Edit->Search..点击AddCriteria然后做如下图的几个改动
ApplyReplaceAll
Design->SaveAs..
现在就可以打开layout了
DRC…熟悉吧!
!