APP下载

传统数字设计与FPGA融合的教学改革与实践

2022-03-23杨子康

电气电子教学学报 2022年1期
关键词:触发器实验教学传统

杨子康, 熊 兰

(重庆大学 电气工程学院,国家电工电子实验教学示范中心, 重庆 400044)

“数字电子技术基础”是电气电子信息类等相关专业的核心专业基础课之一,具有很强的实践性[1],其教学目标是让学生学习数字电路的基本理论、设计方法和典型应用。作为数字电子技术理论课程的重要辅助,数字电子技术实验是培养学生创新实践能力的重要环节,其主要教学目标是加深学生对所学理论知识的理解和提高实践操作技能,培养学生解决实际问题的能力和基本工程素养[2-5]。因此,“数字电子技术实验”课程教学应该与当前电子信息新技术和行业需求紧密结合,提高学生的创新能力和拓展学生的知识视野。

然而,传统的“数字电子技术实验”课程却存在以下不足之处[6-7]。传统的课程体系呈现自底向上的特点,偏重于对底层元器件的分析和中小规模集成系统的设计,较少涉及系统级的集成和设计;传统的“数字电子技术实验”课程教学体系与行业界的实际应用具有较大差距,无法与最新电子技术发展进行接轨;传统的“数字电子技术实验”课程以基础验证性实验项目居多,由于元器件和仪器的限制,导致学生无法完成复杂的实验项目和进行创新;传统实验教学中所用集成芯片和导线数量较多,导致接线复杂和故障排查困难,增大了学生实验失败率;传统实验教学中所用的74系列或4000系列集成芯片采购困难且价格较高,无法满足正常实验教学需求。基于上述的实验教学瓶颈,本课程组以兼顾传统逻辑设计和可编程逻辑设计(FPGA)为目标,将FPGA融入到“数字电子技术实验”课程中,让学生不仅能对传统基础理论进行验证和巩固,并能体会到可编程逻辑器件的强大功能[8-10]。

1 课程教学体系的改革

传统的“数字电子技术实验”教学体系以课堂教学为主,学生在教师讲授后按部就班地完成实验项目,学生缺乏独立思考和解决问题的能力。同时,传统的实验项目以基础验证性实验为主,缺少综合性和设计性实验,对学生的创新能力培养不足。为了解决上述问题,将FPGA引入到“数字电子技术实验”教学体系中[11-12],能有效促进“数字电子技术实验”教学体系的改革,具体措施包括:

转变以“教师为主”的教学模式,通过在线资源的建设,引导学生在课前完成实验项目的设计和验证。通过FPGA口袋实验板,能够突破空间的限制,学生可以在任何时间、任何地点完成相关实验项目的预演和仿真。课内课外的有机结合,能够有效锻炼学生的动手实践能力和自主学习能力。

采用FPGA口袋实验板的方式,能够解决传统实体实验不可及的大规模复杂电子系统的设计。因此,可以在传统验证性实验基础上,开发出更多传统实验箱无法完成的综合设计性实验。同时,学生能够在有限的实验教学课时内,完成复杂电子系统的设计、仿真和板级调试,提高学生的兴趣和主观能动性。

通过将FPGA引入到“数字电子技术实验”教学体系中,将使数字电子技术实验项目的操作过程由浅入深、逐级深入,最终建成从“基础实验教学层”到“综合实验教学层”,最终服务于“创新实验教学层”的课程教学体系。

2 实验教学内容的改革

如何将传统逻辑设计实验内容与基于FPGA的实验内容进行有机结合,是本次改革的关键之处。传统逻辑设计实验能够对所学理论知识进行验证和加深学生的理解,实验项目中保留一定的传统逻辑设计实验是必要的。如果通过FPGA也能够实现传统实验项目要求,且实现过程更加简单、效率更高,并能体现出FPGA的强大功能和编程灵活性,便能激发学生学习FPGA的兴趣。因此,针对实验教学内容改革的具体措施如下:

2.1 实验教学学时的分配

在现有教学学时不变的前提下,引入FPGA实验教学内容必然会压缩传统逻辑设计实验学时。在充分考虑实验项目内容之间连贯性和衔接性,遵循循序渐进的教学规律,将传统逻辑设计实验中教学内容陈旧和教学效果不佳的实验项目进行删减压缩,比如译码器、触发器等,并设计出基于FPGA的实验内容。最终将传统逻辑设计实验学时与基于FPGA的实验学时比例确定为3:2。

2.2 增加FPGA教学平台和工具等内容介绍

为了既能满足课堂实验的要求,又能满足学生自主创新实验的开发和实现。通过比较,选择最新一代Xilinx口袋实验板平台EGO1作为FPGA教学平台。EGO1采用Xilinx Artix-7 FPGA为核心,具有丰富的外设资源,能够满足各项实验要求。另外,FPGA的开发还需要学习硬件描述语言和了解集成开发环境的使用。

本次改革中,专门增加一个实验项目对FPGA教学平台和开发工具等内容进行介绍。通过对EGO1平台的介绍,学生能够对该口袋实验板各模块功能有大致了解,便于学生课内外的使用。硬件描述语言采用Verilog HDL,通过简要阐述Verilog HDL的基本语法,让学生具备Verilog的基础编程能力,并在后续实验中进行强化训练。最后,详细介绍Xilinx FPGA集成开发环境Vivado的使用方法,让学生能够尽快利用该工具进行逻辑设计。

2.3 组合逻辑电路实验内容的改进

传统的组合逻辑电路通常采用门电路、编码器、译码器、数据选择器等集成芯片来完成,其设计流程包括列写真值表和逻辑表达式、化简、根据最简逻辑表达式画出逻辑电路图、最后在实验箱上连接电路,并验证电路功能。通过该实验,能够有效加深学生对所学理论知识的理解和运用。但是,如果需要实现比较复杂的电路功能时,所用到的集成芯片和导线会大量增加,导致实验难度增大,学生无法完成实验。然而,如果采用FPGA来实现时,可以大幅减少学生由于接线错误和芯片损坏而导致实验失败的情况。以组合逻辑电路实验中经典的交通灯控制电路为例进行分析[13-15]:

以R、G、Y分别表示红绿黄三种灯的状态,并作为输入变量,规定灯亮为1,灯不亮为0。以L表示故障信号,作为输出变量,规定故障时为1,正常时为0。列出交通灯控制电路的真值表如表1所示:

表1 交通灯控制电路真值表

根据表1所示真值表列出输出L的逻辑表达式为:

(1)

通过逻辑代数或卡诺图进行化简,可得最简逻辑表达式为:

(2)

如果采用与非门来实现该电路功能,可将式(2)变换为:

(3)

根据式(3)画出最简逻辑电路图如图1所示:

图1 交通灯控制电路逻辑电路图

根据图1可知,要实现交通灯控制电路的功能,至少需要八个门电路,且所需的74系列芯片包括2片74LS00、1片74LS10和1片74LS20,电路连接所需的导线也较多。经过多年教学实践表明,学生在完成该电路时出错的概率较大,多半是导线连接错误和芯片烧坏。除了采用门电路实现该电路功能外,实验中还要求学生采用译码器或数据选择器等中规模组合逻辑器件来实现。

如果采用FPGA来实现该电路时,列写真值表、逻辑表达式化简与传统实验相同,然后可以直接根据最简逻辑表达式(2)编写Verilog代码如下:

module traffic_light(

input R,

input G,

input Y,

output L);

assign L = (~R&~G&~Y) |(G&Y) | (R&Y) |(R&G);

endmodule

通过Vivado自带的仿真工具可以得到仿真波形如图2所示:

图2 交通灯控制电路仿真波形图

由图2可知,通过Verilog代码实现的交通灯控制电路仿真波形和表1的真值表完全对应,证明代码编辑正确,然后可通过综合、管脚约束和实现等步骤生成Bitstream文件,最后下载到EGO1实验板上进行板级验证。

通过对比上述基于传统集成芯片的组建和基于FPGA的组合逻辑电路实验流程可知,传统逻辑设计实验有助于学生理解电路工作原理,而基于FPGA的逻辑设计则可以简化实验流程,且HDL代码简洁易懂,通过仿真能实时观察输出波形,提高了实验效率。因此,本次改革中保留了基于传统集成芯片的组合逻辑电路设计实验,并在该实验项目后增加基于FPGA的组合逻辑电路设计实验,具体的实现流程如图3所示:

图3 结合传统集成芯片和FPGA的组合逻辑电路设计流程

2.4 时序逻辑电路实验内容的改进

传统时序逻辑电路设计实验中,关于触发器逻辑功能验证及其应用是教学中的难点,主要原因是往往通过按键来产生触发器的边沿触发脉冲时,由于按键的机械抖动导致触发器的输出未按照预定的条件进行翻转,从而使学生得不到正确的实验结果。为了解决这一难点,本次改革中采用FPGA来实现触发器逻辑功能的设计和验证,取代了传统的关于触发器的实验内容。

下面以D触发器为例,来介绍基于FPGA的触发器逻辑功能的设计。基本D触发器的逻辑功能表如表2所示:

表2 基本D触发器逻辑功能表

实现基本D触发器逻辑功能的Verilog代码如下:

module D_fipflop(

input clk,

input d,

output reg q,

output reg q_n);

always@(posedge clk)

begin

q <= d;

q_n<= ~d;

end

endmodule

通过Vivado自带的仿真工具可以得到基本D触发器的时序波形如图4所示:

图4 基本D触发器时序波形图

通过图4,能够有效帮助学生理解D触发器的逻辑功能,并引导学生以D触发器为基础,设计出其他触发器的Verilog代码,加深对时序逻辑电路功能和边沿触发的理解。

在时序逻辑电路设计实验中,计数器及其应用是一个重要的实验内容。计数器在数字系统中的主要作用是记录脉冲个数,以实现计数、定时、产生节拍脉冲、脉冲序列等功能。传统的集成计数器芯片在实际应用电路中还经常用到,包括74LS160、74LS161、74LS192等。因此,本次改革中保留了原有的利用计数器设计任意进制两位数的实验内容,并在该实验项目后增加基于FPGA的时序逻辑电路设计实验,实验内容除了上述触发器逻辑功能的设计和验证外,还包括集成计数器逻辑功能的设计和验证、三位二进制计数器的设计和任意进制计数器的设计。通过这些实验内容的练习,学生能够理解利用Verilog代码实现时钟分频、译码显示和动态扫描等功能,进一步加强学生利用HDL进行建模的能力。

2.5 综合实验的改进

由于受到实验器材和电路规模的限制,传统的数字电子技术综合实验实现的逻辑功能往往都比较固定,学生自主发挥的空间较小,且耗费的学时较多。实验教学过程中,教师的大部分精力都耗费在帮助学生排查故障和检测仪器设备中,工作效率较低。引入FPGA开发平台后,将能有效的改善现有教学境况,包括丰富现有综合实验项目类型、突破固定学时的限制和提高学生的学习兴趣。

利用FPGA开发平台,教师可以设计出综合性更强和集成度更高的实验项目,并能引导学生在该平台上进行创新项目的开发和实践,建立起包含基础验证性、综合设计性、创新研究性的多层次、多模块的实验实践创新教学体系。由于FPGA的开发不受空间和时间的影响,学生完全可以在课外完成HDL建模和仿真分析,教师通过在线答疑了解学生完成情况,最后在实验室中进行下载验证。如此,可以有效缓解学时紧张的情况,提高学生实验灵活性。另外,利用FPGA开发平台丰富的外设资源,可以设计出实用性和趣味性更高的综合实验项目,例如基于FPGA的电子秒表设计、数字频率计设计、电梯控制系统和超声波测距仪等,在提高学生学习动力的同时,拓宽学生的知识面。

下面以基于FPGA的电子秒表设计为例来介绍综合实验的教学流程:

电子秒表的基本工作原理是在特定频率的连续时钟脉冲触发下,计数器按一定时间制式循环计数,并译码显示出时间数值。本实验基于FPGA完成电子秒表的设计,其基本构成模块包括时钟分频模块、按键消抖模块、计数控制模块和译码显示模块,该系统框图如图5所示:

图5 电子秒表系统框图

1)基本实验要求

(1)设计一个电子秒表,该秒表能在0秒~59分59秒990毫秒范围进行计时,显示最长时间是59分59秒。采用6个数码管依次显示“百分之一秒、十分之一秒、秒、十秒、分、十分”;

(2)数码管显示格式为“00.00.00”,即用小数点将分、秒、毫秒隔开;

(3)秒表的计时精度为10 ms;

(4)设计复位开关,复位开关可以在任何情况下按下,复位开关使能后计时器清零,并做好下一次计时的准备;

(5)设计启动(继续)/停止开关,采用一个按键来切换秒表的启动(继续)和停止状态。

2)扩展实验内容

(1)预置数定时功能:可预置一定时长计时。采用一个按键进入定时设置功能,并可循环切换秒表各个显示位;另外采用两个按键分别设置秒表各个显示位进行加1或减1来设定定时数值。设定好定时值后,按下开始按键,即可开始倒计时;

(2)超时计时功能:当秒表倒计时结束后,可继续顺计数。计时完成后,按下停止键,即可得到超时数值;

(3)记录计时时刻及回看功能:设计最多可记录8个计时时刻,并可回看计时结果的功能。采用一个按键控制连续计时记录,每按下一次记录一个当前时刻,直到按下8次秒表停止计数。如果记录时刻小于8时,需要用停止按键控制最后一个计时停止。另外,采用一个按键顺序调出计时结果回看。

教学过程中,首先引导学生通过图5所示的系统框图,完成对系统各功能模块的设计,强调各功能模块设计中的注意事项。同时,提出在设计过程中需要解决的问题。比如,按键消抖模块中,如何同时对几个按键进行消抖,如何用一个时钟周期的高电平来表示按键按下的状态;数码管驱动模块中,如何驱动六位数码管,如何控制各位数码管小数点的亮灭;如何通过例化RAM IP核来实现数据存储功能等。通过该综合实验的练习,能够培养学生独立思考问题、分析问题和解决问题的能力。

3 结语

随着新兴电子技术的不断发展,电子信息产业的发展也日新月异,企业对于电子信息类人才的要求也越来越高,这将对高校的人才培养提出新的挑战。如何培养出符合行业界需求的电子信息类人才,使得电子技术类相关课程的改革势在必行。通过将传统逻辑设计和FPGA相结合的“数字电子技术实验”教学改革,不仅能让学生通过传统逻辑设计实验,加深对所学理论知识的巩固和运用,更能够让学生了解最新电子技术的发展趋势和专业应用前景。同时,还能够满足不同层次学生的学习需求,最终服务于各种创新实践项目和竞赛。该教学改革成果给其他相关电子技术课程改革提供了实践依据,将推动电子信息新技术在“模拟电子技术实验”和“电子技术课程设计”等电子信息实践类课程中的应用。

猜你喜欢

触发器实验教学传统
恩施州创新开展中小学实验教学说课大赛
基于65 nm 体硅CMOS 技术的DICE-DFF 和TMR-DFF SEU 辐射硬化方法分析
关于基础教育阶段实验教学的几点看法
配置触发器有条件启动Windows服务
同样的新年,不同的传统
郑国明 立足传统 再造传统
触发器在酒店管理系统中的应用
初中化学实验教学中“微课”教学模式的探讨
谈初中化学实验教学的初探
基于电路原理的触发器波形分析