资源描述:
《数字电路虚拟实验系统中虚拟器件的设计.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、SOMTPMPUVKNWTXVVYOMZNOPL[PY:9]$^P:_$G‘‘9研究与设计微型电脑应用G‘‘9年第9]卷第_期"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!数字电路虚拟实验系统中虚拟器件的设计!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"姜蕊辉#摘要虚拟实验系统中$虚拟器件的设计是整个系统出波形完全正确%用类似的方法可对其他触发器重新封装%设计的难点和关键所在%本文介绍应用&’()*’+,设计虚拟器件的一些方法和技
2、巧%关键词&’()*’+,-./0.1虚拟器件一2引言我们设计的数字电路虚拟实验系统为数字电路的实验教学开辟了一种新的途径$在该系统中$我们为用户提供了数字电路所需的各种虚拟仪表和器件$如何设计这些虚拟器件是图4&’()*’+,库中?触发器组成的电路及输出波形该系统的关键所在%&’()*’+,是-./0.1提供的一个图形介面仿真工具%近几年$在学术界和工业领域$&’()*’+,己成为在动态系统建模和仿真方面应用得最为广泛的软件包之一345365%&’()*’+,的模块库为用户提供了多种多样的功能模块$这是一笔丰富的资源$用这些基本模块可以设计出许多种
3、类的器件%本文介图6正确的输出波形绍应用&’()*’+,设计和封装7数学电路虚拟实验系统8所需的各种虚拟器件的一些经验和技巧%二2集成电路的设计9:触发器的改装触发器是组成时序逻辑电路的基本单元电路%图;&’()*’+,库中?触发器内部结构&’()*’+,;:<版本为我们提供了一些触发器$包括边沿触发的=2>触发器和?触发器%但用其组成某些电路时$发现其输出波形与理论分析结果及我们用实际集成元件组成的电路的输出波形不相符%例如@用&’()*’+,提供的上升沿触发的?触发器组成图4ABC所示电路$其输出波形如图4ADC$而正确的输出波形应如图6所示%对
4、该?触发器进行剖析$其内部结构如图;所示%由图;可见$其E端与?端直接连通$因此$E端输出为触发信号到达时的?端输入$且该触发器清零信号需在触发信号到达后才有效%而我们平时所用上升沿触发的图F改装后的?触发器内部结构?触发器E端输出的应是触发信号上升沿前一瞬间?端的输入信号$清零信号也不应受时钟信号的控制%G:采用HIJKLMNOPL完成复杂电路的设计我们对该触发器内部结构进行修改$修改后的内部结构许多集成电路的内部电路非常复杂$尽管它们都可以用如图F所示%用修改后的?触发器组成图4ABC所示电路$输#姜蕊辉湖南轻工业高等专科学校讲师长沙F4<<4a
5、Q;RQhijkljlmnopqkrnnsijtpiluvwls5xy(zl5^({
6、
7、x研究与设计微型电脑应用{
8、
9、x年第xy卷第^期!"#$%"&’给我们提供的基本模块组成(但由于电路复杂(设计工作量很大(稍不小心(极易出现设计错误)!*+$&,-".&可以说是!"#$%"&’的精华(熟练地运用!*+$&,-".&使我们可以用/01203语言设计出具有非常复杂内部结构的集成电路(并达到事半功倍的效果)/01203456还为我们提供了一个!*+$&,-".&程序书写模板(它位于-..%7.89:"#$%"&’97%.,’:目录下(文件名为:;$&-
10、#<=5#(这又使得!*+$&,-".&程序的编写工作大为简化)例如>?@2!=@A为A线BC线优先权编码器(其内部电路见图4DCE(显然它可以用门电路拼装而成(但拼装图4?@2!=@A内部结构图起来非常麻烦(采用!*+$&,-".&后可使设计工作大为简化(具体作法如下>F=G改写:;$&-#<=5#文件H修改#I%J&"-"K%"LM!"LM子程序(将语句:"LM:5N$#O$-<$-:PQ:"LM:5N$#J&<$-:PQR改为>:"LM:5N$#O$-<$-:P4R:"LM:5N$#J&<$-:P==R其余语句不变)图]模块?@2!=@A内部封
11、装图S修改#I=O$-<$-:F-(8($G子程序(去掉原程中:T:PDE行(插入下列程序段)^5集成电路某些物理功能的模拟我们所使用的集成电路不仅有着不同的逻辑功能(而且+$&,-".&:T:P#I=O$-<$-:F-(8($G还有不同的物理特性(112电路就有OU门[三态门)我们也UPDQQQ=QRQQ==QRQ=Q=QRQ===QRV可对这些物理特性进行模拟)=QQ=QR=Q==QR==Q=QR====QERKP$FW>XGRF=GOU门的模拟";$F=GYP=ROU门即集电极开路的门电路(必须外接上拉电阻才能正常工作)我们以集电极开路的与非门
12、介绍OU门的模拟):T:PD=====ERM%:M";K%%FKGRH从!"#$%"&’模块库中拖出2._"