EDA技术实验指导书.docx
《EDA技术实验指导书.docx》由会员分享,可在线阅读,更多相关《EDA技术实验指导书.docx(39页珍藏版)》请在冰豆网上搜索。
EDA技术实验指导书
《EDA技术实验》
实验指导书
万军华袁帅编著
适用专业:
电信工程
通信工程
信息工程
自动化
信息与通信工程学院
2011年5月
前言
一、课程性质
本课程是电信工程、通信工程、信息工程和自动化专业必修的专业实验课程。
通过本课程的教学,使学生掌握EDA技术的开发流程,学会利用以硬件描述语言为实现工具,以可编程逻辑器件为实现载体,在数字系统设计领域熟练应用EDA技术,使其具备研究和开发现代数字系统的能力。
二、项目设置
本课程总学时为20,开设的具体实验项目如下:
●实验1全加器设计(3学时,必修)
●实验2基本组合电路设计(3学时,选修)
●实验3基本时序电路设计(3学时,选修)
●实验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。
四、本书特点
本指导书的特点是引入工程项目机制来管理实验项目,着重培养学生的方案设计、算法分析和现场调试能力,为将来成为卓越工程师打下坚实的基础。
目录
第一章实验系统1
1.1整体组成1
1.2核心板1
1.3主要模块1
第二章开发平台5
2.1QuartusII简介5
2.2QuartusII开发流程5
第三章实验项目9
实验1全加器设计9
实验2基本组合电路设计11
实验3基本时序电路设计13
实验4基于lpm_rom的乘法器设计15
实验5基于lpm_rom的计数器设计18
实验6流水灯控制器设计20
实验7数字跑表设计22
实验8数字频率计设计25
实验9交通灯控制器设计28
实验10数字电压表设计31
实验11乐曲演奏设计35
实验12信号发生器设计38
实验13多功能数字钟设计41
附录实验报告基本要求44
第一章实验系统
1.1整体组成
实验室采用NC-EDA-2000C实验系统,整体组成如下图所示。
图1.1NC-EDA-2000C实验系统组成框图
1.2核心板
实验系统的核心板采用Altera公司的EP1K10TC100-3芯片,位于实验箱组成框图的14所示位置,具有低内核电压、低功耗的特点。
芯片内门电路高达1万门,内部使用RAM作电路结构,速度高达几百MHZ,其输出可用管脚已全部开放。
1.3主要模块
一、显示模块
1、液晶显示模块
实验系统采用进口双排16字符液晶显示模块组成,位于实验系统组成框图的16所示位置。
其输入、输出信号在其下方,由13个连接孔与其它模块连接。
2、8位数码管
位于实验系统组成框图的9所示位置,采用2个共阴高红7段数码管组成,位选信号在数码管的左边由连接孔SEL0、SEL1、SEL2与其它模块连接。
3、8×8LED点阵
位于实验系统组成框图的15所示位置,横排8位显示的控制信号在点阵右边的3-8译码器的下方,由SEL0、SEL1、SEL2连接孔与其它模块连接。
4、8位发光二极管
位于实验系统组成框图的13所示位置。
其输入由位于其下方的8位连接孔与其它模块连接,可以模拟二进制数据输出。
二、接口模块
实验系统有视频接口(VGA)、USB接口、RS232接口、通信模块的接口等几个模块。
VGA接口位于实验组成框图的19所示位置,USB接口位于实验组成框图的24所示位置,RS232接口位于实验组成框图的25所示位置。
其信号输入输出均由位于模块左边的连接孔与其它模块连接。
通信模块的输入输出位于实验系统组成框图的17、18所示位置。
三、输入模块
1、4×4键盘
在实验系统组成框图的22所示位置。
4×4键盘主要是通过编程实现0~F的输入,也可以作为一个控制键。
在其上方的连接孔R1、R2、R3、R4控制横向4位;C1、C2、C3、C4控制纵向4位。
2、8位复位开关
复位开关可以通过手动控制为系统提供脉冲信号。
在系统中一共提供了8位的按键开关,当按下键后其输出为低电平,反之则为高电平。
其输出端是模块上方对应的连接孔K1~K8。
3、8位DIP开关
位于实验系统组成框图中的21所示位置。
主要功能是能保持高低电平,通过手动控制为系统提供稳定的逻辑信号。
系统总共提供了8位拨档开关,当开关的档位在上方时则输出高电平,反之则为低电平。
其输出端是模块上方对应的连接孔S1~S8。
4、24M~2Hz分频电路
在实验系统组成框图的20所示位置。
在这个模块中采用了两个时钟源,一个是24M的高频时钟,另一个是32768Hz能完成二次分频的时钟。
时钟输出通过其上方的四组跳线改变其频率的输出,每一组频率相对独立。
其频率值在电路板上均已标明。
每一组的频率输出端是上方对应的CLK1、CLK2、CLK3、CLK4连接孔。
四、模数转换模块
1、ADC0809芯片
ADC0809芯片是8通道、8位逐次逼近式A/D转换器,位于实验系统组成框图中的3所示位置,完成模/数转换。
CH0~CH7为8个模拟输入通道,其输入端是上方对应的CH0~CH7连接孔。
AD0~AD7为数据输出端,通过其右边对应的D0~D7连接孔与其它模块连接。
其它管脚通过其下方对应的连接孔与控制信号相连。
2、DAC0800芯片
DAC0800芯片是8位分辨率的D/A转换芯片,具有连接简单、转换控制方便、价廉等优点,位于实验系统组成框图中的5所示位置,完成数/模转换。
8位数据输入端由下方的D0~D7连接孔输入,模拟信号输出由LF411下方的Vout连接孔输出。
五、控制模块
1、电梯
在本实验系统中模拟的是1个三层电梯上下的模块。
位于实验系统组成框图的12所示位置。
4个按键如上面标志所示分别表示每层楼上、下的请求信号,信号通过其右边对应的4个连接孔1KU(一楼上信号)、2KD(二楼下信号)、2KU(二楼上信号)、3KD(三楼下信号)与其它模块连接。
在中间有2个黄色的指示灯和2个绿色的指示灯。
黄色的指示灯表示楼层有下的请求信号;绿色的指示灯表示楼层有上的请求信号。
通过其右边对应的4个连接孔1U(一楼上信号)、2U(二楼上信号)、2D(二楼下信号)、3D(三楼下信号)与其它模块连接。
模块最右边的3个红灯表示电梯到达楼层的标志信号,通过其右边对应的3个连接孔与其它模块连接。
2、交通灯
在实验系统组成框图的11所示位置。
由12个红黄绿灯按交通灯方式排列的交通灯模块,可做交通灯或舞台灯光实验。
3、步进电机
位于实验系统组成框图的10所示位置。
通过对模块下方的4个连接孔A、B、C、D输入控制信号来控制步进电机的转动。
六、存储模块
在本系统中采用1个8K×8位的E2PROM2864芯片,通过对其编程,可为其它模块提供波形信号。
在实验系统组成框图的4所示位置。
七、蜂鸣器模块
蜂鸣器在实验系统组成框图中位于6所示位置,由1个蜂鸣器和1个喇叭组成,是为了配合有些实验需要报警发声等要求而设置的。
实验系统可以通过对中间的1个跳线的改变来选择蜂鸣器或喇叭,当跳线帽在左边时选择的是喇叭,反之则选择的是蜂鸣器。
对模块下方的SPEAKER连接孔输入1个时钟信号使蜂鸣器或喇叭发声。
第二章开发平台
2.1QuartusII简介
QuartusII是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
QuartusII支持Altera的IP核,集成了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。
对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。
2.2QuartusII开发流程
一、创建工程
1、建立工程目录
新建一个文件夹,作为工程目录。
2、新建工程(File|NewProjectWizard)
(1)指定工程目录、名称和顶层设计实体
(2)选择目标芯片
3、新建设计文件(File|New)
4、保存文件File|SaveAs
二、编译工程(Processing|StartCompilation)
全程编译包括排错、数据网表文件提取、逻辑综合、适配、装配文件生成,以及基于目标器件的工程时序分析等。
如果有错误,可双击错误说明条文,修改源程序,重新编译。
三、时序仿真
1、新建波形文件(File|New)
选择OtherFiles中的VectorWaveformFile
2、保存文件(File|SaveAs)
3、设置仿真时间区域(Edit|EndTime)
4、添加端口(Edit|InsertNodeorBus|NodeFinder)
5、编辑输入波形
6、启动时序仿真(Processing|StartSimulation)
四、观察RTL电路
Tools|RTLViewer
五、引脚分配(Assignments|AssignmentEditor)
当引脚分配后,必须重新编译一次。
六、下载(Tools|Programmer)
1、设置编程器
2、启动编程
七、运行
搭建好外围电路后,观察实验系统运行情况,如果与预期的功能不符,应重新修改源程序。
第三章实验项目
实验1全加器设计
实验学时:
3
实验类型:
设计
实验要求:
必修
一、实验目的
通过本次实验,掌握QuaruII软件的开发流程,学会全加器的设计方法。
二、预习与参考
1、系统方案
利用QuaruII集成的门元件,先设计一个半加器,将半加器生成元件符号后,用两个半加器组成一个全加器。
2、设计半加器
半加器原理图
生成元件符号,单击菜单File|Create/Update
3、设计全加器
全加器原理图
三、实验要求
1、功能要求
实现加法计数,完成和与进位的计算。
2、预习要求
在实验前提交设计方案,给出原理图。
四、实验条件
PC机,EDA实验系统。
五、调试及结果测试
1、建立工程
2、搭建电路
3个拨码开关分别连接a,b和cin,代表被加数、加数和低位进位;
2个发光二极管分别连接cout和sum,代表和、高位进位。
3、运行工程
拨动开关,改变被加数、加数和低位进位,观察发光二极管显示的和与高位进位。
六、实验报告要求
应提供原理图和测试结果,总结调试过程,并回答思考题。
七、思考题
1、如何采用Verilog文本方式实现全加器?
实验2基本组合电路设计
实验学时:
3
实验类型:
设计
实验要求:
选修
一、实验目的
通过本次实验,掌握通用编译码器,学会基本组合电路的设计方法。
二、预习与参考
1、系统方案
分别设计一个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功能表
输入
输出
ei
din[0]din[1]din[2]din[3]din[4]din[5]din[6]din[7]
dout[2]dout[1]dout[0]
gseo
1
xxxxxxxx
111
11
0
11111111
111
10
0
xxxxxxx0
000
01
0
xxxxxx01
001
01
0
xxxxx011
010
01
0
xxxx0111
011
01
0
xxx01111
100
01
0
xx011111
101
01
0
x0111111
110
01
01111111
111
01
编码器的输入为din[7]~din[0],编码优先顺序从高到低为din[7]到din[0],输出为dout[2]~dout[0],ei是输入使能,eo是输出使能,gs是组选择输出信号,只有当编码器输出二进制编码时,gs才为低电平。
三、实验要求
1、功能要求
实现3-8译码器和8-3优先编码器。
2、预习要求
在实验前提交设计方案,给出源程序。
四、实验条件
PC机,EDA实验系统。
五、调试及结果测试
1、建立工程
2、搭建电路
拨码开关连接3-8译码器或8-3优先编码器的输入端;
发光二极管接3-8译码器或8-3优先编码器的输出端。
3、运行工程
拨动开关,改变译码器或编码器的输入信号,观察发光二极管显示的译码器或优先编码器的输出信号。
六、实验报告要求
应提供原理图和测试结果,总结调试过程,并回答思考题。
七、思考题
1、怎样设计奇偶校验位产生器?
2、怎样设计数码管显示译码器?
实验3基本时序电路设计
实验学时:
3
实验类型:
设计
实验要求:
选修
一、实验目的
通过本次实验,掌握通用触发器和计数器,学会基本时序电路的设计方法。
二、预习与参考
1、系统方案
分别设计一个JK触发器和8位可逆计数器。
利用多分支条件语句case来描述JK触发器,利用多重选择if语句来描述可逆计数器。
2、JK触发器
用case语句描述一个带异步清零和异步置1(低电平有效)的JK触发器。
3、8位可逆计数器
用多重选择if语句来描述一个8位可逆计数器。
计数器有一个加/减控制端up_down,当控制端为高电平时,实现加法计数;为低电平时,实现减法计数。
三、实验要求
1、功能要求
实现JK触发器和8位可逆计数器。
2、预习要求
在实验前提交设计方案,给出源程序。
四、实验条件
PC机,EDA实验系统。
五、调试及结果测试
1、建立工程
2、搭建电路
拨码开关连接JK触发器或8位可逆计数器的输入端;
发光二极管接JK触发器或8位可逆计数器的输出端。
3、运行工程
拨动开关,改变JK触发器或8位可逆计数器的输入信号,观察发光二极管显示的JK触发器的状态或8位可逆计数器的计数值。
六、实验报告要求
应提供原理图和测试结果,总结调试过程,并回答思考题。
七、思考题
1、如何设计移位寄存器?
2、如何设计串并转换器?
实验4基于lpm_rom的乘法器设计
实验学时:
3
实验类型:
设计
实验要求:
必修
一、实验目的
通过本次实验,掌握QuarutusII的宏功能模块设计的应用,学会基于ROM的乘法器设计方法。
二、预习与参考
1、系统方案
基于存储器模块库中的lpm_rom,构成一个4bit×4bit的无符号数乘法器。
预先计算出两个数的乘积,并放在ROM中,将两个数分别作为ROM地址的高4位和低4位,读取存储单元来得到两数的乘积。
此方法的优点是运算速度快,缺点是ROM需分配较多的存储单元。
2、整体电路
基于lpm_rom的乘法器电路
3、新建MIF文件
(1)File|New,选择OtherFiles中的MemoryInitializationFile
(2)设置字数为256,字宽为8
(3)输入乘积数据
ROM单元格
4、定制lpm_rom元件
(1)引入lpm_rom
新建原理图文件,插入megafunctions|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的4bit×4bit的有符号数乘法器?
实验5基于lpm_rom的计数器设计
实验学时:
3
实验类型:
设计
实验要求:
选修
一、实验目的
通过本次实验,掌握QuarutusII的宏功能模块设计的应用,学会基于ROM的计数器设计方法。
二、预习与参考
1、系统方案
基于算术运算模块库中的lpm_counter,构成一个24进制可逆计数器。
计数器包含一个时钟输入端;一个计数方向控制端updown,当updown为1时,计数器为加法计数,为0时做减法计数;一个数据输出端和一个进位输出端。
2、整体电路
基于lpm_counter的计数器电路
3、定制lpm_counter元件
(1)引入lpm_counter
新建原理图文件,插入megafunctions|arithmetic中的lpm_counter
(2)设置输出端口宽度和计数方向
(3)设置计数模和控制端口
三、实验要求
1、功能要求
实现24进制加法和减法计数,计数方向可以控制。
2、预习要求
在实验前提交设计方案,给出原理图。
四、实验条件
PC机,EDA实验系统。
五、调试及结果测试
1、建立工程
2、搭建电路
clk连接1Hz时钟;
1个拨码开关连接ud,控制计数方向;
6个发光二极管分别连接cout和Q,代表进位输出和计数值。
3、运行工程
拨动开关,改变计数方向,观察发光二极管显示的进位输出和计数值。
六、实验报告要求
应提供原理图和测试结果,总结调试过程,并回答思考题。
七、思考题
1、如何增加同步清零、同步预置、异步清零和异步预置等控制端口?
实验6流水灯控制器设计
实验学时:
4
实验类型:
综合
实验要求:
选修
一、实验目的
通过本次实验,掌握流水灯控制器的工作原理,学会有限状态机的设计方法。
二、相关知识点
流水灯工作过程、有限状态机
三、实验原理、方法和手段
1、系统方案
设计一个流水灯控制器,控制18个发光二极管实现如下的演示花型:
●从两边往中间逐个亮,全灭;
●从中间往两头逐个亮,全灭;
●循环执行上述过程。
复位信号为高电平有效,当它为高电平时,流水灯全灭;为低电平时,流水灯正常工作。
2、有限状态机
利用有限状态机来实现对流水灯的控制。
采用双过程描述:
一个用于实现状态转移,另一个用于产生输出逻辑,这样使整个设计结构清晰,便于修改。
引入4Hz基准时钟来计时,每经过一个周期,则切换到下一个状态,显示流水灯的下一个花样。
四、实验条件
PC机,EDA实验系统。
五、调试及结果测试
1、建立工程
2、搭建电路
基准时钟连接4Hz时钟;
复位信号接开关,向上打系统复位,向下打正常工作;
输出信号连接18个发光二极管。
3、运行工程
拨动开关,观察发光二极管显示的流水灯。
六、实验报告要求
应提供源程序和测试结果,总结调试过程,并回答思考题。
七、思考题
1、怎样扩展系统,设置流水灯的多套演示花型,并可以通过按键来选择?
实验7数字跑表设计
实验学时:
4
实验类型:
综合
实验要求:
选修
一、实验目的
通过本次实验,掌握数字跑表的工作原理,学会级联计数、数码管译码和动态显示、键盘的消抖和有限状态机设计方法。
二、相关知识点
数字跑表工作原理、级联计数、数码管译码和动态显示、键盘的消抖、有限状态机设计
三、实验原理、方法和手段
1、系统方案
设计数字跑表,提供复位、暂停和计时功能。
数字跑表示意图
跑表设3个输入端,分别为时钟输入clk、复位clr和启动/暂停pause按键。
引入100Hz基准时钟来实现百分秒计时。
复位信号高电平有效,可对跑表异步清零。
当启动/暂停键为低电平时,跑表开始计时;为高电平时,跑表暂停计时,变低后在原来的数值基础上继续计时。
2、按键模块
由于按键存在机械抖动,可引入1KHz的基准时钟,延时约12ms,等待按键稳定后,再检测其状态。
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、运行工程
按下按键,观察数码管显示的跑表时间。
六、实验报告要求
应提供源程序和测试结果,总结调试过程,并回答思考题。
七、思考题
1、怎样扩展系统,实现时钟的计时和显示?
实验8数字频率计设计
实验学时:
4
实验类型:
综合
实验要求:
必修
一、实验目的
通过本次实验,掌握频率测量原理,学会级联计数和数码管动态显示的设计方法。
二、相关知识点
频率测量原理、级联计数、数码管的译码和动态显示
三、实验原理、方法和手段
1、系统方案
设计一个4位10进制频率计,能测出0~9999Hz范围内的信号频率。
采用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、运行工