KHF5定制型 实验指导书EDA基础部分.docx
- 文档编号:28357142
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:91
- 大小:961.11KB
KHF5定制型 实验指导书EDA基础部分.docx
《KHF5定制型 实验指导书EDA基础部分.docx》由会员分享,可在线阅读,更多相关《KHF5定制型 实验指导书EDA基础部分.docx(91页珍藏版)》请在冰豆网上搜索。
KHF5定制型实验指导书EDA基础部分
目录
实验一 基于QUARTUSII图形输入电路的设计1
实验二 基于VHDL格雷码编码器的设计19
实验三 含异步清零和同步使能的加法计数器21
实验四 八位七段数码管动态显示电路的设计23
实验五 数控分频器的设计25
实验六 图形和VHDL混合输入的电路设计27
实验七 四位并行乘法器的设计30
实验八 基本触发器的设计32
实验九 四位全加器设计34
实验十 矩阵键盘显示电路的设计36
实验十一 用VHDL设计七人表决器39
实验十二 用VHDL设计四人抢答器41
实验十三 可控脉冲发生器的设计43
实验十四 正负脉宽调制信号发生器设计45
实验十五 直流电机的测速47
实验十六 数字频率计的设计50
实验十七 数字钟的设计53
实验十八 序列检测器的设计55
实验十九 数字秒表的设计57
实验二十 出租车计费器的设计59
实验二十一 VGA彩条信号发生器的设计61
实验二十二 步进电机的驱动63
实验二十三 1602字符型液晶显示65
实验二十四240128点阵型液晶显示70
实验二十五 DDS信号源设计73
实验一 基于QUARTUSII图形输入电路的设计
一、实验目的
1.通过一个简单的3—8译码器的设计,掌握组合逻辑电路的设计方法。
2.初步了解QUARTUSII原理图输入设计的全过程。
3.掌握组合逻辑电路的静态测试方法。
二、实验设备
1.PC机 一台;
2.AlteraBlaster下载器 一根;
3.KHF-5实验箱 一台。
三、实验原理
3-8译码器三输入,八输出。
当输入信号按二进制方式的表示值为N时,输出端标号为N的输出端输出高电平表示有信号产生,而其它则为低电平表示无信号产生。
因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位为高电平的情况下,能表示所有的输入组合。
译码器不需要像编码器那样用一个输出端指示输出是否有效。
但可以在输入中加入一个输出使能端,用来指示是否将当前的输入进行有效的译码,当使能端指示输入信号无效或不用对当前信号进行译码时,输出端全为高电平,表示无任何信号。
本例设计中没有考虑使能输入端,自己设计时可以考虑加入使能输入端时,程序如何设计。
四、实验内容
在本实验中,用三个拨动开关(SW1~SW3)来表示三八译码器的三个输入(A、B、C);用八个LED来表示三八译码器的八个输出(D1~D8)。
通过输入不同的值来观察输入的结果与三八译码器的真值表是否一致。
实验箱中的拨动开关,当开关闭合(拨动开关的档位在下方)时其输出为低电平,反之输出高电平。
实验箱中的拨动开关与FPGA的接口电路,LED灯与FPGA的接口电路以及拨动开关、LED与FPGA的管脚连接在用户手册中都做了详细说明,这里不再赘述。
五、实验步骤
下面将通过这个实验,向读者介绍QUARTUSII的项目文件的生成、编译、管脚分配以及时序仿真等的操作过程。
1.建立工程文件
1)选择开始>程序>Altera>QuartusII5.1,运行QUARTUSII软件。
或者双击桌面上的QUARTUSII的图标运行QUARTUSII软件,出现如图1-1所示,如果是第一次打开QUARTUSII软件可能会有其它的提示信息,使用者可以根据自己的实际情况进行设定后进入图1-1所示界面。
2)选择软件中的菜单File>NewProjectWizard,新建一个工程。
如图1-2所示。
3)点击图1-2中的NEXT进入工作目录,工程名的设定对话框如图1-3所示。
第一个输入框为工程目录输入框,用户可以输入如e:
/eda等工作路径来设定工程的目录,设定好后,所有的生成文件将放入这个工作目录。
第二个输入框为工程名称输入框,第三个输入框为顶层实体名称输入框。
用户可以设定如EXP1,一般情况下工程名称与实体名称相同。
使用者也可以根据自已的实际情况来设定。
图1-1QUARTUSII软件运行界面
图1-2新建工程对话框
图1-3指定工程名称及工作目录
4)点击NEXT,进入下一个设定对话框,按默认选项直接点击NEXT进行器件选择对话框。
如图1-4所示。
这里我们以选用CycloneII系列芯片EP2C35F672C8为例进行介绍。
用户可以根据使用的不同芯片来进行设定。
图1-4器件选择界面
首先在对话框的左上方的Family下拉菜单中选取CycloneII,在中间右边的Speedgrade下拉菜单中选取8,在左下方的Availabledevices框中选取EP2C35F672C8,点击NEXT完成器件的选取,进入EDATOOL设定界面如图1-5所示。
图1-5EDATOOL对话框
5)按默认选项,点击NEXT出现新建工程以前所有的设定信息,如图1-6所示,点击FINISH完成新建工程的建立。
图1-6新建工程信息
2.建立图形设计文件
1)在创建好设计工程后,选择File>NEW…菜单,出现图1-7所示的新建设计文件类型选择窗口。
这里我们以建立图形设计文件为例进行说明,其它设计输入方法与之基本相同。
图1-7新建设计文件选择窗口
2)在New对话框(图1-7)中选择DeviceDesignFiles页下的BlockDiagram/SchematicFile,点击OK按钮,打开图形编辑器对话框,如图1-8所示。
图中标明了常用的每个按钮的功能。
图1-8QUARTUSII图形编辑器对话框
QUARTUSII图形编辑器也称块编辑器(BlockEditor),用于以原理图(Schematics)和结构图(BlockDiagrams)的形式输入和编辑图形设计信息。
QUARTUSII图形编辑器可以读取并编译结构图设计文件(BlockDesignFile)和MAXPLUSII图形设计文件(GraphicDesignFiles),可以在QUARTUSII软件中打开图形设计文件并将其另存为结构图设计文件。
在QUARTUSII图形编辑器窗口(图1-8)中,根据个人爱好,可以随时改变BlockEditor的显示选项,如导向线和网格间距、橡皮筋功能、颜色以及基本单元和块的属性等。
3)在这里以用原理图输入设计一个三八译码器为例,介绍基本单元符号输入方法的步骤。
在图1-8所示的图形编辑器窗口的工件区双击鼠标的左键,或点击图中的符号工具按钮,或选择菜单Edit>InsertSymbol…,则弹出如图1-9所示的Symbol对话框。
图1-9Symbol对话框
4)用鼠标点击单元库前面的“+”号,展开单元库,用户可以选择所需要的图元或符号,该符号则显示在右边的显示符号窗口,用户也可以在符号名称里输入你所需要的符号名称,点击OK按钮,所选择的符号将显示在图形编辑器的工件工域。
5)参考图1-10所示,将要选择的器件符号放置在图形编辑器的工件区域,用正交节点工具将原件边接起来,然后定义端口的名称。
在这个例子里,定义三个输入为A、B、C,定义八个输出为D0、D1、D2、D3、D4、D5、D6、D7。
用户也可以根据自己的习惯来定义这些端口名称。
6)完成图形编辑的输入之后,需要保存设计文件或重新命名设计文件。
选择File>SaveAs…项,出现如图1-11所示对话框,选择好文件保存目录,并在文件名栏输入设计文件名。
如需要将设计文件添加到当前工程中,则选择对话框下面的Addfiletocurrentproject复选框,单击保存按钮即可保存文件。
需要注意的是,在整个设计文件保存的过程当中,都需要遵循设计输入法的一般规则。
图1-10设计文件的输入
图1-11保存设计文件对话框
3.对设计文件进行编译
QUARTUSII编译器窗口包含了对设计文件处理的全过程。
在QUARTUSII软件中选择Tool>CompilerTool菜单项,则出现QUARTUSII的编译器窗口,如图1-12所示,图中标明了全编译过程各个模块的功能。
需要说明的是在进行设计文件的综合和分析时,也可以单独打开某个分析综合过程不必进行全编译界面。
当完成上述窗口的设定后,点击START按钮进行设计文件的全编译。
如果文件有错,在软件的下方则会提示错误的原因和位置,以便于使用者进行修改直到设计文件无错。
整个编译完成,软件会提示编译成功,如图1-13所示。
图1-12QUARTUSII编译器窗口
图1-13全编译成功界面
4.管脚分配
在前面选择好一个合适的目标器件(在这个实验中选择为EP2C35F672C8),完成设计的分析综合过程,得到工程的数据文件以后,需要对设计中的输入、输出引脚指定到具体的器件管脚号码,指定管脚号码称为管脚分配或管脚锁定。
这里介绍两种方法进行管脚锁定。
1)点击Assignments菜单下面的AssignmentEditor,进入到引脚分配窗口。
如图1-14所示。
图1-14进入引脚分配界面
首先将要分配管脚的信号放置在To下方。
双击To下方的《New》,则会出现如图1-15所示界面。
图1-15信号选择对话框
选择NodeFinder…进入如图1-16所示的NodeFinder对话框界面。
按图1-16中样例设置参数。
在Filter窗口选择Pins:
all,在Named窗口中输入“*”,点击List在NodesFound窗口出现所有信号的名称,点击中间的按钮则SelectedNodes窗口下方出现被选择的端口名称。
双击OK按钮,完成设置。
进入管脚分配窗口,如图1-17所示。
图1-16NodeFinder对话框
图1-17管脚分配
在图1-17中以锁定端口A的管脚为例,其它端口的管脚锁定与其基本一致。
选择端口A的对应AssignmentName待其变为蓝色,双击之,出现下拉菜单选取如图1-17所示的Location(Acceptswildcards/groups)选项。
选择端口A的对应Value栏,待其变为蓝色,依照硬件与FPGA的管脚连接(管脚分配说明请参考用户手册),输入对应的管脚名AB8,按回车键,软件将自动将其改为PIN_AB8,同时蓝色选择条会自动跳转到Value栏的下一行,这表明软件已经将输入端口A分配到FPGA的AB8引脚上,如图1-18所示
图1-18给A端口进行管脚分配
用同样的方法,依照硬件与FPGA的管脚连接(管脚分配说明请参考用户手册),对其它端口进行管脚分配。
2)点击Assignments菜单下面的PinPlanner(也可直接点击工具栏上的
引脚分配按钮)出现如图1-19所示的所选目标芯片的管脚分布图。
图1-19目标芯片的管脚分布图
与上面的方法相同,依照硬件与FPGA的管脚连接(管脚分配说明请参考《用户手册》),如端口A对应的管脚为AB8,则双击AB8管脚出现如图1-20所示对话框。
图1-20管脚分配对话框
在图1-20对话框中的NodeName框中输入对应的端口名A或者通过下拉菜单选取对应的端口名称A,点击OK按钮,完成对端口A的管脚分配。
用相同的方法,对其它端口进行管脚分配,管脚分配完后,如下图1-21所示。
图1-21所有引脚全部分配结束后的软件窗口
值得注意的是,当管脚分配完之后一定要再进行一次全编译,以使分配的管脚有效。
5.对设计文件进行仿真
1)创建一个仿真波形文件,选择QUARTUSII软件File>New,进行新建文件对话框。
如图1-22所示。
选取对话框的OtherFile标签页,从中选取VectorWaveformFile,点击OK按钮,则打开了一个空的波形编辑器窗口,如图1-23所示。
图1-22新建文件对话框
图1-23波形编辑器
2)设置仿真结束时间,波形编辑器默认的仿真结束时间为1μS,根据仿真需要,可以自由设置仿真的结束时间。
选择QUARTUSII软件的Edit>EndTime命令,弹出仿真结束时间对话框,在Time框输入仿真结束时间,点击OK按钮完成设置。
3)加入输入、输出端口,在波形编辑器窗口左边的端口名列表区点击鼠标右键,在弹出的右键菜单中选择InsertNodeorBus…命令,在弹出的InsertNodeorBus对话框如图1-24所示界面中点击NodeFinder…按钮。
图1-24InsertNodeorBus对话框
在出现的NodeFinder界面中,如图1-25所示,在Filter列表中选择Pins:
all,在Named窗口中输入“*”,点击List在NodesFound窗口出现所有信号的名称,点击中间的
按钮则SelectedNodes窗口下方出现被选择的端口名称。
双击OK按钮,完成设置,回到图1-24所示的InsertNodeorBus对话框,双击OK按钮,所有的输入、输出端口将会在端口名列表区内显示出来,如图1-26所示。
图1-25NodeFinder对话框
图1-26在波形编辑器中加入端口
4)编辑输入端口波形,即指定输入端口的逻辑电平变化,在如图1-26所示的波形编辑窗口中,选择要输入波形的输入端口如A端口,在端口名显示区左边的波形编辑器工具栏中有要输入的各种波形,其按钮说明如图1-27所示。
根据仿真的需要输入波形。
完成后如图1-28所示。
最后选择软件的File>Save进行保存。
图1-27波形编辑器工具栏
图1-28编辑输入端口波形
5)指定仿真器设置,在仿真过程中有时序仿真和功能仿真之分,在这里介绍功能仿真。
在QUARTUSII软件中选择Tool>SimulatorTool命令,打开仿真器工具窗口,如图1-29所示。
按图1-29上的提示,首先产生功能仿真网表文件,点击产生功能仿真网表的按钮GenerateFunctionalSimulationNetlist,产生功能仿真网表,然后点击开始仿真的START按钮开始进行仿真,直到仿真进度条为100%完成仿真。
点击仿真报告窗口按钮Report,观察仿真波形。
如图1-30所示。
图1-29仿真器工具窗口
图1-30仿真波形
6.从设计文件到目标器件的加载
完成对器件的加载有两种形式,一种是对目标器件进行加载文件,一种是对目标器件的配置芯片进行加载。
这里我们介绍对目标器件EP2C35F672C8进行加载的方法。
1)使用下载电缆将PC机与实验系统连接起来。
2)选择QUARTUSII软件的Tool>Programmer命令,进入编程器窗口,如图1-31所示,如果没有设置编程硬件,则编程硬件类型为NoHardware,需要对编程硬件进行设置。
点击HardwareSetup…编程硬件设置按钮,进行如图1-32所示的编程硬件设置对话框。
图1-31编程器窗口
图1-32编程器硬件设置对话框
3)点击AddHardware按钮,出现AddHardware对话框,如图1-33所示。
图1-33编程硬件选择对话框
4)在AddHardware对话框中,从Hardwaretype列表中选择所需要硬件类型,如果是USB接口的请参照用户使用手册中的USB电缆的安装与使用,如果使用的是并口下载线则选取如图1-33所示的硬件类型,点击OK按钮,完成对硬件类型的设置。
回到编程器硬件设置窗口,点击Close按钮退出设置。
则在编程器对话框中的编程硬件类型会出现刚才选取的编程器硬件。
5)如果软件已运行一个工程,则在打开编程器的时候,编程器窗口会自动出现这个工程文件要加载到目标器件的文件,如果要加载其它文件可以从其它地方进行添加更改。
选好加载文件后,再点选Progam/Configure,编程模式选取JTAG模式,点击STRAT进行文件加载,直到加载进度变为100%,文件成功加载完成。
7.拨动三个拨动开关SW1,SW2,SW3,观察八个LED(D1~D8)灯的亮灭规律并记录。
观察实验结果是否与自己的编程思想一致。
8.实验完毕,关闭电源,整理实验器材。
六、实验报告
进一步熟悉和理解QUARTUSII软件的使用方法。
实验二 基于VHDL格雷码编码器的设计
一、实验目的
1.了解格雷码变换的原理。
2.进一步熟悉QUARTUSII软件的使用方法和VHDL输入的全过程。
3.进一步掌握实验系统的使用。
二、实验设备
1.PC机 一台;
2.AlteraBlaster下载器 一根;
3.KHF-5实验箱 一台。
三、实验原理
格雷(Gray)码是一种可靠性编码,在数字系统中有着广泛的应用。
其特点是任意两个相邻的代码中仅有一位二进制数不同,因而在数码的递增和递减运算过程中不易出现差错。
但是格雷码是一种无权码,要想正确而简单的和二进制码进行转换,必须找出其规律。
根据组合逻辑电路的分析方法,先列出其真值表再通过卡诺图化简,可以很快的找出格雷码与二进制码之间的逻辑关系。
其转换规律为:
高位同,从高到低看异同,异出‘1’,同出‘0’。
也就是将二进制码转换成格雷码时,高位是完全相同的,下一位格雷码是‘1’还是‘0’,完全是相邻两位二进制码的“异”还是“同”来决定。
下面举一个简单的例子加以说明。
假如要把二进制码10110110转换成格雷码,则可以通过下面的方法来完成,方法如图2-1。
图2-1格雷码变换示意图
四、实验内容
本实验要求完成的任务是变换8位的二进制码到8位的格雷码。
实验中用八位拨动开关模块的SW1~SW8表示8位二进制输入,用LED模块的D1~D8来表示转换的实验结果八位格雷码。
实验LED亮表示对应的位为‘1’,LED灭表示对应的位为‘0’。
通过输入不同的值来观察输入的结果与实验原理中的转换规则是否一致。
实验箱中的拨动开关、与FPGA的接口电路,LED灯与FPGA的接口电路以及拨动开关、LED与FPGA的管脚连接在《用户使用手册》里做了详细说明。
五、实验步骤
1.打开QUARTUSII软件,新建一个工程。
2.建完工程之后,再新建一个VHDLFile。
新建一个VHDL文件的过程如下:
选择QUARTUSII软件中的File>New命令,出现New对话框,中选择DeviceDesignFiles页下的VHDLFile,点击OK按钮,打开VHDL编辑器对话框。
3.在空白编辑区,按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。
4.编写完VHDL程序后,保存起来。
方法同实验一。
5.对编写的VHDL程序进行编译并仿真,对程序的错误进行修改。
6.编译仿真无误后,依照拨动开关、LED与FPGA的管脚连接进行管脚分配。
分配完成后,再进行全编译一次,以使管脚分配生效。
7.用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。
8.拨动八个拨动开关SW1~SW8,观察八个LED(D1~D8)灯的亮灭规律并记录。
观察实验结果是否与自己的编程思想一致。
9.实验完毕,关闭电源,整理实验器材。
六、实验报告
1.绘出仿真波形,并作说明。
2.进一步熟悉QUARTUSII软件。
3.将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。
实验三 含异步清零和同步使能的加法计数器
一、实验目的
1.了解二进制计数器的工作原理。
2.进一步熟悉QUARTUSII软件的使用方法和VHDL输入。
3.时钟在编程过程中的作用。
二、实验设备
1.PC机 一台;
2.AlteraBlaster下载器 一根;
3.KHF-5实验箱 一台。
三、实验原理
二进制计数器是应用中最多、功能最全的计数器之一,含异步清零和同步使能的加法计数器的具体工作过程如下:
在时钟上升沿的情况下,检测使能端是否允许计数,如果允许计数(定义使能端高电平有效)则开始计数,否则一直检测使能端信号。
在计数过程中再检测复位信号是否有效(低电平有效),当复位信号起作用时,使计数值清零,继续进行检测和计数。
其工作时序如图3-1所示:
图3-1计数器的工作时序
四、实验内容
本实验要求完成的任务是在时钟信号的作用下,通过使能端和复位信号来完成加法计数器的计数。
实验中时钟信号使用数字时钟源模块的1HZ信号,用一位拨动开关SW1表示使能端信号,用复位开关S1表示复位信号,用LED模块的D1~D5来表示计数的二进制结果。
实验LED亮表示对应的位为‘1’,LED灭表示对应的位为‘0’。
通过输入不同的值模拟计数器的工作时序,观察计数的结果。
实验箱中的拨动开关与FPGA的接口电路,LED灯与FPGA的接口电路以及按键开关模块与FPGA的管脚连接在《用户手册》做了详细说明。
五、实验步骤
1.打开QUARTUSII软件,新建一个工程。
2.建完工程之后,再新建一个VHDLFile,打开VHDL编辑器对话框。
3.按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。
4.编写完VHDL程序后,保存起来。
方法同实验一。
5.对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。
6.编译仿真无误后,依照《用户手册》进行管脚分配。
分配完成后,再进行全编译一次,以使管脚分配生效。
7.用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。
8.将数字信号源F的时钟选择为1HZ,使拨动开关SW1置为高电平(使拨动开关向上),观察四位发光管D1~D4的亮灭变化,以及D5(进位信号)的变化情况。
当复位键(底板上的按键开关S1键)按下后,计数是否被清零。
拨动开关SW1置为低电平(拨动开关向下)观察加法器的工作情况。
记录实验现象是否与自己的编程思想一致。
9.实验完毕,关闭电源,整理实验器材。
六、实验报告
1.绘出仿真波形,并作说明。
2.写出在VHDL编程过程中需要说明的规则。
3.将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。
4.改变时钟频率,看实验现象会有什么改变,试解释这一现象。
实验四 八位七段数码管动态显示电路的设计
一、实验目的
1.了解数码管的工作原理。
2.学习七段数码管显示译码器的设计。
3.学习VHDL的CASE语句及多层次设计方法。
二、实验设备
1.PC机 一台;
2.AlteraBlaster下载器 一根;
3.KHF-5实验箱 一台。
三、实验原理
七段数码管是电子开发过程中常用的输出显示设备。
在实验系统中使用的是两个四位一体、共阴极型七段数码管。
其单个静态数码管如下图4-1所示。
图4-1静态七段数码管
由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。
反之则不亮。
四位一体的七段数码管在单个静态数码管的基础上加
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- KHF5定制型 实验指导书EDA基础部分 KHF5 定制 实验 指导书 EDA 基础 部分
![提示](https://static.bdocx.com/images/bang_tan.gif)