实例教学五 分频器 CPLD FPGA可编程逻辑器件_第1页
实例教学五 分频器 CPLD FPGA可编程逻辑器件_第2页
实例教学五 分频器 CPLD FPGA可编程逻辑器件_第3页
实例教学五 分频器 CPLD FPGA可编程逻辑器件_第4页
实例教学五 分频器 CPLD FPGA可编程逻辑器件_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

分频器

的VHDL设计桂林师范高等专科学校羊日飞分频器(Divider)分频器可以用来降低信号的频率,是数字系统中常用的时序电路。在数字系统中,常常需要各种频率的时钟信号,获得的方法一般是对晶振的时钟进行分频(降频)。二分频、四分频、八分频二分频器输出信号的频率是输入信号频率的1/2,由于周期是频率的倒数,所以周期是输入信号的2倍。输入脉冲输出脉冲÷2分频器的应用51单片机的定时/计数器结构二分频电路的VHDL代码编写

——库引用引用IEEE库引用IEEE库中的std_logic_1164程序包libraryieee;useieee.std_logic_1164.all二分频电路的VHDL代码编写

——实体分频器电路的外特性:有1个高频时钟信号输入端clk;有1个低频时钟信号输出端q;实体名:clk_diventity

clk_div

isport(

clk:instd_logic;

q:bufferstd_logic;);endclk_div;端口的信号模式二分频电路的VHDL代码编写

——结构体architecture

clk_div_stru

of

clk_divisbeginendclk_div_stru;二分频电路的

行为/功能描述输出信号只在输入信号的上升沿到来时变化,其余时间保持原有状态不变;输出信号在输入信号的上升沿到来时变化,新的状态为上升沿到来时刻的状态取反;思考观察输出信号的变化规律,找出与输入信号的联系用自然语言描述出来二分频电路的VHDL代码编写

——结构体

时钟信号的上升沿如何描述?复习二分频电路的VHDL代码编写

——结构体“当时钟信号上升沿到来时,…”如何描述?复习process(clk)beginifclk’eventandclk=‘1’then

endif;endprocess;输出信号只在输入信号的上升沿到来时变化,其余时间保持原有状态不变;二分频电路的VHDL代码编写

——结构体输出信号在输入信号的上升沿到来时变化,新的状态为上升沿到来时刻的状态取反;使用if语句进行描述process(clk)beginifclk’eventandclk=‘1’then

q<=notq;endif;endprocess;讨论q的信号模式实体定义中的端口说明端口名:是赋于每个外部引脚的名称。信号模式:用来说明数据、信号通过该端口的方向。有四种:(1)IN(输入)(2)OUT(输出)(3)INOUT(双向)(4)BUFFER(缓冲)IN(输入)信号从外部经该端口输入至实体;单向端口;entityOUT(输出)从实体输出至外部;单向端口;entityBUFFER(缓冲)可以从实体输出至外部;也可以从端口回读该输出值;不可以从外部输入至实体;单向端口;entityQDarchitecture

clk_div_stru

of

clk_divisbeginprocess(

clk)begin ifclk’eventandclock=‘1’then

q<=notq;

endif;endprocess;endclk_div_stru;二分频电路的VHDL代码编写

——结构体(完整代码)输出信号只在输入信号的上升沿到来时变化,其余时间保持原有状态不变;输出信号在输入信号的上升沿到来时变化,新的状态为上升沿到来时刻的状态取反;二分频电路的VHDL代码

——综合结果二分频电路的VHDL代码

——仿真结果任意倍数的分频器如何实现可以利用一个计数器来实现。计数输入脉冲的个数,当输入脉冲的个数达到所要分频的倍数时,翻转输出波形。8分频电路的VHDL代码编写

——从计数器的VHDL入手entity

counter

isport(

reset:instd_logic;

clock:instd_logic;

Q:outstd_logic_vector(3downto0));endcounter;entity

clkdiv

isport(

reset:instd_logic;

clock:instd_logic;

Q:bufferstd_logic);endclkdiv;8分频电路的VHDL代码编写

——从计数器的VHDL入手architecturecounter_struofcounterissignalcount:std_logic_vector(3downto0);begin

process(reset,clock)beginifreset=‘0’then

count<=“0000”;

elsifclock’eventandclock=‘1’thenifcount=“1111”then

count<=“0000”;else

count<=count+“0001”;endif;endif;endprocess;

Q<=count;endcounter_stru;8分频电路的VHDL代码编写

——从计数器的VHDL入手architecturecounter_struofcounterissignalcount:std_logic_vector(3downto0);begin

process(reset,clock)beginifreset=‘0’then

count<=“0000”;

elsifclock’eventandclock=‘1’thenifcount=“1111”then

count<=“0000”;else

count<=count+“0001”;endif;endif;endprocess;

Q<=count;endcounter_stru;architecture

clkdiv_stru

of

clkdiv

issignalcount:std_logic_vector(3downto0);begin

process(reset,clock)beginifreset=‘0’then

count<=“0000”;

q<=‘0’;elsifclock’eventandclock=‘1’thenifcount=4then

count<=“0000”;q<=notq;else

温馨提示

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

评论

0/150

提交评论