数字电路综合设计实验报告文档.doc_第1页
数字电路综合设计实验报告文档.doc_第2页
数字电路综合设计实验报告文档.doc_第3页
数字电路综合设计实验报告文档.doc_第4页
数字电路综合设计实验报告文档.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字电路综合设计课程报告姓名: 学号:班级:20120530目录一. 设计题目1二设计要求及技术指标12.1实验目的12.2 实验要求12.3 实验原理2三 方案选择及总体设计23.1 方案选择23.2 总体设计23.2.1 信号生成23.2.2 分频23.2.3 信号计数编码23.2.4 信号译码输出33.3 功能描述33.4 总体结构框图4四. 硬件介绍4五. 软件设计45.1 基本思路45.2 程序框图55.3 子程序设计(代码)及仿真波形及分析55.3.1 分频器55.3.2 计数器75.3.3 译码器85.4 主程序设计及仿真波形及分析9六. 调试及相关说明10七. 结束语11一. 设计题目基于Quartus II的流水灯设计仿真二设计要求及技术指标2.1实验目的通过本次实验,引导学生以计算机辅助设计的手段来设计数字逻辑电路;掌握QuartusII集成开发环境软件原理图输入的设计流程;掌握简单流水灯的工作原理,学会通过QuartusII建立原理图设计小型数字电路;掌握可编程逻辑器件(PLD)的开发步骤;掌握对设计进行编译、仿真的方法。流水灯工作效果如下:2.2 实验要求用逻辑电路控制8个LED灯,始终保持1亮7暗,亮灯从左到右,在脉冲信号CP的推动下循环流动。2.3 实验原理利用信号生成器生成固定频率信号,降低频率后对信号累计编码,对累计编码的信号译码后送给LED灯显示。三 方案选择及总体设计3.1 方案选择使用QuartusII6.0设计系统,应用VHDL语言编程构造所需器件,需要的器件有分频器、计数器、译码器,组装好后,编译仿真,锁定引脚下载到开发板。3.2 总体设计分为三个大的模块,分别为分频器、计数器、译码器。使用分频器将晶振送来的高频信号转化为低频,用计数器记录时钟周期产生三位的二进制码,使用3-8线译码器输出高电平有效的信号,从而控制LED灯。3.2.1 信号生成使用开发板自带的晶振产生原始信号,但是频率较高需要降低频率(分频)。3.2.2 分频使用一个较淡的分频逻辑器件分频,原理为输入信号多个周期产生一个输出周期。3.2.3 信号计数编码对于分频后的信号,并不能直接用于控制LED灯,需要技术产生二进制代码,译码后控制LED灯。计数器可以对输入信号累加计数,由于最后的LED灯数目为8个,23=8,故需要产生3位的二进制码,范围从000到111。3.2.4 信号译码输出经过编码的信号从000到111依次循环,可利用3-8线译码器,产生译码输出信号,又由于要求的是有一个灯亮,故输出信号选为高电平有效。输入与输出信号对应关系如下表:输入信号输出信号00000000001001000000100100000010001100001000100000100001010010000011001000000111100000003.3 功能描述8个LED灯,有一个灯亮着从左到右,一轮过后再次循环,其他灯则灭。3.4 总体结构框图四. 硬件介绍计算机、开发板、开发板上面的芯片为MAXII系列的EPM240T100C5。五. 软件设计5.1 基本思路利用分频器对晶振产生的信号进行分频使频率降低,计数器对信号累加,产生三位的信号(从000到111),再利用三八线译码器对计数器产生的信号译码,产生高电平有效地信号(从00000001到10000000),将引脚锁定,下载到开发板。5.2 程序框图从左到右依次为:晶振信号输入、分频器、计数器、译码器、LED灯输出。5.3 子程序设计(代码)及仿真波形及分析5.3.1 分频器代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity divide isport(clk:in std_logic;cp:out std_logic);end;architecture divide of divide issignal clock:std_logic;begincp=clock;process(clk,clock) isvariable count:integer range 0 to 999999;beginif(clkevent and clk=1)thenif(count=999999) thenclock=not clock;count:=0;elsecount:=count+1;end if;end if;end process;end divide;仿真:为了在仿真中便于观察,将分频周期中999999改为6,将divide.vhd设为顶层文件,编译,新建一个波形文件,将端口导入,选择“功能仿真”、新建网表,为输入指定值,仿真后波形图如下:分析:由仿真可以看出,输出信号的频率明显减低,若将分频数值设置得更大,效果将更加明显,说明本代码可以用于系统使用。5.3.2 计数器代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity counter isport(clk:in std_logic;outp:out std_logic_vector(2 downto 0);end;architecture counter of counter issignal s1:std_logic_vector(2 downto 0);beginprocess(clk) isbeginif(clk=1 and clkevent)thens1=s1+1;end if;end process;outpoutpoutpoutpoutpoutpoutpoutpoutp=10000000;end case;end process;end decoder;5.4 主程序设计及仿真波形及分析将前面的VHDL代码生成器件,依照数据处理顺序组装成为如下的电路图:从左到右依次为晶振信号,分频器,计数器,译码器,LED灯输出。对总电路图编译后仿真如下图:可看出系统总体符合要求,8个LED灯依次亮灭。六. 调试及相关说明将输入信号输出信号与引脚绑定,下载到开发板观看效果。类型引脚名绑定引脚编号输入clk12输出Out786Out687Out588Out489Out390Out291Out192Out095绑定后如图:绑定后再次编译Design.bdf文件,效果如图:七. 结束语在此次课程设计过程中,学会了QuartusII软件的使用,在QuartusII中创建项目、新建文件、编译文件、对设计进行仿真以及对编译好的内容进行下载到开发板上观察效果。在整个过程中,编译使用VHDL代码编写的逻辑器件的代码时,需要将该文件设置为工程的顶层文件,否则

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论