集成电路实验报告.docx
《集成电路实验报告.docx》由会员分享,可在线阅读,更多相关《集成电路实验报告.docx(21页珍藏版)》请在冰豆网上搜索。
集成电路实验报告
集成电路分析与设计
实验报告
姓名:
胡鑫旭
班级:
130242
学号:
13024229
成绩:
实验2Linux环境下基本操作
1.实验目的
1.熟悉linux文件、目录管理命令。
2.熟悉linux文件链接命令。
3.熟悉linux下文件编辑命令。
2.实验设备与软件
集成电路设计终端
LinuxRedHatAS4
3.实验内容和步骤
1.系统登陆
启动计算机,选择启动linux
输入用户名:
cdsuser,输入密码:
cdsuser
至此,完成系统启动,并作为用户cdsuser登录
2.创建终端和工作文件夹
在桌面区域单击右键,选择NewTerminal,至此进入命令行模式(可根据需要打开多个)。
键入察看当前目录命令:
pwd↙
说明:
此时出现的是当前用户的根文件夹路径。
路径指的是一个文件夹或文件在系统中的位置。
Linux根路径为“/”;当前路径为“./”;当前路径的上一级路径为“../”。
使用从根路径开始的路径名称成为绝对路径,如“/home/holygan/”。
利用“../”,“./”等方式定义的路径名称成为相对路径,如“../holygan/”。
键入察看当前目录文件命令:
ls↙
说明:
此时列出的是当前目录下的文件和子文件夹列表
键入创建文件夹命令:
mkdir学号↙
说明:
以你的学号为名建立工作文件夹,所有实验工作应在此文件夹中完成。
以防止和其他实验、毕业设计的同学所作的工作混淆。
键入目录切换命令:
cd学号↙
说明:
进入工作文件夹。
pwd↙
ls↙
问题:
此时pwd和ls的结果与此前结果是否相同?
____考虑其原因。
键入命令:
ls>a.dat↙
说明:
将ls结果保存为文件a.dat。
键入复制、删除文件命令:
cp./a.dat../a.dat↙
说明:
将当前文件夹下a.dat文件拷贝到父文件夹下,定名为a.dat
cp./a.dat../b.dat↙
说明:
将当前文件夹下a.dat文件拷贝到父文件夹下,定名为b.dat
mkdirtest↙
cp./a.dat./test↙
说明:
将当前文件夹下a.dat文件拷贝到子文件夹下,默认定名为a.dat
rma.dat↙
ls↙
说明:
删除当前文件夹下的a.dat文件,察看结果
rm./a.dat↙
说明:
再次删除当前文件夹下的a.dat文件,注意命令执行结果。
rm../b.dat↙
ls../↙
说明:
删除父文件夹下的b.dat文件,察看结果
rmtest↙
ls↙
说明:
删除当前文件夹下的test文件夹,察看结果
rm-rftest↙
ls↙
说明:
强制(-rf选项)删除当前文件夹下的test文件夹,察看结果
3.文件压缩
cd~/学号↙
ls↙
说明:
进入工作目录,察看目录中文件
tarzcvftest.tar.gzfilter_lab.pdffilter_lab_report.pdf↙
ls↙
说明:
将filter_lab.pdf和filter_lab_report.pdf压缩成压缩包,命名为test.tar.gz;察看结果。
tarzxvftest.tar.gz↙
说明:
将test.tar.gz解压缩到当前目录下,覆盖filter_lab.pdf和filter_lab_report.pdf。
4.文件编辑、阅读
cd~/学号↙
ls↙
说明:
进入工作目录;察看目录文件
acroreadfilter_lab.pdf↙
说明:
使用pdf阅读器阅读实验指导书
ls>a.dat↙
gedita.dat↙
说明:
使用gedit编辑、阅读a.dat
5.链接命令
cd~/学号↙
ls↙
说明:
进入工作目录;察看目录文件
ln–s../hehe↙
ls–l↙
说明:
创建到父目录的符号链接hehe;察看目录文件,可看到hehe指向../。
pwd↙
cdhehe↙
pwd↙
说明:
可以看到cdhehe等于cd../;故符号链接可以方便的替代命令中常用的复杂路径名,简化操作。
练习3
删除工作目录/filter_lab/下名为library的符号链接。
建立指向/home/tools/cadence/training/holygan0712/的符号链接library
6.帮助命令
在以上所有linux命令中,如果不清楚用法,均可采用:
[待查命令]--help↙
man[待查命令]↙
说明:
两种察看命令说明的方法
4.实验结果和分析
将/home/tools/cadence/training/holygan0712/下的filter_lab.tar.gz拷贝到了实验目录下。
将/home/tools/cadence/training/holygan0712/下的filter_lab.pdf和filter_lab_report.pdf
拷贝到了实验目录下。
删除了test.tar.gz。
将filter_lab.tar.gz解压到了工作(实验)目录下。
删除了工作目录/filter_lab/下名为library的符号链接。
建立了指向/home/tools/cadence/training/holygan0712/的符号链接library。
5.心得体会
实验2让我学会了Linux环境下的基本操作,比如创建目录、复制和删除文件等等。
觉得这个系统在一些领域应该很实用,因为在这个系统下查找和删除东西很方便,只需几个指令。
但是因为我对这个系统并不熟悉,所以实验操作进行得很慢,而且一旦中间一不小心漏掉了一步,就不知道该怎么挽救,只好再来一次。
实验3RTLCompiler对数字低通滤波器电路的综合
1.实验目的
1.掌握CadenceRTLCompiler综合工具的基本作用,输入、输入文件;
2.熟悉CadenceRTLCompiler命令行模式的使用方法;
3.了解CadenceRTLCompiler图形模式的使用方法。
2.实验设备与软件
集成电路设计终端
CadenceRTLCompiler
3.实验内容与步骤
1.设置环境变量
在运行EDA工具之前,首先要设置与所使用工具相关的环境变量,否则系统将因为找不到工具相关文件、脚本而无法运行。
打开一个Terminal,键入:
cp../cshrc./.cshrc↙
source.cshrc↙
说明:
拷贝cshell初始化文件cshrc到用户根目录,命名为.cshrc;调用该文件(.cshrc)完成环境变量设计。
此后每启动一个Terminal,该文件都将自动被调用。
2.图形模式下的综合
首先,进入filter_lab/syn/work文件夹输入:
rc–gui<../scr/temp.scr↙
之后会出现图形界面,下图为gtechview:
等待片刻后(时间视服务器性能而定),出现如图3-2的工艺映射后的门级电路图。
可以在shell中查看报表,以及在filter_lab/syn/netlist中查看综合后的门级网表和synopsys设计约束文件。
3.命令行模式下的综合
可以看到仅执行了一条命令,即完成了整个综合过程。
其实所有综合的过程中执行的配置、约束、综合、输出命令都包括在temp.scr的脚本中。
请用实验2中的方法分别打开filter_lab/syn/scr/目录下temp.scr、set_var.tcl、top_timing.tcl这三个文件作为参考脚本,并另外打开一个Terminal作为运行终端。
以下通过命令行执行的方式详细说明实验的步骤。
进入filter_lab/syn/work文件夹输入:
rc↙
说明:
进入RC命令行模式
set_attrlib_search_path{../../library/HJTC/FEView_STDIO/STD/Synopsys}↙
说明:
设置库路径
set_attrlibrary{hjtc18_ff.lib}↙
说明:
设置库
cd/libraries/hjtc18_ff/↙
说明:
进入库管理路径
set_attravoid1{hjtc18_ff/INVCLK*hjtc18_ff/BUFCLK*hjtc18_ff/DEL*hjtc18_ff/FFSD*
hjtc18_ff/FFED*hjtc18_ff/FFSED*hjtc18_ff/LAT*hjtc18_ff/RSLAT*}↙
说明:
设置排除的库元件。
此类元件(时钟树单元、扫描链寄存器、锁存器等)在综合过程中不使用是为了防止工具生成非必要的电路结构。
cd/↙
说明:
返回主设计目录
set_attrhdl_search_path{../../rtl./../../scr../../library}↙
说明:
设置HDL代码搜索路径
read_hdl{filter.v}↙
说明:
读目标滤波器HDL代码
elaborate↙
说明:
预编译
source../scr/set_var.tcl↙
说明:
以下斜体命令为set_var.tcl文件内容。
其通过设置环境变量确定综合过程中的时钟周期等关键参数值。
#variabledefine
#systemclock33KHz
setSYS_CLK_TIME30000
setSYS_CLK_SKEW0.2
setCLK_TRAN_TIME0.4
#setCLK_LATENCY1.2
setSYS_CLK_LATENCY1.2
source../scr/top_timing.tcl↙
说明:
以下斜体命令为top_timing.tcl文件内容。
其对时序进行了完整约束。
#timingconstraint
#clockdefinition
dc:
:
create_clock-period$SYS_CLK_TIME-nameSYS_CLKclk
说明:
在管脚clk上创建时钟SYS_CLK,周期为SYS_CLK_TIME
dc:
:
set_drive0[dc:
:
get_ports{clk}]
说明:
设时钟输入管脚的驱动能力为无穷大。
保证了理想时钟条件。
dc:
:
set_dont_touch_networkSYS_CLK
说明:
禁止改动时钟网络,使工具不在时钟网络上插入缓冲器或反相器。
dc:
:
set_clock_latency$SYS_CLK_LATENCY[dc:
:
all_clocks]
dc:
:
set_clock_uncertainty$SYS_CLK_SKEW[dc:
:
all_clocks]
dc:
:
set_clock_transition$CLK_TRAN_TIME[dc:
:
all_clocks]
说明:
时钟建模,定义时钟的迟滞时间、不确定时间、转移时间
#resettreedonttouch
dc:
:
set_drive0[dc:
:
get_ports{reset}]
dc:
:
set_dont_touch_network[dc:
:
get_ports{reset}]
dc:
:
set_max_transition0[dc:
:
get_portsereset]
说明:
复位信号建模,实现分析过程中的理想复位信号
#inputandoutputdelay
dc:
:
set_input_delay10-clockSYS_CLK[dc:
:
all_inputs]
dc:
:
set_output_delay10-clockSYS_CLK[dc:
:
all_outputs]
dc:
:
set_input_delay0-clockSYS_CLK[dc:
:
get_portclk]
说明:
设定所在模块的输入输出延迟。
synthesize-to_mapped-effortmedium↙
说明:
综合优化电路,并映射到指定工艺库
write_hdl>../netlist/filter.vg↙
说明:
输出综合网表
write_sdc>../netlist/constraints.sdc↙
说明:
输出约束条件。
可用于布局布线的设计
reportsummary↙
reportarea↙
reportpower↙
reporttiming↙
说明:
通过报表给出所综合模块的信息,包括:
面积、功耗、时序
reporttiming-from[dc:
:
all_inputs]-to[dc:
:
all_outputs]↙
说明:
通过报表给出指定路径的时序分析结果。
至此完成了基本的综合设计过程(可使用exit退出RC)。
4.实验结果与分析
实验结束后得到的数据如下(是从实验室拷贝后到自己电脑上打开后的截图):
当延时时间设定为30000ns时:
当延时时间设定为10ns时:
当延时时间设定为5ns时:
由上面的截图可以读出我们要的数据,完成练习题:
练习1:
记录此时的时钟频率、最长路径延迟时间、面积、功耗。
答:
时钟频率:
3.33MHz最长路径延迟时间:
29995020ps
面积:
6265130um2功耗:
2040395.426mW。
练习2:
根据最长路径延迟时间修改时钟(如100MHz,200MHz)约束,重新综合,观察并记录此时电路的最长路径延迟时间、面积、功耗,并与练习1的结果比较。
答:
时钟频率:
100MHz最长路径延迟时间:
4225ps
面积:
5197571um2功耗:
15044774.928mW。
时钟频率:
200MHz最长路径延迟时间:
0ps
面积:
5601142um2功耗:
19494371.649mW。
表3.1列出了不同时钟频率下弛豫时间,面积,和功耗值。
时钟周期(ps)
弛豫时间(ps)
面积(um2)
功耗(mW)
30000000
29995020
6265130
2040395.426
10000
4225
5197571
15044774.928
5000
0
5601142
19494371.649
结果分析比较:
当延迟为30000ns时,相比之下,功耗最低,但所需面积很大。
当延迟为5ns时,功耗较高一些,但所需要的面积减少了很多,延迟时间更短。
当延迟为10ns时,功耗也相对较高,但所需的面积有很大程度的减少,延迟时间不如5ns的好。
功耗时域面积成正比的,面积越大,功耗越大,随着始终频率的增大,最长路径的延迟时间减小。
思考题答案:
在增加时钟频率时,综合结果不能一直满足,时钟频率过高,会存在时序违反问题。
5.心得体会
通过实验3RTLCompiler对数字低通滤波器电路的综合这次实验,.我掌握了CadenceRTLCompiler综合工具的基本作用;熟悉了CadenceRTLCompiler命令行模式的使用方法;同时了解了CadenceRTLCompiler图形模式的使用方法。
这个实验相比于实验2,步骤更加繁琐,但是由于本次实验主要是根据实验指导书的提示进行的,所以步骤十分明确。
我经过一定的练习,对这个软件的功能有了更加深刻的了解,但仍然不是太了解。
我希望今后有机会能够更多的学习使用相关软件。
实验4NC对数字低通滤波器电路的仿真
1.实验目的
1.掌握CadenceNC仿真软件的基本作用,输入、输出文件;
2.熟悉CadenceNC命令行模式的使用;
3.熟悉CadenceNC图形模式的使用;
2.实验设备与软件
集成电路设计终端
CadenceNC
3.实验内容与步骤
1.启动NC
输入命令
nclaunch&
2.建立工作环境
选择File—SetDesignDirectory菜单在DesignDirectory框中设定设计目录为filter_lab/sim/,然后点Createcds.libfile,弹出对话框点save,以及确定。
3.编译
修改Directory框中的路径为filter_lab/rtl/,同时选中filter.v和filter_tb.v,点击vlog图标,编译后的图如图4-3所示。
4.elaborate
用鼠标左键选择Nclaunch右面窗口里工作目录(worklib)下的顶层实体worklib->filter_tb->module.之后点击elabrator的图标,在Elaborate之后,Nclaunch右边窗口里面的Snapshots前面出现一个加号,表示Elaborate成功,否则,查看Log窗口中的对应信息,修改,直到无误。
5.仿真
1).用鼠标左键选择Nclaunch右面窗口里snapshots里的顶层实体的结构体-实体对(snapshots->worklib.filter_tb:
module)。
2).选Tool->Simulator菜单,在弹出的对话框里选“确定”,弹出仿真器窗口。
或者直接点击
此时会弹出console和simvision两个界面。
3).点击DesignBrowser–SimVision的工具栏中的
开启仿真波形窗口,并在DesignBrowser–SimVision窗口内展开左边浏览器中的simulator,在右边的列表中选择希望观察的信号,选中后,点击鼠标右键选择sendtoWaveformWindows。
4.)在DesignBrowser–SimVision窗口或Waveform–SimVision窗口内选择Simulatioin->Run或者直接点击工具栏中的
开始波形仿真。
如果加入了新的信号,需要重新仿真点击
复位,然后再次仿真即可。
仿真过程中,可以点击
将仿真过程终止。
仿真结束后若要进行缩放,可点击窗口中的
;若想改变数据的进制显示方式,可点菜单Format->Dadix/Mnemonic进行修改。
此时点击Formal菜单中的Trace/AnalogSample+hold可以更直观的查看滤波效果。
4.实验结果与分析
5.心得体会
通过实验4,我掌握了CadenceNC仿真软件的基本操作方法,熟悉了CadenceNC命令行模式的使用。
值得注意的是,仿真是设计过程中重要的一步,通过仿真可以发现设计中不易被发现的错误,从而对设计进行修改,以得到正确结果。
此外,我发现实验需要高度的注意力,每一个步骤都不能有错误,如果漏掉或做错了某个步骤,就可能导致最后的仿真结果不符合要求,从而就要对我自己的设计进行修改,这便造成不必要的麻烦,也使我深刻认识到了实验要把每一步认认真真的完成,一步一步的不要着急,认真耐心学习与分析,这样才能提高我们的学习效率。
最后感谢老师同学的帮助,我的实验才能成功。
实验5反相器设计
1.实验目的
1.学习全定制集成电路设计的方法与流程。
2.掌握Aether工具的使用方法。
2.实验设备与软件
集成电路设计终端
Aether工具
3.实验内容与步骤
一.设计环境设置
1.将reference.tar拷贝到自己的目录下并解压:
cp/home/tools/synopsys/training/empyrean-training/reference.tar./.
tarxvfreference.tar
2.将reference_pdk目录下的一个文件display.drf拷贝到自己的目录下
Cpreference_pdk/display.drf./.
二.画逻辑电路图
1.运行工具—启动Aether
在完成启动环境设置后,在用户的设计目录下输入工具的启动命令:
aether&
在LibraryPathEditor编辑窗口中,选择Edit->AddLibrary,添加0.18um-PDK库。
在AddLibrary窗口中,点击OKbutton,即完成library的添加。
3.创建设计库(CreateLibrary)
在DM的窗口中,通过菜单命令File->NewLibrary,或DM快捷图标栏中NewLibrary的快捷图标,或在Library显示区域点击鼠标右键选择NewLibrary,都可以创建设计库。
在激活NewLibrary后,弹出NewLibrary创建窗口。
在NewLibrary的窗口中进行相应的指定,点击OK,既可以完成Library的创建。
4.创建原理图Schematic
通过菜单命令File—NewCell/View,或通过快捷图标或通过在Library列表中点击鼠标右键选择NewCell/View。
在弹出的NewCell/View对话框中,在对话框中分别进行设置,完成yuan/inv/schematic的创建。
5.添加元器件Instance(CreateInstance)
反相器电路中包括PMOS、NMOS、GND、VDD、输入输出端口及连线。
首先添加components。
所使用的是CreateInstance命令,可以通过菜单Create→Instance命令、或快捷图标、或快捷键方式激活命令后,将自动弹出CreateInstance选项设置窗口。
6.添加连线Wire(CreateWire)
接下来,要对已经摆放好的MOS器件完成Wire连线。
通过菜单Created→Wire、快捷键方式激活CreateWire命令,单击键,可以弹出CreateWire选项设置窗口,在SchematicEditor中,通过单击鼠标左键,即可完成连线。
7.创建输入输出Pin(CreatedPin)
通过菜单命令CreatePin、或快捷键
方式激活命令CretaePin命令后,将弹出CreatePin窗口,可以进行PinName的添加,可以实现选项设置,本次实验共需加4个pin:
vdd、gnd、in、out;通过PinDirection对Pin的类型进行设置,即in应设置为Input;out应设置为Output;vdd/gnd应设置为InputOutput;如果在添加Pin过程中,CreatePin窗口隐藏,可以通过再次唤出此窗口修改Pin的信息。
三.创建Symbol
1.创建inv的symbol
在yuan/inv/schematic编辑器中,激活菜单命令Create->SymbolView,将弹出SymbolView的设置窗口。
2.修改Symbol并保存
四.电路仿真