- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 1
EDA课程设计
实验题目:占空比可调节的三分频器
班级:电子081
学号:***
姓名:**
1:实验要求:实现一个占空比可调节的三分频器,占空比可调节为1:3和1:2,时钟信号输入为CLK,带使能输入enableble,输出信号分别为CLK1和CLK2对应两种占空比信号频率,设计实体统一为div.vhd。
2:源代码:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity div is
port(
clk,enable:in std_logic;
qout1,qout2:buffer std_logic;
clk1,clk2:out std_logic) ;
end entity div;
architecture behave of div is
begin
process(clk,enable)is
variable cnt:integer range 0 to 2;
begin
if clkevent and clk=1 then
if enable=1 then
if cnt=2 then
cnt:=0;
qout1=1;
else
cnt:=cnt+1;
qout1=0;
end if;
clk1=qout1;
end if;
end if;
end process;
process(clk,enable)is
variable cnt:integer range 0 to 2;
begin
if clkevent and clk=0 then
if enable=0 then
if cnt=2 then
cnt:=0;
qout2=1;
else
cnt:=cnt+1;
qout2=0;
end if;
end if;
end if;
end process;
clk2= qout1 or qout2;
end behave;
3:仿真波形:
图(1)clk1为1:2占空比、 clk2为1:3的占空比:
4:结果分析:
为了实现三分频,必需保证输出波形周期是原信号周期的三倍。
1:当占空比为1:2时,即为方波(图中CLK1);
2:当占空比为1:3时,高电平时间/低电平时间=1/2(CLK2),仿真图形如图(1)
5:调试过程:
要实现1:3的占空比时,实现三分频,是通过计数器来实现,通过CLK的上升沿计数,CLK作为三进制计数器的时钟信号,当计数器记到1时发生输出翻转,计数到2时,又发生翻转。
要实现1:2的占空比时,通过待分频时钟下降沿触发计数,三分频计数和上升沿采取同样的方式,最后下降沿产生的三分频时钟和上升沿产生的时钟进行“或”运算。
6:心得体会:通过对这个题目的分析与编程,调试,我对VHDL编程有了更加进一步的了解,让我更加体会到VHDL语言对EDA的实用性,这个题目是对我们前面所学知识的一中综合,非常具有代表性,我决心在以后的学习过程中,更加深入的学习VHDL这门语言,更加深入的学习EDA这门学科,争取更大进步。
文档评论(0)