vhdl分频器(VHDL实现分频器)
一、如何用VHDL实现分频
模N计数器的实现
一般设计中用到计数器时,我们可以调用lpm库中的计数器模块,也可以采用VHDL语言自己设计一个模N计数器。本设计采用VHDL语言设计一个最大模值为16的计数器。输入端口为:使能信号en,复位信号clr和时钟信号clk;输出端口为:qa、qb、qc、qd。其VHDL语言描述略。
带使能控制的异或门的实现
输入端为:xor_en:异或使能,a和b:异或输入;输出端为:c:异或输出。当xor_en为高电平时,c输出a和b的异或值。当xor_en为低电平时,c输出信号b。其VHDL语言略。
2分频(触发器)的实现
输入端为:时钟信号clk,输入信号d;输出端为:q:输出信号a,q1:输出信号a反。其VHDL语言略。
4.分频器的实现
本设计采用层次化的设计方法,首先设计实现分频器电路中各组成电路元件,然后通过元件例化的方法,调用各元件,实现整个分频器。其VHDL语言略。
二、VHDL语言。。如何实现50MHz分频为1Hz
直接采用50分频即可。
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
USE ieee.std_logic_unsigned.all;
entity clk_div is
port(
clk: in std_logic;
clk1:out std_logic
);
end clk_div;
architecture mix of clk_div is
signal count:integer range 0 to 49999999;
严格来说是从0-49999999,刚好50000000个计数值,正好将50M的时钟分为1Hz的时钟
扩展资料:
CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)。通常所说的某某CPU是多少GHz的,而这个多少GHz就是“CPU的主频”。很多人认为CPU的主频就是其运行速度,其实不然。CPU的主频表示在CPU内数字脉冲信号震荡的速度,与CPU实际的运算能力并没有直接关系。
主频和实际的运算速度存在一定的关系,但至今还没有一个确定的公式能够定量两者的数值关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标。由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的CPU实际运算速度较低的现象。
参考资料来源:百度百科-时钟频率
三、求用VHDL设计一个分频器
是不是把48MHz分频为0.2Hz?
如果这样,我给你个思路吧:
1、分频器实质上就是一个计数器,48MHz分到0.2Hz实际上就是设计一个计数器,使得每次计录48*2.5*10^6个脉冲后将一个信号翻转(也就是2.5秒高电平,2.5秒低电平);
2、具体思路就是设计一个能记录48*2.5*10^6各脉冲的计数器,再设计一个比较器(使之能够对记录脉冲及常数48*2.5*10^6进行比较);再将比较结果与48M的脉冲“与”后输入到一个翻转触发器(也就是一个一位计数器)clk端,D触发器的输出就是分频输出;
3、注意计数器要通过比较结果清零;分频输出同步时钟脉冲需要比计数脉冲滞后半个相位(也就是使用上升沿计数,使用下降沿触发翻转触发器),这样信号比较稳定;
其实挺基本的,查查资料就有答案了。祝好运!