文档详情

EDA技术与VHDL语言课程大作业设计.doc

发布:2017-02-02约3.14千字共12页下载文档
文本预览下载声明
EDA技术与VHDL语言课程大作业 设计题目: 电子分频器   姓  名:   李 露       班  级: 自动化10(2)  学  号: 41003010208 目录 1. 设计背景 2. 设计方案 2.1计数器模块 2.2任意偶数分频模块 2.3任意奇数分频模块 2.4设计思路 3. 数字分频器模块的VHDL源程序 3.1 任意偶数分频的VHDL源程序(dvf.VHD) 3.2 任意奇数分频的VHDL源程序(dvf.VHD) 4. 源程序总体描述 5. 波形仿真图 6. 总结 7. 参考文献 设计背景 EDA技术作为计算机硬件设计中的关键设计技术之一,是每一位将来希望从事涉及电子系统与集成电路设计研究领域工作的人所必须掌握的一门技术。时序逻辑电路作为其主要 设计与研究的电路类型之一,在EDA中占据着重要的位置,而时钟信号在时序逻辑电路有占据着重要的位置,它决定了时序逻辑单元中的状态何时更新。时钟信号作为一种有固定周期并与运行状态无关的信号量,在边沿触发机制中,只有上升沿或下降沿才是有效信号,才能控制逻辑单元状态量的改变。为满足不同的时序电路要求,对时钟信号进行分频也显得格外重要 基于EDA技术的数控分频器设计,采用的是用软件的方法设计硬件的EDA (电子设计自动化)技术。作为EDA技术重要组成部分的VHDL硬件描述语言是一种符合IEEE工业标准的建模语言。用它设计的数控分频器可作为一个模 块,移植到很多数字电路系统中,且极易修改,只要修改程序中的某几条语句,就可使最大分频系数得到改变。整个设计过程简单、快捷。可从根本上减少硬件调试 的时间,为总体设计完成争取宝贵的时间。50%的偶数分频信号。例如,6分频,计数值为0~2输出高电平,计数值为3~5输出低电平。 2.3 任意奇数分频模块 定义两个计数器,分别对输入时钟的上升沿和下降沿进行计数,然后把这两个计数值输入一个组合逻辑,用其控制输出时钟的电平。 这是因为计数值为奇数,占空比为50%clk的周期。例如,5分频,前半个周期包含2.5个clk周期,后半个周期包含2.5个clk周期。 2.4设计思路 原理图 不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有计时器溢出位与预置数加载输入信号相接即可。 3. 数字秒表计时模块的VHDL源程序 3.1 任意偶数分频的VHDL源程序(dvf.VHD) library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity dvf is port(clk_in:in std_logic; fout:out std_logic); end; architecture one of dvf is signal cnt: integer range 0 to 2000; signal clk_out:std_logic; begin process(clk_in) begin if clk_inevent and clk_in = 1 then if cnt=2000 then cnt =0; clk_out =not clk_out; else cnt=cnt+1; end if; end if; end process; fout=clk_out; end one; 3.2 任意奇数分频的VHDL源程序(dvf.VHD) library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity division5 is port (clk : in std_logic; out1: out std_logic); end division5; architecture Behavioral of division5 is signal out2, out3 : std_logic := 0; signal temp1,temp2 : integer range 0 to 10; begin process(clk) --输出占空比为50%的奇数5
显示全部
相似文档