收藏 分享(赏)

数字系统设计实验指导书.doc

上传人:dreamzhangning 文档编号:2243399 上传时间:2018-09-07 格式:DOC 页数:47 大小:3.09MB
下载 相关 举报
数字系统设计实验指导书.doc_第1页
第1页 / 共47页
数字系统设计实验指导书.doc_第2页
第2页 / 共47页
数字系统设计实验指导书.doc_第3页
第3页 / 共47页
数字系统设计实验指导书.doc_第4页
第4页 / 共47页
数字系统设计实验指导书.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、数字系统设计实验指导书 目录I目录目录 II第一章 EDA 实验板介绍 .1数字系统设计实验指导书 目录II第二章 基于 QuartusII 的数字系统设计 42.1 基于 QuartusII 的数字系统设计流程 .42.2 QuartusII 软件使用介绍 .5第三章 实验内容 283.1 设计性实验 .28实验一、数字频率计的设计 .28实验二、PCM 基群帧同步检测电路设计与实现 29实验三、FIR 滤波器的设计 .30实验四、自动销售机的设计 .32实验五:数字密码锁设计 .333.2 综合性实验 .35实验一 多功能秒表设计 .35实验二、红外遥控接系统设计 .36附录 38EDA

2、实验板顶层图 .38EDA 实验板底层图 .39EDA 实验板原理图 .40下载线原理图 45数字系统设计实验指导书 第一章 EDA 实验板介绍1第一章 EDA 实验板介绍为配合设计性实验和综合性实验的顺利开展,华南理工大学自主开发了EDA实验平台,如图1-1 所示。该平台选用了Altera公司的CYCLONE1 系列的EP1C6Q240C8为基本配置,一上电就可以工作,无需其他芯片配合。该平台硬件资源丰富,主要包括电源稳压电路、流水灯、键盘、50M频率的晶振、4 位七段数码管、FLASH、sdram 、蜂鸣器、USB 接口、ps2接口、拨码开关等,各模块电路独立工作,可通过跳线设置是否与芯片

3、连接。此外,可以外接配套的电平开关转接板,扩充1到16路电平拨码开关,为芯片的任意管脚输入高低电平。该实验平台配置灵活,能够完成多种实验和课程设计。在实验的过程中,读者可以根据条件选择合适的硬件平台,书中第三章基础实验在进行管脚配置的时候是根据图1-1设定的,对于不同的实验平台,读者可以作出相应的修改。数字系统设计实验指导书 第一章 EDA 实验板介绍2图1-1 EDA实验平台顶层PCBEDA 实验版功能模块分布如图 1-2,读者可以根据本 EDA 实验版的功能结合配套资料进行 FPGA 的实验开发。数字系统设计实验指导书 第一章 EDA 实验板介绍3图 1-2 EDA 实验版结构框图EDA

4、实验版的具体原理图,管脚配置关系见附件。按键EP1C6Q240C8四个八段数码管 四个八段数码管蜂鸣器流水灯 红外适配器电源稳压电路JTAG 下载口EPCS 下载SCUTUSB 接口 PS2 接口VGA 接口RS232 接口数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计4第二章 基于 QuartusII 的数字系统设计2.1 基于 QuartusII 的数字系统设计流程Altera QuartusII 设计软件提供完整的多平台设计环境,能够直接满足特定设计需要,为可编程芯片系统(SOPC) 提供全面的设计环境。 QuartusII 软件含有 FPGA 和 CPLD 设

5、计所有阶段的解决方案。Quartus II的开发流程如图2-1所示。图 2-1 QuartusII 的开发流程图 2-1 中的流程:设计输入-综合-布线布局-时序分析-仿真-编程配置,在QuartusII 中综合、布线布局、时序分析都包含在编译中,也就是在点击 Start Compilication后,软件会自动完成这三部分的功能。设计输入一般有文本输入、图形输入、网表输入等几种方法,仿真之前需要编辑好输入信号激励文件,编程配置则需要根据开发板的说明书来对系统的输入输出管脚进行配置。数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计5此外, Quartus II 软件为设

6、计流程的每个阶段提供 Quartus II 图形用户界面、EDA 工具界面以及命令行界面。可以在整个流程中只使用这些界面中的一个,也可以在设计流程的不同阶段使用不同界面。2.2 QuartusII 软件使用介绍Quartus II 软件可以完成设计流程的所有阶段。它是一个全面的、易于使用的独立解决方案。图2-2显示 Quartus II 图形用户界面为设计流程每个阶段所提供的功能。图2-2 Quartus II 图形用户界面的功能数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计6下面就以一个例子来详细介绍Quartus II软件的使用流程,包括设计输入、编译、仿真、管脚

7、配置、下载编程。我们设计的例子是一个十六进制计数器,并要求用七段数码管进行显示计数值。其步骤如下:1 建立工程1) 启动Quartus II软件后,就会出现如图2-3所示的用户图形界面。图2-3 用户图形界面2) 使用 New Project Wizard (File 菜单) 或quartus_map 可执行文件建立新工程。建立新工程时,指定工程工作目录,分配工程名称,指定顶层设计实体的名称。在用户图形界面点击File菜单,在 File下拉菜单中点击New Project Wizard,如图2-4所示。点击New Project Wizard后,出现如图2-5所示的界面。数字系统设计实验指导书

8、 第二章 基于 QuartusII 的数字系统设计7图2-4 点击File下拉菜单中的New Project Wizard图2-5 新建工程向导:目录,名称和顶层设计实体名数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计8在指定路径之前,可以先新建一个工程文件夹,如在这里我们新建一个工程文件夹并命名为counterUSE IEEE.std_logic_1164.ALL;ENTITY decode ISPORT(qa,qb,qc,qd:IN std_logic;seven_seg_input:OUT std_logic_vector(7 DOWNTO 0);END dec

9、ode;ARCHITECTURE decode_arch OF decode ISSIGNAL counter_output_reg:std_logic_vector(3 DOWNTO 0);SIGNAL seven_seg_input_reg:std_logic_vector(7 DOWNTO 0);BEGINcounter_output_regseven_seg_input_regseven_seg_input_regseven_seg_input_regseven_seg_input_regseven_seg_input_regseven_seg_input_regseven_seg_i

10、nput_regseven_seg_input_regseven_seg_input_regseven_seg_input_regseven_seg_input_regseven_seg_input_regseven_seg_input_regseven_seg_input_regseven_seg_input_regseven_seg_input_regseven_seg_input_regCreate Update-Create Symbols for Current File,等待symbol 的生成,如图2-14所示。图2-14 生成block 块成功生成之后会有对话框提示:Creat

11、e symbol file was successful,生成的block会自动添加到Project-decode下,如图 2-15所示。数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计16图2-15 自动添加到元件库的decode 模块到这一步,译码器电路就已经完成了。2)建立观察模块为了仿真的方便,我们生成另一个小模块,在仿真的时候便于我们观察计数器的计数过程。描述如下:把计数器的输出信号qa、qb 、qc和qd作为译码器输入的同时,又将此4个信号作为这个小模块的输入,小模块的输出信号是result,也就是计数器的输出,信号result的值是从 0一直到15,其实和

12、译码器的输出是一样的,不同的是:小模块counter_output的输出信号result 是为了在时序仿真是便于观察计数器的计数,而译码器decode的输出信号seven_segment70在下载配置的时候是和七段数码管相对应的,直接控制数码管上显示的计数值。此模块的设计过程可以参考译码器电路的设计过程。首先新建个.vhd文件,保存为counter.vhd文件,然后在此文件中编辑代码实现功能,接着编译并为此文件创建一个block块,程序如下:LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY counter_output ISPORT( a,b,c,

13、d:IN std_logic;数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计17result:OUT std_logic_vector(3 DOWNTO 0);END counter_output;ARCHITECTURE counter_output_arch OF counter_output ISSIGNAL result_reg:std_logic_vector(3 DOWNTO 0);BEGINresult_regnew 后,在弹出的对话框中(见图2-10 )选择Block Diagram/Schematic File,用图形编辑器来新建一个图形输入文件。双

14、击Block Diagram/Schematic File后,就进入了图形输入的界面,如图 2-17所示,将名为block.bdf的文数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计18件保存为counter_displayer.bdf,保存后的文件counter_displayer.bdf 即为整个工程的Top-Level Entity。图2-17 图形输入界面在界面空白处双击左键,会弹出如图2-19左边所示的器件模块选择框,在图中,我们看到先前生成的两个模块:decode 以及counter_output都在 Project下,依次双击decode、counter_

15、output以及图中 c:/altera/quartus51/libraries-others-maxplus2-74161,将这三个模块添加进图形编辑环境中,分别如图2-18、图2-19、图2-20所示。图2-18 选择counter_output模块数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计19图2-19 选择decode模块图2-20 选择74161 模块注意:各个模块的后缀名是.bsf块符号文件,而工程的counter_displayer的top-level实体的后缀是.bdf的设计文件。数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统

16、设计20添加完毕三个模块之后,还应添加输入输出符号,接下来的工作就是用信号线把模块之间对应的端口连接起来,且系统的输入信号与输入符号相连,系统的输出信号与输出符号相连。输入符号: 输出符号: 连接好的整个系统如图2-21所示。图2-21 连接好的整个系统整个系统的输入信号分别是:LDIN(预置输入使能) 、A 、B 、C、D (A 、B、C、D 为预置输入端)、ENT 、ENP 、CLRN (置零使能)、 CLK(时钟输入端),此计数器的工作方式请参74161 的功能表。图2-22的连线中,单根信号线由工具 来画出,而信号总线则由 来画出,双击输入输出符号可以改变输入输出信号的名字。要删除某根

17、信号线,可以先用鼠标单击选中要删除的信号线,然后按Delete键就可以删除了。在对总线重命名的时候应注意要标明总线的宽度如result30,不然在编译的时候也会出错。3编译连接好并重命名之后,保存文件,然后就可以对这个顶层文件counter_displayer.bdf进行编译了,编译完将出现如图2-22所示的警告。数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计21图2-22 编译后出现警告警告内容:a) Warning: Output pins are stuck at VCC or GNDWarning: Pin “SEVEN_SEGMENT0“ stuck at

18、GNDb) Warning: Timing Analysis does not supPORT the analysis of latches as synchronous elements for the currently selected device familyc) Warning: Found pins functioning as undefined clocks and/or memory enablesInfo: Assuming node “CLK“ is an undefined clock出现的警告没有大碍。警告a)指出有信号始终接地,因为在译码器电路中输出信号总线SE

19、VEN_SEGMENT70中的SEVEN_SEGMENT(7) 始终是0 ,对整个设计没有影响;警告b) 指出现选的器件在时序分析时存在不足;警告c)在配置管脚时自动解除,对仿真也不会有什么影响。4时序仿真首先建立波形文件,点击File-New-Other Files ,在出现的对话框中双击 Vector Waveform File便进入了波形文件编辑环境。在图 2-23中,右键单击左边空白处,选择 Insert Node or Bus,添加用以仿真的输入输出信号。数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计22图2-23 波形文件编辑环境在出现的Insert No

20、de or Bus对话框中点击Node Finder后,即会出现一个为仿真添加输入输出信号的界面,在界面的Filter 中选择Post-Compilication在点击List,那么工程编译后所有内外部的信号都会被列出来,这里所指的外部信号即系统的所有输入输出信号,而内部信号则是系统内的一些寄存器的输入输出信号,不同进程间用于通信的信号等,一般只选择输入输出信号即可,如果需要更详细的分析系统,则通常也将与寄存器相关的一些信号添加到仿真波形文件中。系统的所有信号如图2-24左边所示。数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计23图2-24 添加输入输出信号界面选择需

21、添加到波形文件的信号后点击ok,工程的波形文件如图2-25所示。图2-25 工程的波形文件下一步工作是为波形文件中每个输入信号编辑激励信号,编辑激励信号的工具如图10-26的最左端所示,如欲编辑输入时钟信号clk,则只需要先点击clk 信号,使之变为浅蓝色,然后运用左端的编辑工具 ,输入它的周期,即时钟的频率;而对于其他输入信号一般用: 、 就可以完成对其编辑。编辑好输入波形文件,保存后便可用于仿真。仿真结果如图2-27所示,经观察,仿真结果符合设计要求。数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计24图2-26 仿真结果5管脚配置在原理图输入设计中,两个输出信号R

22、ESULT及SEVEN_SEGMENT其中前者只是为了我们在波形仿真的时候方便看到计数结果,从015,如此循环,可以对这个输出信号不进行管脚匹配;而后者则是要真正输出到七段数码管的信号,从而以驱动数码管来显示相应的计数值,该信号的值和RESULT并不一样,如两个信号的第一个值 RESULT是0,而SEVEN_SEGMENT是2 ,在前面的程序中,我们可以看到 SEVEN_SEGMENT的值是根据decode.vhd中CASE语句来定义的。根据开发板的原理图,可以将SEVEN_SEGMENT7:0 信号的8个信号即:SEVEN_SEGMENT7SEVEN_SEGMENT0,分别对应到管脚13、

23、12、 11、10 、9 、15、14 、49。输入信号分两类,一类是时钟信号 CLK,另一类是其他控制使能信号CLRN 、ENP、ENT 、LDN及设定初值的信号A、B、C、D。其中CLK 是有固定的输入管脚(第83 脚),剩下的其他信号根据其使能特性接在高电平(与电源接在一起)或者低电平(接地),每一个都可以接在除时钟脚以外的管脚上。在QuartusII中打开如图2-27所示界面,然后便可以逐个对输入信号、输出信号进行管脚的配置了,如双击Location下面的空表格就可以设定管脚的位置。图2-27 管脚配置界面数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计256下

24、载编程管脚配置完之后,再进行一次编译,然后就可以下载了,只需要在图标工具栏里用鼠标指向 Programmer 图标,或者在 Tools 的下拉菜单中选择 Programmer即可 。图2-28 编译界面当然在下载之前需要先安装下载驱动程序。在此前提下,点击 Programmer 后便进入到下载的界面,如图2-29所示。图2-29 下载界面在图2-29中看到Hardware Setup之后的栏目中显示No Hardware,此时需要将硬件添加数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计26进来,点击该按钮,按照提示一步步完成便可,完成后可以看到该按钮后的栏目中的显示为

25、ByteBlasterMVLPT1,如图2-30所示。图2-30 显示ByteBlasterMV此时确保下载线与电脑并口已经连接好,选中要下载到板的程序文件,并选择编程选项,如图2-30中黑色长条所示,点击Start就可以对芯片编程,下载完成后如图 2-31所示。图2-31 下载完成下载完成后,看开发板上的显示是否与自己的想法一样,若有差异,回到程序中检查,数字系统设计实验指导书 第二章 基于 QuartusII 的数字系统设计27并再度调试程序,直至得到正确的结果。数字系统设计实验指导书 第三章 实验内容28第三章 实验内容3.1 设计性实验实验一、数字频率计的设计一、实验目的1. 了解时序

26、电路设计的一般方法2. 了解利用可编程器件和 VHDL 语言进行数字系统开发的方法3. 掌握数字频率计的设计。二、实验内容本次实验要求设计一个数字频率计,频率测量范围为 1Hz50MHz,采用 100MHz 的基准时钟。刷新时间不大于 2 秒(最长 2 秒刷新一次频率显示) 。功能示意框图如图 3-1: 图 3-1 数字频率计功能示意图三、实验提示本次实验要求设计一个数字频率计,对输入频率进行测量。根据实验的要求,频率测量的范围为 1Hz50MHz,跨度较大,考虑到若完全输出至少需要 8 位,位数较多,因此可考虑分档显示,用三到四位显示数值,一位显示档位。本实验要实现一个数字频率计,核心部分是要实现一个脉冲计数器,对输入脉冲进行计数,然后再转化输出。由于需要测量的最小频率为 1Hz,可以考虑使用一个频率为 0.5Hz的门控信号,让它在高电平期间计数被测信号的上升沿,对于 0.5Hz 的门控信号而言,它

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报