(精品)利用verilog hdl实现基于fpga的分频方法

(精品)利用verilog hdl实现基于fpga的分频方法

ID:35645247

大小:202.24 KB

页数:5页

时间:2019-04-06

(精品)利用verilog hdl实现基于fpga的分频方法_第1页
(精品)利用verilog hdl实现基于fpga的分频方法_第2页
(精品)利用verilog hdl实现基于fpga的分频方法_第3页
(精品)利用verilog hdl实现基于fpga的分频方法_第4页
(精品)利用verilog hdl实现基于fpga的分频方法_第5页
资源描述:

《(精品)利用verilog hdl实现基于fpga的分频方法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、http://www.paper.edu.cn利用VerilogHDL实现基于FPGA的分频方法许文建,陈洪波,李晓中国矿业大学信息与电气工程学院,江苏徐州(221008)E-mail:bachelor122@sohu.com摘要:本文从实际应用出发,分别介绍了利用VerilogHDL硬件语言实现的整数和半整数分频的通用方法。并在QuartusII软件环境下,利用Altera公司的ACEX1K系列器件进行了仿真和调试。关键词:VerilogHDL;分频;FPGA1.引言在复杂数字逻辑电路设计中,经常会用到多个不同的时钟信号。一般可分为奇数、偶数、半整数分频。本文首先

2、简要介绍了FPGA器件的特点和应用范围。接着分别介绍了整数和分数分频的常用方法,并在QuartusII开发软件下,利用Verilog硬件描述语言来设计数字逻辑电路。在数字逻辑电路设计中,分频器是一种基本电路。我们常会遇到偶数分频、奇数分频、半整数分频等,在同一个设计中有时要求多种形式的分频。通常由计数器或计数器的级联构成各种形式的偶数分频和奇数分频,实现较为简单。但对半整数分频分频实现较为困难。【1】FPGA(FieldprogrammableGatesArray,现场可编程门阵列)都是可编程逻辑器件,它们是在PAL、GAL等逻辑器件基础上发展起来的。同以往的PAL

3、、GAL相比,FPGA/CPLD的规模比较大,适合于时序、组合等逻辑电路的应用。它可以替代几十甚至上百块通用IC芯片。这种芯片具有可编程和实现方案容易改动等特点。由于芯片内部硬件连接关系的描述可以存放在磁盘、ROM、PROM、或EPROM中,因而在可编程门阵列芯片及外围电路保持不动的情况下,换一块EPROM芯片,就能实现一种新的功能。它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及实时在检验等优点,因此,可广泛应用于产品的原理设计和产品生产之中。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件

4、。在现代电子系统中,数字系统所占的比例越来越大。系统发展的趋势是数字化和集成化,而FPGA作为可编程ASIC(专用集成电路)器件,它将在数字逻辑系统中发挥越来越重要的作用。2.整数分频原理整数分频包括偶数分频和奇数分频,对于偶数N分频,通常是由模N/2计数器实现一个占空比为1:1的N分频器,分频输出信号模N/2自动取反。对于奇数N分频,上述方法就不适用了,N奇数分频,要使占空比为50%,以如下思路实现:1、以原时钟周期的N倍作为一个处理周期;(用计数器计数的作用)2、生成占空比为N2:N2+1(除法取整)的波形;(以计数器值采样)3、将B生成的波形相移原时钟的半个周

5、期;(用负沿打的作用)4、若高电平占N2宽,输出将B和C的波形相或;若高电平占N2+1宽,输出将B和C的波形相与下面分别以两个程序分别介绍偶数和奇数分频方法:-1-http://www.paper.edu.cn2.1偶数分频如果时钟信号为40MHz,一个16位的计数器从0计到65535(一共65536个不同的值)。计数器的最高位将以40000000/65536=610Hz的频率翻转。对应的VerilogHDL语言如下所示:moduledevide(clk,speaker);inputclk;outputspeaker;reg[15:0]counter;//16位的2

6、进制计数器always@(posedgeclk)counter<=counter+1;assignspeaker=counter[15];//使用计数器的最高有效位为输出endmodule计数器的最低有效位(counter[0])以20MHz的频率翻转,类似的counter[1]以10MHz的频率翻转,以此类推。但是如果我们要得到704Hz的输出,这样一来我们就需要对40MHz的时钟56818分频,但是这时候的占空比因为低电平从0一直维持到32767(期间counter[15]等于0),而高电平则从32768维持到56817。这样输出信号中,高电平的占空比仅为42%

7、。最简单的得到50%占空比的办法是添加一个状态,使输出信号先28409分频(56818的一半),然后再2分频。此外,我们还可以通过计数器来实现整数分频,例如40MHz分频为1Hz的程序moduledivide(clk,,reset,f1);inputclk,reset;outputf1;reg[25:0]j;always@(posedgeclk)if(!reset)beginf1<=0;j<=0;endelsebeginif(j==19999999)beginj<=0;f1<=~f1;endendmodule2.2奇数分频[2]对于奇数分频,我们以三倍分频为例来

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。