1、数字电路实验,哈尔滨工程大学电子电工实验教学中心,数字电路实验,教学目的:通过实验让学生熟练掌握MAX+PLUS ,熟练应用CPLD可编程器件实验箱。着重培养同学们的基本知识和技能,做到理论与实践结合。深化理论课所学的知识。,数字电路实验,第一讲:熟悉PLD实验教学系统的使用和集成门电路的逻辑变换及应用 第二讲:组合逻辑电路设计 第三讲:计数器的设计及应用 第四讲:中规模集成电路的综合应用,数字电路实验,第一讲:熟悉PLD实验教学系统的使用和集成门电路的逻辑变换及应用Altera公司的MAX+PLUS开发系统是一个完全集成化、易学易用的可编程逻辑设计环境。它具有原理图输入、文本输入、波形输入等
2、多种输入方式,利用它所配备的编辑、编译、仿真、综合、芯片编程等功能,可以完成数字电路从设计、检查、模拟到下载的全过程,是EDA设计中不可缺少的一种有用工具。 MAX+PLUS所提供的灵活性和高效性是无可比拟的。,数字电路实验,MAX+PLUS的设计过程分为以下六步: 一、逻辑设计输入:逻辑输入可以采用图形输入、文本输入、和波形输入等方式。其中图形输入法直观、易于学习掌握、便于电路调整,但效率低。文本输入法则设计灵活、功能性强,易于实现复杂的逻辑设计。波形输入法最适合于实现简单的时序和重复的函数。,数字电路实验,二、设计项目的编译 主要完成器件的选择及适配,逻辑的综合及器件的装入,以及延时信息的
3、提取。其目的是检查逻辑设计输入是否有错,并生成可以进行仿真、定时分析及下载到可编程器件的相关文件,如*.cnf *.rpt *.snf *.pof *.sof等,数字电路实验,三、逻辑分配 设计人员根据硬件设备的结构为项目做器件资源的分配,把逻辑分配给器件引脚和逻辑单元,也就是把输入、输出节点(Nodes)分配给器件的引脚。,数字电路实验,四、设计项目的模拟仿真通过时序模拟来验证一个项目的逻辑功能是否达到设计要求,模拟允许把项目在编程到器件之前进行全面检测,以确保他在各种可能的条件下有正确的响应。,数字电路实验,五、器件编程用后仿真确认的配置文件经编程电缆配置CPLD,即用编程文件对可编程器件
4、编程。,数字电路实验,六、器件的功能验证将编程后的器件加入实际激励,进行测试,以检查是否完成预定功能。以上各步如果出现错误,可随时进行设计修改,重复上述过程直到正确为止。,数字电路实验,CPLD可编程教学实验箱是一种能和ALTERA公司的MAX+PLUS可编程器件设计工具软件配套使用的高级硬件仿真工具。既能支持初学者学习CPLD、FPGA大规模可编程器件的使用,也能支持电子工程师使用电子设计自动化(EDA)工具和大规模可编程器件进行应用电子系统的设计研究与开发工作。使用时通过下载电缆与PC机的打印机接口相接,并在MAX+PLUS可编程器件CAD设计工具软件的支持下运行。,数字电路实验,本实验箱
5、是由ALTERA公司的可编程器件MAX 7000S系列中的EPM7128SLC84-15和FLEX 10K系列中的EPF10K10LC84-4以及丰富的可供选择的外围接口器件组成。采用20MHz的石英晶体振荡器作为系统主钟源,支持采用JTAG链的下载方式对板内的和跨板的可编程器件进行系统编程和配置。它也支持对可编程器件EPF10K10LC84-4的EPROM配置。这一学期的实验课主要是应用EPM7128SLC84-15。下图为CPLD可编程器件教学实验箱硬件布局图,数字电路实验,EPM7128S,EPF10K10,数字电路实验,拨码开关:实验箱上具有带上拉电阻的8位拨码开关SW1,拨到上方为低
6、电平,拨到下方为高电平。SW1的输出与可编程器件EPM7128S的I/O引脚固连。具体关系如下:,没有26,数字电路实验,彩灯显示电路:实验箱的彩灯显示电路由四组红、黄、绿发光二极管组成,硬件采取共阴极扫描式驱动方案(数据线高电平有效,而数位线低电平有效)。彩灯电路的红黄绿信号线及上下左右组选线与主芯片EPM7128S 的引脚关系如下:,数字电路实验,本次实验内容:用图形法输入一下表达式:1、F=AB 2、F= 3、F=AB+AC+BC通过观察输入(A、B、C)输出(F)的波形关系,验证表达式的正确性。表达式3需要下载到实验箱上,输入端A、B、C用拨码开关控制,F输出用红灯显示。,数字电路实验
7、,第二讲:组合逻辑电路设计 实验1:设计一个四输入三输出端电路。对两个两位无符号的二进制数进行比较,根据第一个数是否大于、等于、小于第二个数,使相应的三个输出中的一个输出为“1”。通常称这种电路为比较电路。输入用拨码开关控制,三个输出分别用不同颜色的灯显示,3盏灯中只要求亮一盏。提示:设两个数分别为 ,然后利用卡诺图进行比较,分别得出MN,M=N,MN三种情况的逻辑表达式,记录波形,用门电路实现。,数字电路实验,实验2:设计一个四人无弃权表决电路(多数赞成则提案通过)。要求观察波形,用门电路实现。有能力的同学可以下载到实验箱上观察。用拨码开关控制输入,用一盏红灯表示表决结果。,数字电路实验,彩
8、灯显示电路:实验箱的彩灯显示电路由四组红、黄、绿发光二极管组成,硬件采取共阴极扫描式驱动方案(数据线高电平有效,而数位线低电平有效)。彩灯电路的红黄绿信号线及上下左右组选线与主芯片EPM7128S 的引脚关系如下:,数字电路实验,下图为红黄绿信号线及上下左右组选线与各组彩灯实际位置关系的示意图:,数字电路实验,由于采用共阴极、扫描方式(信号高电平有效,组选线低电平有效),所以只用 7个管脚就可以控制 12个彩灯了。譬如说确定是实际箱子上左侧的上数第二个彩灯,然后从下侧的左图中找到这个灯的标号Y2,然后从右侧图中找到这个Y2的信号线和组选线的搭配,即YELLOW和L2。方法必须是信号线为高,组选
9、线为低。在这个例子里是:YELLOW输入为高,L2输入为低。这会让发光二极管两侧形成电压差从而点亮它。注:记住YELLOW和L2都是输入端,在MAX+PLUSII中都是“input”。,数字电路实验,范例:只要求Y1、Y3、Y4亮,其余的灯均不亮。,数字电路实验,第三讲:计数器的设计及应用实验1:验证D、JK触发器的逻辑功能,并填以下两表,并记录波形,数字电路实验,数字电路实验,实验2:用JK触发器设计一个七进制计数器,要求写出设计过程,并记录波形。实验3:用计数器74160或74161设计一个七十七进制加法计数器,同步异步均可。要求下载到实验箱上观察结果,所用频率为1Hz,用数码管显示。,数
10、字电路实验,对于实验1、2应注意到触发器是构成时序电路的基本逻辑单元。它具有两个稳定状态,即“0”状态和“1”状态。只有在触发信号作用下,才能从原来的稳定状态转变为新的稳定状态。因此触发器是一种具有记忆功能的电路,可以作为二进制存储单元使用。,数字电路实验,在设计过程中,要特别注意触发器对CP脉冲与控制输入信号之间相互配合的要求。一般来说,边沿触发器要求控制输入端信号超前CP脉冲的触发边沿一段时间建立,并在触发器边沿到达后继续保持一段时间。各种边沿触发器对建立和保持时间上有所差别。主从触发器则要求控制输入信号在CP=1其间不应发生变化,否则将可能导致触发器错误输出。,数字电路实验,对于实验3应
11、注意到译码器7448只能识别0-9,对于10和10以上的数直接用7448会出现乱码。对于这样的数,我们应该用一个判别电路判断出来,再人为的加上6(0110),这样我们就可以把10及其以上的数的个位提取出来。如:1100(12)+0110(6)=10010,如果我们只看后四位的话,0010(2)这样12的个位就被我们提取出来了,可以输入到7448上了。另外,如果两片计数器要级联,应注意到信号上升沿起作用还是下降沿起作用。,数字电路实验,十二进制加法计数器原理框图:CP,数字电路实验,可选连续脉冲信号:实验箱为用户使用FPGA芯片EPF10K10LC84-4提供了配置EPROM插座。随机提供的EP
12、C1441已预先写入了产生分组可选连续脉冲信号的应用程序。每当系统上电时,配置的EPROM便向 EPF10K10 芯片装入该应用程序,并启动运行。由EPF10K10芯片提供的两组共8种频率的连续脉冲信号可由插座P4引出。,数字电路实验,数字显示器:本实验箱提供的数字显示器由6位LED数码管组成分别为EPM7128S和EPF10K10所共享。数字显示器采用共阴极扫描式驱动方案(数据线高电平有效,而数位线低电平有效)。它的数据线和数位线与6位LED数码管的显示段和数位控制线间的实际对应关系如下图:,数字电路实验,数字显示器的数据线和数位线经专用跳线插座与主芯片EPM7128S 的引脚互连,详情如下
13、:,数字电路实验,例:如何用74160和7448控制单个数码管来显示10进制?,数字电路实验,例:如何驱动2个数码管?(图中略去两个74160和7448的输出端),数字电路实验,74244为8三态门器件,这里通过对个位和十位的分时显示使得7448中得到的数字在同一时刻只是十位或个位其中的一个。而且通过对LED4、LED5的同时控制,使得个位或十位在同一时刻也被送往右数第一个或右数第二个数码管,这样我们就在两个数码管上得到了交替显示的数字。那么当clock_pluse的频率增高后(每秒大于50赫兹),我们就发觉两个数码管好象同时显示且毫不干扰,这种原理就像我们所熟悉的电影胶片,当速度大于每秒24
14、帧的时候,我们从电影屏幕上就看到了连续的图像。,数字电路实验,当两片74160显示数字34时,clock_pulse分别为0和1时,LED4和LED5的两种状态。clock_pulse为高电平时显示高位,为低电平时显示低位。,数字电路实验,如果,clock_pulse的频率加快的话,就会得到下面的形式我们利用同样的原理进行了双数 码管的实验,当clock_pluse频 率很小时(每秒2Hz),我们就 会发现十位和个位使交替显示。注:其中clock_pulse为扫描脉冲,与74160的计数脉冲不同。最简单的区别方式为:clock_pulse的频率高,而计数脉冲频率较低。,数字电路实验,第四讲:中
15、规模集成电路的综合应用A、实现一个可用两位数码管显示到99的四位并行累加器电路。用4个拨码开关输入(输入的数不能大于9)。设置一个按键,每次按按键的时候进行相加。B、用触发器设计一个移位循环计数器实现十二彩灯循环现实的功能。有能力的同学可以在循环显示的基础上增加变速、变向等循环功能,具体形式不限,对于设计新颖的同学再在操作方面予以加分。,数字电路实验,对于实验A,应当注意到相加模块的作用是把前一次的相加结果和新数 相加,相加的结果有可能大于9,这就需要应用我们前面所说的加6修正的方法。当结果大于9时,还应该有一个计数模块工作来记录十位上的数。为了能控制每一次的相加,要引入一个存储模块,可以利用
16、移位寄存器的指数功能,并由按键开关(PB)控制。每次PB上升沿到来时,存储模块便把相加结果送到相加模块进行下一次相加。所以,PB可以看作加法控制键。,数字电路实验,按键开关:实验箱提供两个带上拉的按键开关 PB3 和 PB4,与之相应的输出线被分别引致布线去插座P5,并与EPM7128S的I/O引脚相连,互连关系如下表。按键开关PB3和PB4平时输出高电平,一旦键按下便输出未防颤的低电平信号。,数字电路实验,单步脉冲键(STEP键):实验箱提供有一个单步脉冲键PB2,每次按动单步脉冲,便同时产生一次正、负脉冲输出,与之相应的输出线被分别引至布线区插座PLUSE。正脉冲输出接该插座的第1-2脚,负脉冲输出接该插座的第3-4教。此外,单步脉冲键PB2本身提供的带上拉的信号也被引至布线区插座P5的第二脚。,数字电路实验,99进制累加器原理框图:PB,数字电路实验,对于实验B,可以用异步的触发器实现,将实现信号线循环的环形计数器的输出作为实现组选线循环的环形计数器的CP输入。另外,还应该注意到,信号线高电平有效,应为“1”循环;组选线低电平有效,应为“0”循环。如果是顺时针旋转,信号线为一的顺序应为G Y R,组选线为一的顺序应为L1 L4 L3 L2。如下图:G Y R L1L4L3L2,数字电路实验,803工作室,