课程设计基于FPGA的半整数分频器设计

合集下载

FPGA_ASIC-基于CPLD、FPGA的半整数分频器的设计

FPGA_ASIC-基于CPLD、FPGA的半整数分频器的设计

基于CPLD/FPGA的半整数分频器的设计王蓉 李伟民(九江职业技术学院,江西 九江 332007)摘要:简要介绍了CPLD/FPGA器件的特点和应用范围,并以分频比为2.5和1.5的分频器的设计为例,介绍了在MaxPlusII开发软件下,利用VHDL硬件描述语言以及原理图的输入方式来设计数字逻辑电路的过程和方法。

该设计具有结构简单、实现方便、便于系统升级的特点。

关键词:FPGA; 2.5分频器 ;1.5分频器;半整数分频器。

中图分类号:TN772 文献标识码:B 文章编号:The design of the Half-integer Frequency Divider Based on CPLD/FPGAWANG RONG LI Wei-min(Jiujiang V ocational & Technical College ,Jiujiang City ,Jiangxi Province ,332007) Abstract: Introduced briefly the CPLD/FPGA component characteristic and the application scope, and take the frequency division ratio as 2.5 and 1.5 frequency divider designs are examples, introduced under the MaxPlusII development software, designs the numeral logic circuit using the VHDL hardware description language as well as the schematic diagram input way the process and the method.This design has the structure simply, the realization convenient, is advantageous for the characteristic which the system promotes.Keywords: FPGA; 2.5 frequency dividers; 1.5 frequency dividers; Half-integer frequency divider.1 引言FPGA(Field programmable Gates Array,现场可编程门阵列)适合于时序、组合等逻辑电路的应用,具有设计开发周期短、可编程和实现方案容易改动以及质量稳定等特点[1]。

基于FPGA分频器的研究与设计

基于FPGA分频器的研究与设计

基于FPGA分频器的设计摘要:分频器是数字系统设计中的基本电路,在复杂数字逻辑电路设计中,根据不同设计的需要,会遇到偶数分频、奇数分频、半整数分频等,有时要求等占空比,也有要求非等占空比。

在同一个设计中有时要求多种形式的分频,通常由计数器或计数器的级联构成各种形式的偶数分频和奇数分频,实现较为简单,但是对半整数分频实现较为困难。

设计师希望有一种比较方便实用的设计方法,根据情况的需要,在实验室就能设计分频器并且可以马上检测使用,只需要更改频率系数而不修改其他器件或是电路板。

因此,本文利用verilog硬件描述语言,通过开发平台,使用FPGA,设计了一种能满足上述情况的通用分频器。

只要在分频器的输入端输入相应的分频系数,就可以得到所需的频率。

关键词:分频器;偶数;奇数;半整数;分频系数;FPGASeparate frequency inverter based on FPGA designAbstract:Points are the frequency of an digital system design, the basic circuit in complex digital logic circuit design, according to different design needs, will meet even points frequency, an odd number of points frequency, half integer points frequency etc, sometimes require 390v, such as the request 390v. In the same design sometimes require multiple forms of points frequency, usually by a counter or counter cascade constitute various forms of the frequency and the odd points even points, to achieve comparatively simple frequency, but half-and-half integer points frequency division frequency realize more difficult. Designers hope to have a more convenient and practical design methods, according to the needs of the laboratory condition, can design points frequency device and can immediately detection using, only need to change frequency coefficients and not modify other device or circuit board. Therefore, this paper use verilog hardware description language, through the development platform, use the FPGA, design a kind of can meet the above situation of practical points frequency device. As long as the frequency of an in points corresponding points input input frequency coefficients, can get frequency required.Keywords: Points, frequency, manometers, Even, Odd, Half an integer, Points frequency coefficients, FPGA目录第一章绪论 (1)1.1 FPGA简介 (1)1.2 选题的意义和目的 (2)1.3 国内外应用现状及研究现状 (3)1.3.1 应用现状 (3)1.3.2 研究现状 (4)1.4 本文组织结构 (5)第二章几类分频器的设计及其分频原理 (7)2.1 偶数倍分频 (7)2.1.1 分频原理 (7)2.1.2 软件简介 (7)2.1.3 软件仿真 (7)2.2 奇数倍分频 (9)2.2.1 分频原理 (9)2.2.2 软件仿真 (10)2.3 半整数分频 (12)2.4 小数分频器 (13)2.4.1 积分分频器 (13)2.4.2 累加器分频 (14)2.4.3 小数分频器的应用 (15)2.5 本章小结 (17)第三章通用分频器的设计 (18)3.1 设计方案 (18)3.1.1 设计方案一 (18)3.1.2 设计方案二 (18)3.2 系统设计 (19)3.2.1 电路工作流程图及部分程序 (20)3.2.2时钟输出流程图及部分程序 (23)3.3 通用分频器的应用 (25)3.3.1 等占空比的奇数分频器 (25)3.3.2 任意占空比的奇、偶数分频 (25)3.3.3 等占空比的偶数分频器 (26)3.3.4 半整数分频器 (26)3.4 本章小结 (26)结论 (27)致谢 (28)参考文献 (29)第一章绪论1.1 FPGA简介FPGA是现场可编程门阵列的简称,是可编程逻辑器件(PLD)问世以来的第四代产品,适合于时序、组合等逻辑电路的应用。

基于FPGA的分频器设计研究

基于FPGA的分频器设计研究

FPGA结课论文学院:专业:班级:姓名:目录1、引言 (3)2、2N分频器的设计 (3)3、任意整数N分频器的设计 (4)4、半整数分频器设计 (5)5、由分频方法直接获得秒脉冲的设计方法 (6)6、总结 (7)基于FPGA的分频器设计)1 引言分频器是数字系统中常用来对某个给定时钟的频率进行再分频,以得到所需之各种信号频率的常用基本电路之一。

广泛应用于工业控制中的变频需要,电声技术的转化等。

基于FPGA 实现的分频电路一般有两种方法:一是使用FPGA 芯片内部提供的锁相环电路,如 ALTERA 提供的 PLL(Phase Locked Loop),Xilinx 提供的 DLL(Delay Locked Loop);二是使用硬件描述语言,如VHDL、Verilog HDL 等。

使用锁相环电路有许多优点,如可以实现倍频、相位偏移、占空比可调等。

但 FPGA 提供的锁相环个数极为有限,不能灵活满足使用要求。

而用硬件描述语言实现的分频电路消耗不多的逻辑单元就可以实现对时钟的操作,具有成本低、灵活可编程等优点。

2 2N分频器的设计分频系数为2N的分频器的实现最简单,可采用二进制加或减法计数器的设计来实现。

计数器可直接从Altera公司提供的宏功能模块LPM中调用,也可文本输入或原理图输入方式构成。

以一个4bit的二进制加法计数器为例进行分析说明。

以原理图输入方式设计四位二进制加法计数器如图1所示,经编译、时序模拟后得到仿真波形如图2所示:图1 四位二进制加法计数器图2 四位二进制加法计数器仿真波形从仿真波形可以看出分别由Q0、Q1、Q2、Q3得到的脉冲波形频率正是时钟信号CP的1/2、1/4、1/8和1/16。

亦即分频系数是2、4、8和16。

假设FPGA的CP所接石英晶体是20MHz,则不同引脚所得到的频率分别为10 MHz、5 MHz、2.5 MHz和1.25 MHz。

由上讨论推广可知,N位二进制计数器输出端的每一位输出信号其占空比为50%,从低到高排列分频系数正好为21、22、23、24……。

基于CPLDFPGA的半整数分频器的设计

基于CPLDFPGA的半整数分频器的设计

基于CPLDFPGA的半整数分频器的设计1 引言在数字逻辑电路设计中,分频器是一种基本电路。

通常用来对某个给定频率进行分频,以得到所需的频率。

整数分频器的实现非常简单,可采用标准的计数器,也可以采用可编程逻辑器件设计实现。

但在某些场合下,时钟源与所需的频率不成整数倍关系,此时可采用小数分频器进行分频。

比如:分频系数为2.5、3.5、7.5等半整数分频器。

笔者在模拟设计频率计脉冲信号时,就用了半整数分频器这样的电路。

由于时钟源信号为50MHz,而电路中需要产生一个20MHz的时钟信号,其分频比为2.5,因此整数分频将不能胜任。

为了解决这一问题,笔者利用VIDL硬件描述语言和原理图输入方式,通过MAX plus II开发软件和ALTERA公司的FLEX系列EPF10K10LC84-4型FPGA方便地完成了半整数分频器电路的设计。

2 小数分频的基本原理小数分频的基本原理是采用脉冲吞吐计数器和锁相环技术先设计两个不同分频比的整数分频器,然后通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值。

如设计一个分频系数为10.1的分频器时,可以将分频器设计成9次10分频,1次11分频,这样总的分频值为:F=(9×10 1×11)/(9 1)=10.1从这种实现方法的特点可以看出,由于分频器的分频值不断改变,因此分频后得到的信号抖动较大。

当分频系数为N-0.5(N为整数)时,可控制扣除脉冲的时间,以使输出成为一个稳定的脉冲频率,而不是一次N分频,一次N-1分频。

图2 模3计数器仿真波形 3 电路组成分频系数为N-0.5的分频器电路可由一个异或门、一个模N计数器和一个二分频器组成。

在实现时,模N计数器可设计成带预置的计数器,这样可以实现任意分频系数为N-0.5的分频器。

图1给出了通用半整数分频器的电路组成。

采用VHDL硬件描述语言,可实现任意模N的计数器(其工作频率可以达到160MHz以上),并可产生模N逻辑电路。

基于FPGA的半整数分频器的设计

基于FPGA的半整数分频器的设计

基于FPGA的半整数分频器的设计
高凡;贾磊磊
【期刊名称】《科技信息》
【年(卷),期】2010(000)019
【摘要】简要介绍了FPGA器件的特点和应用范围,并以分频比为7.5的半整数分频器的设计为例,介绍了在MAX+plus Ⅱ开发软件下,利用VHDL硬件描述语言以及原理图的输入方式来设计数字逻辑电路的过程和方法.
【总页数】2页(P133-134)
【作者】高凡;贾磊磊
【作者单位】桂林航天工业高等专科学校,广西,桂林,541004;桂林航天工业高等专科学校,广西,桂林,541004
【正文语种】中文
【相关文献】
1.基于CPLD/FPGA的半整数分频器的设计 [J], 林海波
2.基于FPGA的半整数及整数分频器的参数化设计 [J], 古良玲;杨永明;郭巧惠
3.基于CPLD/FPGA的半整数分频器的设计 [J], 夏继军
4.基于CPLD/FPGA的半整数分频器的设计 [J], 王蓉;李伟民
5.基于CPLD/FPGA的半整数分频器的设计 [J], 汪霞
因版权原因,仅展示原文概要,查看原文内容请购买。

实验5指导书 基于FPGA的分频器的设计

实验5指导书 基于FPGA的分频器的设计

实验5 基于FPGA的分频器设计预习内容阅读《电工电子实验教程》第6.6节中触发器及时序逻辑电路的内容。

预先学习Quartus II软件的使用方法。

预习实验的内容,自拟实验步骤和数据表格,选择使用器件,完成电路设计,画出原理电路,手写预习报告。

一、实验目的1.了解EDA软件在电子设计当中的重要作用。

2.熟悉并掌握Quartus II开发软件的基本使用方法。

3.运用图解法设计分频器电路,并进行电路仿真。

二、知识要点FPGA(Field-Programmable Gate Array)是一种可编程器件,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

FPGA主要生产厂商有:Altera、Xilinx、Actel、Lattice。

FPGA的开发软件包括Altera公司的Quartus II、Xilinx 公司的ISE、Lattice 公司的isplever Base。

Quartus II是Altera公司的第四代可编程逻辑器件集成开发环境,提供从设计输入到器件编程的全部功能。

Quartus II可以产生并识别EDIF网表文件、VHDL网表文件和Verilog HDL网表文件,为其它EDA工具提供了方便的接口;可以在Quartus II集成环境中自动运行其它EDA工具。

利用Quartus II软件的开发流程可概括为以下几步:设计输入、设计编译、设计定时分析、设计仿真和器件编程。

用户通过开发软件提供的设计工具实现自己的电路设计以及相应的配置,当用户通过仿真验证结论后,便可把设计下载至FPGA中,实现设定功能。

三、实验内容设计一个分频电路(使用74LS161和必要的门电路)。

要求得到8分频(输出频率为输入频率的八分之一)信号和32分频信号。

基于CPLDFPGA的半整数分频器的设计

基于CPLDFPGA的半整数分频器的设计

基于CP LD/FPG A 的半整数分频器的设计夏继军(黄冈职业技术学院 湖北 黄冈 438002)摘 要:本文以分频比为2.5的半整数分频器的设计为例,介绍了在M AX +plus II 开发软件下,利用VH D L 硬件描述语言以及原理图的输入方式来实现半整数分频器的过程和方法。

关键词:VH D L ;CP LD/FPG A ;半整数分频;仿真中图分类号:TP331.1 文献标识码:A 文章编号:1672-1047(2005)04-0081-03The Design of Semi -integer Frequency Divider B ased on CPLD/FPGAXia Ji -jun(Huanggang Polytechnice Huangzhou Hubei 438002)Abstract :This paper takes the design of semi -integer frequency divider at the rate of 2.5as an example.It introduces the procedures and methods of semi -integer frequency divider in M AX +plus ,using VH D L and the input ways of the principle chart.K ey w ords :Vhdl ;C pld/F pag ;Semi -integer frequency divider ;Emulation 1 引言随着半导体技术的发展,可编程逻辑器件在结构、工艺、集成度、功能、速度和灵活性等方面有了很大的改进和提高,从而为高效率、高质量、灵活地设计数字系统提供了可靠性。

CP LD 或FPG A 技术的出现,为DSP 系统的设计又提供了一种崭新的方法。

在数字逻辑电路设计中,分频器是一种基本电路。

FPGA_ASIC-基于FPGA的通用分频器设计

FPGA_ASIC-基于FPGA的通用分频器设计

基于FPGA的通用分频器设计周子昂,王福源,魏军辉(郑州大学信息工程学院,河南郑州450052)摘要:本文介绍了一种能够完成半整数和各种占空比的奇/偶数和的通用的分频器设计,并给出了本设计在Altera公司的FLEX10K系列EPF10K10LC84-3型FPGA芯片中实现后的测试数据和设计硬件的测试结果,结果表明了设计的正确性和可行性。

由于设计采用VHDL硬件描述语言实现,用户可以自行裁减和设置分频器的功能,所以有很广泛的应用价值。

关键词: 通用分频器; 占空比; 半整数;中图分类号:TN772 文献标识码:ADesign of universal frequency divider based on FPGAZHOU zi ang, WANG fu yuan,WEI jun hui(College of information, Zhengzhou University, Zhengzhou, Henan, 450052)Abstract: This paper presents an algorithm for designing a universal frequency divider which can realize different duty cycle either odd and even divider number. Experiments and hardware test onAltera PF10K10LC84-3 chip of FLEX10K series are given to show that the design is successful. Depending on the VHDL realization of this algorithm the design is of design flexibility and widely applications.Keywords: universal frequency divide; half duty cycle; half integer;1.概述分频器是数字系统设计的基本电路。

EDA课程设计---基于FPGA的半整数分频器设计

EDA课程设计---基于FPGA的半整数分频器设计

课程设计报告设计名称EDA(VHDL)课程设计专业班级电子0942姓名学号电气与信息工程学院二0一二年一月基于FPGA的半整数分频器设计一、系统设计任务及功能概述本系统是利用VHDL硬件描述语言和原理图输入方式,通过MUX+PLUSⅡ开发软件和ALTER 公司的FLEX系列EPF10K10LC84-4型FPGA方便的完成了半整数分频器电路的设计。

本系统是通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值。

二、系统设计方案和程序设计1.系统设计方案我们采用脉冲吞吐计数器和锁相环技术,先设计两个不同分频比的整数分频器,然后通112entity cont6 isport(clk:instd_logic;rst:instd_logic;en:instd_logic;qa,qb,qc:outstd_logic);end entity cont6;architecturewode of cont6 issignalcount:std_logic_vector(2 downto 0);beginprocess(clk,rst,en)isbeginifrst='1'then count<="000";elsifclk'event and clk='1'thenif en='1'thenif count="101" then count<="000";else count<=count+1;end if;end if;end if;end process;qa<=count(0);qb<=count(1);qc<=count(2);end architecture wode;模六计数器原件生成图如下:图一模六计数器原件生成上面的程序经编译、时序模拟在MAX+PLUSⅡ中可得到如图所示的仿真波形:图2模6计数器仿真波形(2)半整数分频器设计现在通过设计一个分频系数为5.5的分频器给出用FPGA设计半整数分频器的一般方法。

基于FPGA的分频器设计

基于FPGA的分频器设计

基于FPGA的分频器设计FPGA(Field-Programmable Gate Array)是一种可编程逻辑设备,它可以在设计过程中根据需求进行编程和配置,实现不同的功能。

在FPGA中实现分频器是一个常见的应用,本文将介绍基于FPGA的分频器设计。

1.分频器的原理分频器用于将输入信号的频率减小到所需的频率。

它包含一个计数器和一个比较器。

计数器根据一个时钟信号进行计数,当达到一个预设值时,比较器会产生一个输出信号,作为分频器的输出。

在FPGA中实现分频器,首先需要选择适当的时钟源作为输入信号。

FPGA通常有一个高频时钟源,我们可以利用这个时钟源生成所需的低频信号。

3.设计步骤(1)确定时钟源:选择一个合适的高频时钟信号作为输入信号。

(2)选择分频器类型:根据需求选择分频器的类型,常见的有可控分频器和固定分频器。

(3)设置分频值:根据需要将输入信号的频率降低到所需的频率,设置分频值。

(4)设置计数器:在FPGA中,使用计数器来实现分频器。

根据所需的分频值,设置计数器的初始值和比较值。

(5)设计比较器:比较器用于判断计数器是否达到比较值,如果达到则产生一个输出信号。

(6)输出信号:比较器产生的输出信号作为分频器的输出信号,可以将其连接到需要的模块或引脚。

4.分频器设计实例下面以一个简单的可控分频器为例进行分频器的设计。

假设需要将输入信号的频率分频为输入频率的1/8,即输入频率为100MHz,输出频率为12.5MHz。

根据步骤,我们可以选择一个100MHz的时钟源作为输入信号。

然后,设置分频值为8,计数器的初始值为0,比较值为7(8-1)。

接下来,在FPGA中使用一个8位计数器来实现分频器。

计数器的输出连接到一个8位比较器,比较器的输出即为分频器的输出信号。

最后,将输出信号连接到需要的模块或引脚,以完成分频器的设计。

5.总结本文介绍了基于FPGA的分频器设计。

分频器是将输入信号的频率降低到所需频率的设备,可通过在FPGA中实现计数器和比较器来完成。

《EDA(VHDL)课程设计》任务书

《EDA(VHDL)课程设计》任务书
时钟信号提供秒信号(1HZ);四位数码管静态显示,高位high(3 downto 0)显示分,低位low(3 downto 0)显示秒。
3.四组数字智力抢答器的VHDL设计(每班1-30号的双号选择)
系统设计要求是:
(1)设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。
(1)主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。
(2)主干道处于常允许通行状态,而支干道有车来才允许通行。
(3)当主、支道均有车时,两者交替允许通行,主干道每次放行45s,支干道每次放行25s,在每次由亮绿灯变成亮红灯的转换过程中,要亮5s的黄灯作为过渡,并进行减计时显示。
设计的基本要求
3.输入、输出接口说明
4.报告中有分频器、定时器相关模块的功能仿真和时序仿真结果。
5.编写内容充实、完整和规范的课程设计报告书。
6.课程设计报告要求校对仔细,无错字,A4纸打印,左侧装订。
主要参考文献
[1]谭会生,张昌凡.EDA技术及应用.西安:西安电子科技大学出版社,2006,12.
[2]潘松,黄继业.EDA技术实用教程.北京:科学出版社,2008,8.
2.99分钟定时器的VHDL设计(每班1-30号的单号选择)
任务要求:具有整体清零(reset)功能,定时99分钟。以秒速度递增至99分钟停止,启动报警(cout)5秒钟。具有置位(cn)控制,即cn高电平时,clk脉冲上升沿到来,计数加一;cn低电平时,置位结束,进入倒计时阶段,以秒速度使输出计数减一至零结束,并同时报警(cout)5秒钟。
为了防止雷同,建议每班1-4号设计2.5分频,5-8号设计3.5分频,9-12号设计4.5分频,13-16号设计5.5分频,17-20号设计6.5分频,21-24号设计7.5分频,25-28设计8.5分频,29-32设计9.5分频,33-36设计10.5分频,37-40号设计11.5分频,41-44号设计12.5分频计数器。

基于FPGA的可控分频器的设计

基于FPGA的可控分频器的设计

基于FPGA的可控分频器的设计【摘要】本文介绍了两种分频系数为整数或半整数的可控分频器的设计方法。

其中之一可以实现50%的奇数分频。

利用VHDL语言编程,并用QUARTERS||4.0进行仿真,用FPGA 芯片实现。

关键词:半整数,可控分频器,VHDL, FPGA【Abstract】The paper presents two method for designing the controllable frequency divider which division ratio is integer or half-integer. The frequency divider implemented with a FPGA chip is described in VHDL and simulated with.Keywords: half-integer, simulated, controllable frequency divider, VHDL1.引言分频器是数字系统设计中的基本电路,根据不同设计的需要,我们会遇到偶数分频、奇数分频、半整数分频等,有时要求等占空比,有时要求非等占空比。

在同一个设计中有时要求多种形式的分频。

通常由计数器或计数器的级联构成各种形式的偶数分频及非等占空比的奇数分频,实现较为简单。

但对半整数分频,等占空比的奇数分频及可控分频实现较为困难。

本文利用VHDL硬件描述语言,通过QuartusⅡ4.0开发平台,使用Altera公司的FPGA,设计了一种能够满足上述各种要求的较为通用的可控分频器。

只要在分频器的输入端输入相应的分频系数,就可以得到所需的频率。

在通常的FPGA设计方法中,为了能实现等占空比的奇数分频,常采用对输入频率进行二倍频的电路,以及对倍频后的频率F进行偶数分频,这样大大降低了设计电路的最高工作频率,提高了对硬件的要求。

为此,本文的设计在不改变设计要求的前提下,对常规的设计方法进行了改进,实现了在不需要对输入频率进行二倍频的条件下的等占空比分频,从而更好的利用了FPGA的频率资源,同时还降低了设计的复杂性。

数字电子电路 数电 实验报告 基于FPGA的分频器设计

数字电子电路 数电 实验报告 基于FPGA的分频器设计

装……订……线基于FPGA的分频器设计一、实验目的1、了解EDA软件在电子设计当中的重要作用EDA:EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

EDA技术:就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极大地提高了电路设计的效率和可操作性。

2、熟悉并掌握MAXPLUS II 或QUARTUS II等开发软件的基本使用方法。

3、运用图解法设计分频器电路,并进行电路仿真。

二、实验内容利用MAXPLUS II开发软件设计分频电路。

1MHz图分频电路框图从图中我们可以看出将1MHZ的脉冲连续6次除10,即可得到我们需要的输出频率。

利用MAXPLUS II 或QUARTUS II等开发软件的器件库,找到一个BCD的计数器:74LS160,(如图)从它的波形图中可看到它具有的逻辑功能:BCD计数,异步清零,有进位输出。

其中CLK—为时钟信号;ENT、ENP—为使能信号,高电平有效;CLRN—异步清零端,电平为高时,计数器清零,电平为低时,允许计数;QD~QA—计数器输出端;RCO—进位输出端。

图74LS160图形符号装……订……线图74LS160波形图74LS160是一个对输入时钟进行十分频的器件。

当计数器从0计数到9时,RCO从低电平跳到高电平,在下一个脉冲到来时,RCO再回到低电平。

每十个计数脉冲RCO翻转一次,利用RCO特性,将前一级的TC输出端接到下一级的时钟输入端,就完成了连续分频的目的。

调用6次74LS160,即可完成设计电路要求。

基于FPGA 的分频器的设计

基于FPGA 的分频器的设计

前言:众所周知,分频器是FPGA设计中使用频率非常高的基本设计之一,尽管在目前大部分设计中,广泛使用芯片厂家集成的锁相环资源,如altera 的PLL,Xilinx的DLL.来进行时钟的分频,倍频以及相移。

但是对于时钟要求不高的基本设计,通过语言进行时钟的分频相移仍然非常流行,首先这种方法可以节省芯片内部的锁相环资源,再者,消耗不多的逻辑单元就可以达到对时钟操作的目的。

另一方面,通过语言设计进行时钟分频,可以看出设计者对设计语言的理解程度。

在数字系统的设计中,设计人员会遇到各种形式的分频需求,如偶数分频、奇数分频、半整数分频、小数分频和分数分频等。

在某些设计中,系统不仅对频率有要求,而且对占空比也有严格的要求。

由计数器或计数器的级联构成各种形式的偶数分频及非等占空比的奇数分频实现起来较为简单, 但对半整数分频及等占空比的奇数分频实现较为困难,小数分频和分数分频更困难。

整数分频器偶数分频器的设计较为简单,可以利用计数器实现。

假设要实现m = 2 n分频,当计数器的值为0 ~j - 1时,输出时钟为1,计数器的值为j~2n - 1时,输出时钟为0,在计数器值为2n - 1时复位计数器,如此循环下去,即可实现占空比为j/2n的分频,m 和j都是预置数, j用于调节占空比, m 调节分频系数。

m 的值不同,分频系数也就不同,如果预置数m 是奇数则可实现占空比不等于50%的奇数分频。

占空比为50%的奇数分频实现起来较为困难,实现的方法较多,主要有三种办法:1:对两个相差为90的占空比最接近50%的N分频计数器输出进行或运算。

假设要实现占空比为50%的m = 2n + 1分频, 选择两个2n + 1进制计数器控制两个中间时钟clk1和clk2, 1号计数器在输入时钟clk的上升沿计数, 2号在clk的下降沿计数。

当计数器1输出为0~n - 1时clk1为1, 输出为n~2n时clk1为0且计数器1输出为2n 时计数器1清0 ,如此循环下去; 当计数器2输出为0 ~n - 1时clk2为1, 输出为n~2n时clk2为0且计数器2输出为2n时计数器2清0,如此循环下去。

基于FPGA的多种形式分频的设计与实现

基于FPGA的多种形式分频的设计与实现

基于FPGA的多种形式分频的设计与实现摘要:本文通过在QuartursⅡ开发平台下,一种能够实现等占空比、非等占空比整数分频及半整数分频的通用分频器的FPGA设计与实现,介绍了利用VHDL硬件描述语言输入方式,设计数字电路的过程。

关键词:FPGA;VHDL硬件描述语言;数字电路设计;分频器引言分频器是数字系统设计中的基本电路,根据不同设计的需要,我们会遇到偶数分频、奇数分频、半整数分频等,有时要求等占空比,有时要求非等占空比。

在同一个设计中有时要求多种形式的分频。

通常由计数器或计数器的级联构成各种形式的偶数分频及非等占空比的奇数分频,实现较为简单。

但对半整数分频及等占空比的奇数分频实现较为困难。

本文利用VHDL硬件描述语言,通过QuartusⅡ3.0开发平台,使用Altera公司的FPGA,设计了一种能够满足上述各种要求的较为通用的分频器。

一、电路设计采用FPGA实现半整数分频器,可以采用以下方法:设计一个模N的计数器,再设计一个脉冲扣除电路,每来两个脉冲扣除一个脉冲,即可实现分频系数为N-0.5的分频器。

脉冲扣除电路由异或门和一个2分频器构成。

本设计在半整数分频器原理的基础上,对异或门加一个使能控制信号,通过对异或门和计数器计数状态值的控制,实现同一个电路完成多种形式分频,如图1所示。

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

由图1所示的电路原理图可知,分频器由带使能端的异或门、模N计数器和一个2分频器组成,本设计用D触发器来完成2分频的功能,实现方法是:将触发器的Q反输出端反馈回输入端D,将计数器的一个计数输出端作为D触发器的时钟输入端。

各功能模块的VHDL语言实现如下。

1.模N计数器的实现一般设计中用到计数器时,我们可以调用lpm库中的计数器模块,也可以采用VHDL语言自己设计一个模N计数器。

EDA 半整数分频器的设计实验报告

EDA   半整数分频器的设计实验报告

EDA技术实验项目报告项目题目: 半整数分频器的设计姓名:院系:应用技术学院专业:电子信息工程(职教)学号:指导教师:综合成绩:完成时间: 2012 年 6 月13 日一、项目实验内容摘要基于FPGA硬件开发板,利用QuartusII软件通过VHDL输入的方式实现2.5分频器的设计并用示波器观察;试验目的:1、掌握半整数分频器的VHDL设计原理与方法。

2、掌握在QUARTUS II中进行简单数字系统设计的全过程。

实验原理:设有一个5MHz的时钟源,但电路中要产生一个2MHz的时钟信号,由于分频比为2.5,因此整数分频器将不能胜任。

采用可编程逻辑器件实现分频系数为2.5的分频器,可采用以下方法:设计一个模3的计数器,再设计一个扣除脉冲电路,加在模3计数器输出之后,每来两个脉冲就扣除一个脉冲(实际上是使被扣除的脉冲变成很窄的脉冲,可由异或门实现),就可以得到分频系数为2.5的小数分频器。

采用类似方法,可以设计分频系数为任意半整数的分频器。

当分频系数为N—0.5(N为整数)时,可控制扣除脉冲的时间,是输出为一个稳定的脉冲频率,而不是一次N分频,一次N-1分频。

二、项目实验源代码分频器代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY deccount ISPORT (inclk: IN STD_LOGIC; --时钟源preset: IN STD_LOGIC_VECTOR(3 DOWNTO 0); --预置分频值Noutclk1: OUT STD_LOGIC;outclk2: BUFFER STD_LOGIC ); --输出时钟END deccount;ARCHITECTURE deccount_arch OF deccount ISSIGNAL clk, divide2: STD_LOGIC;SIGNAL count: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINclk<=inclk XOR divide2; --inclk与divide2异或后作为模N计数器的时钟outclk1<=inclk;PROCESS(clk)BEGINIF(clk'event AND clk='1') THENIF(count="0000") THENcount<=preset-1; --置整数分频值Noutclk2<='1';ELSEcount<=count-1; --模N 计数器减法计数outclk2<='0';END IF;END IF;END PROCESS;PROCESS(outclk2)BEGINIF(outclk2'event AND outclk2='1') THENdivide2<=NOT divide2; --输出时钟二分频END IF;END PROCESS;END deccount_arch;三、项目实验工具软件的选用以及实验过程实验的软硬件要求:1、EDA2000实验箱(其他厂家具有同等配置试验箱均可),主要使用:输入:时钟源。

基于FPGA的半整数分频器的设计

基于FPGA的半整数分频器的设计

P D 和 中小 规 模 通 用 数 字 集 成 电 路 的 场 合 均 可 应 用 F G L P A。 在 现 代 电 子 系 统 中 , 字 系 统 所 占的 比例 越 来 越 大 。 系 统 发 展 的 数 越 势 是 数 字 化 和 集 成 化 , F G 作 为 可 编 程 A I 专 用 集 成 电路 ) 而 PA SC( 器 件 , 将 在 数 字 逻 辑 系 统 中发 挥 越 来 越 重 要 的作 用 。 它 在 数 字 逻 辑 电 路 设 计 中 , 频 器 是 一 种 基 本 电 路 。 通 常 用 来 对 某 分 个给定频率进行分频 , 以得 到 所 需 的 频 率 。整 数 分 频 器 的 实 现 是 比较 简 单 的 , 采 用 标 准 的 计 数 器 , 可 以采 用 可 编 程 逻 辑 器 件 设 计 实 现 。 可 也
0 引言
采 用 VH DL硬 件 描述 语 言 , 实 现 任 意 模 N 的计 数 器 ( 工 作 频 可 其
率 可 以 达 到 10 z以 上 )并 可产 生 模 N 逻 辑 电 路 。 之 后 , 原 理 图 6 MH , 用 F GA( il porm beG tsA ry 现 场 可 编 程 门 阵 列 ) 可 P Fed rga ma l a ra . e 是 输 入 方 式 将 模 N逻 辑 电路 、 或 门 和 D触 发 器 连 接 起 来 . 可 实 现 半 异 便 编 程 逻 辑 器 件 , 在 P L、 A 是 A G L等 逻 辑 器 件 基 础 上 发 展 起 来 的 同 以 往 整 数 ( 05 分 频 器 以及 (N 1 的 分 频 。 N一 .) 2一) 的 P LG A 、 AL相 比 ,P A 的 规 模 比 较 大 , 合 于 时 序 、 合 等 逻 辑 电 FG 适 组 路的应用 。 可以替代几十甚至上百块通用 I 它 C芯 片 。 种 芯 片 具 有 可 3 7. 这 5分 频 器 设 计 编程和实现方案容易改动等特点 。 由于 芯 片 内部 硬 件 连 接关 系 的 描 述 现 通 过设 计 一个 分 频 系数 为 75的分 频 器 给 出用 F G . P A设 计 半 整 可 以存 放 在 磁 盘 、 O 、R R M P OM、 E RO 中 , 而 在 可 编 程 门 阵 列 芯 或 P M 因 数 分 频 器 的一 般 方 法 。 该 75分 频 器 由模 8计 数 器 、 或 门 和 D触 发 . 异 片及外 围电路保 持不动 的情况下 , 一 块 E R 换 P OM 芯 片 , 能 实 现 一 就 器 组 成 。如 图 2所 示 : 种 新 的功 能 。它 具 有 设 计 开 发 周 期 短 、 计 制 造 成 本 低 、 发 工 具 先 设 开 进 、 准 产 品无 需 测 试 、 量 稳 定 以及 实 时 在 检 验 等 优 点 , 此 . 广 标 质 因 可 泛应 用于产 品的原理设 计和 产品生 产之 中。几乎 所有应 用 门阵列 、

FPGA奇数和偶数分频器和半整数及任意小数分频器设计(新)

FPGA奇数和偶数分频器和半整数及任意小数分频器设计(新)

1、半整数分频占空比不为50%//说明:我设计的史上最好用的半整数分频占空比不为50%,包含设计思路module div_5(clk,clk_div,cnt1,cnt2,temp1,temp2);//N+0.5input clk;output clk_div;output reg[31:0]cnt1,cnt2;output reg temp1,temp2;initial begin temp1=0;temp2=1;end //首先进行初始化,temp1=0;temp2=1 parameter N=5; //设定分频系数为N+0.5always @(posedge clk) //temp1上升沿跳变beginif(cnt1==2*N) //2*Nbegin cnt1[31:0]<=32'd0;endelse begin cnt1[31:0]<=cnt1[31:0]+32'd1;endif(cnt1==32'd0) begin temp1<=1;end //高电平时间为N+1;if(cnt1==N+1) begin temp1<=0;end//低电平时间为N;endalways@(negedge clk) //temp2下降沿跳变beginif(cnt2==2*N) //2*Nbegin cnt2[31:0]<=32'd0;endelse begin cnt2[31:0]<=cnt2[31:0]+32'd1;endif(cnt2==32'd0) begin temp2<=0;end //低电平时间为N;if(cnt2==N) begin temp2<=1;end //高电平时间为N+1;endassign clk_div=temp1&&temp2; //逻辑与endmodule//如果要进行N+0.5分频//思路:总的来说要进行N+1+N=2N+1次分频//在时钟的上升沿和下降沿都进行跳变//上升沿进行占空比为N+1比N的时钟temp1;//下降沿进行占空比为N比N+1的时钟temp2;//最后div=temp1&&temp2 即可得到所需要的半整数分频分频5.5仿真结果2、奇数分频占空比为50%//说明:奇数分频。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告设计名称EDA(VHDL)课程设计专业班级电子0942姓名姬鹏冲学号0904451213成绩评定电气与信息工程学院二0一二年一月课程设计要求和成绩考核办法(要求和成绩考核办法在封皮背面打印)1.不允许在教室或实验室内吸烟、吃零食,不准带无关人员到教室或实验室活动,否则扣平时表现分。

2.凡病事假超过3天(每天7小时),或迟到早退三次以上,或旷课两次(1天)以上,不得参加本次考核,按不及格处理,本次课程设计不能通过。

3.病事假必须有请假条,需经班主任或有关领导批准,否则按旷课处理。

4.课程设计的考核由指导教师根据设计表现(出勤、遵守纪律情况等)、设计报告、设计成果、答辩等几个方面,给出各项成绩或权重,综合后给出课程设计总成绩。

该设计考核须经教研室主任审核,主管院长审批备案。

5.成绩评定采用五级分制,即优、良、中、及格和不及格。

6.课程设计结束一周内,指导教师提交成绩和设计总结。

7.设计过程考核和成绩在教师手册中要有记载。

实习报告要求实习报告内容、格式各专业根据实习(设计)类别(技能实习、认识实习、生产实习、毕业实习等)统一规范,经教研室主任审核、主管院长审批备案。

注意:1.课程设计任务书和指导书在课程设计前发给学生,设计任务书放置在设计报告封面后和正文目录前。

2.为了节省纸张,保护环境,便于保管设计报告,统一采用A4纸,课程设计报告建议双面打印(正文采用宋体五号字)或手写,左侧装订,订两个钉。

基于FPGA的半整数分频器设计一、系统设计任务及功能概述本系统是利用VHDL硬件描述语言和原理图输入方式,通过MUX+PLUSⅡ开发软件和ALTER 公司的FLEX系列EPF10K10LC84-4型FPGA方便的完成了半整数分频器电路的设计。

本系统是通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值。

二、系统设计方案和程序设计1.系统设计方案我们采用脉冲吞吐计数器和锁相环技术,先设计两个不同分频比的整数分频器,然后通过控制单位时间内两种分频比出现的不同次数来获得所需要的5.5分频值。

该分频器电路可由一个异或门、一个模6数器和二分频器组成。

这样可以实现分频系数为5.5分频器以及11分频。

设计框图如下所示2.VHDL程序设计(1)模6计数器VHDL描述设计该计数器可产生一个分频系数为5.5分频器,并产生一个默认的逻辑符号cont6。

其输入端口为rst、en和clk;输出端口为qa,qb,qc。

下面给出模6数器的VHDL描述代码:libraryieee;use ieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entity cont6 isport(clk:instd_logic;rst:instd_logic;en:instd_logic;qa,qb,qc:outstd_logic);end entity cont6;architecturewode of cont6 issignalcount:std_logic_vector(2 downto 0);beginprocess(clk,rst,en)isbeginifrst='1'then count<="000";elsifclk'event and clk='1'thenif en='1'thenif count="101" then count<="000";else count<=count+1;end if;end if;end if;end process;qa<=count(0);qb<=count(1);qc<=count(2);end architecture wode;模六计数器原件生成图如下:图一模六计数器原件生成上面的程序经编译、时序模拟在MAX+PLUSⅡ中可得到如图所示的仿真波形:图2模6计数器仿真波形(2)半整数分频器设计现在通过设计一个分频系数为5.5的分频器给出用FPGA设计半整数分频器的一般方法。

该5.5分频器由前面设计的模6计数器、异或门和D触发器组成,利用图形设计方法构造如图所示的5.5分频器电路原理图。

图3 5.5分频器电路原理图3.将cont6、异或门和D触发器通过图3所示的电路建立逻辑连接关系,并用原理图输入方式调入图形编辑器,然后经过逻辑综合即可得到如图4所示的仿真波形。

图4 5.5分频器仿真波形图三.通过用VHDL语言描述模N计数器,然后进行波形仿真,原理图仿真等,了解了半整数分频器的工作原理。

试验中遇到了好多不会的通过查书,请教老师,请教同学一一解决了。

通过这次的实验认识了把课本的知识用到生活实践中,来解决问题很好的培养了自己的动手能力和学习能力。

四.参考文献[1] 谭会生,张昌凡.EDA技术及应用. 西安:西安电子科技大学出版社,2006,12.[2] 郭振武,从红霞。

EDA实验教程. 天津:南开大学出版社,2011,8[3] 杨晓慧,杨永健.基于FPGA的EDA/SOPC技术与VHDL.北京:国防工业出版社,2007,7.[4] 皱其宏 EDA实验技术教程。

北京:中国电力出版社。

2009.5.[5] 陈雪松,滕立中编著.VHDL入门与应用.北京:人民邮电出版社. 2000.99分钟定时器的VHDL设计一.系统设计任务及功能概述1.系统设计任务任务要求:通过设计,定时器可以整体清零;可以定时最高到99MIN;以秒速度递增至预定时间,以秒速度递减至零。

2.系统功能概述本系统是一个99分钟的定时器,具有以下功能:具有整体清零(reset)功能,定时99分钟。

以秒速度递增至99分钟停止,启动报警(cout)5秒钟。

具有置位(cn)控制,即cn高电平时,clk脉冲上升沿到来,计数加一;cn 低电平时,置位结束,进入倒计时阶段,以秒速度使输出计数减一至零结束,并同时报警(cout)5秒钟。

时钟信号提供秒信号(1HZ);四位数码管静态显示,高位high(3 downto 0)显示分,低位low(3 downto 0)显示秒。

二.系统设计方案和程序设计1.系统设计方案通过记数器控制中心输入秒信号,并输出两个四位的BCD码,可分别来表示各位与十位,也可整体复位清零。

通过该记数器实现以秒速度递增至清零,该记数器以秒的速度递增至99来实现置位,而以秒的速度递减至零以实现定时功能。

当以秒速度递增至99分钟停止,启动报警(cout)5秒钟。

cn低电平时,置位结束,进入倒计时阶段,以秒速度使输出计数减一至零结束时也同时报警(cout)5秒钟。

通过二选一选择器对个位和十位进行扫描输出,并将输出送到译码器,通过译码器对输入的四位BCD码进行七段码编译,然后输出到数码管。

2.VHDL程序设计Aaa控制计数模块,是该定时器的核心部分.res为复位端,用来清零,采用异步复位方式;cn用于置位,高电平有效。

cout端将在定时结束时产生高电平。

Low和high为四位BCD 码输出端口,可用于显示。

当cn有效时,clk脉冲上升沿到来,计数加1;当cn为低电平时,置位结束,进入计时阶段,每1个时钟周期发出一个脉冲,使输出记数减1,直到记时结束,令cout位为高电平为止。

该模块的源程序如下:libraryieee;use ieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityjsq isport (cn,res,clk:instd_logic;cout :out std_logic;flow,fhigh,mlow,mhigh:outstd_logic_vector(3 downto 0));endjsq;architecture art of jsq issignalfdisplow,fdisphigh,mdisplow,mdisphigh:std_logic_vector(3 downto 0); --定义信号分别表示分钟和秒钟的十位和个位beginprocess(clk,cn,res)beginif(res='1')thenmdisplow<="0000";mdisphigh<="0000";fdisplow<="0000";fdisphigh<="0000";cout<='0'; --res高电平执行复位elsif (clk'event and clk='1')thenifcn='1'thenifmdisplow<9 thenmdisplow<=mdisplow+1;--秒钟个位数小于9时执行计数加1cout<='0';elsifmdisplow="1001" and mdisphigh<5 thenmdisplow<="0000";mdisphigh<=mdisphigh+1;--秒钟十位进位加1elsifmdisphigh="0101" and fdisplow<9 thenmdisplow<="0000";mdisphigh<="0000";fdisplow<=fdisplow+1;--满59秒后分钟个位加1elsiffdisplow="1001" and fdisphigh<9 thenmdisplow<="0000";mdisphigh<="0000";fdisplow<="0000";fdisphigh<=fdisphigh+1;--满9分59秒后分钟十位加1elsiffdisplow="1000" and fdisphigh="1001" thenmdisplow<="0000";mdisphigh<="0000";fdisplow<="1001";--计时至99分停止elsiffdisplow="1001" and fdisphigh="1001" thencout<='1';--计时停止cout变为高电平end if;elsifcn='0' then --cn为0进入倒计时ifmdisplow>0 thenmdisplow<=mdisplow-1;--秒钟减1cout<='0';elsifmdisplow="0000" and mdisphigh>0 thenmdisplow<="1001";mdisphigh<=mdisphigh-1;--个位0时十位减1elsifmdisphigh="0000" and fdisplow>0 thenmdisplow<="1001";mdisphigh<="0101";fdisplow<=fdisplow-1;--分减1elsiffdisplow="0000" and fdisphigh>0 thenmdisplow<="1001";mdisphigh<="0101";fdisplow<="1001";fdisphigh<=fdisphigh-1;--分减10elsiffdisphigh="0000"and fdisplow="0000"and mdisphigh="0000"and mdisplow="0000"thencout<='1';--倒计时结束cout变为高电平end if;end if;end if;end process;mhigh<=mdisphigh;mlow<=mdisplow;fhigh<=fdisphigh;flow<=fdisplow;end art;该计数器生成的原件如下图所示:图一计数器原件生成图计数器波形仿真图如下图所示:图二计数器波形仿真报警器模块:主要功能是计数器以秒速度递增至99分钟停止时启动报警(cout)5秒钟。

相关文档
最新文档