基于VHDL和FPGA的多种分频实现方法介绍

来源:本站
导读:目前正在解读《基于VHDL和FPGA的多种分频实现方法介绍》的相关信息,《基于VHDL和FPGA的多种分频实现方法介绍》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《基于VHDL和FPGA的多种分频实现方法介绍》的详细说明。
简介:本文利用VHDL硬件描述语言,通过QuartusⅡ3.0开发平台,使用Altera公司的FPGA,设计了一种能够满足上述各种要求的较为通用的分频器。

一、电路设计

采用FPGA实现半整数分频器,可以采用以下方法:设计一个模N的计数器,再设计一个脉冲扣除电路,每来两个脉冲扣除一个脉冲,即可实现分频系数为N-0.5的分频器。脉冲扣除电路由异或门和一个2分频器构成。本设计在半整数分频器原理的基础上,对异或门加一个使能控制信号,通过对异或门和计数器计数状态值的控制,实现同一个电路完成多种形式分频。

二、VHDL语言的实现

现通过设计一个可以实现8.5分频,等占空比的17分频,2、4、8、16、32分频,及占空比为1∶8和4∶5的9分频等多种形式分频的分频器,介绍该通用分频器的FPGA实现。

分频器由带使能端的异或门、模N计数器和一个2分频器组成,本设计用D触发器来完成2分频的功能,实现方法是:将触发器的Q反输出端反馈回输入端D,将计数器的一个计数输出端作为D触发器的时钟输入端。各功能模块的VHDL语言实现如下。

1.模N计数器的实现

一般设计中用到计数器时,我们可以调用lpm库中的计数器模块,也可以采用VHDL语言自己设计一个模N计数器。本设计采用VHDL语言设计一个最大模值为16的计数器。输入端口为:使能信号en,复位信号clr和时钟信号clk;输出端口为:qa、qb、qc、qd。

2.带使能控制的异或门的实现

输入端为:xor_en:异或使能,a和b:异或输入;输出端为:c:异或输出。当xor_en为高电平时,c输出a和b的异或值。当xor_en为低电平时,c输出信号b。其VHDL语言略。

3.2分频(触发器)的实现

输入端为:时钟信号clk,输入信号d;输出端为:q:输出信号a,q1:输出信号a反。其VHDL语言略。

4.分频器的实现

本设计采用层次化的设计方法,首先设计实现分频器电路中各组成电路元件,然后通过元件例化的方法,调用各元件,实现整个分频器。其VHDL语言略。

三、仿真结果及硬件电路的测试

本设计的目的是通用性和简易性,只要对上述程序稍加改动即可实现多种形式的分频。

1.实现8.5分频和等占空比的17分频

只要将上述程序中,调用计数器模块时端口qa、qb、qc匹配为open状态,同时置xor_en为高电平即可。

2.实现占空比为1∶8和4∶5的9分频

只要上述程序的xor_en置低电平即可在qxiao输出占空比为1∶8的9分频信号;在qzheng2输出占空比为4∶5的9分频信号。同样仅占8个逻辑单元(logic elements)。

3.实现等占空比的2、4、8、16和32分频 只要将上述程序中的xor_en置为低电平,同时将计数器模块的计数最大值设为16即可。

由此可见,只要稍微改变计数器的计数状态值,对异或门进行选通控制,即可实现上述多种形式的分频。本设计在Altera公司的EP1K50QC208-3构成的测试平台上测试通过,性能良好。

提醒:《基于VHDL和FPGA的多种分频实现方法介绍》最后刷新时间 2024-03-14 01:18:52,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《基于VHDL和FPGA的多种分频实现方法介绍》该内容的真实性请自行鉴别。