第一篇:电子技术实验报告—实验10集成运算放大器构成的电压比较器
电子技术实验报告
实 验 名 称: 集成运算放大器构成的电压比较器 系 别: 班 号: 实验者姓名:
学 号:
实 验 日 期:
实验报告完成日期:
目录
一、实验目的........................................................3
二、实验原理........................................................3
1.集成运算放大器构成的单限电压比较器...........................3 2.集成运算放大器构成的施密特电压比较器.........................4
三、实验仪器........................................................4
四、实验内容........................................................5
1.单限电压比较器...............................................5 2.施密特电压比较器............................................10
五、实验小结与疑问.................................................1
3一、实验目的
1.掌握电压比较器的模型及工作原理 2.掌握电压比较器的应用
二、实验原理
电压比较器主要用于信号幅度检测——鉴幅器;根据输入信号幅度决定输出信号为高电平或低电平;或波形变换;将缓慢变化的输入信号转换为边沿陡峭的矩形波信号。常用的电压比较器为:单限电压比较器;施密特电压比较器窗口电压比较器;台阶电压比较器。下面以集成运放为例,说明构成各种电压比较器的原理。
1.集成运算放大器构成的单限电压比较器
集成运算放大器构成的单限电压比较器电路如图1(a)所示。由于理想集成运放在开环应用时,AV→∞、Ri→∞、Ro→0;则当Vi
2.集成运算放大器构成的施密特电压比较器
集成运算放大器构成的施密特电压比较器电路如图2(a)所示。当VO=VOH时,V+1=VT+=R当VO=VOL时,V+2=VT−=R回差电平:△VT=VT+−VT−
R
22+R
3VOH+RVOL+R
R3
2+R3
ER;VT+称为上触发电平;
R2
2+R3
R3
2+R3
ER;VT-称为下触发电平;
当Vi从足够低往上升,若Vi>VT+时,则Vo由VOH翻转为VOL; 当Vi从足够高往下降,若Vi 三、实验仪器 1.示波器1台 2.函数信号发生器1台 3.数字万用表1台 4.多功能电路实验箱1台 四、实验内容 1.单限电压比较器 (1)按图1(a)搭接电路,其中R1=R2=10kΩ,ER由实验箱提供; (2)观察图1(a)电路的电压传输特性曲线; 电压传输特性曲线的测量方法:用缓慢变化信号(正弦、三角)作Vi(Vip-p=15V、f=200Hz),将Vi=接示波器X(CH1)输入,VO接示波器Y(CH2)输入,令示波器工作在外扫描方式(X-Y);观察电压传输特性曲线。 ①实验观察到的波形图: ②(X-Y): ③仿真观察到的波形图: 可以看到波形中间出现了失真,推测是输入电压过大,超过了电路的允许范围,将Vip-p改为12V后,波形正常。 (3)用直流电压表测量参考电压ER值,调节RW,观察特性曲线的转换电平VT随ER的变化情况;当VT=1V时,记下ER的值,定量记录电压传输特性曲线; 当VT=1.00000V时,ER=1.1506V; (4)当VT=1V时,令示波器工作在内扫描方式(V~t),同时观察并画出Vi、VO波形;根据电路工作原理,用示波器测量Vi的转换电平VT值;改变RW,观察ER减小时,VO正脉宽tu+的变化情况;当ER=0时,观察VO波形,说明为什么当Vi直流成分为0时,VO为对称方波? ①实验观察到的波形图: ②画出的波形: 当ER减小时,正脉冲的宽度逐渐变小。 当ER=0时,VT=0,此时Vi>VT和Vi (1)按图2(a)搭接电路,其中R1=R3=10kΩ,R2为10kΩ电位器,ER由实验箱提供; (2)用电压传输特性曲线测量方法观察图2(a)电路的电压传输特性曲线; ①实验观察到的波形图: ②仿真观察到的波形图(vip-p=13V): (3)调节R2电位器,观察ΔVT变化情况;当ΔVT=4V,调节RW,用直流电压表测量ER的值,当ER=2V,定量记录电压传输特性曲线; ΔVT=4.02500V,ER=2.002V (4)调节RW,观察电压传输特性曲线的变化情况,当ER=0V时,测量VT-、VT+的值; 当ER=0.002V时,VT+=1.99500V,VT-=-2.06500V(5)令示波器工作在内扫描方式,同时观察并画出Vi、VO波形;根据电路工作原理,用示波器测量Vi的转换电平VT-、VT+的值;改变RW,观察ER减小时,Vo的正脉宽的变化情况。 ①实验观察到的波形: ②画出的波形: ER减小时,Vo的正脉宽变小。 五、实验小结与疑问 实验小结: 1.在做运放实验时,接线需要小心谨慎,特别是对于偏置电压的接入,一定要判断清楚恒压源的正负极才能接入。否则一旦出现线路接错,很容易就会烧掉运放。 2.对于集成运放基本运算电路实验,在做实验前先进行软件仿真了解其基本特性是一个很好的方法。这样能够使得自己在自己动手做实验对于实验结果有一定的预期,不但可以提高做实验的效率,而且也是减小实验失误的有效方法之一。3.实验前应检验电路元器件,包括是否损坏,以及标称值与实际值的差异。我们不能轻易相信电阻的色环等标称值,有些元器件由于长时间放置,老化,或者本身就具有较大的误差,标称值与实际值有很大的差别,元器件的实际值在实验前均需重新测定,否则直接做实验很容易出现较大误差甚至错误,而且不利于实验矫正。 4.施密特电压比较器的特点 (1)有两个阈值电压,运放工作非线性(2)迟滞比较器抗干扰能力强 疑问: 做仿真时,当输入电压峰峰值调到15V时,波形就会不正确,而真正做实验时,又没有这个问题,为什么呢? 本页面为作品封面,下载文档后可自由编辑删除! 实 实习习报 报 告 告 单位: 姓名: 时间: 一、实验目的 1.了解电压比较器与运算放大器的性能区别; 2.掌握电压比较器的结构及特点; 3.掌握电压比较器电压传输特性的测试方法; 4.学习比较器在电路设计中的应用。 二、实验数据记录、处理与分析 ① ① 【 【 过零电压比较器电路】 】 过零电压比较器是电压比较电路的基本结构,它可将交流信号转化为同频率的双极性矩形波。常用于测量正弦波的频率相位等。当输入电压 电压比较器 时间6月6日 实验目的: 1)熟悉使用仿真软件; 2)进一步了解运放的特性。 实验器材: 装有Multisim仿真软件的计算机一台。实验原理: 通过一个开环状态的运放将其正、反向输入端作为电压比较端,当同相端电压高于反相端时,输出电压为正最大值,当同相端电压低于反相端电压时,输出负最大值,下面通过仿真实验来实现此功能,实验步骤: 1)打开仿真软件将以下电路连接好; 2)给运放输入正玄波后启动仿真; 3)打开示波器调节各值后达到以下两个波形 (红色为输入,蓝色为输出)实验结论(结果): 通过以上实验证明,理论值成立,电路将输入的正玄波变成了输出的正最大值和负最大值。 武汉大学 电工电子实验教学示范中心 集成电路设计实验实验报告 电子信息 学院 电子信息工程 专业 XXXX 年 X 月 XX 日 实验名称 8 位累加器 VCS CLI 仿真验证(实验三)指导教师 姓名 年级 级 学号 成绩 一、预习部分 1. 实验目的(预期成果) 2. 实验基本原理(概要) 3. 主要仪器设备(实验条件,含必要的元器件、工具) 一、实验目的 掌握集成电路计算机设计工具验证仿真工具 VCS(Verilog Compiled Simulator)的基本操作命令行命令,从集成电路 Verilog 设计到 VCS 验证的基本流程;掌握利用命令行来实现对 Verilog 设计的调试与分析。 二、实验基本原理 1.VCS 是编译型 Verilog 模拟器,它完全支持 OVI 标准的 cVerilog HDL 语言、PLI 和 SDF。VCS 首先会读入 Verilg 的源文件,检查语法及语言结构错误,即Compiler;然后结合测试模块,进行时序的仿真,即 Simulator;最后根据时序图进行调试,修改源程序,即 Debugger。 2.本次实验中需要用到的一些基本命令有: >ls-显示文件名 >cd-转换目录 >cd/../../-退出两层 >more-以分页方式查看文件内容 >pwd-显示当前路径 > vcs source_file [complie_time_options] 编译 verilog 文件成为一个可执行的二进制文件,source_file 指所有用 Verilog 编写的待测文件。 >simv [run_time_options] 运行可执行文件 > vcs source_files –R 单命令行方式,-R 表示编译后立即执行。 3.VCS 调试的基本方式 a.Verilog SystemTask calls 主要是将一些函数加到测试模块中,从而实现相应的操作。 b.CLI 调试,实际上是用命令行的方式来进行调试。 c.VirSim 进行仿真、验证与调试。 4.8 位累加器逻辑框图 图1 5.实验设备与软件平台 UNIX 服务器,unix 工作站及 Synopsys VCS。 二、实验操作部分 1. 实验数据、表格及数据处理(综合结果概要、仿真波形图、时序分析结果、signalTAPII 结果等) 2. 实验操作过程(可用图表示) 3. 结论 三、实验操作过程 1.VCS 的编译 此步骤实验内容参照实验讲义进行,略过。 2.利用 Verilog SystemTask Calls 进行调试。 (1)在控制台下键入:cd../../lab2/parta 进入 lab2 的 parta 部分, shell> vcs –f adder.f –R,进行 8 位的加法运算,但会出现如下的显示: 图 2 这说明在源代码中存在错误,接下来要做的就是把错误找出来。 (2)shell>vi addertb.v 进入 vi 编辑器对 addertb.v 文件修改。首先对 add8 的模块进行检测,如图所示在相应部分添加画圈部分代码。 图 3 其中 add8(u1)是指 8 位加法器的低四位相加模块。加入后保存文件,shell> vcs –f adder.f –R 重新编译文件,会有如下的显示: 图 4 (3)因此在 add8(u1)中存在错误。为了进一步的检测,如图所示在相应部分继续添加画圈部分代码。 图 5 为了设置断点将$finish 改为$stop,这样每当发现一个错误的时候,结果都会由$display 函数显示出来,同时仿真过程会停在出错的地方。shell> vcs –f adder.f –R 重新编译文件,VCS 在遇到$stop 后会停止仿真,同时进入 CLI 的调试阶段。 图 6(4)可以看到在低位的相加上结果有误。为了确定最终的错误位置还要继续下一组数据的相加,在 CL 下多次输入”.”,最后可确定问题出在 fa 模块上。 图 7(5)Cl> quit,退出 CLI 模式。Shell>vi fa.v 进入 vi 编辑器对 fa.v 文件修改,问题出在数据相加时没有将 cin 位加上。 图 8 (6)修改后重新编译,然后运行程序。shell> simv +monitoroff,此时可以看到无错误提示,即运算正确。 图 9(7)利用+monitoroff 可以在运行程序时跳过所有的$monitor 命令,从而加快运行速度。 图 10 3.利用 VCS CLI 进行调试(1)> cd../partb 进入 lab2 的 partb。再一次运行程序,看是否运行正确。shell> vcs –f adder.f –R,得到如下结果: 图 11 为了可以解决出现的问题,这时需要在 addertb.v 中设置断点,把$finish 改为$stop,如下: 图 12 (2)接着编译并启动 CLI 界面。shell> vcs –f adder.f +cli+3 –R –s –l sim.log,-s 可以启动 CLI 并且将仿真时间停在 0 时刻,-l 可以将所写过的命令记录下来。cli_0> ?可以显示所在的位置,即位于模块的哪一层。cli_1> scope,cli_2>.程序开始运行,有如下的显示。cli_3> show variables,会显示所有的变量。cli_4> print a_test a_test b_test cin_test cout_test sum_test 可显示所有的变量值。 图 13 (3)可见 sum_test 的结果是不正确的,cli_5>scope u1 可以进入 u1(add8)模块。cli_6> show variables。cli_7> alias praves print a b sum sum_0 sum_1 cin c4。为了方便可以利用 alias 命令新设立一个命令 praves,用来显示变量值,cli_8> prvaves。 图 14 (4)可见问题出在高四位,为了确定错误需要检查源文件,另外开一个 UNIX 的控制台。在 add8.v 中可以看到,在对结果的高四位以及输出进位的赋值均出现了错误。 回到 CLI 环境下,进行如下的操作:cli_9> print zero_add_cin one_add_cin,可得: zero_add_cin: 0 one_add_cin:1。对上述变量强制赋值,如下: cli_10> force zero_add_cin = 1 cli_11> force one_add_cin =0 图 15 (5)运用设定好的命令 praves 来显示变量值,cli_12> pravas zero_add_cin one_add_cin,输出显示命令错误。cli_13> tbreak #10,cli_14>.,cli_15> praves, 输出显示命令错误。cli_16> print a_test a_test b_test cin_test cout_test sum_test,如下所示: 图 16 结果正确,现在 add8 模块中设置断点,以变量 c4 的上升沿位为标志。cli_17> always @posedge u1.c4,cli_18>.可以发现从 60 时刻到 26400 时刻均没有出现错误。cli_19> print a_test a_test b_test cin_test cout_test sum_test,显示变量值: a_test:01 b_test:08 cin_test:0 cout_test:0 sum_test:08 结果正确,但由于仿真运行到断点出就停止了,那么断点后出现的错误就无法检测 到,所以需要去除断点的限制。cli_20> tbreak #1,cli_21>.,cli_22> show break 会显示如图所示断点。 (6)cli_24> delete 2,cli_25>.则运行后成功编译如下图。 图 17(7)可以将上述命令写在一个约束文件(script file)中,然后直接运行。这里已有一个test.s 的文件,下面来看如何运行。 (8)cli_26> $reset,cli_30> source test.s,图 18(9)cli_31> prtb,cli_32>.可以看到运行无误,此时结束仿真,退出 CLI,检查 log 文件,可以看到所有的操作都被记录在文件中。cli_33> $finish。 图 19 图 20(10)shell> more sim.log 可以看到所有命令均被记录,由此也可以完成约束文件的建立。 三、实验效果分析(与预期结果的比较 ,实验中发现的问题。包括仪器设备等使用效果) 四、实验思考题 1. 集成电路从设计到验证的基本流程? 答:集成电路设计的基本流程是:(1)功能设计阶段,(2)设计描述和行为级验证,(3)逻辑综合,(4)门级验证,(5)布局和布线。 验证过程:(1)用 VCS 编译 Verilog 源程序,(2)执行 simv 进行仿真验证,(3)在错误点停下,(4)确定错误并改正(4)编译仿真确认修改是否正确(5)解释结果。 2. VCS 对 verilog 模型进行仿真包括哪两个步骤? 答:VCS 对 verilog 模型进行仿真包括两个步骤:(1)编译 verilog 文件成为一个可执行的二进制文件,命令为:> vcs source_file [complie_time_options];(2)运行可执行文件,>simv [run_time_options] 3. VCS 验证各选项参数的含义? 答:(1)-y lib_dir 在 lib_dir 的路径下的所有文件中寻找未被编译的相关模块,(2)+libext+lib_ext 在 lib_dir 的路径下使用文件的扩展名 lib_ext 来寻找文件,(3)-s 在 0 时刻停止仿真,(4)$stop 采用断点的方式停止仿真,$finish 终止仿真过程,$display 将数据或消息等显示在控制台上,(5)? 显示所在的位置,即位于模块的哪一层,(6)print 显示所有的变量值,(7)scope 进入指定模块。 4. 在 lab1 中,能不能在 adder.f 文件中加入-R? 答:不能。-R 的作用是显示文件及所有子目录,而 adder.f 为自定义格式,没有其他文件或子目录可以显示。 5. 在 lab1 中,是否可以用-v 代替-y?如果可以该怎样进行? 答:在 lab1 中,可以用-v 代替-y,将命令行 shell> vcs addertb.v add8.v –y../../lib +libext+.v –R 改为:shell> vcs addertb.v add8.v –v vcs 因为 partb 文件夹下仅有两个文件:addertb.v,add8.v,其余的模块放在库文件的根目录下。 -v lib_file 在文件 lib_file 中寻找未被编译的相关模块。 -y lib_dir 在 lib_dir 的路径下的所有文件中寻找未被编译的相关模块。 四、源代码(仅记录自己设计的 ,或者针对实验资料修改的部分) module fa(a, b, cin, sum, cout);input a, b, cin;output sum, cout;assign {cout, sum} = a + b+cin;endmodule 教 师 评 语第二篇:电压比较器实验报告
第三篇:电压比较器仿真实验报告
第四篇:集成实验VCS实验报告