资源描述
EDA技术I实验指导书EDA技术I实验指导书EDA技术I课程组北京电子科技学院电子信息工程系2007年3月目录EDA技术I实验教学大纲1第一部分:电子设计自动化设计实验说明3一、设计题目选择的要求3二、提交设计报告的要求3三、设计题目3四、实验考核方式说明4第二部分:基于GEXIN EDAPRO/240H实验仪实验5题目一 MAX+PLUSII基本操作5题目二 QUARTUS基本操作5题目三 FPGA compiler基本操作6题目四 4bit二进制加法器设计6题目五 4bit频率计设计7题目六 计数器设计7题目七 译码器设计8题目八 数据选择器设计8题目九 移位寄存器设计9题目十 m序列发生器设计10题目十一 序列检测器设计10题目十二 数字钟设计11题目十三 数字跑表设计11题目十四 呼叫系统设计12题目十五 汽车尾灯控制电路设计12题目十六 字符显示控制电路13题目十七 彩灯控制器设计14题目十八 8位数字频率计的设计14题目十九 乐曲演奏电路的设计15题目二十 自动售货机设计16题目二十一 电梯控制系统的设计16第三部分:基于KH-310智能型可编程数字开发系统实验17题目一 基本组合逻辑电路设计17题目二 七段数码管驱动器设计17题目三 4X4键盘扫描电路设计21题目四 跑马灯设计23题目五 8X8 LED点阵显示24题目六 数字频率计电路设计25题目七 波形发生器设计26题目八 乒乓球游戏机设计26题目九 脉冲发生器设计27题目十 多功能计算器设计28题目十一 交通灯设计29题目十二 乐曲演奏电路设计30题目十三 电子琴电路设计31题目十四 电梯控制电路设计32题目十五 电子钟的设计33题目十六 自动售货机设计34第四部分:GEXIN EDAPRO/240H实验仪34第五部分:KH-310智能型可编程数字开发系统芯片IO对照表45第六部分:实验报告格式及要求49 51编号:01222001中文名称:EDA技术I性质:限选课 任选课英文名称:EDA technology I计划总学时:38(20学时授课,18学时实验)学分:2适用对象:电子信息工程专业、通信工程专业、信息安全专业 计算机科学与技术专业、信息与计算科学专业EDA技术I实验教学大纲一、教育目标EDA技术I是本科生的限选课,适用于电子信息工程专业、通信工程专业、信息安全专业,也可作为计算机科学与技术专业、信息与计算科学专业的任选课。通过本课程的学习,使学生掌握数字系统设计理念,掌握硬件描述语言、电子设计自动化工具使用,得到数字系统设计开发能力的训练。二、教学说明EDA技术I的先修课程是数字电子技术。EDA技术I课程主要讲授可编程逻辑器件的基本原理、硬件描述语言、电子设计自动化软件工具和数字系统设计方法。使学生通过课程的学习,了解电子设计自动化前沿技术,掌握电子设计自动化软件工具,使用硬件描述语言完成数字系统的设计。实验教学内容可以根据课堂讲授的具体情况和技术发展进行合理调整。三、内容和基本要求实验一:EDA软件工具的使用(一)实验内容用原理图描述多数加法器、数据比较器和移位寄存器。(二)实验要求熟悉EDA软件工具的使用;掌握原理图输入方法、校验及波形图仿真。实验二:硬件描述语言训练(一)实验内容利用硬件描述语言描述计数器、数据选择器和译码器。(二)实验要求掌握硬件描述语言对基本逻辑单元电路的描述;掌握设计文件的编译及波形图仿真。实验三:功能模块电路设计(一)实验内容在多种功能模块电路中进行选择,完成电路设计。(例如:计数器、序列信号发生器、状态机、ROM、RAM等功能电路)(二)实验要求掌握功能模块电路的设计方法,完成设计任务;掌握模块电路的仿真测试;掌握编程文件的下载调试。实验四:系统电路设计(一)实验内容在多种系统电路设计中进行选择,完成电路设计。(例如:函数发生器、逻辑分析仪、数字滤波器、S-DES算法、DES算法、电机控制系统等)(二)实验要求掌握数字系统设计的基本方法,完成设计任务;掌握数字系统的仿真测试;掌握编程文件的下载调试。四、进程安排内 容学时授课形式实验项目类型实验一 EDA软件工具的使用3实验验证性实验二 硬件描述语言训练3实验验证性实验三 功能模块电路设计3实验设计性实验四 系统电路设计9实验综合性五、教材及参考指导书教 材:路而红主编. 专用集成电路设计与电子设计自动化. 北京:清华大学出版社,2004参考指导书:1 Mark Zwolinski著. Digital System Design with VHDL. 北京:电子工业出版社,20022 Donald E Thomas, Philip R. Moorby著. The Verilog Hardware Description Language (Fourth Edition). 北京:清华大学出版社,20013 阎石主编. 数字电子技术基础(第四版). 北京:高等教育出版社,20034 路而红主编. 电子设计自动化应用技术. 北京:高等教育出版社,2004六、考核方式及成绩评定参考标准实验考核的最后成绩取决于学生学习课程的全面表现,包括实验操作、实验报告等。按时完成实验、按时提交实验报告占实验考核成绩10%,平时实验成绩占60%,实验考试成绩占30%。报告考核成绩主要考核学生对实验报告的撰写能力,实验报告必须符合要求,规范整齐,并经过很好的组织和整理,装订整齐,按时提交。实验报告的批改按5分制,5分意味着完整并正确完成实验要求,实验报告整齐规范;4分意味着基本上完成了实验要求,实验报告有不足;3分意味着部分完成实验要求,实验报告有少量错误;2分意味着没完成大部分实验要求,实验报告有错误且不符合要求;1分意味着没完成实验要求且没撰写实验报告。大纲撰写人: 路而红大纲审阅人: 董秀则教学部门负责人:李莉第一部分:电子设计自动化设计实验说明电子设计自动化设计的实验题目分为四大类:电子设计自动化软件工具的使用、单元电路设计、功能电路设计和系统电路设计。每类设计题目有若干个,每位同学可以按下述要求从中进行选择。一、设计题目选择的要求实验一从第一类题目中选择一个,实验二从第二类题目中选择一个,实验三从第三类题目中选择一个,实验四从第四类题目中选择一个。具体题目可以根据各自情况进行选择。二、提交设计报告的要求1.做完设计后,应当保存,并在规定的时间内提交设计文件清单(如:.gdf或.vhd或.v文件)、波形图仿真文件以及资源占用报告等,上传到指定服务器。2.设计完成后,按照实验报告书写格式要求编写实验报告,并在规定的时间内提交实验报告。3.优秀的设计报告,参加讨论课的发言。三、设计题目类型设计题目第一类EDA工具使用MAX+PLUSII基本操作QUARTUS 基本操作FPGA compiler 基本操作第二类单元电路设计计数器设计4bit加法器设计译码器设计数据选择器设计移位寄存器设计m序列发生器设计七段数码管驱动器设计第三类功能电路设计序列检测器设计数字跑表设计呼叫系统设计字符显示控制电路汽车尾灯控制电路设计8X8 LED点阵显示第四类系统电路设计数字钟设计4bit频率计设计4X4键盘扫描实验彩灯控制器电路设计跑马灯设计波形发生器设计乒乓球游戏机设计脉冲发生器设计多功能计算器交通灯设计电子琴电路设计自动售货机的设计四、实验考核方式说明实验的考试方式为选择设计题目设计并由监考教师检查验收,监考教师根据题目的设计情况进行适当的提问。注:考试时,设计题目只能从第三类题目和第四类题目中选择一个。其中,选择第三类设计题目的满分分值为90分,第四类设计题目的满分分值为100分。第二部分:基于GEXIN EDAPRO/240H实验仪实验题目一 MAX+PLUSII基本操作一、设计任务掌握MAX+PLUSII的基本操作,掌握电路的原理图输入法、设计处理、设计仿真等设计电路的基本操作过程。二、设计基本要求1.设计输入:要求用原理图设计实现一个十六进制计数器,不限制使用的器件。学会使用原理图编辑器,完成设计电路的输入。原理图文件的后缀为.gdf。2.设计处理:编译设计文件,修改其中的错误,学会使用编辑器,完成电路的设计处理。3.设计仿真:学会使用波形图编辑器,完成设计电路的仿真分析。波形图文件的后缀为.scf。4.了解MAX+PLUSII的基本功能,掌握设计文件的建立、原理图输入方法、设计文件的编译、设计电路的波形仿真分析等基本操作。四、设计扩展要求调用74390元件,用原理图设计实现两位十进制计数器,限制使用MAX7000系列器件。五、设计报告总结原理图输入方法、编译文件的过程、波形图编辑器的使用。总结设计电路的完整过程,提交原理图和波形图文件(*.gdf和*.scf文件)。题目二 QUARTUS基本操作一、设计任务参考相关资料,掌握的基本操作,掌握电路模型库的使用、设计处理、设计仿真等基本设计过程。二、设计基本要求1.设计输入:要求用电路模型库设计实现一个十进制计数器。学会使用电路模型,建立题目要求的电路模型。2.设计处理:编译设计文件,完成电路的设计处理。3.设计仿真:学会使用波形图编辑器,完成设计电路的仿真分析。波形图文件的后缀为.scf。4.了解QUARTUS提供的各种电路模型,学会利用软件提供的模型实现电路的设计、掌握设计文件的编译、设计电路的波形仿真分析等三、设计报告总结利用电路模型完成设计电路的方法,总结编译文件的过程、波形图编辑器的使用。总结使用QUARTUS工具设计电路的完整过程,提交电路设计文件和波形图文件。题目三 FPGA compiler基本操作一、设计任务参考相关资料,掌握FPGA compiler的基本操作,掌握软件使用的基本操作过程,学会设计处理、设计仿真、综合电路、与MAX+PLUSII软件的关联等操作过程。二、设计基本要求1.设计输入:要求调用一个硬件描述语言程序,建立一个工程文件,选择器件。2.设计处理:编译设计文件,完成电路的设计处理。3.电路综合:查看电路综合的结果,分析硬件描述语言与电路实现之间的关系。4.了解FPGA compiler 软件的基本操作过程,学会利用软件提供的综合后的网表文件,返回到MAX+PLUSII进行器件的适配。三、设计报告总结FPGA compiler 软件的基本操作,总结FPGA compiler与 MAX+PLUSII的接口流程。题目四 4bit二进制加法器设计一、设计任务掌握MAX+PLUSII的基本操作,掌握电路的原理图输入法、库元件的建立与调用、设计处理、设计仿真等设计电路的基本操作过程。二、设计基本要求1.设计输入:要求用原理图设计实现一位二进制加法器电路,电路调试通过后,将该电路形成一个库元件。调用该元件构造4bit二进制加法器电路。2.设计处理:编译设计文件,修改其中的错误,使用编辑器,完成电路的设计处理。3.设计仿真:使用波形图编辑器,完成设计电路的仿真分析。三、设计扩展要求将4bit二进制加法器形成库元件,调用该元件,构造8bit二进制加法器电路。四、设计报告总结库元件的建立和使用方法,总结层次化设计方法,提交原理图和波形图文件(*.gdf和*.scf文件)。题目五 4bit频率计设计一、设计任务掌握MAX+PLUSII的基本操作,掌握电路的原理图输入法、库元件的建立与调用、设计处理、设计仿真等设计电路的基本操作过程。二、设计基本要求1.设计输入:要求用原理图设计实现2bit频率计,电路调试通过后,将该电路形成一个库元件。调用该元件构造4bit频率计。2.设计处理:编译设计文件,修改其中的错误,使用编辑器,完成电路的设计处理。3.设计仿真:使用波形图编辑器,完成设计电路的仿真分析。4.预习EDA教学课件2003eda3.pp频率测量的基本原理及其框图结构。(设计方案参考:1.设计一个带使能控制端的两位十进制计数器;2.利用计数器和译码器设计测频时序控制电路,依次产生计数使能、锁存、清零等控制信号;3.调用74374,设计锁存电路。将上述各模块电路连接实现2bit频率计。)三、设计报告总结库元件的建立和使用方法,总结层次化设计方法,提交原理图和波形图文件(*.gdf和*.scf文件)。题目六 计数器设计一、设计任务掌握硬件描述语言对计数器的描述。二、设计基本要求1设计输入:要求用硬件描述语言设计实现一个六十进制计数器,该计数器有计数允许端EN,清零端CLR和进位输出端CY。功能如表所示,当EN=1时,计数器正常计数;当CLR=1时,计数器清零。学会使用文本编辑器,完成设计电路的描述。清零端CLR计数允许端EN电路功能10计数器清零01六十进制计数器计数2设计处理:编译设计文件,修改其中的错误,学会使用编辑器,完成电路的设计处理。3设计仿真:学会使用波形图编辑器,完成设计电路的仿真分析。4了解硬件描述语言的标识符、数据对象、数据类型及其属性;了解硬件描述语言基本运算符;了解硬件描述语言基本构成及其基本语句;掌握硬件描述语言对计数器的描述。5掌握MAX-PLUSII文本编辑器的基本功能,掌握文本文件的建立、设计文件的编译、设计电路的波形仿真分析。三、设计扩展要求设计合理的分频电路,将上述计数器下载到EPM7128SLC84-7芯片中,利用实验板验证电路的正确性。四、设计报告总结硬件描述语言对时序逻辑电路的描述;总结文本文件输入方法;总结语言描述电路的完整设计过程,提交编程文件和波形图文件(*.vhd或*.v和*.scf文件)。题目七 译码器设计一、设计任务掌握硬件描述语言对电路的描述,掌握译码器的硬件描述语言描述及其实现。二、设计基本要求1设计输入:要求用硬件描述语言设计实现BCD码的七段译码器。完成设计题目的硬件描述语言描述。2设计处理:编译设计文件,修改其中的错误,学会使用编辑器,完成电路的设计处理。3设计仿真:学会使用波形图编辑器,完成设计电路的仿真分析。4了解硬件描述语言的标识符、数据对象、数据类型及其属性;了解硬件描述语言基本运算符;了解硬件描述语言基本构成及其基本语句;掌握硬件描述语言对译码器的描述。5掌握MAX-PLUSII文本编辑器的基本功能,掌握文本文件的建立、设计文件的编译、设计电路的波形仿真分析。三、设计扩展要求设计键盘控制电路,与七段译码器合理配合,实现数字按键及其显示的功能电路,利用实验板验证电路的正确性。四、设计报告总结硬件描述语言对组合逻辑电路的描述;总结语言描述电路的完整设计过程,提交编程文件和波形图文件(*.vhd或*.v和*.scf文件)。题目八 数据选择器设计一、设计任务掌握硬件描述语言对电路的描述,掌握数据选择器的语言描述及其实现。二、设计基本要求1设计输入:要求用硬件描述语言设计实现十六选四的数据选择器电路。完成设计题目的硬件描述语言描述。2设计处理:编译设计文件,修改其中的错误,学会使用编辑器,完成电路的设计处理。3设计仿真:学会使用波形图编辑器,完成设计电路的仿真分析。4了解硬件描述语言的标识符、数据对象、数据类型及其属性;了解硬件描述语言的基本运算符;了解硬件描述语言的基本构成及其基本语句;掌握硬件描述语言对译码器的描述。5掌握MAX-PLUSII文本编辑器的基本功能,掌握文本文件的建立、设计文件的编译、设计电路的波形仿真分析。三、设计报告总结硬件描述语言对组合逻辑电路的描述;总结语言描述电路的完整设计过程,提交编程文件和波形图文件(*.vhd或*.v和*.scf文件)。题目九 移位寄存器设计一、设计任务掌握硬件描述语言对电路的描述,掌握移位寄存器的硬件描述语言描述及其实现。二、设计基本要求1设计输入:要求用硬件描述语言设计实现多功能的移位寄存器电路,该电路具有左移、右移、并行输入等功能,功能如表所示。完成设计题目的硬件描述语言描述。控制端C1 C2并行数据输入端D3 D2 D1 D0串行数据输入端DR DL寄存器输出Q3 Q2 Q1 Q0寄存器功能0 0 dd Q3 Q2 Q1寄存器左移0 1 d Q2 Q1 Q0 d寄存器右移1 0a b c d a b c d 寄存器并行输入1 1 Q3 Q2 Q1 Q0寄存器保持2设计处理:编译设计文件,修改其中的错误,学会使用编辑器,完成电路的设计处理。3设计仿真:学会使用波形图编辑器,完成设计电路的仿真分析。4了解硬件描述语言的标识符、数据对象、数据类型及其属性;了解硬件描述语言的基本运算符;了解硬件描述语言的基本构成及其基本语句;掌握硬件描述语言对译码器的描述。5掌握MAX-PLUSII文本编辑器的基本功能,掌握文本文件的建立、设计文件的编译、设计电路的波形仿真分析。三、设计报告总结硬件描述语言对组合逻辑电路的描述;总结语言描述电路的完整设计过程,提交硬件描述语言文件和波形图文件(*.vhd或*.v和*.scf文件)。题目十 m序列发生器设计一、设计任务掌握硬件描述语言对电路的描述,掌握m序列发生器设计的硬件描述语言描述及其实现。二、设计基本要求1设计输入:要求用硬件描述语言设计实现64位m序列发生器设计。完成设计题目的硬件描述语言描述。2设计处理:编译设计文件,修改其中的错误,学会使用编辑器,完成电路的设计处理。3设计仿真:学会使用波形图编辑器,完成设计电路的仿真分析。4了解硬件描述语言的标识符、数据对象、数据类型及其属性;了解硬件描述语言的基本运算符;了解硬件描述语言的基本构成及其基本语句;掌握硬件描述语言对译码器的描述。5掌握MAX-PLUSII文本编辑器的基本功能,掌握文本文件的建立、设计文件的编译、设计电路的波形仿真分析。三、设计报告总结硬件描述语言对组合逻辑电路的描述;总结语言描述电路的完整设计过程,提交硬件描述语言文件和波形图文件(*.vhd或*.v和*.scf文件)。题目十一 序列检测器设计一、设计任务掌握硬件描述语言对电路的描述,掌握序列检测器的描述及其实现。二、设计基本要求1设计输入:要求用硬件描述语言设计实现检测输入序列“1110101101”电路。完成设计题目的硬件描述语言描述。2设计处理:编译设计文件,修改其中的错误,学会使用编辑器,完成电路的设计处理。3设计仿真:学会使用波形图编辑器,完成设计电路的仿真分析。4了解硬件描述语言的标识符、数据对象、数据类型及其属性;了解硬件描述语言的基本运算符;了解硬件描述语言的基本构成及其基本语句;掌握硬件描述语言对译码器的描述。5掌握MAX-PLUSII文本编辑器的基本功能,掌握文本文件的建立、设计文件的编译、设计电路的波形仿真分析。三、设计报告总结硬件描述语言对组合逻辑电路的描述;总结语言描述电路的完整设计过程,提交硬件描述语言文件和波形图文件(*.vhd或*.v和*.scf文件)。题目十二 数字钟设计一、设计任务掌握硬件描述语言对功能电路的描述。掌握器件编程的基本操作。二、设计基本要求1.要求用硬件描述语言设计一个带分和小时校准的数字钟。进行波形仿真、定时分析,同时给出设计电路占用芯片资源的基本情况。仿真正确后,利用设计板提供的资源,下载电路实现预定功能。2根据设计题目的上述要求,完成设计题目的硬件描述语言描述。3掌握MAX-PLUSII的引脚设置方法。4掌握MAX-PLUSII对设计文件的定时分析以及对器件的编程。三、设计扩展要求在基本要求的基础上,增加下述功能:1.可控制的整点打铃功能。2.日期、星期的显示功能。四、设计报告总结硬件描述语言对功能电路的描述;总结功能电路的设计过程和框图;提交硬件描述语言文件(*.vhd、*.v),给出芯片资源占用情况报告;分析电路下载结果。题目十三 数字跑表设计一、设计任务掌握硬件描述语言对功能电路的描述。掌握器件编程的基本操作。二、设计基本要求1.要求用硬件描述语言设计一个数字跑表。该跑表有两个按键,按键一控制计数器的开始和结束,按键二对数字跑表进行清零,计数范围为0.009.99秒。对设计电路进行波形仿真、定时分析,同时给出设计电路占用芯片资源的基本情况。利用设计板提供的资源,下载电路实现预定功能。2根据设计题目的上述要求,完成设计题目的硬件描述语言描述。3掌握MAX-PLUSII的引脚设置方法。4掌握MAX-PLUSII对设计文件的定时分析以及对器件的编程。5了解设计板的时钟设置、引脚分配情况。三、设计扩展要求在基本要求的基础上,增加一个带分和小时校准的数字钟。四、设计报告总结硬件描述语言对功能电路的描述;总结功能电路的设计过程和框图;提交硬件描述语言文件(*.vhd或*.v),给出芯片资源占用情况报告;分析电路下载结果。题目十四 呼叫系统设计一、设计任务掌握硬件描述语言对系统电路的描述。掌握器件编程的基本操作。二、设计基本要求1.完成15号的呼叫系统设计:要求用硬件描述语言设计15号的呼叫系统。1号优先级别最高,优先级依次递减,5号优先级最低。有多个信号同时呼叫时,显示优先级最高的呼叫信号,用数码管显示最高优先级信号,有任何一个信号呼叫时,均发出呼叫声。对设计电路进行波形仿真、定时分析,同时给出设计电路占用芯片资源的基本情况。利用设计板提供的资源,下载电路实现预定功能。2根据设计题目的上述要求,完成设计题目的硬件描述语言描述。3掌握MAX-PLUSII的引脚设置方法。4掌握MAX-PLUSII对设计文件的定时分析以及对器件的编程。三、设计报告总结硬件描述语言对功能电路的描述;总结功能电路的设计过程和框图;提交硬件描述语言文件(*.vhd或*.v),给出芯片资源占用情况报告;分析电路下载结果。题目十五 汽车尾灯控制电路设计一、设计任务掌握硬件描述语言对系统电路的描述。掌握器件编程的基本操作。二、设计基本要求1.要求用硬件描述语言设计汽车尾灯控制电路。用6个发光二极管模拟6个汽车尾灯,左右尾灯各3个,用3个按键作为左、右和刹车控制信号。左转弯时,左侧尾灯顺序点亮;右转弯时,右侧尾灯顺序点亮;刹车信号出现时,汽车尾灯全部点亮。对设计电路进行波形仿真、定时分析,同时给出设计电路占用芯片资源的基本情况。利用设计板提供的资源,下载电路实现预定功能。2预习设计题目的要求,完成设计题目的硬件描述语言描述。3掌握MAX-PLUSII的引脚设置方法。4掌握MAX-PLUSII对设计文件的定时分析以及对器件的编程。三、设计报告总结硬件描述语言对功能电路的描述;总结功能电路的设计过程和框图;提交硬件描述语言文件(*.vhd或*.v),给出芯片资源占用情况报告;分析电路下载结果。题目十六 字符显示控制电路一、设计任务掌握硬件描述语言对系统电路的描述。掌握器件编程的基本操作。二、设计基本要求1) 电路能控制一位7段LED显示器循环演示A、5、F、0、B、9、E、8、7九个字符2) 循环演示的速度能够选择,即在两位控制端的控制下能选择频率彼此成2的整数倍的四种演示频率,例如:8HZ、4HZ、2HZ、1HZ。3) 系统顶层结构图参考。控制电路除显示器外,包括分频器、频率选择器、状态机和7段译码器。分频器在主时钟作用下产生4种演示频率信号;频率选择器则在两位码的控制下从4种演示频率信号中选择1种送给状态机做时钟信号,状态机循环输出演示字符的二进制码(4位);七段译码器输入的是4位二进制码,输出是驱动LED字段显示相应字符的控制信号。分别完成底层模块设计、编译、仿真三、设计扩展字符显示控制电路能控制八位LED显示器跳跃式的循环演示九个字符,其他要求同前。四、设计报告总结硬件描述语言对功能电路的描述;总结功能电路的设计过程和框图;提交硬件描述语言文件(*.vhd或*.v)和原理图文件,给出芯片资源占用情况报告;分析电路下载结果。题目十七 彩灯控制器设计一、设计任务1)掌握用硬件描述语言设计时序电路的设计方法;2)掌握分频器、译码和显示接口电路的设计方法。二、设计基本要求1)设计并制作一彩灯循环电路。LED发光管循环显示,发光管使用实验箱提供的发光二极管。工作方式如下:116开关K0,LED顺时针循环显示:第一秒,1号灯和9号灯亮;第二秒,2号灯和10号灯亮;第三秒,3号灯和11号灯亮; .开关K1,LED逆时针循环显示:第一秒,1号灯和9号灯亮;第二秒,16号灯和8号灯亮;第三秒,15号灯和7号灯亮; .三、设计扩展同时使3个LED发光管亮。时钟改为1/5秒动作,发光管上下跳跃。四、设计报告总结硬件描述语言对功能电路的描述;总结功能电路的设计过程和框图;提交硬件描述语言文件(*.vhd或*.v),给出芯片资源占用情况报告;分析电路下载结果。题目十八 8位数字频率计的设计一、设计任务掌握硬件描述语言对系统电路的描述。掌握器件编程的基本操作。二、设计基本要求数字频率计的基本原理是:利用一个基准时钟,在单位时间1s范围内对被测信号的脉冲个数进行计数,即可测量被测信号的频率。设计一个8位数字频率计,可以测量1Hz99999Hz的信号频率,将被测信号的频率在数码管上显示出来。参考实验五的设计原理。三、设计报告总结硬件描述语言对系统电路的描述;总结系统电路的设计过程和框图;提交硬件描述语言文件(*.vhd或*.v),给出芯片资源占用情况报告;分析电路下载结果。题目十九 乐曲演奏电路的设计一、设计任务掌握硬件描述语言对音符及其节拍的描述。掌握器件编程的基本操作。二、设计基本要求每个音符的频率值及其持续的时间是乐曲能够演奏的两个基本数据,因此只要控制输出到扬声器的信号频率的高低以及每个信号持续的时间长短,就可以使扬声器发出乐曲声。简谱中的音名与频率之间的关系如表所示:音名频率(Hz)音名频率(Hz)音名频率(Hz)低音1261.6中音1523.3高音11046.5低音2293.7中音2587.3高音21174.7低音3329.6中音3659.3高音31318.5低音4349.2中音46 98.5高音41396.9低音5392中音5784高音51568低音6440中音6880高音61760低音7493.9中音7987.8高音71975.5所有不同频率的信号都是从同一个基准频率分频而来,可以采用带有预置数的计数器获得不同频率的音名信号。首先根据基准频率值计算分频系数,分频系数采用四舍五入取整,再根据分频系数计算计数器的预置数。设全音符的持续时间为1S,则2分音符的持续时间为0.5S,4分音符的持续时间为0.25S,以此类推。音符持续时间的控制可以通过控制预置数的计数器加载预置数的停留时间来实现,加载预置数的停留时间越长,该音符演奏的时间就越长。根据上述乐曲演奏的基本原理,试设计一段乐曲的演奏,乐曲自选。三、设计报告总结乐曲演奏电路设计的基本原理,总结音符产生电路及音长控制电路的设计原理,总结硬件描述语言对乐曲演奏电路的描述;总结乐曲演奏电路的设计过程和框图;提交硬件描述语言文件(*.vhd或*.v),给出芯片资源占用情况报告;分析电路下载结果。题目二十 自动售货机设计一、设计任务掌握硬件描述语言对状态机电路的描述。二、设计基本要求设计一个自动销售饮料机。设每瓶饮料2.5元,投币口有两个,1元硬币或5角硬币,每个时刻可以输入其中一种硬币,自动销售饮料机有找零钱功能。三、设计扩展要求在基本要求的基础上,增加投币的显示功能,用声音提示用户取走饮料和找回的零钱。四、设计报告总结硬件描述语言对状态机的描述;提交硬件描述语言文件(*.vhd或*.v),给出芯片资源占用情况报告;分析电路下载结果。题目二十一 电梯控制系统的设计一、设计任务掌握硬件描述语言对电梯控制系统的描述。掌握器件编程的基本操作。二、设计基本要求利用硬件描述语言的行为描述,设计电梯控制系统。该控制系统可以完成对6个楼层的乘客服务,遵循方向优先的原则工作,各楼层有上下两个控制键,乘客可以选择上或下;各楼层指示电梯的运行状态和所在楼层;电梯内部可控制并显示电梯开门的楼层,显示电梯的运行状态,所在楼层的等待时间。三、设计报告总结硬件描述语言对电梯控制系统电路行为描述的特点;总结电梯控制系统的设计过程和框图;提交硬件描述语言文件(*.vhd或*.v),给出芯片资源占用情况报告;分析电路下载结果。第三部分:基于KH-310智能型可编程数字开发系统实验题目一 基本组合逻辑电路设计一、设计任务1、 熟悉Quartus 4.0软件基本使用方法;2、 掌握电路的基本设计方法。3、 掌握电路的基本仿真方法4、 掌握电路的基本下载方法二、实验器材1、 KH-310下载板;2、 KH-310 LED显示模块。三、设计基本要求用VHDL语言和原理图分别完成设计、仿真和下载基本逻辑门电路半加器的过程:输入:a,b;输出:求和sum,进位c;题目二 七段数码管驱动器设计一、设计任务1、学习HDL程序的基本设计技巧;2、掌握七段译码管的原理和使用方法;3、学会层次设计的基本方法。二、实验器材1、 KH-310 下载板;2、 KH-310 时钟模块;3、 KH-310 七段数码管显示模块。三、设计基本要求设计一条“蛇”,在四个七段数码管显示器(SCAN2,SCAN3,SCAN4,SCAN5)上以八字形绕圈,每绕完一圈后在SCAN6上显示相应的圈数。1、“蛇”的形状为七段显示器上显示出的连续三条亮线,如图2-1所示的方式依次显示:2-1 绕圈方向2、要求完成“蛇”的行进方向的自动转换,即在“蛇”正向行进四圈后自动转为反向行进,反向行进四圈后再转为正向,如此循环进行。3、在完成一次正转或反转后,用SCAN6显示正转或反转的圈数,显示的数字在14之间。四、设计原理七段数码管由七个发光二极管组成,分别为a、b、c、d、e、f、g七段,如图2-2所示,通过七段亮灭的不同组合来显示信息,分为共阴极与共阳极两种。共阴极是将七个发光二极管的阴极接在一起并接地,阳极接到译码器的各输出端,当发光二极管对应的阳极为高电平时,发光二极管亮,共阳极则与之相反。只要按规律控制各发光段的亮、灭,就可以显示各种字形或符号, 共阴极七段数码管七段显示译码器是驱动七段显示器件的专用译码器,它可以把输入的二十进制代码换成七段显示管所需要的输入信息,以使七段显示管显示正确的数码。BCD七段译码器的输入是一位BCD码(以D、C、B、A表示),输出是数码管各段的驱动信号(以FaFg表示)。若用它驱动共阴极LED数码管,则输出应为高有效,即输出为高电平时,相应显示段发光。例如,当输入8421码DCBA=0100时,应显示 4, 即要求同时点亮b、c、f、g段, 熄灭a、d、e段,故译码器的输出应为FaFg=0110011,这也是一组代码,称为段码。本实验通过点亮不同的段,实现“蛇”的移动,并同时显示有关信息。图2-2 七段数码管五、实验连线20M时钟输入CLK: 下载板系统时钟;RST复位信号:I01(拨码开关SW3左1);地址选择控制信号CTR(7 DOENTO 0):SO58,SO59,SO60,SO61,SO62,SO63,SO64,SO65;七段数码管信号QQ(7 DOWNTO 0):W124W131(连接数码管区域JP2);题目三 4X4键盘扫描电路设计一、设计任务1、学习HDL程序的基本设计技巧;2、掌握矩阵键盘的扫描原理和使用方法;二、实验器材4、 KH-310 下载板;5、 KH-310 时钟模块;6、 KH-310 键盘模块;7、 KH-310 数码管显示模块。三、设计基本要求 设计电路循环扫描键盘模块的按键情况,并将所按键值显示在7段数码管上。四、设计原理1矩阵键盘的扫描原理矩阵式键盘是一种常见的输入装置,KH-310中配置的44矩阵键盘的电路是一种共阳极的电路。该键盘的列选择信号以及行选择信号均为为低电平有效。根据上述键盘原理,下面给出用列信号进行扫描时的基本原理和流程:如图4-1中所示,当我们进行列扫描时,扫描信号由列引脚进入键盘,以1110、1101、1011、0111的顺序每次扫描不同的一列,然后读取行引脚的电平信号就可以判断是哪个按键被按下。例如:当扫描信号为1101时表示正在扫描“159D”一列,如果该列没有按键被按下,则由行信号读出的值为1111;反之,当按键9被按下时,则由列信号读出的值为1011。11101101101101111110 1101 1011 01110123C4B56789ABCDEF图4-1 4X4矩阵键盘列扫描2矩阵键盘IO引脚对照表位置行1行2行3行4列1列2列3列4IOKIO90KIO91KIO92KIO93KIO94KIO95KIO96KIO971C12PIN127PIN128PIN131PIN132PIN133PIN134PIN135PIN1363例程设计思路首先在时钟控制下循环给出键盘扫描信号。然后根据列扫描信号和对应键盘响应信号确定键盘按键位置,直接对数码管给出相应显示编码。五 实验连线例程中采用列扫描方式,所以键盘的列信号为输出信号,行信号为输入信号;CLK时钟:20M下载板系统时钟;START使能:KH-310主板拨码开关区的开关S3段的1脚;列扫描信号KBCol:KIO94, KIO95, KIO96, KIO97;行扫描信号KBRow:KIO90, KIO91, KIO92, KIO93;7段显示信号SEG7:M124,M125,M126,M127,M128,M129,M130,M131;(数码管区JP1)7段数码管选择信号SCAN:SO58,SO59,SO60,SO61,SO62,SO63,SO64,SO65;题目四 跑马灯设计一、设计任务1、学习状态机的设计技巧;2、掌握CASE语句的使用;二、实验器材1、KH-310 下载板;2、KH-310 时钟模块;3、KH-310 LED显示模块。三、设计基本要求 控制8个LED进行花式显示,设计四种显示模式:1、 从左到右逐个点亮LED;2、 从右到左逐个点亮LED;3、 从两边到中间逐个点亮LED;4、 从中间到两边逐个点亮LED; 四种模式循环切换,由复位键rst控制系统的运行与停止。四、设计原理 S0:从左到右逐个点亮LEDS1:从右到左逐个点亮LEDS2:从两边到中间逐个点亮LEDS3:从中间到两边逐个点亮LED可用移位寄存器来控制逐个点亮LED的操作,移位的频率为1Hz。五 实验连线 输入信号: 时钟clk接1Hz输入;复位rst接拨动开关I01(拨码开关SW3左1); 输出信号:8位输出信号接LED模块O25O32。题目五 8X8 LED点阵显示一、设计任务1、掌握时钟分频电路的HDL设计;2、掌握CASE语句的使用;3、掌握HDL模块化程序设计方式。二、实验器材1、KH-310下载板;2、KH-310时钟模块;3、KH-310 8X8LED点阵显示模块。三、设计基本要求 控制LED矩阵的显示,实现LED矩阵从中间向四周扩散的显示效果,由复位键控制系统的运行。四、设计原理 1LED矩阵原理 KH31001开发板上提供的LED矩阵为彩色88LED矩阵,每个点提供红色和绿色两种灯,实际使用时可提供3色显示(红绿均亮显示黄色)。LED矩阵由列选择信号和红色灯信号、绿色灯信号输入共同控制矩阵中某一点的亮灭和颜色,所有输入信号均为高电平有效。例如:列选择信号输入“01000000”选择第二列,此时如果红色灯信号和绿色灯信号分别输入“11000000”和“01100000”,则第二列第一行至第三行显示红、黄(红绿)、绿,其他部分不亮。 2设计方案: 从输入时钟分频得到一个高频扫描时钟和一个低频图像变换时钟。在扫描时钟控制下逐列显示设计图图像,图像变换时钟驱动改变当前显示图像(状态S0、S1)。 下面实现三色交替出现的扩张、收缩图像;由内向外四层显示颜色为: S0: S1: 红 S2: 绿、红 S3: 黄、绿、红 S4: 红、黄、绿、红 S5: 绿、红、黄、绿 S6: 黄、绿、红、黄 S7: 红、黄、绿、红 S8: 红、黄、绿 S9: 红、黄 S10: 红 S0: 题目六 数字频率计电路设计一、设计任务1、 学习测频法的测量原理2、 掌握时钟分频电路的HDL设计;3、 掌握CASE语句的使用;4、 掌握HDL模块化程序设计方式。二、实验器材1、 KH-310下载板;2、 KH-310时钟模块;3、 KH-310拨码开关模块4、 KH-310数码管显示模块;5、 KH-310 8X8LED点阵显示模块。三、设计基本要求采用测频法,设计一个8位十进制数字显示的数字频率计,其测量的范围为149999999Hz,被测试频率可由基准频率分频得到。四、设计原理 1、测频法的基本原理测频法的测量原理如图6-1所示,在确定的闸门时间Tw内,记录被测信号的变化周期数(或脉冲个数)Nx,则被测信号的频率为:fx=Nx/Tw,通常可以设定闸门时间Tw为1秒。图6-1测频法的基本原理2、系统组成基准时钟被测时钟闸门时间8位十进制计数器数据处理与显示数码管显示模块 图6-2 系统组成原理系统组成原理如图6-2所示,输入信号包括20M的基准时钟和1Hz40MHz的被测时钟,闸门时间模块的作用是对基准时钟进行分频,得到一个1秒的闸门信号,作为8位十进制计数器的计数标志,点阵模块显示Hz,8位数码管模块显示分频信号的频率。题目七 波形发生器设计一、设计任务1、学习HDL程序的基本设计技巧;2、学习DAC数模转换模块的应用;3、掌握基本波形电路的设计方式二、实验器材KH-310 下载板;拨动开关模块;7段数码管模块;DAC模块三、设计基本要求编写DAC数字转换模拟以NCO作频率设定的精确函数产生器四、设计原理DAC的转换内容由PROM内建好的预定函数波形与以输出转换成模拟讯号输出,DAC转换的速率由15位的类加器产生NCO取其高6位作PROM寻址,因此NCO控制的函数波频率为:( 20MHZ/65536 ) X FREQ15.0=FGREQ FREQ15.0由16个址拨开关加以设定,由于DAC转换速度的限制,因此函数波的频率无法提高,采用高速DAC芯片,若FPGA的时基采用的是655535KHZ时,设定的函数波频率将由1KHZ到65.5535MHZ,假如时基改成65.355KHZ则周期可设定成1HZ到65535HZ的频率范围。PROM寻址为8位,因此以SUM15.10输出接到其寻址A0-A5,另外的A6,A7则椄到指拨开关来选择函数波型,因此PROM内含4组64个波形分割点数据,可编写程序与以计算所要产生的各种波形加以写入。题目八 乒乓球游戏机设计一、设计任务1、 掌握时钟分频电路的HDL设计;2、 掌握CASE语句的使用;3、 掌握HDL模块化程序设计方式。二、实验器材1、 KH-310下载板;2、 KH-310时钟模块;3、 KH-310 LED显示模块;4、 KH-310七段数码管模块。三、设计基本要求设计一个乒乓球游戏机,模拟乒乓球比赛基本过程和规则,并能自动裁判和计分。四、设计原理乒乓球游戏机是用816个发光二极管代表乒乓球台,中间两个发光二极管兼作乒乓球网,用点亮的发光二极管按一定方向移动来表示球的运动。另外设置发球开关:Af、Bf;和接球开关Aj、Bj。利用若干七段数码管最为计分牌。甲乙双方按乒乓球比赛规则来操作开关。当甲方按动发球开关Af时,靠近甲方的第一个灯亮,然后顺序向乙方移动。当球过网后,乙方可以接球,接球后灯反方向运动,双方继续比赛,如果一方提前击球(过网击球)或未击到球,则判失分,对方加分。重新发球后继续比赛。题目九 脉冲发生器设计一、设计任务1、学习脉冲发生器模块;2、掌握闪烁显示技术;3、掌握HDL选择语句的使用。二、实验器材1、KH-310下载板;2、KH-310时钟模块;3、KH-310 Rs232模块。三、设计基本要求学习脉冲发生器模块功能,编写程序通过脉冲控制在数码管模组进行顺序显示、跳跃显示以及闪烁显示等。四、设计原理KH-31001实验板提供了一组4个脉冲发生器PLUS1PLUS4,利用相应短路夹J23J26可以变换输出方式:J23、J24、J25、J26接左侧时,输出正脉冲。J23、J24接右侧时输出负脉冲;J25、J26接右侧时为电平转换模式。题目十 多功能计算器设计一、设计任务1、学习HDL程序的设计技巧;2、学习BCD码表示十进制数的运算方式3、掌握HDL语言译码电路的设计4、掌握键盘扫描电路的设计二、实验器材KH-310 下载板;键盘模块数码管模块三、设计基本要求利用HDL语言来设计一个具有两位十进制数加、减法功能的计算器。要求利用4X4矩阵键盘模块输入运算数和操作符(其中09作为数据输入,A表示加号“”,B表示减号“”,F表示等号“”,C表示清除),7段数码管作为数据显示单元,对输入数据和运算结果进行显示。四、设计原理1二进制编码的十进制(BCD码)运算原理BCD(Binary Code Decimal)码就是利用4为二进制编码表示十进制数的一种编码。为了实现十进制数运算器,我们必须了解BCD码的运算原理。由于BCD码表示范围为09,所以当运算结果大于9时必须进行十进制的调整,所谓十进制调整,根据以知数字逻辑原理就是将运算结果加0110(6)进行修正,如图8-1所示:6 0110 8 1000 1 4 1110 大于1001 0110 加0110修正 0001 0100 (14)d的BCD码图8-1 BCD码运算示例如果采用例程中直接计算的方式进行设计时,需要注意判断两个数的和大于“9”时还要注意数据溢出的处理。具体措施请参考例程。2保存键盘按键输入的方法:对矩阵键盘输入数据进行保存时必须注意:当长时间按同一按键时只能作为一次数据的输入;键盘每次最多仅有一列有数据输入。根据实验三中对矩阵键盘扫描原理的学习,我们在例程中使用di来记录键盘第i列的按键情况,表示第i列当前的按键。而用d(=d0 or d1 or d2 or d3)和d_reg表示键盘本轮扫描的按键和上次扫描的按键,通过比较两次按键的不同来确定是一次输入还是两次输入。利用移位寄存器的原理保留最后两个数字作为一个运算数,也就是说如果连续按下3,4,5三个按键,运算数为“45”。同时为了区分16个按键和没有按键的情况,d、di和d_reg定义均定义为5位宽度。3程序设计思路:例程中使用状态机来进行设计,其中四个状态完成对键盘四列的扫描,确定每列的当前输入;第五个状态作为总体控制状态,根据扫描结果判断按键是一位数据还是功能键(+、-、=)然后进行相应处理:1)数据(09):最后两个作为当前操作数;2)运算符(+,-):保存当前操作符和运算数,并等待下一操作数的输入;3)等号(=):根据操作符进行相应的运算。同学们也可以将各种运算同一在一个单独模块。同时修改例程最后一个状态形成运算模块的输入
展开阅读全文