VHDL数字系统课程设计报告-5分频器的设计
vhdl课程设计报告
一、设计目的本课程设计的目的是熟练掌握相关软件的使用和操作。
能对VHD1语言程序进行编译,调试,以及通过计算机仿真,得到正确的仿真波形图,并根据所得仿真波形图分析判断并改进所设计的电路。
在成功掌握软件操作基础上,将所数字电路的基础课知识与VHD1语言的应用型知识结合起来并与实际设计,操作联系起来,即“理论联系实际:深入了解VHD1语言的作用与价值,对用硬件语言设计一个电路系统开始具备一个较完整的思路与较专业的经验。
对EDA技术有初步的认识,并开始对EDA技术的开发创新有初步的理解。
二、设计内容及操作1、设计循环彩灯控制器1.1设计内容设计一个循环彩灯控制器,该控制器控制红,绿,黄三个发光管循环点亮。
要求红发光管亮3秒,绿发光管亮2秒,黄发光管亮1秒。
1.2程序设计1IBRARYIEEE;USEIEEE.STD_10GIC_1164.A11;USEIEEE.STD_1OGIC_UNSIGNED.A11;ENTITYcaideng_2ISPORT(e1k:INSTD_1OGIC;red,green,ye11ow:OUTSTD1OGIC);ENDENTITYCaideng_2;ARCHITECTUREexamp1eOFcaideng_2ISSIGNA1dout:STD_1OGIC_VECTOR(2DoWNTO0);SIGNA1m:STD_10GIC_VECT0R(2DOWNTO0);BEGINred<=dout(2);green<=dout(1);ye11ow<=dout(0);PROCESS(e1k)ISBEGINIF(c1k,EVENTANDC1k=T')THENIF(In="110")THENm<="001";E1SEm<=m+1;ENDIF;CASEmISWHEN"001"=〉dout<=〃100〃;WHEN"010"=>dout<=T00";WHEN,/0ir=>dout<="100";WHEN"100"=>dout<="010";WHEN"101"=>dout<="010";WHEN"110"=>dout<="001";WHENOTHERS=>dout<="000";ENDCASE;ENDIF;ENDPROCESS;ENDARCHITECTURE;1.3仿真波形图14波形图分析在仿真时已经设置好开始时间和结束时间,根据以上的波形图可知,当e1k 信号处于高电平(高低电平可以根据自己所设计的情况自己定义),红发光管最先亮灯(高电平表示亮灯),时间为3s,3s之后绿发光管开始亮灯2s,2s结束黄发光管亮1s,以此循环亮灯,直到仿真结束时间。
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的分频器设计三、课题研究的方法及措施由于本课题所设计的分频器基于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日。
关于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%的输出时钟在输入时钟的上升沿触发翻转。
实验六 基于VHDL语言的分频器设计与实现
实验六基于VHDL语言的分频器设计与实现报告一、实验目的1、进一步掌握VHDL语言的基本结构及设计的输入方法。
2、掌握VHDL基本逻辑电路的综合设计应用。
二、实验原理在数字电路系统中,分频电路应用得十分广泛。
例如,工程人员常常使用分频电路来得到数字通信中的帧头信号、选通信号以及中断信号等。
因此,分频电路在数字电路系统的设计中也应该作为重要的基本电路来掌握,从而给今后的一些设计带来方便。
三、实验内容1、设计并实现一个6分频的分频电路,要求其输出信号的占空比为50%。
请分析分频电路设计原理并编写VHDL语言程序,利用Max+PlusII开发软件对其进行编译和仿真。
6分频电路实现程序代码如下:2、在实际数字电路设计过程中,往往需要得到占空比不是1:1的分频时钟,方法是:首先描述一个计数器电路,然后根据计数器电路的并行输出信号来决定输出时钟的高低电平。
请设计、编写VHDL 语言程序实现分频后时钟信号的占空比为1:15的16分频电路,并利用Max+PlusII开发软件对其进行编译和仿真。
四、实验设计1.程序代码:图library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clk_div6 isport(clk:in std_logic;clk_out:out std_logic);end clk_div6;architecture rtl of clk_div6 issignal clk_temp:std_logic;beginprocess(clk)variable counter:integer range 0 to 15;constant md:integer:=2;beginif clk'event and clk='1'thenif counter=md thencounter:=0;clk_temp<=not clk_temp;elsecounter:=counter+1;end if;end if;end process;clk_out<=clk_temp;end rtl;2.仿真结果:五、实验结果分析本实验利用VHDL语言设计分频电路,目的在于进一步掌握VHDL语言的基本结构及设计的输入方法,掌握VHDL基本逻辑电路的综合设计应用。
数字逻辑实验报告(5分频器)
课程名称:数字逻辑实验实验项目:5分频器的原理及实现姓名:专业:计算机科学与技术班级:计算机14-8班学号:计算机科学与技术学院实验教学中心2015年12月15日实验项目名称: 5分频器的原理及实现一、实验要求设计一个5分频器,使输出信号的频率是时钟脉冲信号频率的1/5。
二、实验目的掌握分频器的逻辑功能及应用方法,利用分频器设计实际电路。
三、实验内容5分频器功能分析:我们采用同步加法计数器的方法设计分频器。
由于分频器在每个时钟脉冲的作用下,状态都会发生变化,我们可以设置前两个脉冲计数状态下的外部信号输出为1,后3个脉冲计数脉冲状态下,输出信号为0。
这样保证完整周期的时钟信号,该时钟周期是时钟脉冲信号周期的5倍,实现了5分频的目的。
由功能分析,5分频器真值表如下:由上表可以得到同步计数器函数表达式: +由以上4式可以画出逻辑电路图,如下:四、实验步骤 建立一个新的文件夹打开Quartus Ⅱ后,新建工程,输入工程名。
2131)1(3321)1(2321)1(1)(Q Q Z Q Q Q Q Q Q Q Q Q Q Q n n n ==⊕==+++选择仿真器件,器件选择FLEX10K,芯片选择EPF10K10TC144-4 。
新建“Block Diagram/Schematic File”文件画逻辑图并编译。
新建“Vector Waveform File”波形文件,设置好输入的波形,保存文件并分析仿真波形。
选择“Assignments”->“Pins”,绑定管脚并编译。
选择“Tools”->“Programmer”点击“Start”下载到芯片并进行逻辑验证。
五、实验设备LP-2900逻辑设计实验平台,计算机,QuartusⅡ六、实验结果仿真波形如下:经过验证,仿真波形符合设计要求。
分频器实验报告
end;
architecture bhv ofcnt4is
signal c1:std_logic_vector(2 downto 0);
signal m1:std_logic;
begin
process(clk,c1)
begin
if rising_edge(clk) then
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求
(3)波形文件存盘。选择File→Save As,将以默认名为cnt10.vwf的波形文件存入文件夹d\work\cnt10中。
(4)将工程shift的端口信号节点选入波形编辑器中。
(5)编辑输入波形。
(6)启动仿真器。现在所有的设置进行完毕,选择Processing→Start Simulation命令,直到出现Simulation was successful,仿真结束。
signal c1,c2:std_logic_vector(2 downto 0);
begin
process(clk,c1)
begin
if rising_edge(clk) then
if(c1="100") then c1<="000"; else c1<=c1+1;
end if; end if;
end process;
(4)工具设置。
(5)结束设置。
3:半程编译。
编译前首先选择Processing→Start Complilation命令,启动半程编译。
4:时序仿真。
工程编译通过后
Verilog语言实现5分频电路的设计
Verilog语言实现5分频电路的设计1.行为建模方法:使用行为建模方法,可以通过描述电路的功能行为来实现5分频电路。
以下是使用Verilog语言进行行为建模的代码示例:```verilogmodule DivideBy5input wire clk,output wire clk_outreg [2:0] counter;counter <= 0;clk_out <= ~clk_out;end else begincounter <= counter + 1;endendendmodule```在该示例中,定义了一个模块`DivideBy5`,包含一个输入端口`clk`和一个输出端口`clk_out`,分别用于输入时钟信号和输出分频后的时钟信号。
`reg [2:0] counter`是一个3位的寄存器,用于计数。
当计数达到5时,即计数器的值为5,会将`counter`复位为0,并将输出时钟信号`clk_out`取反。
否则,计数器的值会自增12.结构建模方法:使用结构建模方法,可以通过组合和顺序电路的连接方式来实现5分频电路。
以下是使用Verilog语言进行结构建模的代码示例:```verilogmodule DivideBy5input wire clk,output wire clk_outwire clk_out_2;wire clk_out_3;wire clk_out_4;DivideBy2 div_by_2 ( .clk(clk), .clk_out(clk_out_2) );DivideBy2 div_by_3 ( .clk(clk_out_2), .clk_out(clk_out_3) );DivideBy2 div_by_4 ( .clk(clk_out_3), .clk_out(clk_out_4) );DivideBy2 div_by_5 ( .clk(clk_out_4), .clk_out(clk_out) );endmodulemodule DivideBy2input wire clk,output wire clk_outreg clk_out;clk_out <= ~clk_out;endendmodule```在该示例中,定义了两个模块`DivideBy5`和`DivideBy2`。
分频器设计 VHDL
实验报告课程名称电子设计自动化实验(基于FPGA)实验项目分频器设计(计数器设计)实验仪器计算机+ Quartus Ⅱ9.1系别信息与通信工程学院专业通信工程班级/学号学生姓名实验日期2012、5成绩_______________________ 指导教师_______________________分频器设计(计数器设计)利用VHDL语言,设计一个输入1MHz脉冲,分频后能产生100kHz、10kHz、1kHz、100Hz、10Hz、1Hz时钟脉冲产生电路。
(1)实验要求①利用VHDL语言编程;②利用仿真软件进行功能仿真;③编程下载到EP1C6Q240C8器件中,利用EDA/SOPC实验装置进行验证。
(2)实验设计注意事项实验要求每相差十倍频率都有脉冲输出,故采用十进制计数器对信号分频设计方法较为简单。
将十进制计数器做成COMPONENT,利用元件例化语句实现调用。
电路采用异步工作方式。
(3)VHDL代码LIBRARY IEEE;USE IEEE.std_logic_1164.all;USE IEEE.std_logic_arith.all;USE IEEE.std_logic_unsigned.all;ENTITY fenpin10 ISPORT(i:in std_logic;o:inout std_logic);END ENTITY;ARCHITECTURE func OF fenpin10 ISSIGNAL count:std_logic_vector(3 downto 0);SIGNAL tmp:std_logic;BEGINPROCESS(i)BEGINIF(i'EVENT AND i = '1') THENIF(count = "1001") THEN --当计数满9时进位count <= (OTHERS => '0');tmp <= NOT tmp;ELSEcount <= count + 1;END IF;END IF;END PROCESS;o <= tmp;END ARCHITECTURE;LIBRARY IEEE;USE IEEE.std_logic_1164.all;USE IEEE.std_logic_arith.all;USE IEEE.std_logic_unsigned.all;ENTITY fenpin ISPORT(clk:in std_logic;div_10:buffer std_logic;div_100:buffer std_logic;div_1000:buffer std_logic;div_10000:buffer std_logic;div_100000:buffer std_logic;div_1000000:buffer std_logic);END ENTITY;ARCHITECTURE func OF fenpin ISCOMPONENT fenpin10 --元件例化PORT(i:in std_logic;o:inout std_logic);END COMPONENT;SIGNAL x0,x1,x2,x3,x4,x5:std_logic;BEGINu1:fenpin10 PORT MAP(i => clk, o => x0);u2:fenpin10 PORT MAP(x0, x1);u3:fenpin10 PORT MAP(x1, x2);u4:fenpin10 PORT MAP(x2, x3);u5:fenpin10 PORT MAP(x3, x4);u6:fenpin10 PORT MAP(x4, x5);div_10 <= x0;div_100 <= x1;div_1000 <= x2;div_10000 <= x3;div_100000 <= x4;div_1000000 <= x5;END ARCHITECTURE;(4)仿真结果未下载验证、调试,如发现错误,见谅!——Higashi Q83831295。
实训五 分频器电路的设计
实训五分频器电路的设计一、实训目的1.掌握整数分频器的设计。
2.掌握一种非倍频分频器的设计。
3.掌握任意脉冲宽度分频器的设计。
4.掌握任意分频器的设计。
二、实训器材1.EDA实验箱1台2.微型计算机1台3.MAX+PLUSII10.2软件1套4.下载电缆1条三、实训原理(略)四、设计程序(参考程序)在数字电路中,常需要对较高频率的时钟进行分频操作,得到较低频率的时钟信号。
我们知道,在硬件电路设计中时钟信号是最重要的信号之一。
下面我们介绍分频器的VHDL 描述,在源代码中完成对时钟信号CLK 的 2 分频,4 分频,8 分频,16 分频。
这也是最简单的分频电路,只需要一个计数器即可。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clkdiv ISPORT(clk : IN STD_LOGIC;clk_div2 : OUT STD_LOGIC;clk_div4 : OUT STD_LOGIC;clk_div8 : OUT STD_LOGIC;clk_div16 : OUT STD_LOGIC);END clk_div;ARCHITECTURE rtl OF clk_div ISSIGNAL count : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(clk)BEGINIF (clk'event AND clk=' 1' ) THENIF(count=” 1111” ) THENCount <= (OTHERS =>' 0' );ELSECount <= count +1;END IF ;END IF ;END PROCESS;clk_div2 <= count(0);clk_div4 <= count(1);clk_div8 <= count(2);clk_div16 <= count(3);END rtl;对于分频倍数不是2的整数次幂的情况,我们只需要对源代码中的计数器进行一下计数控制就可以了,如下面源代码描述一个对时钟信号进行 6 分频的分频器。
使用VHDL进行分频器设计
使用VHDL 进行分频器设计作者:ChongyangLee摘要使用VHDL 进行分频器设计作者:ChongyangLee本文使用实例描述了在FPGA/CPLD 上使用VHDL 进行分频器设计,包括偶数分频、非50%占空比和50%占空比的奇数分频、半整数(N+0.5)分频、小数分频、分数分频以及积分分频。
所有实现均可通过Synplify Pro 或FPGA 生产厂商的综合器进行综合,形成可使用的电路,并在ModelSim 上进行验证。
目录概述 (1)计数器 (1)普通计数器 (1)约翰逊计数器 (3)分频器 (4)偶数分频器 (4)奇数分频器 (6)半整数分频器 (9)小数分频器 (11)分数分频器 (15)积分分频器 (18)概述分频器是数字电路中最常用的电路之一,在FPGA 的设计中也是使用效率非常高的基本设计。
基于FPGA 实现的分频电路一般有两种方法:一是使用FPGA 芯片内部提供的锁相环电路,如ALTERA 提供的PLL (Phase Locked Loop),Xilinx 提供的DLL(Delay Locked Loop);二是使用硬件描述语言,如VHDL、Verilog HDL 等。
使用锁相环电路有许多优点,如可以实现倍频;相位偏移;占空比可调等。
但FPGA 提供的锁相环个数极为有限,不能满足使用要求。
因此使用硬件描述语言实现分频电路经常使用在数字电路设计中,消耗不多的逻辑单元就可以实现对时钟的操作,具有成本低、可编程等优点。
计数器计数器是实现分频电路的基础,计数器有普通计数器和约翰逊计数器两种。
这两种计数器均可应用在分频电路中。
普通计数器最普通的计数器是加法(或减法)计数器。
下面是加法计数器的VHDL实现,其Synplify Pro下的RTL View如图1所示。
--file Name: ripple.vhd--Description: 带复位功能的加法计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity ripple isgeneric (width: integer := 4);port(clk, rst: in std_logic;cnt: out std_logic_vector(width - 1 downto 0));end ripple;architecture a of ripple issignal cntQ: std_logic_vector(width - 1 downto 0);beginprocess(clk, rst)beginif (rst = '1') thencntQ <= (others => '0');elsif (clk'event and clk = '1') thencntQ <= cntQ + 1;end if ; end process ;cnt <= cntQ;end a;代码 1 加法计数器 VHDL 代码图 1 加法计数器 RTL 视图加法计数器的Test Bench 代码如下所示,在ModelSim 下进行功能仿真,仿真 波形结果如图 2所示。
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 的分频器。
七、参考文献
[1] 夏宇闻. Verilog 数字系统设计教程. 北京: 北京航空航天大学出版社,2008 年; [2] 张继刚、李维忠. 现代电子技术. 内蒙古工业大学,2008 年,31(6); [3] 刘宝琴. 数字电路与系统[M]. 北京:清华大学出版社,1993 年; [4] 陈高峰等编. 数字电子技术基础. 安徽大学电子信息工程学院,2012 年; [5] 谈艳云、罗志强.电子技术基础. 北京:北京航空航天大学,2002 年,23(6)。
安康学院
HDL 数字系统课程设计报告书
课题名称: 占空比为 1:1 的奇数分频器设计 姓 名: 学 号: 院 系: 专 业: 指导教师: 时 间:
课程设计项目成绩评定表
设计项目成绩评定表
一、设计任务及要求: 1、设计任务:
设计一个占空比为 1:1 的奇数分频器逻辑电路。
2、要 求:
1、设计分频器的分频系数为 5。 2、设计分频器占空比为 1:1。 3、设计分频器为 5 分频器。 4、设计分频器输入信号:时钟信号 CLK。
数字集成电路设计五分频电路结构
数字集成电路设计五分频电路结构
数字集成电路设计中的五分频电路结构通常可以通过以下步骤实现:
1. 确定时钟源:首先需要一个稳定的时钟源作为输入,这是五分频电路的输入信号。
2. 设计分频器:根据需要,设计一个分频器来实现五分频。
常用的分频器有计数器和寄存器两种类型。
对于五分频,可以采用一个4位二进制计数器或一个5位寄存器。
3. 计数器计数:在时钟源的驱动下,计数器开始计数。
当计数器计到5时,输出信号翻转,表示一个周期的开始。
4. 输出信号处理:在计数器计到5的过程中,可以采用一些逻辑门电路(如与门、或门等)对输出信号进行处理,以实现所需的五分频效果。
5. 测试和验证:设计完成后,需要对五分频电路进行测试和验证,确保其功能正确并满足设计要求。
需要注意的是,具体实现方式可能因不同的设计需求和电路工艺而有所不同。
在实际应用中,需要根据具体情况进行选择和调整。
分频器设计 VHDL
实验报告课程名称电子设计自动化实验(基于FPGA)实验项目分频器设计(计数器设计)实验仪器计算机+ Quartus Ⅱ9.1系别信息与通信工程学院专业通信工程班级/学号学生姓名实验日期2012、5成绩_______________________ 指导教师_______________________分频器设计(计数器设计)利用VHDL语言,设计一个输入1MHz脉冲,分频后能产生100kHz、10kHz、1kHz、100Hz、10Hz、1Hz时钟脉冲产生电路。
(1)实验要求①利用VHDL语言编程;②利用仿真软件进行功能仿真;③编程下载到EP1C6Q240C8器件中,利用EDA/SOPC实验装置进行验证。
(2)实验设计注意事项实验要求每相差十倍频率都有脉冲输出,故采用十进制计数器对信号分频设计方法较为简单。
将十进制计数器做成COMPONENT,利用元件例化语句实现调用。
电路采用异步工作方式。
(3)VHDL代码LIBRARY IEEE;USE IEEE.std_logic_1164.all;USE IEEE.std_logic_arith.all;USE IEEE.std_logic_unsigned.all;ENTITY fenpin10 ISPORT(i:in std_logic;o:inout std_logic);END ENTITY;ARCHITECTURE func OF fenpin10 ISSIGNAL count:std_logic_vector(3 downto 0);SIGNAL tmp:std_logic;BEGINPROCESS(i)BEGINIF(i'EVENT AND i = '1') THENIF(count = "1001") THEN --当计数满9时进位count <= (OTHERS => '0');tmp <= NOT tmp;ELSEcount <= count + 1;END IF;END IF;END PROCESS;o <= tmp;END ARCHITECTURE;LIBRARY IEEE;USE IEEE.std_logic_1164.all;USE IEEE.std_logic_arith.all;USE IEEE.std_logic_unsigned.all;ENTITY fenpin ISPORT(clk:in std_logic;div_10:buffer std_logic;div_100:buffer std_logic;div_1000:buffer std_logic;div_10000:buffer std_logic;div_100000:buffer std_logic;div_1000000:buffer std_logic);END ENTITY;ARCHITECTURE func OF fenpin ISCOMPONENT fenpin10 --元件例化PORT(i:in std_logic;o:inout std_logic);END COMPONENT;SIGNAL x0,x1,x2,x3,x4,x5:std_logic;BEGINu1:fenpin10 PORT MAP(i => clk, o => x0);u2:fenpin10 PORT MAP(x0, x1);u3:fenpin10 PORT MAP(x1, x2);u4:fenpin10 PORT MAP(x2, x3);u5:fenpin10 PORT MAP(x3, x4);u6:fenpin10 PORT MAP(x4, x5);div_10 <= x0;div_100 <= x1;div_1000 <= x2;div_10000 <= x3;div_100000 <= x4;div_1000000 <= x5;END ARCHITECTURE;(4)仿真结果未下载验证、调试,如发现错误,见谅!——Higashi Q83831295。
VHDL设计 5倍分频器
基于FPGA的5倍分频器设计5倍分频器相当于将时钟频率除以5。
对于实现占空比为50%的N倍奇数分频,首先经过上升沿触发进行模N计数,计数选定到某一个值(0到N-1之间)进行输出时钟翻转,然后经过N-1再次进行翻转得到一个占空比非50%奇数N分频时钟。
再者同时进行下降沿触发的模N计数,到和上升沿触发输出时钟翻转选定值相同值时,进行输出时钟时钟翻转,同样经过N-1时,输出时钟再次翻转生成占空比非50%的奇数N分频时钟。
两个占空比非50%的N分频时钟相或运算,得到占空比为50%的奇数N分频时钟。
实现占空比为50%的5倍分频设计思路:首先经过上升沿触发进行模5计数,计数选定到2进行输出时钟翻转,然后经过4再次进行翻转得到一个占空比非50%奇数5分频时钟。
再者同时进行下降沿触发的模5计数,到和上升沿触发输出时钟翻转选定值相同值时,进行输出时钟翻转,同样经过4时,输出时钟再次翻转生成占空比非50%的5分频时钟。
两个占空比非50%的5分频时钟相或运算,得到占空比为50%的5分频时钟。
程序主体部分如下:p1:process(clk)beginif clk'event and clk='1' thentemp1<=temp1+1;if temp1=2 thendiv2<='1';elsif temp1=4 thendiv2<='0';temp1<=0;end if;end if;end process p1;p2:process(clk)beginif clk'event and clk='0' thentemp2<=temp2+1;if temp2=2 thendiv4<='1';elsif temp2=4 thendiv4<='0';temp2<=0;end if;end if;end process p2;p3:process(div2,div4)beginout1<=div2 or div4;end process p3;对程序进行编译仿真,设置时钟CLK为20ns,即50MHz,经五分频后,形成10MHz的输出脉冲。
VerilogHDL分频器设计报告
2011-2012 第二学期专业选修课HDL语言应用与设计课程设计报告Veriog HDL分频器设计报告设计时间:班级:信科 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 时再次进行翻转。
五分频EDA设计
设计名称:五分频器学院:物理与电子信息工程学院年级:2010级专业:电子信息工程姓名:任海学号:101003044指导老师:吴老师日期:2013年6月17日一、设计目的分频器是数字系统设计中的一种基本电路,我们往往需要通过分频器得到我们所需要的时钟频率。
在实际设计中我们经常用到的为整数分频,有时要求等占空比,有时又要求非等占空比。
在同一个设计中有时要求多种形式的分频,通常由计数器或计数器的级联结构构成各种形式的任意占空比偶数分频及非等占空比的奇数分频,实现起来比较简单,对于等占空比的奇数分频实现起来会较为困难。
本文利用VHDL硬件描述语言,使用Altera公司的FPGA芯片,设计了一种能够实现等占空比的奇数分频器。
二、设计要求用VHDL设计一个占空比为50%的奇数次分频器,即输入为一个标准的时钟信号时,输出为占空比为50%的5次分频器三、设计思路欲实现占空比为 50%的 2N+1分频器,则需要对待分频时钟上升和下降沿分别进行 N/(2N+1)分频,然后将两个分频所得的时钟信号相或便可得到占空比为50%的2N+1分频器。
四、仿真结果五、设计源码library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ren isport(clk:in std_logic;k_or,k1,k2:out std_logic);end;architecture bhv of ren issignal c1,c2:std_logic_vector(2 downto 0); signal m1,m2:std_logic;beginprocess(clk,c1)beginif rising_edge(clk)thenif(c1="100")then c1<="000";else c1<=c1+1;end if;if(c1="001")then m1<=not m1;elsif (c1="011")then m1<=not m1;end if ;end if;end process;process(clk,c2)beginif falling_edge(clk)thenif (c2="100")then c2 <="000";else c2<=c2+1;end if;if(c2="001")then m2<=not m2;elsif(c2="011")then m2<=not m2;end if;end if;end process;k1<=m1;k2<=m2;k_or<=m1 or m2;end bhv;六、心得体会EDA最大的特点就是比较灵活,它可以实现你所需要的任何数字电路,同时也可以制定出各种电路,这样就大大减少了受制于专用芯片的束缚,真正达到了为自己的产品量身定做。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图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
安康学院
HDL 数字系统课程设计报告书
课题名称: 占空比为 1:1 的奇数分频器设计 姓 名: 学 号: 院 系: 专 业: 指导教师: 时 间:
课程设计项目成绩评定表
设计项目成绩评定表
一、设计任务及要求: 1、设计任务:
设计一个占空比为 1:1 的奇数分频器逻辑电路。
2、要 求:
1、设计分频器的分频系数为 5。 2、设计分频器占空比为 1:1。 3、设计分频器为 5 分频器。 4、设计分频器输入信号:时钟信号 CLK。
1、了解 EDA 软件在电子设计当中的重要作用。 2、熟悉并掌握 QuartusⅡ开发软件的基本使用方法。 3、运用 ModelSim 软件对分频器进行仿真测试。
二、设计思路
对于实现一个占空比为 1:1 的 5 倍奇数分频,首先经过上升沿触发进行模 5 计数,计数 选定到 2 进行输出时钟翻转,然后经过 4 再次进行翻转得到一个占空非 1:1 奇数 5 分频时钟。 再者同时进行下降沿触发的模 5 计数,到和上升沿触发输出时钟翻转选定值相同值时,进行 输出时钟翻转,同样经过 4 时,输出时钟再次翻转得到占空比非 1:1 的 5 分频时钟。两个占 空比非 1:1 的 5 分频时钟进行相或运算,得到占空比为 1:1 的 5 分频时钟。
3.1、系统方案论证 .......................................................................................................... 1 3.2、程序代码设计 .......................................................................................................... 2
三、设计过程
3.1 系统方案论证
奇数倍(2N+1)分频 :
(1) 使用模为 2N+1 的计数器,让输出时钟在 X-1(X 在 0 到 2N-1 之间)和 2N 时各翻 转一次,则可得到奇数分频器,但是占空比并不是 50%(应为 X/(2N+1))。 得到占空比为 50%的奇数分频器的基本思想是:将得到的上升沿触发计数的奇数分频输出信号 CLK1,和得 到的下降沿触发计数的相同(时钟翻转值相同)奇数分频输出信号 CLK2,进行相或运算。如 图 1 所示.
6.1、设计体会 .................................................................................................................. 5 6.2、设计建议 .................................................................................................................. 6
七、参考文献......................................................................................................... 6
电子与信息工程系 2013 年 12 月
占空比为 1:1 的奇数分频器
一、设计目的
5、设计分频器输出信号:5 分频信号 div5。
二、指导教师评语:
指导教师签名:
年月 日
பைடு நூலகம்
三、成绩评定: 四、教研室意见:
指导教师签名: 年月 日
指导教师签名: 年月 日
系部盖章: 年月 日
电子与信息工程系 2013 年 12 月
课程设计报告书目录
设计报告书目录
一、设计目的......................................................................................................... 1 二、设计思路 .........................................................................................................1 三、设计过程......................................................................................................... 1