1、EDA技术实验指导书EDA技术实验实验指导书万军华 袁帅 编著适用专业: 电信工程 通信工程 信息工程 自动化 信息与通信工程学院2011年5月前 言一、课程性质本课程是电信工程、通信工程、信息工程和自动化专业必修的专业实验课程。通过本课程的教学,使学生掌握EDA技术的开发流程,学会利用以硬件描述语言为实现工具,以可编程逻辑器件为实现载体,在数字系统设计领域熟练应用EDA技术,使其具备研究和开发现代数字系统的能力。二、项目设置本课程总学时为20,开设的具体实验项目如下: 实验1 全加器设计(3学时,必修) 实验2 基本组合电路设计(3学时,选修) 实验3 基本时序电路设计(3学时,选修) 实验
2、4 基于lpm_rom的乘法器设计(3学时,必修) 实验5 基于lpm_rom的计数器设计(3学时,选修) 实验6 流水灯控制器设计(4学时,选修) 实验7 数字跑表设计(4学时,选修) 实验8 数字频率计设计(4学时,必修) 实验9 交通灯控制器设计(4学时,选修) 实验10 数字电压表设计(4学时,选修) 实验11 乐曲演奏设计(4学时,选修) 实验12 信号发生器设计(4学时,选修) 实验13 多功能数字钟设计(4学时,选修)其中,实验1实验5为设计性实验;实验6实验13为综合性实验。三、专业安排电信工程专业可选修全部实验;通信工程、信息工程和自动化专业选修实验1实验9。四、本书特点本指
3、导书的特点是引入工程项目机制来管理实验项目,着重培养学生的方案设计、算法分析和现场调试能力,为将来成为卓越工程师打下坚实的基础。目 录第一章 实验系统 11.1 整体组成 11.2 核心板 11.3主要模块 1第二章 开发平台 52.1 Quartus II简介 52.2 Quartus II开发流程 5第三章 实验项目 9实验1 全加器设计 9实验2 基本组合电路设计 11实验3 基本时序电路设计 13实验4 基于lpm_rom的乘法器设计 15实验5 基于lpm_rom的计数器设计 18实验6 流水灯控制器设计 20实验7 数字跑表设计 22实验8 数字频率计设计 25实验9 交通灯控制器
4、设计 28实验10 数字电压表设计 31实验11 乐曲演奏设计 35实验12 信号发生器设计 38实验13 多功能数字钟设计 41附录 实验报告基本要求 44第一章 实验系统1.1 整体组成实验室采用NC-EDA-2000C实验系统,整体组成如下图所示。图1.1 NC-EDA-2000C实验系统组成框图1.2 核心板实验系统的核心板采用Altera公司的EP1K10TC100-3芯片,位于实验箱组成框图的14所示位置,具有低内核电压、低功耗的特点。芯片内门电路高达1万门,内部使用RAM作电路结构,速度高达几百MHZ,其输出可用管脚已全部开放。1.3主要模块一、显示模块1、液晶显示模块实验系统采
5、用进口双排16字符液晶显示模块组成,位于实验系统组成框图的16所示位置。其输入、输出信号在其下方,由13个连接孔与其它模块连接。2、8位数码管位于实验系统组成框图的9所示位置,采用2个共阴高红7段数码管组成,位选信号在数码管的左边由连接孔SEL0、SEL1、SEL2与其它模块连接。3、88LED点阵位于实验系统组成框图的15所示位置,横排8位显示的控制信号在点阵右边的3-8译码器的下方,由SEL0、SEL1、SEL2连接孔与其它模块连接。4、8位发光二极管位于实验系统组成框图的13所示位置。其输入由位于其下方的8位连接孔与其它模块连接,可以模拟二进制数据输出。二、接口模块实验系统有视频接口(V
6、GA)、USB接口、RS232接口、通信模块的接口等几个模块。VGA接口位于实验组成框图的19所示位置,USB接口位于实验组成框图的24所示位置,RS232接口位于实验组成框图的25所示位置。其信号输入输出均由位于模块左边的连接孔与其它模块连接。通信模块的输入输出位于实验系统组成框图的17、18所示位置。三、输入模块1、44键盘在实验系统组成框图的22所示位置。44键盘主要是通过编程实现0F的输入,也可以作为一个控制键。在其上方的连接孔R1、R2、R3、R4控制横向4位;C1、C2、C3、C4控制纵向4位。2、8位复位开关复位开关可以通过手动控制为系统提供脉冲信号。在系统中一共提供了8位的按键
7、开关,当按下键后其输出为低电平,反之则为高电平。其输出端是模块上方对应的连接孔K1K8。3、8位DIP开关位于实验系统组成框图中的21所示位置。主要功能是能保持高低电平,通过手动控制为系统提供稳定的逻辑信号。系统总共提供了8位拨档开关,当开关的档位在上方时则输出高电平,反之则为低电平。其输出端是模块上方对应的连接孔S1S8。4、24M2Hz分频电路在实验系统组成框图的20所示位置。在这个模块中采用了两个时钟源,一个是24M的高频时钟,另一个是32768Hz能完成二次分频的时钟。时钟输出通过其上方的四组跳线改变其频率的输出,每一组频率相对独立。其频率值在电路板上均已标明。每一组的频率输出端是上方
8、对应的CLK1、CLK2、CLK3、CLK4连接孔。四、模数转换模块1、ADC0809芯片ADC0809芯片是8通道、8位逐次逼近式A/D转换器,位于实验系统组成框图中的3所示位置,完成模/数转换。CH0CH7为8个模拟输入通道,其输入端是上方对应的CH0CH7连接孔。AD0AD7为数据输出端,通过其右边对应的D0D7连接孔与其它模块连接。其它管脚通过其下方对应的连接孔与控制信号相连。2、DAC0800芯片DAC0800芯片是8位分辨率的D/A转换芯片,具有连接简单、转换控制方便、价廉等优点,位于实验系统组成框图中的5所示位置,完成数/模转换。8位数据输入端由下方的D0D7连接孔输入,模拟信号
9、输出由LF411下方的Vout连接孔输出。五、控制模块1、电梯在本实验系统中模拟的是1个三层电梯上下的模块。位于实验系统组成框图的12所示位置。4个按键如上面标志所示分别表示每层楼上、下的请求信号,信号通过其右边对应的4个连接孔1KU(一楼上信号)、2KD(二楼下信号)、2KU(二楼上信号)、3KD(三楼下信号)与其它模块连接。在中间有2个黄色的指示灯和2个绿色的指示灯。黄色的指示灯表示楼层有下的请求信号;绿色的指示灯表示楼层有上的请求信号。通过其右边对应的4个连接孔1U(一楼上信号)、2U(二楼上信号)、2D(二楼下信号)、3D(三楼下信号)与其它模块连接。模块最右边的3个红灯表示电梯到达楼
10、层的标志信号,通过其右边对应的3个连接孔与其它模块连接。2、交通灯在实验系统组成框图的11所示位置。由12个红黄绿灯按交通灯方式排列的交通灯模块,可做交通灯或舞台灯光实验。3、步进电机位于实验系统组成框图的10所示位置。通过对模块下方的4个连接孔A、B、C、D输入控制信号来控制步进电机的转动。六、存储模块在本系统中采用1个8K8位的E2PROM 2864芯片,通过对其编程,可为其它模块提供波形信号。在实验系统组成框图的4所示位置。七、蜂鸣器模块蜂鸣器在实验系统组成框图中位于6所示位置,由1个蜂鸣器和1个喇叭组成,是为了配合有些实验需要报警发声等要求而设置的。实验系统可以通过对中间的1个跳线的改
11、变来选择蜂鸣器或喇叭,当跳线帽在左边时选择的是喇叭,反之则选择的是蜂鸣器。对模块下方的SPEAKER连接孔输入1个时钟信号使蜂鸣器或喇叭发声。第二章 开发平台2.1 Quartus II简介Quartus II是Altera公司的综合性PLD开发软件,支持原理图、VHDL、Verilog HDL以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II支持Altera的IP核,集成了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也
12、使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。2.2 Quartus II开发流程一、创建工程1、建立工程目录新建一个文件夹,作为工程目录。2、新建工程(File | New Project Wizard)(1)指定工程目录、名称和顶层设计实体(2)选择目标芯片3、新建设计文件(File | New)4、保存文件 File | Save As二、编译工程(Processing | Start Compilation) 全程编译包括排错、数据网表文件提取、逻辑综合、适配、装配文件生成,以及基于目标器件的工程时序分析等。如果有错误,可双击错误说明条文,修改源程序,重新编译。三、时序仿真
13、1、新建波形文件(File | New)选择Other Files中的Vector Waveform File2、保存文件(File | Save As)3、设置仿真时间区域(Edit | End Time)4、添加端口(Edit | Insert Node or Bus | Node Finder)5、编辑输入波形6、启动时序仿真(Processing | Start Simulation) 四、观察RTL电路Tools | RTL Viewer五、引脚分配(Assignments | Assignment Editor) 当引脚分配后,必须重新编译一次。六、下载(Tools | Progr
14、ammer) 1、设置编程器 2、启动编程 七、运行搭建好外围电路后,观察实验系统运行情况,如果与预期的功能不符,应重新修改源程序。第三章 实验项目实验1 全加器设计实验学时:3实验类型:设计实验要求:必修一、实验目的通过本次实验,掌握Quaru II软件的开发流程,学会全加器的设计方法。二、预习与参考1、系统方案利用Quaru II集成的门元件,先设计一个半加器,将半加器生成元件符号后,用两个半加器组成一个全加器。2、设计半加器半加器原理图生成元件符号,单击菜单File | Create/Update3、设计全加器全加器原理图三、实验要求1、功能要求实现加法计数,完成和与进位的计算。2、预习
15、要求在实验前提交设计方案,给出原理图。四、实验条件PC机,EDA实验系统。五、调试及结果测试1、建立工程2、搭建电路3个拨码开关分别连接a,b和cin,代表被加数、加数和低位进位;2个发光二极管分别连接cout和sum,代表和、高位进位。3、运行工程拨动开关,改变被加数、加数和低位进位,观察发光二极管显示的和与高位进位。六、实验报告要求应提供原理图和测试结果,总结调试过程,并回答思考题。七、思考题1、如何采用Verilog文本方式实现全加器?实验2 基本组合电路设计实验学时:3实验类型:设计实验要求:选修一、实验目的通过本次实验,掌握通用编译码器,学会基本组合电路的设计方法。二、预习与参考1、
16、系统方案分别设计一个3-8译码器和8-3优先编码器。利用多分支条件语句case来描述译码器,利用多重选择if语句来描述优先编码器。2、3-8译码器3-8译码器74138有1个高电平使能信号g1,2个低电平使能信号g2a和g2b,只有当g1、g2a、g2b为100时,译码器才使能;其输出低电平有效。3、8-3优先编码器优先编码器的特点是:当多个输入信号有效时,编码器只对优先级最高的信号进行编码。8-3优先编码器74148功能表输入输出eidin0din1din2din3din4din5din6din7dout2dout1dout0gs eo1x x x x x x x x1 1 11 101 1
17、 1 1 1 1 1 11 1 11 00x x x x x x x 00 0 00 10x x x x x x 0 10 0 10 10x x x x x 0 1 10 1 00 10x x x x 0 1 1 10 1 10 10x x x 0 1 1 1 11 0 00 10x x 0 1 1 1 1 11 0 10 10x 0 1 1 1 1 1 11 1 00 10 1 1 1 1 1 1 11 1 10 1编码器的输入为din7din0,编码优先顺序从高到低为din7到din0,输出为dout2dout0,ei是输入使能,eo是输出使能,gs是组选择输出信号,只有当编码器输出二进制
18、编码时,gs才为低电平。三、实验要求1、功能要求实现3-8译码器和8-3优先编码器。2、预习要求在实验前提交设计方案,给出源程序。四、实验条件PC机,EDA实验系统。五、调试及结果测试1、建立工程2、搭建电路拨码开关连接3-8译码器或8-3优先编码器的输入端;发光二极管接3-8译码器或8-3优先编码器的输出端。3、运行工程拨动开关,改变译码器或编码器的输入信号,观察发光二极管显示的译码器或优先编码器的输出信号。六、实验报告要求应提供原理图和测试结果,总结调试过程,并回答思考题。七、思考题1、怎样设计奇偶校验位产生器?2、怎样设计数码管显示译码器?实验3 基本时序电路设计实验学时:3实验类型:设
19、计实验要求:选修一、实验目的通过本次实验,掌握通用触发器和计数器,学会基本时序电路的设计方法。二、预习与参考1、系统方案分别设计一个JK触发器和8位可逆计数器。利用多分支条件语句case来描述JK触发器,利用多重选择if语句来描述可逆计数器。2、JK触发器用case语句描述一个带异步清零和异步置1(低电平有效)的JK触发器。3、8位可逆计数器用多重选择if语句来描述一个8位可逆计数器。计数器有一个加/减控制端up_down,当控制端为高电平时,实现加法计数;为低电平时,实现减法计数。三、实验要求1、功能要求实现JK触发器和8位可逆计数器。2、预习要求在实验前提交设计方案,给出源程序。四、实验条
20、件PC机,EDA实验系统。五、调试及结果测试1、建立工程2、搭建电路拨码开关连接JK触发器或8位可逆计数器的输入端;发光二极管接JK触发器或8位可逆计数器的输出端。3、运行工程拨动开关,改变JK触发器或8位可逆计数器的输入信号,观察发光二极管显示的JK触发器的状态或8位可逆计数器的计数值。六、实验报告要求应提供原理图和测试结果,总结调试过程,并回答思考题。七、思考题1、如何设计移位寄存器?2、如何设计串并转换器?实验4 基于lpm_rom的乘法器设计实验学时:3实验类型:设计实验要求:必修一、实验目的通过本次实验,掌握Quarutus II的宏功能模块设计的应用,学会基于ROM的乘法器设计方法
21、。二、预习与参考1、系统方案基于存储器模块库中的lpm_rom,构成一个4bit4bit的无符号数乘法器。预先计算出两个数的乘积,并放在ROM中,将两个数分别作为ROM地址的高4位和低4位,读取存储单元来得到两数的乘积。此方法的优点是运算速度快,缺点是ROM需分配较多的存储单元。2、整体电路基于lpm_rom的乘法器电路3、新建MIF文件(1)File | New,选择Other Files中的Memory Initialization File(2)设置字数为256,字宽为8(3)输入乘积数据ROM单元格4、定制lpm_rom元件(1)引入lpm_rom新建原理图文件,插入megafunct
22、ions | storage中的lpm_rom(2)设置数据线和地址线宽度(3)设置控制端口(4)添加MIF文件三、实验要求1、功能要求实现乘法运算,计算两个4位无符号数的乘积。2、预习要求在实验前提交设计方案,给出原理图和MIF文件。四、实验条件PC机,EDA实验系统。五、调试及结果测试1、建立工程2、搭建电路clk连接1KHz时钟;8个拨码开关分别连接a,b,代表被乘数和乘数;8个发光二极管连接result,代表乘积。3、运行工程拨动开关,改变被乘数和乘数,观察发光二极管显示的乘积。六、实验报告要求应提供原理图和测试结果,总结调试过程,并回答思考题。七、思考题1、如何设计基于lpm_rom
23、的4bit4bit的有符号数乘法器?实验5 基于lpm_rom的计数器设计实验学时:3实验类型:设计实验要求:选修一、实验目的通过本次实验,掌握Quarutus II的宏功能模块设计的应用,学会基于ROM的计数器设计方法。二、预习与参考1、系统方案基于算术运算模块库中的lpm_counter,构成一个24进制可逆计数器。计数器包含一个时钟输入端;一个计数方向控制端updown,当updown为1时,计数器为加法计数,为0时做减法计数;一个数据输出端和一个进位输出端。2、整体电路基于lpm_counter的计数器电路3、定制lpm_counter元件(1)引入lpm_counter新建原理图文件
24、,插入megafunctions | arithmetic中的lpm_counter(2)设置输出端口宽度和计数方向(3)设置计数模和控制端口三、实验要求1、功能要求实现24进制加法和减法计数,计数方向可以控制。2、预习要求在实验前提交设计方案,给出原理图。四、实验条件PC机,EDA实验系统。五、调试及结果测试1、建立工程2、搭建电路clk连接1Hz时钟;1个拨码开关连接ud,控制计数方向;6个发光二极管分别连接cout和Q,代表进位输出和计数值。3、运行工程拨动开关,改变计数方向,观察发光二极管显示的进位输出和计数值。六、实验报告要求应提供原理图和测试结果,总结调试过程,并回答思考题。七、思
25、考题1、如何增加同步清零、同步预置、异步清零和异步预置等控制端口?实验6 流水灯控制器设计实验学时:4实验类型:综合实验要求:选修一、实验目的通过本次实验,掌握流水灯控制器的工作原理,学会有限状态机的设计方法。二、相关知识点流水灯工作过程、有限状态机三、实验原理、方法和手段1、系统方案设计一个流水灯控制器,控制18个发光二极管实现如下的演示花型: 从两边往中间逐个亮,全灭; 从中间往两头逐个亮,全灭; 循环执行上述过程。复位信号为高电平有效,当它为高电平时,流水灯全灭;为低电平时,流水灯正常工作。2、有限状态机利用有限状态机来实现对流水灯的控制。采用双过程描述:一个用于实现状态转移,另一个用于
26、产生输出逻辑,这样使整个设计结构清晰,便于修改。引入4Hz基准时钟来计时,每经过一个周期,则切换到下一个状态,显示流水灯的下一个花样。四、实验条件PC机,EDA实验系统。五、调试及结果测试1、建立工程2、搭建电路基准时钟连接4Hz时钟;复位信号接开关,向上打系统复位,向下打正常工作;输出信号连接18个发光二极管。3、运行工程拨动开关,观察发光二极管显示的流水灯。六、实验报告要求应提供源程序和测试结果,总结调试过程,并回答思考题。七、思考题1、怎样扩展系统,设置流水灯的多套演示花型,并可以通过按键来选择?实验7 数字跑表设计实验学时:4实验类型:综合实验要求:选修一、实验目的通过本次实验,掌握数
27、字跑表的工作原理,学会级联计数、数码管译码和动态显示、键盘的消抖和有限状态机设计方法。二、相关知识点数字跑表工作原理、级联计数、数码管译码和动态显示、键盘的消抖、有限状态机设计三、实验原理、方法和手段1、系统方案设计数字跑表,提供复位、暂停和计时功能。数字跑表示意图跑表设3个输入端,分别为时钟输入clk、复位clr和启动/暂停pause按键。引入100Hz基准时钟来实现百分秒计时。复位信号高电平有效,可对跑表异步清零。当启动/暂停键为低电平时,跑表开始计时;为高电平时,跑表暂停计时,变低后在原来的数值基础上继续计时。2、按键模块由于按键存在机械抖动,可引入1KHz的基准时钟,延时约12ms,等
28、待按键稳定后,再检测其状态。3、显示模块8位数码管采用动态扫描显示,位选信号SEL0、SEL1、SEL2经过3-8译码后选择1位数码管,段选信号为A、B、C、D、E、F、G、DP。(1)位选扫描模块(2)段选扫描模块(3)显示译码模块四、实验条件PC机,EDA实验系统。五、调试及结果测试1、建立工程2、搭建电路基准时钟连接100Hz;复位和启动/暂停键分别连接2个按键;数码管的位选信号SEL0,SEL1,SEL2分别连接FPGA芯片;数码管的段选信号A,B,C,D,E,F,G分别连接FPGA芯片。3、运行工程按下按键,观察数码管显示的跑表时间。六、实验报告要求应提供源程序和测试结果,总结调试过
29、程,并回答思考题。七、思考题1、怎样扩展系统,实现时钟的计时和显示?实验8 数字频率计设计实验学时:4实验类型:综合实验要求:必修一、实验目的通过本次实验,掌握频率测量原理,学会级联计数和数码管动态显示的设计方法。二、相关知识点频率测量原理、级联计数、数码管的译码和动态显示三、实验原理、方法和手段1、系统方案设计一个4位10进制频率计,能测出09999Hz范围内的信号频率。采用1Hz的标准时钟,对待测信号的脉冲数进行计数。通过4位数码管来显示待测信号的频率值。2、测频模块测频模块结构控制模块各信号的时序如下所示。控制信号的时序关系3、显示模块8位数码管采用动态扫描显示,位选信号SEL0、SEL1、SEL2经过3-8译码后选择1位数码管,段选信号为A、B、C、D、E、F、G、DP。(1)位选扫描模块(2)段选扫描模块(3)显示译码模块四、实验条件PC机,EDA实验系统。五、调试及结果测试1、建立工程2、搭建电路测量标准时钟连接1Hz时钟,数码管扫描时钟接1KHz;复位信号接拨码开关,开关向下打接地;数码管的位选信号SEL0,SEL1分别连接FPGA芯片;数码管的段选信号A,B,C,D,E,F,G分别连接FPGA芯片。3、运行工
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1