ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:173.63KB ,
资源ID:14045628      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14045628.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(可控脉冲发生器的设计EDA课设报告.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

可控脉冲发生器的设计EDA课设报告.docx

1、可控脉冲发生器的设计EDA课设报告 可控脉冲发生器的设计一、设计目的 1.了解可控脉冲发生器的实现机理。 2.学会用示波器观察FPGA产生的信号。 3.学习用VHDL编写复杂功能的代码。二、设计原理1.EDA是电子设计自动化(Electronic Design Automation)的缩写。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL (Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使设计者的工作仅

2、局限于利用软件的方式来完成对系统硬件功能的实现,可以说EDA技术的产生与发展是电子设计技术的一个巨大进步。EDA技术融合了众多电子设计技术和计算机辅助技术,使得它在现代电子学方面的应用越来越广泛,也成为电子、电气类大学生必须熟练掌握的一种设计工具。2.VHDL是英文全名是VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,是硬件描述语言的业界标准之一。VHDL语言功能强大、设计灵活。VHDL语言可以用简洁明确的源代码来描述复杂的逻辑控制,它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。V

3、HDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言虽不能比拟的。VHDL还支持多种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。由于VHDL已经成为IEEE标准所规定的硬件描述性语言,目前大多数EDA工具几乎都支持VHDL。因为VHDL易读和结构化且易于修改设计所以在硬件电路设计过程中, VHDL语言得到广泛应用。VHDL语言易于共享和复用。VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设

4、计人员之间进行交流和共享,减少硬件电路设计。VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。VHDL语句的行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的再利用功能。这个特点很好的符合了市场需求。对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述的设计转变成门级网表。总之,由于VHDL语言有的这些优良的特点,它被广泛的应用在电子线路和电子系统的设计中。 3.Quartus II是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogH

5、DL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个

6、阶段使用熟悉的第三方EDA工具。 此外,Quartus II通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 4.脉冲发生器就是要产生一个脉冲波形,而可控脉冲发生器则是要产生一个周期和占空比可变的脉冲波形。可控脉冲发生器的实现原理比较简单,可以简单的理解为一个计数器对输入的时钟信号进行分频的过程。通过改变计数器的上限值来达到改变周期的目的,通过改变电平翻转的阈值来达到改变占空比的目的。下面举个简单的例子来说明其工

7、作原理。假如有一个计数器T对时钟分频,其计数的范围是从0N, 另取一个M(0MN),若输出为Q,那么Q只要满足条件时,通过改变N值,即可改变输出的脉冲波的周期;改变M值,即可改变脉冲波的占空比。这样输出的脉冲波的周期和占空比分别为:三、设计内容 编写实现可控脉冲发生器程序,通过脉冲周期和占空比改变实现不同脉冲的输出。用QuartusII软件对设计进行编译、综合、仿真,给出相应的时序仿真波形和硬件电路图。四、设计流程1.程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGI

8、C_UNSIGNED.ALL;ENTITY CC IS PORT( CLK: IN STD_LOGIC; -时钟输入 RST : IN STD_LOGIC; -复位输入 NU,ND : IN STD_LOGIC; -输入:控制频率的改变 MU,MD : IN STD_LOGIC; -输入:控制占空比的改变 FOUT : OUT STD_LOGIC -波形输出 ); END CC;ARCHITECTURE BEHAVE OF CC ISSIGNAL N_BUFFER,M_BUFFER:STD_LOGIC_VECTOR(10 DOWNTO 0);SIGNAL N_COUNT :STD_LOGIC_

9、VECTOR(10 DOWNTO 0);SIGNAL CLKIN : STD_LOGIC;SIGNAL CLK_COUNT : STD_LOGIC_VECTOR(12 DOWNTO 0); -产生一个低速时钟,用于按键判断 BEGIN PROCESS(CLK) -计数器累加 BEGIN IF(CLKEVENT AND CLK=1) THEN IF(N_COUNT=N_BUFFER)THEN N_COUNT=00000000000; ELSE N_COUNT=N_COUNT+1; END IF; END IF; END PROCESS; PROCESS(CLK) -波形判断 BEGIN IF(C

10、LKEVENT AND CLK=1) THEN IF(N_COUNTN_BUFFER)THEN FOUTM_BUFFER AND N_COUNTN_BUFFER) THEN FOUT=0; END IF; END IF; END PROCESS; PROCESS(CLK) BEGINIF(CLKEVENT AND CLKIN=1) THEN CLK_COUNT=CLK_COUNT+1; END IF; CLKIN=CLK_COUNT(12); END PROCESS; PROCESS(CLKIN) -频率及占空比的改变1 BEGIN IF(CLKEVENT AND CLKIN=0) THEN

11、IF(RST=0) THEN M_BUFFER=01000000000; N_BUFFER=10000000000; ELSIF(NU=0)THEN N_BUFFER=N_BUFFER+1; ELSIF(ND=0) THEN N_BUFFER=N_BUFFER-1; ELSIF(MU=0)THEN M_BUFFER=M_BUFFER+1; ELSIF(MD=0) THEN M_BUFFER=M_BUFFER-1; END IF; END IF; END PROCESS;END BEHAVE;2.管脚分配:3.时序仿真图:4.硬件电路图:5.现象:五、心得体会 通过这次EDA课程设计,我对课堂上

12、所学到的理论知识的理解加深了许多,自己动脑、动手设计的能力也得到了较大提高。在这次课程设计的过程中,我对VHDL语言有了更深的认识。通过查阅相关资料和动手设计我发现我以前对VHDL语言的认识太过肤浅,认为VHDL语言只能用于设计小型的电路系统。但有了更深刻的认识之后我发现学好VHDL语言可以设计出大规模的、功能复杂的电路系统。以前之所以会有错误的认识是因为自己对VHDL语言的了解和掌握还不够。现在仔细想想,这次课程设计使得我对VHDL语言的理解与应用能力得到了较大的提升,也让我认识到只要升入学习,提升的空间永远的存在的。另一方面我也发现了动手实践的重要性。动手实践是理论知识得以灵活运用的必要前

13、提,也是今后今后走上工作岗位之后能够很好的完成设计工作的技术保证。只有遇到实际问题并根据自己对课堂上获得的专业知识的理解来解决它才能真正的提高自己的能力。这也提醒我在平时的学习生活中不能一味埋头于课本知识,当今社会竞争越来越激烈,社会对人才的要求越来越全面,只有理论知识是远远不够的,必须靠动手能力做支撑。因此在学习之余我们应该积极参加各种与专业知识有关的实践活动和知识竞赛,巩固所学的理论知识,多注重培养实际动手能力和专业技术能力,这样才能在以后的工作岗位上有所作为。 数字秒表设计一、设计目的 本设计的任务就是设计一个数字钟,要求显示格式为小时分钟秒钟。系统时钟选择时钟模块的50MHz,要得到1

14、Hz时钟信号,必须对系统时钟进行50000000次分频。用S1按键作为系统时钟复位,复位后全部显示000000。2、设计原理数码管的八个段a,b,c,d,e,f,g,h(h是小数点)都分别连接到SEG0SEG7,8个数码管分别由八个选通信号DIG0DIG7来选择,被选通的数码管显示数据,其余关闭。如果希望8个数码管显示希望的数据,就必须使得8个选通信号DIG0DIG7分别被单独选通,并在此同时,在段信号输入口SEG0SEG7加上该对应数码管上显示的数据,于是随着选通信号的扫描就能实现动态扫描显示的目的。虽然每次只有1个数码管显示,但只要扫描显示速率足够快,利用人眼的视觉余辉效应,我们仍会感觉所

15、有的数码管都在同时显示。三、设计主要内容 本设计要求掌握使用QuartusII设计数字系统的设计思路和设计方法。学习VHDL基本逻辑电路的综合设计应用。掌握VHDL语言的语法规范,掌握时序电路描述方法。掌握多个数码管动态扫描显示的原理及设计方法。 设计一个由共阴八位数码管作为显示、按键作为控制系统的数字钟电路,要求利用实验室设备完成系统设计并运行调试。4、设计流程1.程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity sto

16、pwatch is port( Clk : in std_logic; -时钟输入 reset : in std_logic; -复位输入 start,over : in std_logic; -秒表控制输入 ledag : out std_logic_vector(6 downto 0); -七段码管显示输出 SEL : buffer std_logic_vector(2 downto 0) -七段码管扫描驱动 ); end stopwatch;architecture behave of stopwatch is signal Disp_Temp : integer range 0 to

17、15; signal Disp_Decode : std_logic_vector(6 downto 0); signal mSEC1,mSEC10 : integer range 0 to 9; signal SEC1,SEC10 : integer range 0 to 9; signal MIN1,MIN10 : integer range 0 to 9; signal HOUR1,HOUR10 : integer range 0 to 9; signal Clk1kHz : std_logic; signal Clk100Hz : std_logic; signal Start_Fla

18、g : std_logic; signal Music_Count : std_logic_vector(2 downto 0); begin PROCESS(clk) -generate 100hz clock signal variable cnt : INTEGER RANGE 0 TO 499999;-产生100Hz时钟的分频计数器 BEGIN IF clk=1 AND clkevent THEN IF cnt=499999 THEN cnt:=0; ELSE IF cnt250000 THEN clk100hz=1; ELSE clk100hz=0; END IF; cnt:=cnt

19、+1; END IF; END IF; END PROCESS; PROCESS(clk) -generate 1khz clock signal variable cnt1 : INTEGER RANGE 0 TO 49999;-产生1kHz时钟的分频计数器 BEGIN IF clk=1 AND clkevent THEN IF cnt1=49999 THEN cnt1:=0; ELSE IF cnt125000 THEN clk1khz=1; ELSE clk1khz=0; END IF; cnt1:=cnt1+1; END IF; END IF; END PROCESS; process

20、(Clk100Hz) begin if(reset=0) then -系统复位 mSEC1=0; mSEC10=0; SEC1=0; SEC10=0; MIN1=0; MIN10=0; HOUR1=0; HOUR10=0; Start_Flag=0; elsif(start=0 and Start_Flag=0) then Start_Flag=1; elsif(over=0 and Start_Flag=1) then Start_Flag=0; elsif(Clk100Hzevent and Clk100Hz=1) then -正常运行 if(Start_Flag=1) then if(m

21、SEC1=9) then mSEC1=0; if(mSEC10=9) then mSEC10=0; if(SEC1=9) then SEC1=0; if(SEC10=5) then SEC10=0; if(MIN1=9) then MIN1=0; if(MIN10=5) then MIN10=0; if(HOUR1=9) then HOUR1=0; if(HOUR10=9) then HOUR10=0; else HOUR10=HOUR10+1; end if; else HOUR1=HOUR1+1; end if; else MIN10=MIN10+1; end if; else MIN1=

22、MIN1+1; end if; else SEC10=SEC10+1; end if; else SEC1=SEC1+1; end if; else mSEC10=mSEC10+1; end if; else mSEC1Disp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_Temp=HOUR10; end case; end if; end process;process

23、(Clk1khz) begin if(Clk1khzevent and Clk1khz=1) then -扫描累加 SEL=SEL+1; ledagDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_Decode=0000000; -全灭 end case; end process; end behave;2.管脚分配: 2.时序仿真图:4.硬件电路图:5.现象:5、设计总结 通过本次的课程设计,

24、我初步了解了VHDL语言的编程思想,以及利用EDA软件进行电子电路设计的方法,通过对一个课题的分析,将实验的内容进行分块解读,具体到每一个模块的具体作用,然后将各个功能的模块通过连线进行总体的电路实现,也可以通过VHDL语言对各个模块进行组合,然后需要在程序编译成功的基础上,安装硬件,将程序下载到具体的芯片上进行硬件的实现。通过整个实验的完成,我从老师和同学那里学到了更多关于VHDL编程,仿真以及硬件实现的知识,自己以前模糊不清的地方也通过此次的课程设计了解清楚了,并且通过这次课程设计,我也锻炼了独立思考,独立操作的能力,虽然对于VHDL语言的应用我还很生疏,但是此次的课程设计却让我学到了很多,也对这门语言有了更深的理解,对EDA软件的使用有了更多的体会。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2