基于VHDL的分频器设计[开题报告]

合集下载

VHDL数字系统课程设计报告-5分频器的设计

VHDL数字系统课程设计报告-5分频器的设计

图2 1
电子与信息工程系 2013 年 12 月
占空比为 1:1 的奇数分频器
(2) 占空比为 X/(2N+1)或(2N+1-X)/(2N+1)分频,用模(2N+1)计数器模块可以实 现。取 0 至 2N-1 之间一数值 X(0),当计数器时钟上升沿从 0 开始计数到 X 值时输出时钟翻 转一次,在计数器继续计数达到 2N 时,输出时钟再次翻转并对计数器置一复位信号,使之 从 0 开始重新计数,即可实现。如图 4 所示,由四个计数器生成了两个占空比 2:3 的分频 器 step1、和 step2。step1 由上升沿触发器出发,step2 由下降沿触发器出发。然后经过或 门生成占空比为 1:1 的分频器。
要设计占空比为 50%的奇数(n)倍分频器,可以先分别设计从时钟上升沿、下降沿开始 的占空比为(n-1)/2n 的分频器 A,B。将 A 与 B 相或结果就是占空比为 50%的奇数倍分频器。 因为 A,B 产生的信号的高电平持续时间均比低电平持续时间少一个时钟周期,B 相对 A 来说 可以说是延时了半个时钟,那么 A 与 B 进行或运算,则结果的高电平持续时间增加了半个时 钟周期,而低电平持续时间则减少了半个时钟周期。因此占空比达到 50%。
四、系统调试与结果............................................................................................. 4 五、主要元器件与设备......................................................................................... 5 六、课程设计体会与建议..................................................................................... 5

基于VHDL的全数字分数分频器设计

基于VHDL的全数字分数分频器设计
前向通道中分频器实现方式主要影响输出波 形的占空比.若前向通道采用D触发器.则输出波形 趋于对称,通常输出波形占空比为N:N或者Ⅳ:fⅣ+11, 具体情况由输出波形的周期相对于输入波形周期 的倍数是否为整数决定。若输出波形的周期为 输入周期的整数倍.则输出波形占空比为N:N, 否则为Ⅳ:(N+I)。
若前向通道采用模Ⅳ计数器实现.则输出波形 高电平占0.5或者1个输入波形周期宽度,具体是0.5 还是1.同样由输出波形周期是否为输入波形周期 的整数倍决定。若为整数倍,则占1个输入波形周期 宽度.否则占0.5个。
图4是前向通道采用了2个D触发器级联实现4 分频的仿真结果,输出波形elk—out占空比为3:4或者 4:4.分别对应于输出周期为输入周期的3.5倍与4倍 的情况。
m=b一(Ⅱrood b),
F。,,=I…a/5]+1,
疋=[胡],
(、 37 )
/z=a rood b
其中f.]表示取整,o mod 6表示求。除以b的余数。 如要设计一个5.1分频的分频器。则昭51,6=10,所
以由式(3)可得m=9,E---6,F。=5,n=l。 2.2任意分数分频器的实现
分频器的实现主要由两个模块实现.一个模块 是可预置数的可控双模分频器.另一个模块是可预
万方数据
其慨。=志≯。^=寿。
网2 3.5分频器仿真波j髟
采用VHDL语言设计上述电路(令N=4).并进行 仿真得到波形如图2所示.图中clk in为输入波形.比
锨五和clk—in可以得出:勘的每个周期中f.kgclk.in少
一个正脉冲。但是.观察模Ⅳ计数器输出temp.就可 以发现,实际上在矗的每个周期中£是ELelkin多了一个 正脉冲j分析如下:没此时刻为图中五的第一个高电 平下降沿前一刻,^=1,然后clk in由1变为0,导致异 或门的输出£变为1,£的上升沿使模Ⅳ(模4)计数器 计数.计数器结果加1。由于计数器计到了最大值, 故clk out输出高电平1.elk out的上升沿又促使2分频 器工作,使磊由1变为0,然后兀反馈回异或门得输人 端,与ckl in通过异或门使7:变为0.反馈使得‘由0变 为1.以后经过一段时问又返回0。

VHDL非整数分频器设计实验报告

VHDL非整数分频器设计实验报告

非整数分频器设计一、 输入文件输入时钟CLK: IN STD_LOGIC二、 设计思路1. 方法一:分频比交错(1) 确定K 值先根据学号S N 确定M 和N :为了保证同学们的学号都不相同,取学号的后四位,即N S =1763()mod 1920(mod 17)017mod 17S SSN N ifN then M else M N =+===由以上公式,得N=(1763 mod 19)+20=35 M=(1763 mod 17)=12 然后根据下式计算分频比K 的值:8()9N M MK N-+===8.34285714(2) 确定交错规律使在35分频的一个循环内,进行12次9分频和23次8分频,这样,输出F_OUT 平均为F_IN 的8.34285714分频。

为使分频输出信号的占空比尽可能均匀,8分频和9分频应‘交替’进(3) 设计框图:要求同步时序设计(4)代码在实体内定义两个进程(PROCESS P1和PROCESS P2),一个进程控制输出8/9分频,一个进程控制35分频周期比例输出。

控制器输出FS_CTL信号控制输出是8分频还是9分频,分频器输出C_ENB信号来控制35分频计数器计数。

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DIV IS--定义实体,实体名DIVPORT(F_IN: IN STD_LOGIC;--输入时钟信号F_OUT: OUT STD_LOGIC--输出时钟信号);END DIV;ARCHITECTURE A OF DIV ISSIGNAL CN1: INTEGER RANGE 0 TO 7;--8分频计数器SIGNAL CN2: INTEGER RANGE 0 TO 8;--9分频计数器SIGNAL CN: INTEGER RANGE 0 TO 34;--整体计数器SIGNAL C_ENB: STD_LOGIC;--整体计数器时钟驱动信号SIGNAL FS_CTL: STD_LOGIC;--控制8、9分频比例信号,高电平8分频,低电平9分频BEGINP1:PROCESS(F_IN)--8、9分频计数进程BEGINIF (F_IN'EVENT AND F_IN='1') THENIF(FS_CTL='0') THEN--9分频IF CN2=8 THEN--计数CN2<=0;ELSECN2<=CN2+1;END IF;IF CN2>4 THEN--控制输出,占空比0.5F_OUT<='1';ELSEF_OUT<='0';END IF;IF CN2=8 THEN--控制整体计数器驱动信号C_ENB<='1';ELSEC_ENB<='0';END IF;ELSEIF CN1=7 THEN--8分频计数,同上CN1<=0;ELSECN1<=CN1+1;END IF;IF CN1>3 THENF_OUT<='1';ELSEF_OUT<='0';END IF;IF CN1=7 THENC_ENB<='1';ELSEC_ENB<='0';END IF;END IF;END IF;END PROCESS P1;P2:PROCESS(C_ENB)--整体计数进程BEGINIF (C_ENB'EVENT AND C_ENB='1') THEN--由驱动信号驱动IF CN=34 THEN--计数CN<=0;ELSECN<=CN+1;END IF;IF (CN=34 OR CN=2 OR CN=5 OR CN=8 OR CN=11 OR CN=14 OR CN=17 OR CN=20 OR CN=23 OR CN=26 OR CN=29 OR CN=32) THEN FS_CTL<='0';ELSEFS_CTL<='1';END IF;--8、9分频比例分配ELSE CN<=CN;END IF;END PROCESS P2;END A;2. 方法二:累加器分频(1) 设计思路假设累加器位数为8,则累加器的模值N M 为28=256。

Verilog HDL分频器设计报告

Verilog HDL分频器设计报告

2011-2012第二学期专业选修课HDL语言应用与设计课程设计报告Veriog HDL分频器设计报告设计时间:2012.4班级:信科09-2姓名:程雷学号:08093534指导老师:王冠军一、设计目的和要求:目的:1、学会使用Quantus软件(编译、仿真等),并利用它进行设计一些简单的数字电路;2、利用实验室提供的FPGA/CPLD实验箱,结合Quantus II软件实现分频器的功能。

要求:分频器可以简单实用的设置分频系数。

二、实验器件和环境实验室提供的FPGA/CPLD实验箱,PC机和Quantus II软件。

三、设计方案和源程序代码首先分析分频器要实现的功能,然后确定他的基本结构,因为分频器的基本功能要使其分频的的功能可以控制,所以要有控制使能端口;分频器的分频系数可以自由选择,所以应有分频系数设置使能端;分频之后可以输出分频之后的频率,所以应该有输出端口。

本本设计只是任意整数分频器。

1、偶数倍分频:偶数倍分频,通过计数器计数是完全可以实现的。

如进行N 倍偶数分频,那么可以通过由待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数。

以此循环下去。

这种方法可以实现任意的偶数分频。

原理:比如4分频,需要一个模4的计数器,占空比50%,计数为0~3循环,当计数到一半时,即计数输出cnt<2时翻转。

例题代码如下://四分频module div4(clk,rst_n,o_clk);input clk,rst_n;output o_clk;reg o_clk;reg [1:0]cnt;always @(posedge clk or negedge rst_n)beginif(!rst_n)cnt<=0;else if(cnt==3)cnt<=0;elsecnt<=cnt+1;endalways @(posedge clk or negedge rst_n)beginif(!rst_n)o_clk<=0;else if(cnt<2)o_clk<=1;elseo_clk<=0;endendmodule仿真结果:2、奇数倍分频:奇数倍分频有两种实现方法:首先,完全可以通过计数器来实现,如进行三分频,通过待分频时钟上升沿触发计数器进行模三计数,当计数器计数到邻近值进行两次翻转,比如可以在计数器计数到1时,输出时钟进行翻转,计数到2时再次进行翻转。

VHDL分频器课程设计

VHDL分频器课程设计

VHDL分频器课程设计一、课程目标知识目标:1. 学生能理解VHDL语言的基本概念,掌握VHDL语言的基本语法结构;2. 学生能掌握分频器的工作原理,了解分频器在数字系统中的应用;3. 学生能运用VHDL语言设计简单的分频器电路,并实现预期的分频功能。

技能目标:1. 学生能运用所学知识,独立完成VHDL分频器代码编写;2. 学生能通过仿真软件对所设计的分频器进行功能验证,并分析其性能;3. 学生能运用所学技能解决实际工程问题,具备一定的实践操作能力。

情感态度价值观目标:1. 学生对VHDL语言及数字系统设计产生兴趣,提高学习积极性;2. 学生通过课程学习,培养团队协作精神,提高沟通与交流能力;3. 学生在课程实践中,养成严谨、认真的学习态度,树立正确的工程观念。

课程性质:本课程为实践性较强的专业课,要求学生具备一定的数字电路基础和VHDL语言知识。

学生特点:学生处于高年级阶段,具有一定的专业基础知识和实践能力,但个体差异较大。

教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的学习积极性,提高学生的实践操作能力。

在教学过程中,注重培养学生的团队协作精神和工程观念。

通过本课程的学习,使学生能够掌握VHDL分频器的设计方法,为后续相关课程的学习和实际工程应用打下坚实基础。

二、教学内容1. VHDL语言基础回顾:复习VHDL的基本语法、数据类型、信号与变量、行为描述与结构描述等基本概念,确保学生具备扎实的VHDL编程基础。

教材章节:第二章 VHDL语言基础内容列举:基本语法、数据类型、信号与变量、行为描述与结构描述2. 分频器原理及分类:介绍分频器的工作原理、分类及性能指标,使学生了解不同类型分频器的优缺点及适用场景。

教材章节:第五章 分频器设计与实现内容列举:分频器原理、分类、性能指标3. VHDL分频器设计方法:讲解基于VHDL语言的分频器设计方法,包括计数器法、移位寄存器法等,并分析各种方法的优缺点。

基于VHDL数控分频器设计

基于VHDL数控分频器设计

目录一、设计任务与要求 (3)二、总体框图 (3)三、选择器件 (4)四、功能 (5)1、数控分频器 (5)2、BCD译码器 (6)3、扫描器 (11)4、3-8译码器 (13)5、7段数码管显示译码器 (16)五、总体设计电路图 (19)1总体(顶层)电路原理图 (19)2仿真结果 (19)3管脚分配图 (20)4.硬件连接情况 (20)六.心得体会 (20)数控分频器设计一、设计任务与要求数控分频器的功能就是当输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,以实现所需的输出频率。

基本功能:1、实现8位分频器,依据输入的8位2进制数的不同,有不同的分频比。

如输入10010000,即对输入的时钟信号进行144分频,如输入01001000,即对输入的时钟信号进行72 分频。

2、输出的波形应为占空比位50%的方波。

3、有显示功能,显示当前的分频比,即,输入的二进制数的大小。

总体框图设计思路:数控分频器用计数值可并行预置的加法器设计完成,当在输入端给定不同输入数据时将对输入的时钟信号有不同的分频比。

把输入端输入的八位二进制数直接通过BCD译码器转换为十位BCD码表示的十进制数,通过扫描器对3个数码管进行选通扫描,最后7段数码管显示译码器对选中数码管的赋值进行译码,并驱动数码管显示该数据。

模块的功能:1、数控分频器:实现8位分频器,依据输入的8位2进制数的不同,有不同的分频比。

如输入10010000,即对输入的时钟信号进行144分频。

2、BCD译码器:把输入端的8位2进制数转换成10位BCD码表示的十进制数。

3、扫描器:when “000”=>daout<=dout(3 downto 0);when “001”=>daout<=dout(7 downto 4);when “010”=>daout<=dout(3 downto 2)<="00";daout(1 downto 0)<=dout(9 downto 8);when others=>null;4、3-8译码器:当sel=0时,q=11111110;选择个位数码管亮。

基于VHDL的分频电路

基于VHDL的分频电路
基于VHDL的分频电路 分频电路介绍
CPLD/FPGA与单片机相比,一个明显得优势就在于它的高速性。但很多外围器件的驱 动都需要低频的时钟(若时钟频率太高,则键盘扫描就会出错,七段数码管会闪烁和不稳 定就是最好的例子),所以经常需要用到分频电路。常见的分频电路为偶数倍分频和奇数 倍分频两种。下面对8分倍分频电路用VHDL做简单介绍。 方案设计 如果系统有一个200KHz的时钟,系统要求将其分为100KHz,50KHz,25KHz,并且 4 在这4个频率时钟中选择一个作为输出。下面给出两种设计方案: 1.设计一个2分频电路、一个4分频电路、一个8分频电路,直接从200KHz分频到所需要的 几个频率的时钟信号(如图1所示)。 2.只设计一个2分频电路,用3个2分频电路级联的方式,从200KHz逐级分出所需要的时钟 信号(如图2所示)。
图1
图2
下面用VHDL设计一个2分频电路: library ieee; use ieee.std_logic_1164.all; entity FreDevider is port (clock:in std_logic; clockout:out std_logic ); end; architecture behavior of FreDevider is signal clk:std_logic; begin process(clock) begin if rising_edge(clock) then clk<=not clk; end if; end process; clockout<=clk; end;
//元件端口 //元件行为描述
library ieee; use ieee.std_logic_1164.all; entity fredevider2 is port( clock:in std_logic; clockout:out std_logic ); end; architecture dcider of fredevider2 is constant N:integer:=3; signal counter:integer range 0 to N; signal clk:std_logic; begin process(clock) begin if rising_edge(clock) then if counter=N then counter<=0; clk<=not clk; else counter<=counter+1; end if; end if; end process; clockout<=clk; end;

关于VHDL的任意整数分频器的设计

关于VHDL的任意整数分频器的设计

关于VHDL的任意整数分频器的设计0 引言在数字逻辑电路设计中,分频器是一种基本电路,通常用来对某个给定频率的时钟进行分频,得到所需的时钟。

时序电路设计中需要各种各样的分频器来获得不同频率的时钟,其中以整数分频器最为常见。

整数分频可以简单的使用模n 计数器实现,即随驱动时钟跳变n 次后就输出一个进位脉冲,然后立即被清零或置位,再开始新一轮的循环的计数。

模 n 计数器的进位脉冲的宽度一般与驱动时钟相同,这对于边沿驱动的时序逻辑并不会带来什么问题。

但是在某些需要使用电平逻辑的设计中,我们更希望分频时钟拥有50%,或者与驱动时钟相同的占空比。

这时就需要通过另外的逻辑方法来进行分频,或者使用PLL。

在基于 CPLD(复杂可编程逻辑器件)/FPGA(现场可编程门阵列)的数字系统设计中,很容易实现由计数器或其级联构成各种形式的偶数分频及非等占空比的奇数分频,但对等占空比的奇数分频及半整数分频的实现较为困难。

本文利用 VHDL(超高速集成电路硬件描述语言),通过Quartus II 7.1 开发平台,设计了一种能够实现等占空比的整数分频器,这种设计方法原理简单,可重用性好,而且只需很少的逻辑宏单元。

1 分频原理1.1 偶数倍(2N)分频使用一个模 N 计数器模块即可实现,即利用模N 计数器从0 开始对输入时钟的上升沿计数,计数值等于N 时,输出时钟进行翻转,同时给计数器一个复位信号使之从0 开始重新计数,以此循环即可。

为偶数倍分频原理示意图。

1.2 奇数倍(2N+1)分频占空比为 X/(2N+1)或(2N+1-X)/(2N+1)分频,用模(2N+1)计数器模块可以实现。

取0 至2N 之间某一数值X(0<X<2N),当计数器时钟上升沿从0 开始计数到X 值时输出时钟翻转一次,在计数器继续计数达到2N+1 时,输出时钟再次翻转并对计数器置一复位信号,使之从0 开始重新计数,即可实现。

1.3 占空比为 50%的分频1.2 中占空比为非50%的输出时钟在输入时钟的上升沿触发翻转。

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

开题报告
电子信息工程
基于VHDL的分频器设计
三、课题研究的方法及措施
由于本课题所设计的分频器基于EDA技术,应用VHDL硬件语言设计完成的,因此选择合适的硬件解决原理对分频器性能至关重要的,为了满足不同系统功能需求的分频,本课题将阐述不同原理,不同分频器,同种分频不同原理的设计方案。

占空比可控的整数分设计方案,原理为计数器为带预置数的计数器,其设计的特殊之处在于:可以根据需要,调整数据的位宽,而且计数的初始值是从l开始的,此处计数初始值的设定是设计的一个创新,这样做的目的是为了配合后面比较器的工作,计数器的输出数据作为比较器的输入,比较器的另一输入作为控制端,控制高低电平的比例,从而达到占空比可调的目的。

原理图如图1所示。

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

如设计一个分频系数为lO.1的分频器时。

可以将分频器设计成9次10分频,1次11分频这样总的分频值为如式1所示。

F=(9×10+lxl 1)/(9+1)=10.1 (式1)
从这种实现方法的特点可以看出,由于分频器的分频值不断改变.因此分频后得到的信号抖动较大。

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

而不是一次N分频.一次N-1分频。

图2给出了通用小数分频器的电路组成。

图2通用小数分频器的电路组成
改进的小数分频设计方案,将两个整数分频器由一个整数分频器和一个半整数分频器代替,结果在如上分析的两个性能方面都有所提高。

利用参数化的设计思想和VHDL描述语言与原理图输入方法相结合的方式,设计并实现了一种抖
动性能好且通用性强的小数分频器。

其原理图如下图3。

图3改进小数分频原理图
四、课题研究进度计划
毕业设计期限:自2011年12月10日至2012年3月10日。

第1周—第2周:查阅Altera公司的硬件资料,研究该类产品的设计技术。

第3周—第4周:查阅FPGA/CPLD技术,EDA技术,研究VHDL语言,并在QUARTUS Ⅱ上的工作环境。

第5周—第6周:完成,实现系统各项基本功能。

完成开题报告、文献综述、外文翻译系统总体方案设计,分频器系统的硬件语言设计软件设计仿真。

第7周—第8周:软件程序设计、系统调试以及撰写论文。

第9周—第10周:作品完善,论文修改。

五、参考文献
教师指定:
[1]徐向民.数字系统设计及VHDL实践[M].北京:机械工业出版社,2007,10.
[2]龚军,罗杰.基于FPGA实时电话计费器的设计[J]. 广西轻工业,2008,4,4:55~56.
[3]褚振勇,翁木云.FPGA设计及应用[M].西安:西安电子科技大学出版社,2002,7.
[4]汉泽西.EDA技术及其应用[M].北京:北京航空航天大学出版社,2004,5.
[5]张志刚.FPGA与SOPC设计教程DE2实践[M].西安:西安电子科技大学,2007,4.
自己选择:
[6]刘睿强. FPGA的应用技术及实践[M]. 北京:北京理工大学出版社,2011,1.
[7]罗朝霞. 高书莉. CPLD/FPGA设计及应用[M]. 人民邮电出版社, 2007,7.
[8]杨晓慧. 杨旭.FPGA系统设计与实例[M]. 人民邮电出版社, 2010,9.
[9]潘松. 黄继业. EDA技术实用教程[M]. 科学出版社,2010,6.
[10]王道宪. CPLD/FPGA可编程逻辑器件应用与开发[M]. 国防工业出版社, 2004.1.
[11]于彤;马社祥;郭琨. 基于FPGA的等占空比的整数分频器设计[D]. 天津理工大学,。

相关文档
最新文档