Cadence IC设计实验

Cadence IC设计实验
Cadence IC设计实验

Cadence IC设计实验

中国科技大学

电子科学与技术系IC教研组

黄鲁胡新伟白雪飞

2005年10月

(实验例题由Cadence 公司提供)

致谢!

电子科学技术系刘烃海、矫逸书、祝超、梅汪生等同学帮助编写了部分实验章节;信息实验中心屈玉贵主任和方毅、周远远、刘贵英等老师不仅为实验提供了技术支持,准备好EDA软件licence、配置了计算机和软件运行环境,而且热情参与了本实验教学。对于上述老师和同学们的辛勤工作和所做出的贡献,在此一并表示衷心地感谢!

预备知识:UNIX

你掌握UNIX操作系统的基本命令吗?下面几条常用命令可能会对你有用处。提醒一下,UNIX命令是区分大小写的。

查文件:ls (不显示隐含文件)、la (或ls –a,显示所有文件)、ls |mpre(帧显)、la |more

删文件:rm 文件名

建新目录:mkdir 目录名

删目录:\rm –r目录名( 慎用!!!)

拷贝:cp 源文件名(含路径)目标文件名(含路径),

例将isc用户的abc.suf 文件拷贝到自己的当前目录下:cp ~isc/abc.suf .

解.tar打包文件:tar vxf 打包文件名

解.tar.Z压缩文件:tar vxfZ 压缩文件名

文件改名: mv 原文件名新文件名

查命令与参数功能:man 命令

***************************************************************************

规定:本实验教材中红色为键入命令或字符,兰色为菜单项,紫色为功能键;“单击”指鼠标左键按下一次。

****************************************************************************

实验一、Virtuoso Schematic Editor

实验目的:掌握电原理图(schematic)设计输入方法。

边学边做

[1]启动IC Design 软件:

开机后运行Exceed进入服务器SOLARIS登录界面,输入用户名和密码

(由系统管理员提供);

点击一下cpu disk菜单项上方的三角箭头,点击This Host出现Terminal窗口,(或点击Console 出现Console窗口);

cp /eva01/cdsmgr/ training_IC_data/SchemEd.tar . (提醒:最后是个小点,稍等)

tar vxf SchemEd.tar (稍等)

cd adelabic5

icfb &(或icms &,你知道后缀&的作用吗?在UNIX命令后加&表示后台运行)

若出现“What’s New”窗口,关掉它。

出现“icfb-log:/…”窗口(CIW:Command Interpreter Window)了吗?

[2]建立新库、新单元以及新视图(view):

在CIW中,File->New->Library,

在弹出的“New Library”窗口,Name栏中:mylib

选中右下方:* Don’t need techfile

OK

查看CIW窗口:Tools->Library Manager,在Library中应有mylib,单击它。

在Library Manager 窗口,File->New->Cellview,

在弹出的“Create New File”窗口Cell Name栏中,nand2

Tool栏中,选Composer-Schematic

OK

[3]添加元件(实例instance)

在弹出的“Virtuoso Schematic Editing:…”窗口中,左边为工具栏,选instance图标(或i)单击“Add instance”窗口Library栏最右侧Browser,

弹出“Library Browser-…”窗口,Library选analogLib,Cell选nmos4, View选symbol

鼠标回到“Add instance”窗口,Model name栏:trnmos, width: 3.0u , Length: 0.5u,Hide 在“Virtuoso Schematic Editing:…”窗口, 鼠标左键单击一次,间隔一定距离再单击一次,这样就增加了2个nmos4元件,ESC(试一试:先选中一个元件,再q,查看/改变属性)。

仿照上述方法,增加pmos4元件。在“Add instance”窗口,Model name栏:trpmos,

width: 2.0u , Length: 0.5u;放置2个pmos4,ESC。(试一试热键f,[,]的功能)

[4]添加管脚(PIN)

选“Virtuoso Schematic Editing:…”窗口左边工具栏中的Pin图标(或p)

在“Add Pin”窗口中,Pin Names:INA INB,Direction选input, Usage选schematic,Hide 在“Virtuoso Schematic Editing:…”窗口, 鼠标左键单击一次,间隔一定距离再单击一次,放置2个输入PIN,

p,在“Add Pin”窗口中,Pin Names:OUT,Direction选output, Usage选schematic,在“Virtuoso Schematic Editing:…”窗口放置输出PIN,

[5]添加电源和地:

i (或单击instance工具图标)

弹出“Add instance”窗口,Browse,Library选analogLib,Cell栏:vdd, View选symbol

在“Virtuoso Schematic Editing:…”窗口放置vdd,

回到“Add instance”窗口,Browse,Cell栏:gnd, 在“Virtuoso Schematic Editing:…”窗口放置gnd,

ESC , Cancel掉“Add instance”窗口。

[6]摆放元件并加网线:

参照下图放好元件(symbol):(移动用m键,删除用Delete键,取消命令用ESC键)

选“Virtuoso Schematic Editing:…”窗口左边工具栏中的Wire(narrow),连好网线,ESC

[7]保存文件:“Virtuoso Schematic Editing:…”窗口左上角Check and Save工具。

DIY(Do It Yourself)

在mylib库中建立amplifier单元(Cell)如下图所示。

图中所有单元来自analoglib库,参数如下表:

Cell Name 属性properties

Q0,Q1:Model Name=trnpn

npn For

pnp For

Q2,Q3,Q4:Model Name=trpnp

pmos4 For M1: Model Name=trpmos, Length=8u, Width=iPar(“l”)*16

nmos4 For M2,M5: Model Name=trnmos, Length=10u, Width=100u

pmos4 For M3: Model Name=trpmos, Length=iPar(“w”)/16, Width=128u

res Resistance=2.5K

cap Capacitance=CAP (设计变量)

vdd, vss 注意 vss是负电源,不是gnd

PIN管脚:输入管脚: iref, inm, inp, 输出管脚: out

Wire Name vdd! , gnode

注意:你画的schematic电路中,双极晶体管Q和FET管M的下标编号可能与上图不同,可用q查看/改变属性,另外可能使用m (移动),r(旋转),f(全屏),先m再shift + r (左右翻转),先m再 Ctrl + r (上下翻转)等命令。

ESC(终止操作)

标注线网名:用Wire Name工具(或l)将M1与M3的衬底连线、M2与M5的栅极连线

分别标注为vdd!和gnode。

如发生了错误删除,用“Virtuoso Schematic Editing:…”窗口左边中间的undo工具(或u),注意:只能恢复前一个被删除的对象。最后check and save.

层次化设计——symbol生成

[1]symbol生成

进入“Virtuoso Schematic Editing:mylib nand2 schematic”窗口。

Design -> Create Cellview->From Cellview

在Cellview From Cellview窗口,From View Name栏为:schematic,Tool / Data Type栏为Composer-Symbol。

OK

在“Symbol Generation Options”窗口,单击Load/Save按纽,OK

出现“Virtuoso Schematic Editing:mylib nand2symbol”窗口,Design->Check and Save

改变symbol形状:用m命令将Symbol的上边界位置和INA管脚向上移动一网格,得到下图:

用m命令将3个cdsParam(n)移到方框外面的下方,将cdsName()移到方框外面上方,将字符OUT移到方框外面右方,删除内部绿色方框。

参照下图,单击菜单Add -> Shape -> Circle,加个小圆圈,Add -> Shape -> Arc,加个圆弧(先确定上下2点,如出现angle not allowed不必紧张,稍微移动鼠标试一试,你会发现如何画弧),用m将左边的红色外框右移(缩短原symbol外框),2个PIN以及连线(INA和INB)同样右移,用Line工具画出缺少的3边。上述步骤中,均使用ESC取消操作命令。画好后,Design -> Check and Save

[2]创建amplifier的symbol:

仿照前述步骤,得到如下symbol:

提示:在“Symbol Generation Options”窗口,将iref 管脚(Pin)设置为Bottom Pin。

然后删除cdsParam(3), r旋转pin名iref,

(选做)删除红色外框,选择Selection Box工具,在“Add Selection Box”中,Automatic

添加Text:Add -> Note -> Note Text,在“Add Note Text”窗口的Note Text文本框中:Amp 将鼠标移至“Virtuoso Symbol Editing:mylib amplifier symbol”窗口,在你希望的位置单击,回到“Add Note Text”窗口,Cancel。

Save。

(如果你无法画斜线,鼠标右键点击1、2次就可切换成功)

结果如下图所示:

实验结果查验:

1.申请教员或助教查验你做的实验结果。

2.Close 所有窗口。

注意:你所画的部分电路,以后在spectre仿真实验时会用到。因此不要删除!

Cadence IC设计实验

实验二、 Spectre Simulation

实验目的:掌握电路特性仿真方法

进入Cadence系统:

cd adelabic5

icfb &

实验内容与步骤:

一、nand2电路仿真

[1]、创建激励信号电路模块:

在CIW窗口(icfb-Log:/…):Tools->Library Manager,弹出Library Manager 窗口,在Library中应有mylib,点击它。

File->New->Cellview,

在弹出的“Create New File”窗口Cell Name栏中,testnand2

Tool栏中,选Composer-Schematic, OK

在“Virtuoso Schematic Editing:…”窗口中,按下图加入单元(Instance)、Pin并连线。

点击Check and Save

图中所有单元来自analoglib库symbol,参数如下:

Cell Name CDF Parameter

vpulse V0: V olt 1:0, V olt2:3, Delay:10n, Rise:500p,Fall:500p,width:10n,Period:20n vpulse V1: V olt 1:0, V olt2:3, Delay:15n, Rise:500p,Fall:500p,width:20n,Period:40n

DC

votlage:3,Number of noise:0 (前面所有电源此项均为0)

V2:

vdc For

cap For C0: Capacitance: 100f

vdd,gnd

Pin管脚:Name: INA INB OUT, Direction: inputoutput

[2]、编写仿真文件

1.设置仿真环境。点击Tools->Analog Environment

2.设置仿真模型文件路径。在弹出的“Analog Design Environment”(ADE)窗口,点击Setup->Simulation Files

在Include Path中加上./Models , ->OK

3.输入模型文件名。在ADE窗口,点击Setup->Model Libraries

在Model Library File栏中:allModels.scs,->add->OK

4.选择需要查看的信号。ADE窗口,点击Outputs->To Be Plotted->Select On Schematic

在Schematic原理图中点击3个Pin的连线(线会变颜色)。相应地,此时ADE窗口Outputs 框中就有了你所要观察的信号。

5. 保存仿真激励文件。点击ADE窗口的Session->Save State

Save As栏:state1

OK

(可以关掉“Analog Design Environment”窗口)。

[3]、将激励模块加入被仿真电路。

1.回到Schematic窗口,生成testnand2单元的symbol

Design -> Create Cellview->From Cellview

在Cellview From Cellview窗口,From View Name栏为:schematic,Tool / Data Type栏为Composer-Symbol。OK

在“Symbol Generation Options”窗口,将“Top Pins”栏中的“OUT INB INA”拷贝到Right Pins栏中,删除Top Pins栏中的原来内容,OK

出现“Virtuoso Schematic Editing:mylib testnand2 symbol”窗口,Design->Check and Save,退出testnand2的symbol窗口。

2.在“Library Manager”窗口,打开mylib中你在实验一画好的nand2原理图,添加testnand2元件,按下图连线。

保存文件Check and Save。

(不要退出Schematic窗口)

[4]、仿真

1.“Virtuoso Schematic Editing:…”窗口,Tools ->Analog Envienment

2.加激励。弹出ADE(Cadence Analog Design envirnment)窗口,Session -> Load State。在“Loading State”窗口,Library选mylib,Cell选testnand2, Simulator选spectre;

State Name 框中选:state1, OK

3.设置分析模式和仿真时间。点击ADE窗口的Analyses->Choose

Analysis选项中tran应有效;Stop Time: 200n

Enabled有效,OK

4.计算。点击ADE窗口右边Netlist and Run,弹出“Welcome to Spectre”窗口,OK

你应该看到spectre.out文件和仿真波形Waveform。

5.选择Waveform窗口上方菜单Axes->Strips, 各信号波形分开显示。

6.用鼠标拖Waveform Window的边界,放大显示区域。

7.试一试,怎样看波形数据?

完成后,在ADE窗口,Session -> Quit

二、amplifier电路(运算放大器)仿真

[1]、打开你在实验一画好的amplifier原理图,选中电容,Q,Capacitance值设为800f,Save and Check退出。

[2]、新建testamplifier单元

1、查看CIW窗口:Tools->Library Manager,在Library中应有mylib,点击它。

在Library Manager 窗口,File->New->Cellview,

在弹出的“Create New File”窗口Cell Name栏中,testamplifier

Tool栏中,选Composer-Schematic

OK

2、添加元件如下图:Amp 单元(Cell)是你在实验一画好的amplifier Cell的Symbol,其余单元在analogLib库中。

图中除amplifier外所有单元来自analoglib库symbol,参数如下:

Cell Name CDF Parameter

V0、V1:DC votlage:5

vdc For

V2: AC phase:0,Offset:0,Amplitude:100m,Frequency:1M, delay:0

vsin For

I0:DC current:500u,

idc For

R0、R1:resistance分别为10K和100K

res For

vdd,gnd,vss 正负电源、地

Pin管脚:Name: out, Direction: output

Wire Name Inm, inp, ref (目的是查看仿真波形时,一目了然;否则信号为netXX)

3.将原理图check and save!

4.(选做)选Amp模块,e,Descend窗口OK,进入Amp模块(amplifier),自选一个你希望检查的网线,q查看网线属性,如果net Name是netXX, 如何将它改为tst?

Design ->Make Editable,左边工具图标全有效了,恭喜你搞定了!

Save and Check

CTRL+e,退回到上一层。Save and Check

[3]、设置仿真环境

1.点击Tools->Analog Environment,弹出ADE窗口

2.点击Setup->Simulation Files

在Include Path栏中./Models ->OK

3.点击Setup->Model Libraries

在Model Library File下输入:allModels.scs->add->OK

4.点击Outputs->To Be Plotted->Select On Schematic

在原理图中点击与Amp单元4个管角相连的信号线(假设是你希望观察的信号),线会变颜色,端口被圈;选Amp模块,e,Descend窗口OK,进入Amp模块(amplifier),点击gnode线,再选中一个你希望检查的网线;

5.此时ADE窗口Outputs下已有你需要观察的信号,点击Session->Save State

Save As:state2->OK

[4]、仿真运算放大器的闭环增益

1.(如未退出ADE,本步可以不做)在ADE(Cadence Analog Design envirnment)窗口,Session -> Load State。

在“Loading State”窗口,Library选mylib,Cell选testampifier, State Name为state2,OK 2.点击Analyses->choose将stop time从100n改为10u ->OK

3.点击ADE窗口右边Netlist and Run,弹出“Welcome to Spectre”窗口,OK

你应该看到spectre.out文件和仿真波形Waveform。

4.在Waveform窗口,查看波形,Axes -> Strips, 各信号波形分开显示。

三、DIY

]1].仿真运放的开环共模增益

(请不要先看下面的提示,自查一下自己的掌握程度)

提示:

1。将testamplifier单元(Cell)copy成amptest Cell。

2.修改amptest,删除R0和R1,Amp模块的2输入短接;

3.将正弦电压源改为vpwl,类似HSPICE,第1个时间电压对为(0,-5),第2对为(10u,5)。

[2]。(选做)运放的开环差模增益如何仿?

Cadence IC设计实验

实验三、 Virtuoso Layout Editor

实验目的:使用EDA工具进行版图设计。

运行Cadence版图设计软件:

cp /eva01/cdsmgr/training_IC_data/VLE_5_0.tar . (提醒:最后是空格和小点)

tar-vxf VLE_5_0.tar

cd Layout

点击屏幕左下方Home Folder,在弹出的“File Manager”窗口一直找到你个人Layout目录下的.cdsinit 文件(先要将View菜单中的Show Hidden Object设置有效),

删掉下列2条指令前面的分号“;”使得你可以使用快捷键:

;load(prependInstallPath(“samples/local/schBindKeys.il”))

;load(“leBindKeys.il”)

layoutPlus & (注意字母的大小写!或icfb &)

实验内容与步骤

边学边做:画INV版图

一、根据设计规则画nmos版图:

[1]、在CIW窗口中,选择File->Open, (若无nmos Cell,则建立New)

Library Name design

Cell Name nmos

View Name layout

OK。

[2]、画poly:在LSW窗口中选择poly drawin g层作为当前层

(LSW上方有一栏提示,画任何层之前必须将该层设为当前层。当前层必须可见。

LSW提示:A V:全可见,NV:全不可见;AS:全可选,NS:全不可选。

对于某一层,鼠标中键:可见/不可见,鼠标右键:可选/不可选)

[3]、点击Create->Path命令;(本实验使你掌握菜单命令,实际上你可以使用图标工具和快捷键完成很多操作)

[4]、单击左键选择一个起点。(此时窗口上方中间的DX, DY坐标变成0,0)

松开左键,向上移动鼠标至DX, DY坐标变成0,4.8;按回车键或者双击鼠标完成它。

提示:你可以用标尺确定长度,点击Windows->Create Ruler;如果你想删除标尺,Windows->Clear All Rulers。它们的快捷键是什么?

[5]、画ndiff:LSW中选择ndiff drawing层作为当前层,点击Create->Rectangle命令。

[6]、单击左键选择一个起点(注意:此时窗口上方的DX, DY坐标变成0,0);

松开左键,移动鼠标至DX, DY坐标变成4.8,3.6;按回车键,或者双击鼠标。ESC [7]、Edit->Move移动ndiff层,参照下图(DRC规则)把它放在合适的位置。

nmos设计规则(允许的最小尺寸):

(1)ndiff overlap of contact 0.9u

(2)contact minimum width 0.6u

(3)contact spacing 0.6u

(4)contact to gate spacing 0.6u

(5)poly extension 0.6u

(6)metal overlap of contact 0.4u

(7)Device length 0.6u

如果画的尺寸不对,选择Edit->Stretch可以改变大小。

以上各个操作命令都可以选用“Virtuoso Layout Editing”窗口左边工具图标完成。

说明:本设计规则仅是版图实验的假设数据,并非0.6um真实工艺。

现在,你完成的版图应如下图所示:

[8]、画nmos器件源、漏极的外连接contact:

metal1 drawing层作为当前层,在源、漏极画尺寸为1.4um*2.6um的矩形,

contact drawing层作为当前层,在源、漏极各画两个尺寸为0.6um*0.6um的contact,(你也可以先画一边,再用左边工具栏中copy完成另一边)

[9]、Save存盘,关闭nmos版图窗口。

二、根据设计规则画pmos版图。

设计规则:pmos

(1)nwell overlap of pdiff 0.4u

(2)pdiff overlap of contact 0.9u

(3)contact minimum width 0.6u

(4)contact spacing 0.6u

(5)contact to gate spacing 0.6u

(6)poly extension 0.6u

(7)metal overlap of contact 0.4u

(8)Device length 0.6u

在CIW窗口中,选择File->New-> Cell View,然后输入以下内容Library Name design

Cell Name pmos

Tool Virtuoso

这时View Name栏中自动为:layout

OK。

参照下图画pmos版图。

部分矩形的最小尺寸为(最好按最小尺寸画,虽然你可以画得稍微大一些):nwell =5.6um*8.0um

pdiff=4.8um*7.2um

metal1=1.4um*6.2um

三、完成INV(inverter Cell )版图。设计规则:inverter

[1]打开(若无,则建立)inverter单元,放置(instance)你画好的nmos和pmos版图(在Create Instance窗口,Browse选择), 连好poly和metal1。

设:metal1最小宽度=0.8um

ndiff与nwell最小间隔=1um,本例间隔已足够。

再画一个nwell将上面metal1(vdd)覆盖(要与pmos的nwell相交叠)。

[2]、MOS衬底加电源(nwell)和地。

Instance,在pcells库中找到PTAP和NTAP,PTAP放在上图gnd金属线上,NTAP放在上图vdd金属线上。PTAP的作用是连接gnd和p衬底;NTAP的作用是连接vdd和nwell。

[3]、poly连接metal1。

Instance,在pcells库中选M1_POLY放在poly适当位置上(见上图)。

[4]、添加输入和输出PIN

1.选择Create->Pin,在Create Shape Pin 窗口Terminal Names 栏,输入:

A Y gnd vdd

然后选中Display Pin Name 按纽,如下图。

Hide

2.选择LSW窗口metal1 pin(或poly pin)为当前层,在M1_POLY上用鼠标直接画一个矩形(不要选择左边的Rectangle工具图标。若在LSW中选择poly pin为当前层,则画在poly上),此时A字符会出现,并且有一跟线连接A字符和矩形框;把A字符放到合适的位置。

3.选择metal1 pin画一个矩形在输出的合适位置,将出现的字符Y放到合适的位置。

4.同样的步骤依次放好gnd和vdd.。

Save退出inverter layout。

集成电路设计实验报告

集成电路设计 实验报告 时间:2011年12月

实验一原理图设计 一、实验目的 1.学会使用Unix操作系统 2.学会使用CADENCE的SCHEMA TIC COMPOSOR软件 二:实验内容 使用schematic软件,设计出D触发器,设置好参数。 二、实验步骤 1、在桌面上点击Xstart图标 2、在User name:一栏中填入用户名,在Host:中填入IP地址,在Password:一栏中填入 用户密码,在protocol:中选择telnet类型 3、点击菜单上的Run!,即可进入该用户unix界面 4、系统中用户名为“test9”,密码为test123456 5、在命令行中(提示符后,如:test22>)键入以下命令 icfb&↙(回车键),其中& 表示后台工作,调出Cadence软件。 出现的主窗口所示: 6、建立库(library):窗口分Library和Technology File两部分。Library部分有Name和Directory 两项,分别输入要建立的Library的名称和路径。如果只建立进行SPICE模拟的线路图,Technology部分选择Don’t need a techfile选项。如果在库中要创立掩模版或其它的物理数据(即要建立除了schematic外的一些view),则须选择Compile a new techfile(建立新的techfile)或Attach to an existing techfile(使用原有的techfile)。 7、建立单元文件(cell):在Library Name中选择存放新文件的库,在Cell Name中输 入名称,然后在Tool选项中选择Composer-Schematic工具(进行SPICE模拟),在View Name中就会自动填上相应的View Name—schematic。当然在Tool工具中还有很多别的

嵌入式系统及应用 实验大纲

《嵌入式系统及应用》课程实验 一、实验课程的性质、目的和任务 性质:《嵌入式系统及应用》课程是自动化专业的专业基础课程,本实验课是该课程教学大纲中规定必修的实验教学内容。 目的和任务:通过实验环节来巩固和加深学生对嵌入式系统的理解,使学生掌握MCS51单片机和ARM的基本原理和应用技术。通过熟悉MCS51开发环境和ARM集成开发环境,使学生掌握嵌入式系统开发的一般规律和方法。在集成开发环境下,进行系统功能程序的编写和调试的训练,掌握嵌入式系统软硬件调试的一般方法和系统设计的能力。 二、实验内容、学时分配及基本要求

三、考核及实验报告 (一)考核 本课程实验为非独立设课,实验成绩占课程总成绩的15%,综合评定实验成绩。(二)实验报告 实验报告应包括: 实验名称 实验目的 实验内容与要求 设计思路(如:分析、程序流程图等) 实验步骤 实验代码(含必要注释) 实验结果分析 实验小结(本题调试过程中遇到的问题和解决方法、注意事项、心得体会等)注:综合型实验需写出系统功能、设计过程 实验报告的要求: 实验报告以文本形式递交,实验报告要书写规范、文字简练、语句通顺、图表清晰。 四、主要仪器设备 硬件:微型计算机;嵌入式系统开发平台。 软件:Keil C51;ADT 五、教材及参考书 教材

[1] 高锋.单片微型计算机原理与接口技术(第二版).北京:科学出版社,2007 [2] 自编.嵌入式系统及应用 参考书 [1] 王田苗.嵌入式系统设计与实例开发.北京:清华大学出版社,2003 [2] 陈赜.ARM9 嵌入式技术及Linux高级实践教程.北京:北京航空航天大学出版社,2005 [3] 李忠民等.ARM嵌入式VxWorks实践教程.北京:北京航空航天大学出版社,2006

集成电路实验报告报告—2008301200188王晓东

武汉大学教学实验报告 实验名称集成电路实验指导教师孙涛姓名王晓东年级08 学号2008301200188 成绩 一、预习部分 1.实验目的 2.实验基本原理 3.主要仪器设备(含必要的元器件、工具)

实验一:Shell命令与Solaris9桌面管理 一.实验目的 了解Sorlaris 平台发展历史,Unix 操作系统的主要三个部分。掌握Unix 的Shell 基本命令,公共桌面管理(Common Desk Environment)基本操作,Unix 的文件管理。 二.预备知识与实验原理 计算机基本知识,Unix 操作系统发展的历史、特点,基本UNIX Shell 文件管理命令(见本章第一节)。 三.实验设备与软件平台 Unix 服务器,工作站。 四.实验内容与要求 熟悉三种UnixShell,及基本文件管理命令行命令: 掌握UnixShell 的基本命令、使用、参数意义;并学会使用帮助; 熟悉Unix 文件管理系统; 基本掌握Sorlaris 公共桌面管理平台(CDE)。 五.实验步骤 1. 分别完成并熟练掌握如下实验内容(参阅第一节内容) Bourneshell($) Kornshell($) Cshell(%) ls 显示文件名 cd 目录转换 mkdir 创建目录 rmdir 删除目录 cp 文档复制 find 文件查找 vi 编辑器 geidt 编辑器 man 帮助 exit 系统退出 reboot 系统重启 pwd 显示当前路径 二、实验操作部分 1.实验操作过程(可用图表示) 2.结论

2. Sorlaris 操作系统的三个基本组成,熟悉命令行下的文件管理,子目录等。 3. CDE(公共桌面环境) (1)geidt 编辑文本文件 (2)在CDE 下运行可执行程序 (3)文件管理 思考题 1.简述UNIX 操作系统的三个组成部分。 答:UNIX 操作系统是基于文件的,其三个主要部分是Kernel(内核)、Shell、文件系统。Kernel是操作系统的核心,Shell是用户与kernel之间的接口。它就像是命令的解释器或翻译器。Solaris环境的文件结构是分层的目录树结构,类似于DOS的文件结构。2.简述UNIX 演化过程和特点。 答:最早的计算机都采用的是批处理的方式,耗费的时间和财力都比较大,为克服这一缺点,贝尔实验室研制了一种较为简单的操作系统即UNIX。随着许多商业机构和学术机构的加入,使UNIX得到了迅速的发展。直至今天拥有强大功能、性能良好的的UNIX 系统。 UNIX系统具有可移植性好、可靠性高、伸缩性强、开放性好、网络功能强、数据库支持强大、用户界面良好、文本处理工具强大而完美、开发环境良好、系统审计完善、系统安全机制强、系统备份功能完善、系统结构清晰、系统的专业性和可制定性强的特点。 3.何为UNIX shell?有那些常用shell 命令? 答:UNIX Shell 是Unix 内核与用户之间的接口,是Unix 的命令解释器。常用的shell 命令有Bourne Shell(sh)、Korn Shell(ksh)、C Shell(csh)、Bourne-again Shell (bash)。 实验二:Tcl脚本命令与编程——从1到100的累加 一. 实验目的 掌握Tcl 基本命令,脚本编程的语法,数据类型、控制结构命令,以及基本Tcl 脚本 编程。 二. 预备知识与实验原理 见本章第二节,Tcl/Tk 脚本基础。 三. 实验设备与软件平台 UNIX 服务器一台,工作站数台,Tcl 8.3.2。 四. 实验要求 (1)掌握Tcl 的基本语法、命令结构。 (2)编写脚本程序实现1 到100 的累加。 五. 实验步骤 阅读第二节内容并完成如下实验:

数字IC设计工程师招聘面试笔试100题附答案

数字IC设计工程师招聘面试笔试100题附答案

数字IC设计工程师招聘面试笔试100题附答 案 1:什么是同步逻辑和异步逻辑?(汉王) 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入x 有无变化,状态表中的每个状态都是稳定的。 异步时序逻辑电路的特点:电路中除能够使用带时钟的触发器外,还能够使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。 2:同步电路和异步电路的区别: 同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,只有这些触发器的状态变化与时钟脉冲同步,而其它的触发器的状态变化不与时钟脉冲同步。 3:时序设计的实质:

时序设计的实质就是满足每一个触发器的建立/保持时间的要求。 4:建立时间与保持时间的概念? 建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。 保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。 5:为什么触发器要满足建立时间和保持时间? 因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在0和1之间变化,这时需要经过一个恢复时间,其输出才能稳定,但稳定后的值并不一定是你的输入值。这就是为什么要用两级触发器来同步异步输入信号。这样做能够防止由于异步输入信号对于本级时钟可能不满足建立保持时间而使本级触发器产生的亚稳态传播到后面逻辑中,导致亚稳态的传播。 (比较容易理解的方式)换个方式理解:需要建立时间是因为触发器的D端像一个锁存器在接受数据,为了稳定的设置前级门的状态需要一段稳定时间;需要保持时间是因为在时钟沿到来之后,触发器要经过反馈来锁存状态,从后级门传到前级门需要时间。

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称:IO接口(跑马灯) 实验时间:11.16 实验成绩: 一、实验目的 1.掌握 STM32F4 基本IO口的使用。 2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。 3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。 二、实验原理 本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。 三、实验资源 实验器材: 探索者STM32F4开发板 硬件资源: 1.DS0(连接在PF9) 2.DS1(连接在PF10) 四、实验内容及步骤 1.硬件设计 2.软件设计 (1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。 (2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

数字钟设计报告——数字电路实验报告

数字钟设计实验报告 专业:通信工程 姓名:王婧 班级:111041B 学号:111041226

数字钟的设计 目录 一、前言 (3) 二、设计目的 (3) 三、设计任务 (3) 四、设计方案 (3) 五、数字钟电路设计原理 (4) (一)设计步骤 (4) (二)数字钟的构成 (4) (三)数字钟的工作原理 (5) 六、总结 (9) 1

一、前言 此次实验是第一次做EDA实验,在学习使用软硬件的过程中,自然遇到很多不懂的问题,在老师的指导和同学们的相互帮助下,我终于解决了实验过程遇到的很多难题,成功的完成了实验,实验结果和预期的结果也是一致的,在这次实验中,我学会了如何使用Quartus II软件,如何分层设计点路,如何对实验程序进行编译和仿真和对程序进行硬件测试。明白了一定要学会看开发板资料以清楚如何给程序的输入输出信号配置管脚。这次实验为我今后对 EDA的进一步学习奠定了更好的理论基础和应用基础。 通过本次实验对数电知识有了更深入的了解,将其运用到了实际中来,明白了学习电子技术基础的意义,也达到了其培养的目的。也明白了一个道理:成功就是在不断摸索中前进实现的,遇到问题我们不能灰心、烦躁,甚至放弃,而要静下心来仔细思考,分部检查,找出最终的原因进行改正,这样才会有进步,才会一步步向自己的目标靠近,才会取得自己所要追求的成功。 2

二、设计目的 1.掌握数字钟的设计方法。 2熟悉集成电路的使用方法。 3通过实训学会数字系统的设计方法; 4通过实训学习元器件的选择及集成电路手册查询方法; 5通过实训掌握电子电路调试及故障排除方法; 6熟悉数字实验箱的使用方法。 三、设计任务 设计一个可以显示星期、时、分、秒的数字钟。 要求: 1、24小时为一个计数周期; 2、具有整点报时功能; 3、定时闹铃(未完成) 四、设计方案 一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器和定时器组成。干电路系统由秒信号发生 3

(完整版)数字IC设计工程师笔试面试经典100题(大部分有答案)

1:什么是同步逻辑和异步逻辑?(汉王) 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入x 有无变化,状态表中的每个状态都是稳定的。 异步时序逻辑电路的特点:电路中除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。 2:同步电路和异步电路的区别: 同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,只有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。 3:时序设计的实质: 时序设计的实质就是满足每一个触发器的建立/保持时间的要求。 4:建立时间与保持时间的概念? 建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。 5:为什么触发器要满足建立时间和保持时间? 因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在0和1之间变化,这时需要经过一个恢复时间,其输出才能稳定,但稳定后的值并不一定是你的输入值。这就是为什么要用两级触发器来同步异步输入信号。这样做可以防止由于异步输入信号对于本级时钟可能不满足建立保持时间而使本级触发器产生的亚稳态传播到后面逻辑中,导致亚稳态的传播。 (比较容易理解的方式)换个方式理解:需要建立时间是因为触发器的D端像一个锁存器在接受数据,为了稳定的设置前级门的状态需要一段稳定时间;需要保持时间是因为在时钟沿到来之后,触发器要通过反馈来锁存状态,从后级门传到前级门需要时间。 6:什么是亚稳态?为什么两级触发器可以防止亚稳态传播? 这也是一个异步电路同步化的问题。亚稳态是指触发器无法在某个规定的时间段内到达一个可以确认的状态。使用两级触发器来使异步电路同步化的电路其实叫做“一位同步器”,他只能用来对一位异步信号进行同步。两级触发器可防止亚稳态传播的原理:假设第一级触发器的输入不满足其建立保持时间,它在第一个脉冲沿到来后输出的数据就为亚稳态,那么在下一个脉冲沿到来之前,其输出的亚稳态数据在一段恢复时间后必须稳定下来,而且稳定的数据必须满足第二级触发器的建立时间,如果都满足了,在下一个脉冲沿到来时,第二级触发器将不会出现亚稳态,因为其输入端的数据满足其建立保持时间。同步器有效的条件:第一级触发器进入亚稳态后的恢复时间+ 第二级触发器的建立时间< = 时钟周期。

南邮嵌入式系统B实验报告2016年度-2017年度-2

_* 南京邮电大学通信学院 实验报告 实验名称:基于ADS开发环境的程序设计 嵌入式Linux交叉开发环境的建立 嵌入式Linux环境下的程序设计 多线程程序设计 课程名称嵌入式系统B 班级学号 姓名 开课学期2016/2017学年第2学期

实验一基于ADS开发环境的程序设计 一、实验目的 1、学习ADS开发环境的使用; 2、学习和掌握ADS环境下的汇编语言及C语言程序设计; 3、学习和掌握汇编语言及C语言的混合编程方法。 二、实验内容 1、编写和调试汇编语言程序; 2、编写和调试C语言程序; 3、编写和调试汇编语言及C语言的混合程序; 三、实验过程与结果 1、寄存器R0和R1中有两个正整数,求这两个数的最大公约数,结果保存在R3中。 代码1:使用C内嵌汇编 #include int find_gcd(int x,int y) { int gcdnum; __asm { MOV r0, x MOV r1, y LOOP: CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE LOOP MOV r3, r0 MOV gcdnum,r3 //stop // B stop // END } return gcdnum; } int main() { int a; a = find_gcd(18,9);

printf("gcdnum:%d\n",a); return 0; } 代码2:使用纯汇编语言 AREA example1,CODE,readonly ENTRY MOV r0, #4 MOV r1, #9 start CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE start MOV r3, r0 stop B stop END 2、寄存器R0 、R1和R2中有三个正整数,求出其中最大的数,并将其保存在R3中。 代码1:使用纯汇编语言 AREA examp,CODE,READONL Y ENTRY MOV R0,#10 MOV R1,#30 MOV R2,#20 Start CMP R0,R1 BLE lbl_a CMP R0,R2 MOVGT R3,R0 MOVLE R3,R2 B lbl_b lbl_a CMP R1,R2 MOVGT R3,R1 MOVLE R3,R2 lbl_b B . END 代码2:使用C内嵌汇编语言 #include int find_maxnum(int a,int b,int c)

北京邮电大学数字电路实验报告

北京邮电大学 数字电路与逻辑设计实验 实验报告 实验名称:QuartusII原理图输入 法设计与实现 学院:北京邮电大学 班级: 姓名: 学号:

一.实验名称和实验任务要求 实验名称:QuartusII原理图输入法设计与实现 实验目的:⑴熟悉用QuartusII原理图输入法进行电路设计和仿真。 ⑵掌握QuartusII图形模块单元的生成与调用; ⑶熟悉实验板的使用。 实验任务要求:⑴掌握QuartusII的基础上,利用QuartusII用逻辑 门设计实现一个半加器,生成新的半加器图像模 块。 ⑵用实验内容(1)中生成的半加器模块以及逻辑门 实现一个全加器,仿真验证其功能,并能下载到实 验板上进行测试,要求用拨码开关设定输入信号, 发光二级管显示输出信号。 ⑶用3线—8线译码器(74L138)和逻辑门实现要求 的函数:CBA F+ C + =,仿真验证其 + B C B A A A B C 功能,,并能下载到实验板上进行测试,要求用拨 码开关设定输入信号,发光二级管显示输出信号。二.设计思路和过程 半加器的设计实现过程:⑴半加器的应有两个输入值,两个输出值。 a表示加数,b表示被加数,s表示半加和, co表示向高位的进位。

⑵由数字电路与逻辑设计理论知识可知 b a s ⊕=;b a co ?= 选择两个逻辑门:异或门和与门。a,b 为异 或门和与门的输入,S 为异或门的输出,C 为与门的输出。 (3)利用QuartusII 仿真实现其逻辑功能, 并生成新的半加器图形模块单元。 (4)下载到电路板,并检验是否正确。 全加器的设计实现过程:⑴全加器可以由两个半加器和一个或门构 成。全加器有三个输入值a,b,ci ,两个输 出值s,co :a 为被加数,b 为加数,ci 为低 位向高位的进位。 ⑵全加器的逻辑表达式为: c b a s ⊕⊕= b a ci b a co ?+?⊕=)( ⑶利用全加器的逻辑表达式和半加器的逻 辑功能,实现全加器。 用3线—8线译码器(74L138)和逻辑门设计实现函数 CBA A B C A B C A B C F +++= 设计实现过程:⑴利用QuartusII 选择译码器(74L138)的图形模块

电路设计实验报告

电子技术课程设计 题目: 班级: 姓名: 合作者:

数字电子钟计时系统 一、设计要求 用中、小规模集成电路设计一台能显示时、分、秒的数字电子钟,基本要求如下: 1、采用LED显示累计时间“时”、“分”、“秒”。 2、具有校时功能。 二、设计方案 数字电子钟主要由振荡器、分频器、计数器、译码器、显示器等几部分组成,其整体框图为 其中,秒信号发生器为:

由石英晶体发出32768Hz的振荡信号经过分频器,即CD4060——14级串行二进制计数器/分频器和振荡器,输出2Hz 的振荡信号传入D触发器,经过2分频变为秒信号输出。 校时电路为: 当K1开启时,与非门一端为秒信号另一端为高电位,输出即为秒信号秒计数器正常工作,当K1闭合,秒信号输出总为0,实现秒暂停。 当K2/K3开启时,分信号/时信号输入由秒计数器输出信号及高电平决定,所以输出信号即为分信号/时信号,当K2/K3闭合时,秒信号决定分信号/时信号输出,分信号/时信号输出与秒信号频率一致, 以实现分信号/时信号的加速校时。 秒、分计数器——60进制

首先,调节CD4029的使能端,使其为十进制加法计数器。将输入信号脉冲输入第一个 计数器(个位计数器)计十个数之后将,进位输出输给下一个计数器(十位计数器)的进位 输入实现十秒计数。当计数器的Q1,Q2输出均为1时经过与门电路,输出高电平,作为分 脉冲或时脉冲并同时使两计数器置零。 时计数器——24进制 时脉冲 首先,调节CD4029的使能端,使其为十进制加法计数器。将输入信号脉冲输入第一个 计数器(个位计数器)计十个数之后将,进位输出输给下一个计数器(十位计数器)的进位 输入实现十秒计数。当十位计数器Q1和个位计数器Q2输出均为1时经过与门电路,输出 高电平使两计数器置零。 译码显示电路

数字ic设计实验报告

数字集成电路设计 实验报告 实验名称二输入与非门的设计 一.实验目的 a)学习掌握版图设计过程中所需要的仿真软件

b)初步熟悉使用Linux系统 二.实验设备与软件 PC机,RedHat,Candence 三.实验过程 Ⅰ电路原理图设计 1.打开虚拟机VMware Workstation,进入Linux操作系统RedHat。 2.数据准备,将相应的数据文件拷贝至工作环境下,准备开始实验。 3.创建设计库,在设计库里建立一个schematic view,命名为,然后进入电路 图的编辑界面。 4.电路设计 设计一个二输入与非门,插入元器件,选择PDK库(xxxx35dg_XxXx)中的nmos_3p3、 pmos_3p3等器件。形成如下电路图,然后check and save,如下图。 图1.二输入与非门的电路图 5.制作二输入与非门的外观symbol Design->Create Cellview -> From Cellview,在弹出的界面,按ok后出现symbol Generation options,选择端口排放顺序和外观,然后按ok出现symbol编辑界面。按照需 要编辑成想要的符号外观,如下图。保存退出。

图2.与非门外观 6.建立仿真电路图 方法和前面的“建立schemtic view”的方法一样,但在调用单元时除了调用analogL 库中的电压源、(正弦)信号源等之外,将之前完成的二输入与非门调用到电路图中,如下图。 图3.仿真电路图 然后设置激励源电压输出信号为高电平为3.5v,低电平为0的方波信号。 7.启动仿真环境 在ADE中设置仿真器、仿真数据存放路径和工艺库,设置好后选择好要检测的信号在电路中的节点,添加到输出栏中,运行仿真得到仿真结果图。

嵌入式系统综合实验一

实验名称: 姓名: 学号: 装 订 线 P.1 实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:综合实验一dht11和人体感应传感器 实验类型:验证型 同组学生姓名:孙凡原 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 1.掌握字符设备驱动程序的基本结构和开发方法 2.掌握用户空间调用设备驱动的方法 3.掌握用户和内核的交互 二、实验内容和原理 1.编写温湿度传感器DHT11驱动,传输打印温湿度信息 2.编写人体感应传感器驱动,控制LED 灯亮灭 原理: 温湿度传感器DHT11: 1.引脚图 实际使用传感器没有NC 引脚 2.数据采集 a.数据总时序 用户主机发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,DHT11 发 专业:测控技术与仪器 姓名:颜睿 学号:3130103850 日期:2018.4.28 地点:创客空间

装订线送响应信号,送出40bit 的数据,幵触发一次信采集。 b.主机发送起始信号 连接DHT11的DATA引脚的I/O口输出低电平,且低电平保持时间不能小于18ms,然后等待DHT11 作出应答信号。 c.检测从机应答信号 DHT11 的DATA 引脚检测到外部信号有低电平时,等待外部信号低电平结束,延迟后DHT11 的DATA引脚处于输出状态,输出80 微秒的低电平作为应答信号,紧接着输出80 微秒的高电平通知外设准备接收数据。 d.接收数据 (1)数据判定规则 位数据“0”的格式为:50 微秒的低电平和26-28 微秒的高电平,位数据“1”的格式为:50 微秒的低电平加70微秒的高电平。 接收数据时可以先等待低电平过去,即等待数据线拉高,再延时60us,因为60us大于28us且小于70us,再检测此时数据线是否为高,如果为高,则数据判定为1,否则为0。

数字秒表的设计与实现实验报告

电子科技大学《数字秒表课程设计》 姓名: xxx 学号: 学院: 指导老师:xx

摘要 EDA技术作为电子工程领域的一门新技术,极大的提高了电子系统设计的效率和可靠性。文中介绍了一种基于FPGA在ISE10.1软件下利用VHDL语言结合硬件电路来实现数字秒表的功能的设计方法。采用VHDL硬件描述语言,运用ModelSim等EDA仿真工具。该设计具有外围电路少、集成度高、可靠性强等优点。通过数码管驱动电路动态显示计时结果。给出部分模块的VHDL源程序和仿真结果,仿真结果表明该设计方案的正确,展示了VHDL语言的强大功能和优秀特性。 关键词:FPGA, VHDL, EDA, 数字秒表

目录 第一章引言 (4) 第二章设计背景 (5) 2.1 方案设计 (5) 2.2 系统总体框图 (5) 2.3 -FPGA实验板 (5) 2.4 系统功能要求 (6) 2.5 开发软件 (6) 2.5.1 ISE10.1简介 (6) 2.5.2 ModelSim简介 (6) 2.6 VHDL语言简介 (7) 第三章模块设计 (8) 3.1 分频器 (8) 3.2 计数器 (8) 3.3 数据锁存器 (9) 3.4 控制器 (9) 3.5 扫描控制电路 (10) 3.6 按键消抖电路 (11) 第四章总体设计 (12) 第五章结论 (13) 附录 (14)

第一章引言 数字集成电路作为当今信息时代的基石,不仅在信息处理、工业控制等生产领域得到普及应用,并且在人们的日常生活中也是随处可见,极大的改变了人们的生活方式。面对如此巨大的市场,要求数字集成电路的设计周期尽可能短、实验成本尽可能低,最好能在实验室直接验证设计的准确性和可行性,因而出现了现场可编程逻辑门阵列FPGA。对于芯片设计而言,FPGA的易用性不仅使得设计更加简单、快捷,并且节省了反复流片验证的巨额成本。对于某些小批量应用的场合,甚至可以直接利用FPGA实现,无需再去订制专门的数字芯片。文中着重介绍了一种基于FPGA利用VHDL硬件描述语言的数字秒表设计方法,在设计过程中使用基于VHDL的EDA工具ModelSim对各个模块仿真验证,并给出了完整的源程序和仿真结果。

cmos模拟集成电路设计实验报告

北京邮电大学 实验报告 实验题目:cmos模拟集成电路实验 姓名:何明枢 班级:2013211207 班内序号:19 学号:2013211007 指导老师:韩可 日期:2016 年 1 月16 日星期六

目录 实验一:共源级放大器性能分析 (1) 一、实验目的 (1) 二、实验内容 (1) 三、实验结果 (1) 四、实验结果分析 (3) 实验二:差分放大器设计 (4) 一、实验目的 (4) 二、实验要求 (4) 三、实验原理 (4) 四、实验结果 (5) 五、思考题 (6) 实验三:电流源负载差分放大器设计 (7) 一、实验目的 (7) 二、实验内容 (7) 三、差分放大器的设计方法 (7) 四、实验原理 (7) 五、实验结果 (9) 六、实验分析 (10) 实验五:共源共栅电流镜设计 (11) 一、实验目的 (11) 二、实验题目及要求 (11) 三、实验内容 (11) 四、实验原理 (11) 五、实验结果 (14) 六、电路工作状态分析 (15) 实验六:两级运算放大器设计 (17) 一、实验目的 (17) 二、实验要求 (17) 三、实验内容 (17) 四、实验原理 (21) 五、实验结果 (23) 六、思考题 (24) 七、实验结果分析 (24) 实验总结与体会 (26) 一、实验中遇到的的问题 (26) 二、实验体会 (26) 三、对课程的一些建议 (27)

实验一:共源级放大器性能分析 一、实验目的 1、掌握synopsys软件启动和电路原理图(schematic)设计输入方法; 2、掌握使用synopsys电路仿真软件custom designer对原理图进行电路特性仿真; 3、输入共源级放大器电路并对其进行DC、AC分析,绘制曲线; 4、深入理解共源级放大器的工作原理以及mos管参数的改变对放大器性能的影响 二、实验内容 1、启动synopsys,建立库及Cellview文件。 2、输入共源级放大器电路图。 3、设置仿真环境。 4、仿真并查看仿真结果,绘制曲线。 三、实验结果 1、实验电路图

集成电路设计实验2

集成电路设计实验报告 院别:电信学院专业:电子科学与技术 班级:电子姓名:学号:组序: 实验(二)题目名称:CMOS反相器的版图设计(PMOS、NMOS) 成绩:教师签名:批改时间: 一、实验目的: 在集成电路设计当中,集成电路设计软件的介入大大的缩短了开发周期,减小了设计风险,使得我们在设计的时候可以发现并改正电路设计上的绝大多数bug。所以说学习设计软件已经成为集成电路设计工程师的必修课。而Ledit软件以其良好的人机操作界面,以及强大的设计规则检查能力而在集成电路的设计当中充当了很重要的角色。在此次试验当中我们需要独立完成CMOS反相器的版图设计,规则检查,以及排除错误工作。从而达到比较熟练的掌握Ledit 的基本功能已经操作方法。 二、实验要求: 如将设计好的电路制成实际使用的集成块,就必须利用版图工具将设计的电路采用标准工艺文件转换成可以制造的版图。然后再将版图提交给集成电路制造厂家(foundry),完成最后的集成块制造,所以画版图的本质就是画电路原理图。 在画版图时,首先要明白工艺文件的含义,每一种工艺文件代表一条工艺线所采用的光刻尺寸,以及前后各个工序等等;其次要懂得所使用的工具步骤及各个菜单及菜单栏的内容,以便熟练使用该软件;最后对所画版图进行验证,确保不发生错误。 此外,还必须了解所使用的版图设计法则,对于不同的工艺尺寸其法则有所不同,这就要求设计者在应用该软件时,必须熟悉相应的设计法则,为完成正确的版图做准备。该实验原理是画常见的CMOS反相器,画版图时要求熟悉CMOS反相器的工艺过程及设计法则。

三、实验方法: 首先在实验一的基础上进一步熟悉L-EDIT版图设计软件的工具及工艺库,比较熟练地掌握该软件画版图的方法。以CMOS反相器为例,在前面画的PMOS、NMOS 的基础上,通过调用将他们组合到一起,再完成整个CMOS反相器的设计,设计完成后运用该软件的设计规则对所画的版图进行DRC验证,并修改不正确的部分,直至设计无错误。 四、实验内容: 1.运行L-Edit程序时,L-Edit会自动将工作文件命名为Layout1.tdb并显示在窗口的标题栏上。 2.另存为新文件:选择执行File/Save As子命令,将自己的工程文件保存在C:\DocumentsandSettings\Administrator\桌面\实验相关\Tanner\Ledit90\Samples\SPR\exam ple1中,在“文件名”文本框中输入新文件名称:NOMS。保存到example目录的原因是防止后面做剖视图的时候没法进行。 3.替换设置信息:选择执行File/Replace Setup子命令打开对话框,单击“From File”栏填充框的右侧的Browser按钮,选择C:\Documents and Settings\Administrator\桌面\实验相关\Tanner\Ledit90\Samples\SPR\example1\lights.tdb文件,如图所示,单击OK就将lights.tdb文件中的格点、图层、以及设计规则等设定应用在当前工程中。 4.画出PMOS:按照实验一的步骤,设计PMOS的版图。并进行相应的规则检查,直到没有错误。画好后如图所示:

数字ic设计经验分享

摘要:随着数字电路设计的规模以及复杂程度的提高,对其进行设计所花费的时间和费用也随之而提高。根据近年来的统计,对数字系统进行设计所花的时间占到了整个研发过程的60%以上。所以减少设计所花费的实践成本是当前数字电路设计研发的关键,这就必须在设计的方法上有所突破。 关键词:数字系统;IC;设计 一、数字IC设计方法学 在目前CI设计中,基于时序驱动的数字CI设计方法、基于正复用的数字CI设计方法、基于集成平台进行系统级数字CI设计方法是当今数字CI设计比较流行的3种主要设计方法,其中基于正复用的数字CI设计方法是有效提高CI设计的关键技术。它能解决当今芯片设计业所面临的一系列挑战:缩短设计周期,提供性能更好、速度更快、成本更加低廉的数字IC芯片。 基于时序驱动的设计方法,无论是HDL描述还是原理图设计,特征都在于以时序优化为目标的着眼于门级电路结构设计,用全新的电路来实现系统功能;这种方法主要适用于完成小规模ASIC的设计。对于规模较大的系统级电路,即使团队合作,要想始终从门级结构去实现优化设计,也很难保证设计周期短、上市时间快的要求。 基于PI复用的数字CI设计方法,可以满足芯片规模要求越来越大,设计周期要求越来越短的要求,其特征是CI设计中的正功能模块的复用和组合。采用这种方法设计数字CI,数字CI包含了各种正模块的复用,数字CI的开发可分为模块开发和系统集成配合完成。对正复用技术关注的焦点是,如何进行系统功能的结构划分,如何定义片上总线进行模块互连,应该选择那些功能模块,在定义各个功能模块时如何考虑尽可能多地利用现有正资源而不是重新开发,在功能模块设计时考虑怎样定义才能有利于以后的正复用,如何进行系统验证等。 基于PI复用的数字CI的设计方法,其主要特征是模块的功能组装,其技术关键在于如下三个方面:一是开发可复用的正软核、硬核;二是怎样做好IP复用,进行功能组装,以满足目标CI的需要;三是怎样验证完成功能组装的数字CI是否满足规格定义的功能和时序。 二、典型的数字IC开发流程 典型的数字CI开发流程主要步骤包含如下24方面的内容: (1)确定IC规格并做好总体方案设计。 (2)RTL代码编写及准备etshtnehc代码。 (3)对于包含存储单元的设计,在RTL代码编写中插入BIST(内建自我测试)电路。 (4)功能仿真以验证设计的功能正确。 (5)完成设计综合,生成门级网表。 (6)完成DFT(可测试设计)设计。 (7)在综合工具下完成模块级的静态时序分析及处理。 (8)形式验证。对比综合网表实现的功能与TRL级描述是否一致。 (9)对整个设计进行Pre一layout静态时序分析。 (10)把综合时的时间约束传递给版图工具。 (11)采样时序驱动的策略进行初始化nooprlna。内容包括单元分布,生成时钟树 (12)把时钟树送给综合工具并插入到初始综合网表。 (13)形式验证。对比插入时钟树综合网表实现的功能与初始综合网表是否一致。 (14)在步骤(11)准布线后提取估计的延迟信息。 (15)把步骤(14)提取出来的延迟信息反标给综合工具和静态时序分析工具。 (16)静态时序分析。利用准布线后提取出来的估计延时信息。

嵌入式系统设计实验四

实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:实验四C 语言裸机编程 实验类型:验证型 同组学生姓名:__孙凡原_______ 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 ? 初步了解C 运行库 ? 初步了解gcc arm 常用编译选项 ? 了解ARM 中断处理过程 二、实验内容和原理 ? 编写C 裸机代码实现跑马灯,通过控制Timer 中断实现 ? 通过控制uart 串口进行调试打印 三、主要仪器设备 树莓派、PC 机 四、操作方法和实验步骤 1 通过定时器产生中断,控制gpio ,实现跑马灯 2 控制uart 控制器,产生调试打印。 五、实验数据记录和处理 1.主程序arm.c 注释 //包含头文件 #include #include #include #include "rpi-aux.h" #include "rpi-armtimer.h" #include "rpi-gpio.h" #include "rpi-interrupts.h" #include "rpi-systimer.h" #include "rpi-led.h" /** Main function - we'll never return from here */ void kernel_main( unsigned int r0, unsigned int r1, unsigned int atags ) 专业:测控技术与仪器 姓名:颜睿 学号:3130103850 日期:2018.3.28 地点:创客空间

数字系统设计软件实验报告

实验一QuartusⅡ9.1软件的使用 一、实验目的: 1、通过实现书上的例子,掌握QUARTUSII9.1软件的使用; 2、编程实现3-8译码电路以掌握VHDL组合逻辑的设计以及QUARTUSII9.1软件的使用。 二、实验流程: 1、仔细阅读书上的操作指南,学会在QuartusⅡ9.1中创建新的工程,创建过程如下所示: 1)、建立新设计项目: ①启动QuartusⅡ9.1软件,在软件的管理器窗口选File下拉菜单,即File→New Project Wizard,则出现新建工程向导窗口。如下所示: ②点击Next按钮,将弹出新建工程设置窗口,如下图所示。在新建工程设置窗口中设置好工程的存放路径、工程名称等。

③点击Next进入添加文件窗口,如下图。由于尚未创建文件,跳过该步骤。 ④点击Next按钮,进入选择目标芯片窗口。在这里我们选择Cyclone系列的EP1C6Q240C8,如下图:

⑤点击Next按钮,进入EDA工具设置窗口,通常选择默认的“None”,表示选择QuartusⅡ自带的仿真器和综合器。如下图: ⑥点击Next按钮,弹出New Project Wizard概要对话框,在这个窗口中列出了所有前面设置的结果。若有错误则点击Back回去修改,否则点击Finish结束,即完成新工程的设定工作。如下图:

2)、文本设计输入: ①在QuartusⅡ主界面菜单栏中选择File下拉菜单中的New,弹出新建设计文件窗口,选择VHDL File项,点击OK按钮即可打开VHDL文本编辑窗口,其默认文件名为“Vhdl.vhd”。 ②出现文本编辑窗口后,我们可以直接在空白界面中键入所设计的VHDL文本。这时我们将书本中的程序输入到文本编辑环境中去。程序如下: library IEEE; use IEEE.std_logic_1164.all; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity count10 is port(clk,load,en:in std_logic; data_in:in std_logic_vector(3 downto 0); seg:out std_logic_vector(6 downto 0)); end count10; architecture beha of count10 is signal qout:std_logic_vector(3 downto 0); signal q_temp:std_logic_vector(3 downto 0); begin process(clk,load) begin

相关文档
最新文档