摘 要:现代开发工具Proteus为研发数字电子功能部件提供了高效途径。以数字电子技术开发数字部件的生命周期为依据,对数字计算器的功能予以分析,提出对数字电子部件的设计方案,并论述模块的详细设计和实现过程。
关键词:Proteus;数字电子技术;数字计算器
中图分类号:TP319
文献标识码:A 文章编号:1672-7800(2015)005-0090-02
作者简介:李嘉诚(1994—),男,湖北武汉人,南昌大学软件学院学生,研究方向为软件工程、嵌入式系统。
0 引言
数字电子技术是深入研究计算机、手机等数字系统的基础,其经典的概念、理论,是深入掌握数字部件的基石。数字电子技术中的逻辑概念、不同规模的组合电路和时序电路以及基于不同芯片实现计算器等功能部件,对于数字电子技术的深入理解和有效运用具有极大作用。
将数字电子技术的经典概念和方法,用现代设计开发工具予以实现,极大提高了各类数字逻辑部件和系统的设计与开发效能。Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,能实现从概念到产品的完整设计。电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,是设计和实现数字电路功能部件的极好工具。本文以数字计算器为例详述其在PCB平台上的设计与实现。
1 计算器功能简述
1.1 计算器逻辑功能
计算器的工作模式有3种:加法、减法和乘法。用两位逻辑变量S1S0来控制,A和B表示参加运算的4位二进制数。对应关系如表1所示。
1.2 计算器算法
计算器的加、减和乘都是用加法器实现的。计算器加法可以直接用一片4位二进制加法器芯片74LS283实现2个4位二进制数A+B的运算。
计算器减法利用补码运算特点,实现加B的反码,再基于74LS283芯片的输入端Cin=1实现2个4位二进制数A-B的运算。
计算器的乘法利用加和向低位移动,迭代4次,串行完成4位A×B的乘法运算。
1.3 计算器功能模块
该数字计算器运算部分主要由一片74LS283加法芯片实现。其输入端是被加数和加数,输出端是二者的和。所以必须加上相关电路模块,将加法、减法和乘法的输入端转换成加法芯片的被加数和加数。该部分也叫函数发生器电路,它由2个多路选择器、求反电路、相与电路、数据输入寄存器和电路控制部分等组成,各模块功能如表2所示,其模块结构如图1所示。
2 模块设计
该计算器功能模块中比较复杂的是2个多路选择器、2片联动B口输入。
2.1 多路选择器设计
2个多路选择器的输出是加法器的两组输入。图1中的“3SELECT1”依据控制信号S1S0输出B、-B,或者部分和,分别表示加法、减法和乘法的加数、减数和乘法的中间值,用2片74LS153实现。“2SELECT 1”依据控制信号S1S0输出A或者0,分别表示加法、减法和乘法的被加数、被减数和乘法的中间输入值。
2.2 2片联动B口输入设计
2片联动B口输入由图1中的“Sum (HITCH4)”和“B (LOW4)”组成。前者是乘积的高四位寄存器,可以和B (LOW4)联动向低位移动,仅用于乘法运算。后者是乘积的低四位寄存器,在乘法运算中既为初值B,也是参与联动,向低位移动。在加法和减法中,是初值B。 计算器的3种模式,用S1S0编码加以区别。在乘法模式下,为达到4次迭代加和移位的循环,设计时可以采用两种方法实现:一种是硬联组合逻辑电路,实时提供控制信号,控制2片联动电路;另一种是采用微程序控制模式,按时序将依次需要的控制信号,顺序存储到存储器。在运行时,再依次读出,用于控制2片联动电路。
3 基于Proteus的数字计算器实现
基于图1在Proteus平台上实现各模块,如表3所示。
3.1 数字计算器操作
依据表1设计,当S1S0为00时,自动实现A+B,当S1S0为01时,自动实现A-B。其操作过程如表4所示。
3.2 简化设计
这些控制信息可以用存储器存储,按时序提取出来控制相应功能部件,实现乘积运算,这属于微程序控制方式实现控制。将表4予以整理,得到表5。
依据表5,得出数字电子技术中的逻辑函数表示,即可推导出表达式,按表达式实现电路,再按步骤操作电路,实现控制,这属于硬连线方式控制模式。表达式如式(1):
SW1=1SW7=Q3+Q2+Q1+Q0(1)SW8=SW7+Q0SW0=SW7+Q0
依据表达式组(1),电路在时钟控制下,依次实现以上乘法。也可以将表5中的控制信息组合存储器起来,用微程序方法产生相关控制信号。
4 结语
数字电子技术是工科类专业基础技术,深入理解其基本概念,在现代工具平台上,掌握和熟练运用组合、时序和各类芯片及其设计思路等相关知识,对于进一步掌握相关技术具有极大影响。借鉴数字计算器的设计和实现过程,基于Proteus软件平台,可以进一步设计和实现数字时钟、抢答器等数字部件。
参考文献:
[1] 徐慧民,安德宁.数字电路与逻辑设计[M].北京:人民邮电出版社,2009.
[2] DAVID MONEY HARRIS,SARAH L HARRIS.数字设计和计算机体系结构[M].北京:机械工业出版社,2014.
[3] RANDAL E,BRYANT DAVID R,OHALLARON.深入理解计算机系统[M].北京:机械工业出版社,2011.
[4] 朱清慧,张凤蕊,翟天嵩.Proteus教程:电子线路设计、制版与仿真[M].北京:清华大学出版社,2008.
(责任编辑:孙 娟)